invalidateQueries method
void
invalidateQueries([
- dynamic filterOrPredicate
Invalidate queries matching filterOrPredicate (mark as stale and refetch if active).
Can be called with:
- ZenQueryFilter: Invalidates all queries matching the filter criteria.
bool Function(String key): Invalidates queries whose key matches the predicate.bool Function(ZenQuery query): Invalidates queries matching the query predicate.nullor no arguments: Invalidates ALL active queries in the cache.
Implementation
void invalidateQueries([dynamic filterOrPredicate]) {
if (filterOrPredicate == null) {
int count = 0;
for (final query in _queries.values) {
if (!query.isDisposed) {
query.invalidate();
count++;
}
}
ZenLogger.logDebug('Invalidated all $count active queries');
} else if (filterOrPredicate is ZenQueryFilter) {
final matching = getQueries(filterOrPredicate);
for (final query in matching) {
query.invalidate();
}
ZenLogger.logDebug(
'Invalidated ${matching.length} queries matching filter');
} else if (filterOrPredicate is bool Function(String key)) {
for (final key in _queries.keys) {
if (filterOrPredicate(key)) {
invalidateQuery(key);
}
}
} else if (filterOrPredicate is bool Function(ZenQuery query)) {
for (final query in _queries.values) {
if (!query.isDisposed && filterOrPredicate(query)) {
query.invalidate();
}
}
}
}