setQueriesData<T> method

void setQueriesData<T>(
  1. ZenQueryFilter filter,
  2. T updater(
    1. T? oldData
    )
)

Functionally update cached data for all queries matching filter.

updater receives the previous data and returns new data for each matching query. Automatically updates the in-memory cache, active query UI listeners, and storage persistence.

Implementation

void setQueriesData<T>(
  ZenQueryFilter filter,
  T Function(T? oldData) updater,
) {
  final matchingKeys = getMatchingKeys(filter);
  for (final key in matchingKeys) {
    final oldData = getCachedData<T>(key);
    final newData = updater(oldData);
    updateCache(key, newData, DateTime.now());
  }
  ZenLogger.logDebug(
    'Batch updated data for ${matchingKeys.length} queries matching filter',
  );
}