encodeMap<K, V> method
void
encodeMap<K, V>(})
override
Encodes a map of K
and V
.
Optionally takes Encodable functions to encode each key and value.
Implementation
@override
void encodeMap<K, V>(Map<K, V> value, {Encodable<K>? keyUsing, Encodable<V>? valueUsing}) {
writeByte(tokenLBrace);
for (final key in value.keys) {
if (key is String && keyUsing == null) {
_writeObjectKey(key);
} else {
_writeObjectKey(StandardEncoder.encode<K>(key, using: keyUsing) as String);
}
final v = value[key] as V;
encodeObject<V>(v, using: valueUsing);
}
_writeObjectEnd();
}