Minijinja Value Args Parsing From Struct Objects

February 2024
//! ```cargo
//! [dependencies]
//! minijinja = "1.0.12"
//! serde = "1.0.195"
//! ```

use minijinja::Value;
use serde::Deserialize;

fn main() {
  let value1 = Value::from(vec![
    "alfa".to_string(), 
    "bravo".to_string(), 
    "charlie".to_string()
  ]);
  let vec = Vec::<String>::deserialize(value1).unwrap();
  dbg!(vec);

  let value1 = Value::from(vec![
    vec!["alfa".to_string(), "bravo".to_string()],
    vec!["charlie".to_string()]
  ]);
  let vec = Vec::<Vec<String>>::deserialize(value1).unwrap();
  dbg!(vec);
}
Output:
[_active_nvim_run:17] vec = [
    "alfa",
    "bravo",
    "charlie",
]
[_active_nvim_run:24] vec = [
    [
        "alfa",
        "bravo",
    ],
    [
        "charlie",
    ],
]

TL;DR

This is how I'm using serde to serialize Minijinja data for testing and to deserialize it when working with it.

end of line

References

This is what I'm using

This might be worth looking into as well, but the seralize/deserialize is working fine for me now.