Handle null values with deserialize_last

This commit is contained in:
Felix Ableitner 2025-10-17 15:02:15 +02:00
parent 545afcc719
commit ad42f4feca

View file

@ -127,12 +127,14 @@ where
enum MaybeArray<T> { enum MaybeArray<T> {
Simple(T), Simple(T),
Array(Vec<T>), Array(Vec<T>),
None,
} }
let result: MaybeArray<T> = Deserialize::deserialize(deserializer)?; let result = Deserialize::deserialize(deserializer)?;
Ok(match result { Ok(match result {
MaybeArray::Simple(value) => Some(value), MaybeArray::Simple(value) => Some(value),
MaybeArray::Array(value) => value.into_iter().last(), MaybeArray::Array(value) => value.into_iter().last(),
MaybeArray::None => None,
}) })
} }