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> {
Simple(T),
Array(Vec<T>),
None,
}
let result: MaybeArray<T> = Deserialize::deserialize(deserializer)?;
let result = Deserialize::deserialize(deserializer)?;
Ok(match result {
MaybeArray::Simple(value) => Some(value),
MaybeArray::Array(value) => value.into_iter().last(),
MaybeArray::None => None,
})
}