removeWhere method

  1. @override
void removeWhere(
  1. bool test(
    1. K key,
    2. V? value
    )
)
override

Removes all entries of this map that satisfy the given test.

MapUpdate is sent with removed key/value pairs set as null.

Implementation

@override
void removeWhere(bool Function(K key, V? value) test) {
  final removeEntries = entries.where((mapEntry) => test(
        mapEntry.key,
        mapEntry.value,
      ));

  final removeMap = Map.fromEntries(removeEntries.map((mapEntry) {
    return MapEntry(mapEntry.key, null);
  }));

  addAll(removeMap);
  _map.removeWhere(test);
}