Line data Source code
1 : extension FilterMap<K, V> on Map<K, V> {
2 37 : Map<K2, V2> filterMap<K2, V2>(MapEntry<K2, V2>? Function(K, V) f) =>
3 37 : Map.fromEntries(
4 259 : entries.map((e) => f(e.key, e.value)).whereType<MapEntry<K2, V2>>(),
5 : );
6 :
7 37 : Map<K2, V2> catchMap<K2, V2>(MapEntry<K2, V2> Function(K, V) f) =>
8 74 : filterMap((k, v) {
9 : try {
10 37 : return f(k, v);
11 : } catch (_) {
12 : return null;
13 : }
14 : });
15 : }
|