conversion/
conversion.rs

1use std::{collections::HashMap, error::Error};
2use varj::VarjMap;
3
4fn main() -> Result<(), Box<dyn Error>> {
5    // create a vector of string pairs
6    let pairs = vec![
7        ("key1".to_owned(), "value1".to_owned()),
8        ("key2".to_owned(), "value2".to_owned()),
9    ];
10
11    // create a HashMap by iterating over a vector or string pairs
12    let hash_map: HashMap<String, String> = pairs.into_iter().collect();
13
14    // convert the HashMap into a VarjMap
15    let map = VarjMap::from(hash_map);
16
17    // use it to render a template
18    let expected = "value1";
19    let actual = map.render("{{ key1 }}")?;
20    assert_eq!(expected, actual);
21
22    // convert it back into a HashMap
23    let hash_map: HashMap<String, String> = map.into();
24    let expected = "value2";
25    let actual = hash_map.get("key2").unwrap();
26    assert_eq!(expected, actual);
27
28    Ok(())
29}