setQueryData<T> static method
Sets cache data directly for a given key using an updater transformation function.
Example:
BloomData.setQueryData<User>(['user', 1], (old) => old?.copyWith(name: 'Bob'));
Implementation
static void setQueryData<T>(List<dynamic> key, T? Function(T? oldData) updater) {
final keyStr = normalizeKey(key);
final existing = _cache[keyStr] as QueryCacheEntry<T>?;
final newData = updater(existing?.data);
_cache[keyStr] = QueryCacheEntry<T>(
key: key,
data: newData,
updatedAt: DateTime.now(),
staleTime: existing?.staleTime ?? const Duration(minutes: 5),
cacheTime: existing?.cacheTime ?? const Duration(minutes: 30),
isStale: false,
);
_invalidationControllers[keyStr]?.add(null);
}