MCPcopy Create free account
hub / github.com/TanStack/query / ensureQueryData

Method ensureQueryData

packages/query-core/src/queryClient.ts:138–162  ·  view source on GitHub ↗
(
    options: EnsureQueryDataOptions<TQueryFnData, TError, TData, TQueryKey>,
  )

Source from the content-addressed store, hash-verified

136 }
137
138 ensureQueryData<
139 TQueryFnData,
140 TError = DefaultError,
141 TData = TQueryFnData,
142 TQueryKey extends QueryKey = QueryKey,
143 >(
144 options: EnsureQueryDataOptions<TQueryFnData, TError, TData, TQueryKey>,
145 ): Promise<TData> {
146 const defaultedOptions = this.defaultQueryOptions(options)
147 const query = this.#queryCache.build(this, defaultedOptions)
148 const cachedData = query.state.data
149
150 if (cachedData === undefined) {
151 return this.fetchQuery(options)
152 }
153
154 if (
155 options.revalidateIfStale &&
156 query.isStaleByTime(resolveStaleTime(defaultedOptions.staleTime, query))
157 ) {
158 void this.prefetchQuery(defaultedOptions)
159 }
160
161 return Promise.resolve(cachedData)
162 }
163
164 getQueriesData<
165 TQueryFnData = unknown,

Callers 3

Calls 6

defaultQueryOptionsMethod · 0.95
fetchQueryMethod · 0.95
prefetchQueryMethod · 0.95
resolveStaleTimeFunction · 0.90
isStaleByTimeMethod · 0.80
buildMethod · 0.45

Tested by

no test coverage detected