aves/lib/utils/collection_utils.dart
Thibault Deckers e7f9537220 huawei: api key via manifest;
upgraded Flutter to beta v3.1.0-9.0.pre
2022-07-10 01:00:30 +02:00

15 lines
693 B
Dart

import 'package:collection/collection.dart';
extension ExtraMapNullableKey<K extends Object, V> on Map<K?, V> {
Map<K, V> whereNotNullKey() => <K, V>{for (var v in keys.whereNotNull()) v: this[v] as V};
}
extension ExtraMapNullableValue<K extends Object, V> on Map<K, V?> {
Map<K, V> whereNotNullValue() => <K, V>{for (var kv in entries.where((kv) => kv.value != null)) kv.key: kv.value as V};
}
extension ExtraMapNullableKeyValue<K extends Object, V> on Map<K?, V?> {
Map<K, V?> whereNotNullKey() => <K, V?>{for (var v in keys.whereNotNull()) v: this[v]};
Map<K?, V> whereNotNullValue() => <K?, V>{for (var kv in entries.where((kv) => kv.value != null)) kv.key: kv.value as V};
}