Skip to main content

Module singleton_map_recursive

Module singleton_map_recursive 

Expand description

Recursively serialize enums as single-entry maps.

This module provides serialize and deserialize functions that apply singleton map formatting recursively through nested structures.

§Examples

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

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

#[derive(Debug, Serialize, Deserialize, PartialEq)]
enum Outer {
    Single(Inner),
    Multiple(Vec<Inner>),
}

#[derive(Debug, Serialize, Deserialize, PartialEq)]
struct Config {
    #[serde(with = "singleton_map_recursive")]
    items: Vec<Outer>,
}

Functions§

deserialize
Deserialize a value from recursive singleton map format.
serialize
Serialize a value with recursive singleton map transformation.