(&self, serializer: S)
| 160 | |
| 161 | impl Serialize for FigDocumentRef<'_> { |
| 162 | fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error> |
| 163 | where |
| 164 | S: Serializer, |
| 165 | { |
| 166 | use aws_smithy_types::Number; |
| 167 | match self.0 { |
| 168 | AwsDocument::Null => serializer.serialize_unit(), |
| 169 | AwsDocument::Bool(b) => serializer.serialize_bool(*b), |
| 170 | AwsDocument::Number(n) => match n { |
| 171 | Number::PosInt(u) => serializer.serialize_u64(*u), |
| 172 | Number::NegInt(i) => serializer.serialize_i64(*i), |
| 173 | Number::Float(f) => serializer.serialize_f64(*f), |
| 174 | }, |
| 175 | AwsDocument::String(s) => serializer.serialize_str(s), |
| 176 | AwsDocument::Array(arr) => { |
| 177 | use serde::ser::SerializeSeq; |
| 178 | let mut seq = serializer.serialize_seq(Some(arr.len()))?; |
| 179 | for value in arr { |
| 180 | seq.serialize_element(&Self(value))?; |
| 181 | } |
| 182 | seq.end() |
| 183 | }, |
| 184 | AwsDocument::Object(m) => { |
| 185 | use serde::ser::SerializeMap; |
| 186 | let mut map = serializer.serialize_map(Some(m.len()))?; |
| 187 | for (k, v) in m { |
| 188 | map.serialize_entry(k, &Self(v))?; |
| 189 | } |
| 190 | map.end() |
| 191 | }, |
| 192 | } |
| 193 | } |
| 194 | } |
| 195 | |
| 196 | impl Serialize for FigDocument { |
no test coverage detected