non_empty_collections/index_map/
serialize.rs

1use serde::ser::{Serialize, SerializeMap, Serializer};
2use std::hash::{BuildHasher, Hash};
3use NonEmptyIndexMap;
4
5impl<K, V, H> Serialize for NonEmptyIndexMap<K, V, H>
6where
7    K: Serialize,
8    V: Serialize,
9    K: Eq + Hash,
10    H: BuildHasher,
11{
12    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
13    where
14        S: Serializer,
15    {
16        let mut map = serializer.serialize_map(Some(self.len()))?;
17        for (k, v) in self.iter() {
18            map.serialize_entry(k, v)?;
19        }
20        map.end()
21    }
22}