Skip to content
0

katanakit-js / QueryCache

Class: QueryCache ​

Defined in: node_modules/.bun/@tanstack+query-core@5.104.1/node_modules/@tanstack/query-core/build/modern/hydration-B9t5w6NC.d.ts:1145

The QueryCache is the storage mechanism for TanStack Query. It stores all the data, meta information, and state of the queries it contains.

Normally, you will not interact with the QueryCache directly and instead use a QueryClient for a specific cache. You can subscribe to it (inherited from Subscribable) to be informed of safe/known updates to the cache, such as queries being added, removed, or updated — updates made outside of the cache's own tracked mechanisms (e.g. mutating a query's state object directly) do not notify subscribers.

Example ​

ts
const unsubscribe = queryCache.subscribe((event) => {
  console.log(event.type, event.query)
})

Extends ​

  • Subscribable<QueryCacheListener>

Constructors ​

Constructor ​

ts
new QueryCache(config?): QueryCache;

Defined in: node_modules/.bun/@tanstack+query-core@5.104.1/node_modules/@tanstack/query-core/build/modern/hydration-B9t5w6NC.d.ts:1148

Parameters ​

ParameterType
config?QueryCacheConfig

Returns ​

QueryCache

Overrides ​

ts
Subscribable<QueryCacheListener>.constructor

Properties ​

PropertyModifierTypeInherited fromDefined in
configpublicQueryCacheConfig-node_modules/.bun/@tanstack+query-core@5.104.1/node_modules/@tanstack/query-core/build/modern/hydration-B9t5w6NC.d.ts:1147
listenersprotectedSet<QueryCacheListener>Subscribable.listenersnode_modules/.bun/@tanstack+query-core@5.104.1/node_modules/@tanstack/query-core/build/modern/subscribable-CysQ0tne.d.ts:8

Methods ​

build() ​

ts
build<TQueryFnData, TError, TData, TQueryKey>(
   client, 
   options, 
   state?
): Query<TQueryFnData, TError, TData, TQueryKey>;

Defined in: node_modules/.bun/@tanstack+query-core@5.104.1/node_modules/@tanstack/query-core/build/modern/hydration-B9t5w6NC.d.ts:1165

Returns the existing Query instance for the given options' queryKey/queryHash, or builds and adds a new one to the cache if none exists yet. Used by framework adapters and plugins (e.g. broadcast/persistence) that need to get-or-create a Query directly, bypassing the reactive QueryObserver machinery.

Type Parameters ​

Type ParameterDefault type
TQueryFnDataunknown
TErrorError
TDataTQueryFnData
TQueryKey extends readonly unknown[]readonly unknown[]

Parameters ​

ParameterType
clientQueryClient
optionsWithRequired<QueryOptions<TQueryFnData, TError, TData, TQueryKey, never>, "queryKey">
state?QueryState<TData, TError>

Returns ​

Query<TQueryFnData, TError, TData, TQueryKey>

Example ​

ts
const queryCache = queryClient.getQueryCache()

const query = queryCache.build(queryClient, {
  queryKey: ['posts'],
  queryFn: fetchPosts,
})

clear() ​

ts
clear(): void;

Defined in: node_modules/.bun/@tanstack+query-core@5.104.1/node_modules/@tanstack/query-core/build/modern/hydration-B9t5w6NC.d.ts:1195

Removes all queries from the cache.

Returns ​

void

Example ​

ts
const queryCache = queryClient.getQueryCache()

queryCache.clear()

find() ​

ts
find<TQueryFnData, TError, TData>(filters): 
  | Query<TQueryFnData, TError, TData, readonly unknown[]>
  | undefined;

Defined in: node_modules/.bun/@tanstack+query-core@5.104.1/node_modules/@tanstack/query-core/build/modern/hydration-B9t5w6NC.d.ts:1240

A slightly more advanced method that can be used to get an existing query instance from the cache. This instance not only contains all the state for the query, but all of the instances, and underlying guts of the query as well. If the query does not exist, undefined is returned.

This is not typically needed for most applications, but can come in handy when needing more information about a query in rare scenarios (e.g. looking at query.state.dataUpdatedAt to decide whether a query is fresh enough to be used as an initial value).

Type Parameters ​

Type ParameterDefault type
TQueryFnDataunknown
TErrorError
TDataTQueryFnData

Parameters ​

ParameterType
filtersWithRequired<QueryFilters<readonly unknown[]>, "queryKey">

Returns ​

| Query<TQueryFnData, TError, TData, readonly unknown[]> | undefined

See ​

QueryCache#findAll

Example ​

ts
const queryCache = queryClient.getQueryCache()

const query = queryCache.find({ queryKey: ['posts'] })

findAll() ​

ts
findAll(filters?): Query<unknown, Error, unknown, readonly unknown[]>[];

