@@ -37,8 +37,6 @@ final Serializers serializers =
37
37
(_$serializers.toBuilder ()
38
38
..add (identityAssetIdSerializer)
39
39
..add (DigestSerializer ())
40
- ..add (MapSerializer ())
41
- ..add (SetSerializer ())
42
40
..addBuilderFactory (
43
41
const FullType (Set , [FullType (AssetId )]),
44
42
() => < AssetId > {},
@@ -119,141 +117,3 @@ class DigestSerializer implements PrimitiveSerializer<Digest> {
119
117
FullType specifiedType = FullType .unspecified,
120
118
}) => base64.encode (object.bytes);
121
119
}
122
-
123
- // TODO(davidmorgan): this is a fork of `BuiltMapSerializer` from `built_value`
124
- // adapted for SDK maps, upstream it.
125
- class MapSerializer implements StructuredSerializer <Map > {
126
- final bool structured = true ;
127
- @override
128
- final Iterable <Type > types = BuiltList <Type >([
129
- Map ,
130
- < Object , Object > {}.runtimeType,
131
- ]);
132
- @override
133
- final String wireName = 'map' ;
134
-
135
- @override
136
- Iterable <Object ?> serialize (
137
- Serializers serializers,
138
- Map builtMap, {
139
- FullType specifiedType = FullType .unspecified,
140
- }) {
141
- var isUnderspecified =
142
- specifiedType.isUnspecified || specifiedType.parameters.isEmpty;
143
- if (! isUnderspecified) serializers.expectBuilder (specifiedType);
144
-
145
- var keyType =
146
- specifiedType.parameters.isEmpty
147
- ? FullType .unspecified
148
- : specifiedType.parameters[0 ];
149
- var valueType =
150
- specifiedType.parameters.isEmpty
151
- ? FullType .unspecified
152
- : specifiedType.parameters[1 ];
153
-
154
- var result = < Object ? > [];
155
- for (var key in builtMap.keys) {
156
- result.add (serializers.serialize (key, specifiedType: keyType));
157
- final value = builtMap[key];
158
- result.add (serializers.serialize (value, specifiedType: valueType));
159
- }
160
- return result;
161
- }
162
-
163
- @override
164
- Map deserialize (
165
- Serializers serializers,
166
- Iterable serialized, {
167
- FullType specifiedType = FullType .unspecified,
168
- }) {
169
- var isUnderspecified =
170
- specifiedType.isUnspecified || specifiedType.parameters.isEmpty;
171
-
172
- var keyType =
173
- specifiedType.parameters.isEmpty
174
- ? FullType .unspecified
175
- : specifiedType.parameters[0 ];
176
- var valueType =
177
- specifiedType.parameters.isEmpty
178
- ? FullType .unspecified
179
- : specifiedType.parameters[1 ];
180
-
181
- var result =
182
- isUnderspecified
183
- ? < Object , Object > {}
184
- : serializers.newBuilder (specifiedType) as Map ;
185
-
186
- if (serialized.length.isOdd) {
187
- throw ArgumentError ('odd length' );
188
- }
189
-
190
- for (var i = 0 ; i != serialized.length; i += 2 ) {
191
- final key = serializers.deserialize (
192
- serialized.elementAt (i),
193
- specifiedType: keyType,
194
- );
195
- final value = serializers.deserialize (
196
- serialized.elementAt (i + 1 ),
197
- specifiedType: valueType,
198
- );
199
- result[key] = value;
200
- }
201
-
202
- return result;
203
- }
204
- }
205
-
206
- // TODO(davidmorgan): this is a fork of `BuiltSetSerializer` from `built_value`
207
- // adapted for SDK sets, upstream it.
208
- class SetSerializer implements StructuredSerializer <Set > {
209
- final bool structured = true ;
210
- @override
211
- final Iterable <Type > types = BuiltList <Type >([Set , < Object > {}.runtimeType]);
212
- @override
213
- final String wireName = 'set' ;
214
-
215
- @override
216
- Iterable <Object ?> serialize (
217
- Serializers serializers,
218
- Set builtSet, {
219
- FullType specifiedType = FullType .unspecified,
220
- }) {
221
- var isUnderspecified =
222
- specifiedType.isUnspecified || specifiedType.parameters.isEmpty;
223
- if (! isUnderspecified) serializers.expectBuilder (specifiedType);
224
-
225
- var elementType =
226
- specifiedType.parameters.isEmpty
227
- ? FullType .unspecified
228
- : specifiedType.parameters[0 ];
229
-
230
- return builtSet.map (
231
- (item) => serializers.serialize (item, specifiedType: elementType),
232
- );
233
- }
234
-
235
- @override
236
- Set deserialize (
237
- Serializers serializers,
238
- Iterable serialized, {
239
- FullType specifiedType = FullType .unspecified,
240
- }) {
241
- var isUnderspecified =
242
- specifiedType.isUnspecified || specifiedType.parameters.isEmpty;
243
-
244
- var elementType =
245
- specifiedType.parameters.isEmpty
246
- ? FullType .unspecified
247
- : specifiedType.parameters[0 ];
248
- var result =
249
- isUnderspecified
250
- ? < Object > {}
251
- : serializers.newBuilder (specifiedType) as Set ;
252
-
253
- for (final item in serialized) {
254
- result.add (serializers.deserialize (item, specifiedType: elementType));
255
- }
256
-
257
- return result;
258
- }
259
- }
0 commit comments