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

Method trackResult

packages/query-core/src/queryObserver.ts:263–287  ·  view source on GitHub ↗
(
    result: QueryObserverResult<TData, TError>,
    onPropTracked?: (key: keyof QueryObserverResult) => void,
  )

Source from the content-addressed store, hash-verified

261 }
262
263 trackResult(
264 result: QueryObserverResult<TData, TError>,
265 onPropTracked?: (key: keyof QueryObserverResult) => void,
266 ): QueryObserverResult<TData, TError> {
267 return new Proxy(result, {
268 get: (target, key) => {
269 this.trackProp(key as keyof QueryObserverResult)
270 onPropTracked?.(key as keyof QueryObserverResult)
271 if (key === 'promise') {
272 this.trackProp('data')
273 if (
274 !this.options.experimental_prefetchInRender &&
275 this.#currentThenable.status === 'pending'
276 ) {
277 this.#currentThenable.reject(
278 new Error(
279 'experimental_prefetchInRender feature flag is not enabled',
280 ),
281 )
282 }
283 }
284 return Reflect.get(target, key)
285 },
286 })
287 }
288
289 trackProp(key: keyof QueryObserverResult) {
290 this.#trackedProps.add(key)

Callers 5

useBaseQueryFunction · 0.45
useBaseQueryFunction · 0.45
createResultFunction · 0.45
#trackResultMethod · 0.45

Calls 2

trackPropMethod · 0.95
getMethod · 0.80

Tested by

no test coverage detected