decodeMap<K, V> method

  1. @override
Map<K, V> decodeMap<K, V>({
  1. Decodable<K>? keyUsing,
  2. Decodable<V>? valueUsing,
})
override

Decodes the data as a map of key-value pairs.

Optionally takes Decodables to decode the keys and values of the map.

Implementation

@override
Map<K, V> decodeMap<K, V>({Decodable<K>? keyUsing, Decodable<V>? valueUsing}) {
  return {
    for (String? key; (key = nextKey()) != null;)
      if (key is K && keyUsing == null)
        key as K: decodeObject<V>(using: valueUsing)
      else
        StandardDecoder.decode<K>(key, using: keyUsing): decodeObject<V>(using: valueUsing),
  };
}