Skip to main content

deserialize_with

Function deserialize_with 

Source
pub fn deserialize_with<'de, T, D, F>(
    deserializer: D,
    transform: F,
) -> Result<T, D::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

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