1 unstable release
0.0.0 | Oct 6, 2024 |
---|
#13 in #string-interpolation
33 downloads per month
35KB
614 lines
lazy-template
Description
This is a string template crate. Instead of requiring a complete set of inputs (such as via a struct
, a HashMap
, or a JSON object) to be available, the templates from this crate would send queries (which would usually be the names of the variables) to a function (called "responder") to get the value of each query.
Documentation
Go to docs.rs.
Basic Usage
This is the most basic usage. There are more in the documentation.
let system = lazy_template::simple_curly_braces();
let template = system.lazy_parse("{name} is a {age} years old {gender}");
let output = template
.to_string(|query| match query {
"name" => Ok("Alice"),
"age" => Ok("20"),
"gender" => Ok("girl"),
_ => Err(format!("Can't answer {query}")),
})
.unwrap();
assert_eq!(output, "Alice is a 20 years old girl");
License
Dependencies
~0.4–0.9MB
~19K SLoC