Skip to main content

deserialize_with

Function deserialize_with 

pub fn deserialize_with<'de, T, D, F>(
    deserializer: D,
    transform: F,
) -> Result<T, <D as Deserializer<'de>>::Error>
where T: DeserializeOwned + 'static, D: Deserializer<'de>, F: Fn(&str) -> String,
Expand description

Deserialize a value from a singleton map with custom key transformation.

This function is similar to singleton_map::deserialize but allows you to transform the key (variant name) before deserialization.

§Arguments

  • deserializer - The deserializer to use
  • transform - A function that transforms the key back to the original variant name

§Examples

use serde::de::DeserializeOwned;
use serde::{Deserialize, Deserializer};

fn my_deserialize<'de, T, D>(deserializer: D) -> Result<T, D::Error>
where
    T: DeserializeOwned + 'static,
    D: Deserializer<'de>,
{
    noyalib::with::singleton_map_with::deserialize_with(deserializer, |s| {
        s.to_uppercase()
    })
}