balena temen
A templating engine for JSON.
Provides facilities to:
- evaluate JSON
- evaluate JSON with custom evaluation keyword, functions and filters
- evaluate single expression (result is of any type)
- evaluate single logical expression (result is a boolean)
- retrieve AST of any expression / identifier
Goal
balena-temen
crate is one small piece of the balena.io configuration project. This project has
no public / open specification yet, but we're working on it and it will be public once finished.
Supported platforms
Anyone should be able to use this crate:
- as a Rust crate
- as an NPM package (Node.js)
- in the browser (Web Assembly)
NPM package / browser (Web Assembly) parts are not done yet and are under the construction.
Documentation
Usage
Add as a dependency to your Cargo.toml
:
[dependencies]
balena-temen = "0.1"
Evaluate simple JSON:
use eval;
use json;
let data = json!;
let evaluated = json!;
assert_eq!;
Support
If you're having any problem, please raise an issue on GitHub or contact us, and the balena.io team will be happy to help.
License
balena-temen
is free software, and may be redistributed under the terms specified in
the license.