invalidateQueries method
Invalidates all cached queries matching keyPrefix within this scope.
Implementation
void invalidateQueries(List<dynamic> keyPrefix) {
_assertAlive();
final prefixStr = BloomData.normalizeKey(keyPrefix);
final matchingKeys = <String>{};
for (final entry in _cache.values) {
if (BloomData.matchesKey(entry.key, keyPrefix)) {
entry.isStale = true;
matchingKeys.add(BloomData.normalizeKey(entry.key));
}
}
for (final keyStr in _invalidationControllers.keys) {
if (prefixStr.isEmpty ||
keyStr == prefixStr ||
keyStr.startsWith('$prefixStr:')) {
matchingKeys.add(keyStr);
}
}
for (final keyStr in matchingKeys) {
_invalidationControllers[keyStr]?.add(null);
}
}