Function ruma::serde::empty_string_as_none
source · pub fn empty_string_as_none<'de, D, T>(
de: D,
) -> Result<Option<T>, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
T: Deserialize<'de>,
Expand description
Serde deserialization decorator to map empty Strings to None, and forward non-empty Strings to the Deserialize implementation for T.
Useful for the typical “A room with an X event with an absent, null, or empty Y field should be treated the same as a room with no such event.” formulation in the spec.
To be used like this:
#[serde(default, deserialize_with = "empty_string_as_none")]
Relevant serde issue: https://github.com/serde-rs/serde/issues/1425