decodeMap<K, V> function

Map<K, V> decodeMap<K, V>(
  1. Deserializer deserializer,
  2. K keyDecoder(
    1. Deserializer
    ),
  3. V valueDecoder(
    1. Deserializer
    )
)

Decodes a map from the MessagePack format. This function is helper for the MsgPack serializable builder.

Implementation

Map<K, V> decodeMap<K, V>(
    Deserializer deserializer, K Function(Deserializer) keyDecoder, V Function(Deserializer) valueDecoder) {
  final result = <K, V>{};
  final length = deserializer.decode() as int;
  for (var i = 0; i < length; i++) {
    final key = keyDecoder(deserializer);
    final value = valueDecoder(deserializer);
    result[key] = value;
  }
  return result;
}