1use lithos_gotmpl_core::{
7 install_text_template_functions, FunctionRegistry, FunctionRegistryBuilder,
8};
9
10mod functions;
11
12pub fn install_sprig_functions(builder: &mut FunctionRegistryBuilder) {
14 functions::install_all(builder);
15}
16
17pub fn sprig_functions() -> FunctionRegistry {
19 let mut builder = FunctionRegistryBuilder::new();
20 install_text_template_functions(&mut builder);
21 install_sprig_functions(&mut builder);
22 builder.build()
23}
24
25#[cfg(test)]
26mod tests {
27 use super::*;
28 use lithos_gotmpl_core::Template;
29 use serde_json::json;
30
31 #[test]
32 fn template_with_sprig_helpers() {
33 let registry = sprig_functions();
34 let template = Template::parse_with_functions(
35 "sprig",
36 "{{default \"friend\" .name | upper}}",
37 registry,
38 )
39 .unwrap();
40 let rendered = template.render(&json!({"name": "sprig"})).unwrap();
41 assert_eq!(rendered, "SPRIG");
42 }
43}