mapMapOrNull<K, V> function

Map<K, V>? mapMapOrNull<K, V>(
  1. Object? raw,
  2. MapEntryMapper<K, V> f
)

Implementation

Map<K, V>? mapMapOrNull<K, V>(Object? raw, MapEntryMapper<K, V> f) {
  if (raw is! Map) return null;
  final m = Map<dynamic, dynamic>.from(raw);
  final out = <K, V>{};
  for (final e in m.entries) {
    final mapped = f(e.key, e.value);
    if (mapped != null) out[mapped.key] = mapped.value;
  }
  return out;
}