7 releases (stable)
1.2.0 | Jul 14, 2024 |
---|---|
1.1.0 | Oct 28, 2022 |
1.0.2 | Jan 7, 2022 |
1.0.0 | Dec 29, 2021 |
0.1.0 | Mar 24, 2020 |
#64 in Template engine
333 downloads per month
18KB
345 lines
varj
A string interpolation utility to replace Mustache like placeholders with stored variables.
- Works as an extremely lightweight template library
- Does not require template compilation
- Simply replaces
{{ key }}
withvalue
- Whitespace surrounding the key is ignored:
{{key}}
and{{ key }}
are equal.
Interact with this utility via
VarjMap
.
Examples
Basic usage:
let mut map = varj::VarjMap::new();
map.insert("key", "value");
let expected = "value";
let actual = map.render("{{ key }}")?;
assert_eq!(expected, actual);
With a json string:
let mut variables = varj::VarjMap::new();
variables.insert("name", "Christopher");
variables.insert("age", "30");
let json = r#"{
"name" = "{{ name }}",
"age" = {{ age }}
}"#;
let expected = r#"{
"name" = "Christopher",
"age" = 30
}"#;
let actual = variables.render(json)?;
assert_eq!(expected, actual);
VarjMap
implements From<HashMap>
and can be converted back to one when
needed. This is useful if you want to build a VarjMap
from an iterator,
or iterate over one. See example.
MSRV Policy
The minimum supported Rust version is currently 1.71.1.
varj supports the latest 8 stable releases of Rust - approximately 1 year. Increasing MSRV is not considered a semver-breaking change.
Contributing
Thank you very much for considering to contribute to this project!
We welcome any form of contribution:
- New issues (feature requests, bug reports, questions, ideas, ...)
- Pull requests (documentation improvements, code improvements, new features, ...)
Note: Before you take the time to open a pull request, please open an issue first.
See CONTRIBUTING.md for details.
License
varj is distributed under the terms of both the MIT license and the Apache License (Version 2.0).
See LICENSE-APACHE and LICENSE-MIT for details.