Skip to main content

deserialize

Function deserialize 

pub fn deserialize<'de, T, D>(
    deserializer: D,
) -> Result<T, <D as Deserializer<'de>>::Error>
where T: DeserializeOwned + 'static, D: Deserializer<'de>,
Expand description

Deserialize a value from recursive singleton map format.

This is the counterpart to serialize, deserializing from the singleton map format back to the original type.

ยงExamples

use noyalib::with::singleton_map_recursive;
use serde::{Deserialize, Serialize};

#[derive(Deserialize, Serialize, PartialEq, Debug)]
enum Inner { A }

#[derive(Deserialize, Debug)]
struct Doc {
    #[serde(with = "singleton_map_recursive")]
    items: Vec<Inner>,
}

let d: Doc = noyalib::from_str("items:\n  - A: null\n").unwrap();
assert_eq!(d.items.len(), 1);