Note: This site is currently "Under construction". I'm migrating to a new version of my site building software. Lots of things are in a state of disrepair as a result (for example, footnote links aren't working). It's all part of the process of building in public. Most things should still be readable though.

Minijinja Value Args Parsing From Struct Objects

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

Code

//! ```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);
}

Results

[_active_nvim_run:17] vec = [
    "alfa",
    "bravo",
    "charlie",
]
[_active_nvim_run:24] vec = [
    [
        "alfa",
        "bravo",
    ],
    [
        "charlie",
    ],
]

References