Defined in: node_modules/.bun/@tanstack+query-core@5.104.1/node_modules/@tanstack/query-core/build/modern/hydration-B9t5w6NC.d.ts:1256

An even more advanced method that can be used to get existing query instances from the cache that partially match a query key. If no queries match, an empty array is returned.

This is not typically needed for most applications, but can come in handy when needing more information about queries in rare scenarios.

Parameters ​

ParameterType
filters?QueryFilters<any>

Returns ​

Query<unknown, Error, unknown, readonly unknown[]>[]

See ​

QueryCache#find

Example ​

ts
const queryCache = queryClient.getQueryCache()

const queries = queryCache.findAll({ queryKey: ['posts'] })

get() ​

ts
get<TQueryFnData, TError, TData, TQueryKey>(queryHash): 
  | Query<TQueryFnData, TError, TData, TQueryKey>
  | undefined;

Defined in: node_modules/.bun/@tanstack+query-core@5.104.1/node_modules/@tanstack/query-core/build/modern/hydration-B9t5w6NC.d.ts:1210

Returns the Query instance stored under the given queryHash, or undefined if none exists. Unlike QueryCache#find, this looks up by the already-computed hash rather than by QueryFilters. Used by plugins (e.g. broadcast/hydration) that already have a hash to look up directly.

Type Parameters ​

Type ParameterDefault type
TQueryFnDataunknown
TErrorError
TDataTQueryFnData
TQueryKey extends readonly unknown[]readonly unknown[]

Parameters ​

ParameterType
queryHashstring

Returns ​

| Query<TQueryFnData, TError, TData, TQueryKey> | undefined

Example ​

ts
const queryCache = queryClient.getQueryCache()
const queryHash = hashKey(['posts'])

const query = queryCache.get(queryHash)

getAll() ​

ts
getAll(): Query<unknown, Error, unknown, readonly unknown[]>[];

Defined in: node_modules/.bun/@tanstack+query-core@5.104.1/node_modules/@tanstack/query-core/build/modern/hydration-B9t5w6NC.d.ts:1221

Returns all queries within the cache.

Returns ​

Query<unknown, Error, unknown, readonly unknown[]>[]

Example ​

ts
const queryCache = queryClient.getQueryCache()

const queries = queryCache.getAll()

hasListeners() ​

ts
hasListeners(): boolean;

Defined in: node_modules/.bun/@tanstack+query-core@5.104.1/node_modules/@tanstack/query-core/build/modern/subscribable-CysQ0tne.d.ts:28

Returns true while at least one listener is registered, false once they have all unsubscribed.

Returns ​

boolean

Inherited from ​

ts
Subscribable.hasListeners

onSubscribe() ​

ts
protected onSubscribe(): void;

Defined in: node_modules/.bun/@tanstack+query-core@5.104.1/node_modules/@tanstack/query-core/build/modern/subscribable-CysQ0tne.d.ts:29

Returns ​

void

Inherited from ​

ts
Subscribable.onSubscribe

onUnsubscribe() ​

ts
protected onUnsubscribe(): void;

Defined in: node_modules/.bun/@tanstack+query-core@5.104.1/node_modules/@tanstack/query-core/build/modern/subscribable-CysQ0tne.d.ts:30

Returns ​

void

Inherited from ​

ts
Subscribable.onUnsubscribe

remove() ​

ts
remove(query): void;

Defined in: node_modules/.bun/@tanstack+query-core@5.104.1/node_modules/@tanstack/query-core/build/modern/hydration-B9t5w6NC.d.ts:1184

Destroys the given Query and removes it from the cache, notifying subscribers with a 'removed' event. A no-op if the query is no longer the one currently stored under its hash (e.g. it was already replaced). Used by plugins (e.g. the broadcast client) that mirror removals across QueryCache instances.

Parameters ​

ParameterType
queryQuery<any, any, any, any>

Returns ​

void

Example ​

ts
const queryCache = queryClient.getQueryCache()
const query = queryCache.find({ queryKey: ['posts'] })

if (query) {
  queryCache.remove(query)
}

subscribe() ​

ts
subscribe(listener): () => void;

Defined in: node_modules/.bun/@tanstack+query-core@5.104.1/node_modules/@tanstack/query-core/build/modern/subscribable-CysQ0tne.d.ts:24

Registers a listener to be called on every update this object notifies about. Returns a function that removes the listener again — call it to stop listening. The base class never drops a listener on its own, though some subclasses clear all of theirs in destroy().

Parameters ​

ParameterTypeDescription
listenerQueryCacheListenerCalled on each update, with whatever the subclass passes to its subscribers.

Returns ​

() => void

Example ​

ts
const unsubscribe = subscribable.subscribe(() => {
  // react to the update
})

unsubscribe()

Inherited from ​

ts
Subscribable.subscribe

Released under the MIT License.