removeWhere method

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

Removes all entries that satisfy the given test.

Calls test for each key-value pair and removes entries where test returns true. Notifies subscribers after removal.

Implementation

@override
void removeWhere(bool Function(K key, V value) test) {
  var keysToRemove = <K>[];
  for (var key in keys) {
    if (test(key, peek[key] as V)) keysToRemove.add(key);
  }
  for (var key in keysToRemove) {
    peek.remove(key);
  }
  if (keysToRemove.isNotEmpty) {
    notify(true);
  }
}