(
result: QueryObserverResult<TData, TError>,
onPropTracked?: (key: keyof QueryObserverResult) => void,
)
| 262 | } |
| 263 | |
| 264 | trackResult( |
| 265 | result: QueryObserverResult<TData, TError>, |
| 266 | onPropTracked?: (key: keyof QueryObserverResult) => void, |
| 267 | ): QueryObserverResult<TData, TError> { |
| 268 | return new Proxy(result, { |
| 269 | get: (target, key) => { |
| 270 | this.trackProp(key as keyof QueryObserverResult) |
| 271 | onPropTracked?.(key as keyof QueryObserverResult) |
| 272 | if ( |
| 273 | key === 'promise' && |
| 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 | return Reflect.get(target, key) |
| 284 | }, |
| 285 | }) |
| 286 | } |
| 287 | |
| 288 | trackProp(key: keyof QueryObserverResult) { |
| 289 | this.#trackedProps.add(key) |
no test coverage detected