getMap<K extends Object, V extends Object> method

Map<K, V> getMap<K extends Object, V extends Object>(
  1. int fieldNumber, {
  2. Map<K, V>? defaultValue,
})

Implementation

Map<K, V> getMap<K extends Object, V extends Object>(
  int fieldNumber, {
  Map<K, V>? defaultValue,
}) {
  final data = getListOrNull<MapEntry>(fieldNumber);
  if (data == null) {
    if (defaultValue != null) return defaultValue;
    throw ProtocolBufferException(
      "Missing value for fieldNumber $fieldNumber",
    );
  }
  return Map<K, V>.fromEntries(
    data.map(
      (e) => MapEntry<K, V>(
        JsonParser.valueAs<K>(e.key),
        JsonParser.valueAs<V>(e.value),
      ),
    ),
  );
}