//! De-/serialization functions to and from single element sequences. use serde::{ de::{Deserialize, Deserializer}, ser::{Serialize, Serializer}, }; /// Serialize the given value as a list of just that value. pub fn serialize(value: &T, serializer: S) -> Result where T: Serialize, S: Serializer, { [value].serialize(serializer) } /// Deserialize a list of one item and return that item. pub fn deserialize<'de, T, D>(deserializer: D) -> Result where T: Deserialize<'de>, D: Deserializer<'de>, { <[_; 1]>::deserialize(deserializer).map(|[first]| first) }