removeWhere method
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);
}
}