1use crate::types::{Blob, TdfMap, VarIntList};
5use serde::ser::SerializeMap;
6use serde::Serialize;
7
8impl<K, V> Serialize for TdfMap<K, V>
9where
10 K: Serialize,
11 V: Serialize,
12{
13 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
14 where
15 S: serde::Serializer,
16 {
17 let mut map = serializer.serialize_map(Some(self.len()))?;
18 for (k, v) in self.iter() {
19 map.serialize_entry(k, v)?;
20 }
21 map.end()
22 }
23}
24
25impl<T> Serialize for VarIntList<T>
26where
27 T: Serialize,
28{
29 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
30 where
31 S: serde::Serializer,
32 {
33 self.0.serialize(serializer)
34 }
35}
36
37impl Serialize for Blob {
38 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
39 where
40 S: serde::Serializer,
41 {
42 self.0.serialize(serializer)
43 }
44}