decodeMap<T extends Map<String, V>?, V> function

T decodeMap<T extends Map<String, V>?, V>(
  1. dynamic raw,
  2. V decode(
    1. dynamic
    )
)

Implementation

T decodeMap<T extends Map<String, V>?, V>(
    dynamic raw, V Function(dynamic) decode) {
  if (raw is Map<String, dynamic>) {
    return raw.map((key, value) => MapEntry(key, decode(value))) as T;
  } else if (TypeCheck<T>().isNullable && raw == null) {
    return null as T;
  } else {
    throw CodecException.typeMismatch(T, raw.runtimeType);
  }
}