invalidateQueries method

Future<void> invalidateQueries([
  1. QueryFilter filter = const QueryFilter(),
  2. bool refetchActive = true
])

Invalidates matching queries and optionally refetches active ones.

Implementation

Future<void> invalidateQueries([
  QueryFilter filter = const QueryFilter(),
  bool refetchActive = true,
]) async {
  final targets = findAll(filter).toList(growable: false);
  for (final query in targets) {
    query.invalidate();
  }
  if (refetchActive) {
    await Future.wait<void>(
      targets.where((query) => query.isActive && !query.isStatic).map((
        query,
      ) async {
        try {
          await query.fetch();
        } on Object {
          // State carries the background failure.
        }
      }),
    );
  }
}