setQueryData<T> method

T setQueryData<T>(
  1. QueryKey<T> key,
  2. T update(
    1. T? previous
    ), {
  3. DateTime? updatedAt,
})

Updates data for an already registered query.

Implementation

T setQueryData<T>(
  QueryKey<T> key,
  T Function(T? previous) update, {
  DateTime? updatedAt,
}) {
  _requireKeyType<T>(key);
  final target = queryCache.getAny(key.canonical);
  if (target == null) {
    throw StateError(
      'Register QueryOptions for ${key.canonical} before setting its data.',
    );
  }
  if (target.dataType != T) {
    throw _queryTypeConflict(key, target.dataType, T);
  }
  final typed = target as Query<T>;
  return typed.setData(update(typed.state.data), updatedAt: updatedAt);
}