@tanstack/query-core 4.29.22 → 4.29.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/build/lib/focusManager.esm.js +3 -2
  2. package/build/lib/focusManager.esm.js.map +1 -1
  3. package/build/lib/focusManager.js +3 -2
  4. package/build/lib/focusManager.js.map +1 -1
  5. package/build/lib/focusManager.mjs +3 -2
  6. package/build/lib/focusManager.mjs.map +1 -1
  7. package/build/lib/infiniteQueryObserver.d.ts +1 -1
  8. package/build/lib/infiniteQueryObserver.d.ts.map +1 -1
  9. package/build/lib/infiniteQueryObserver.esm.js.map +1 -1
  10. package/build/lib/infiniteQueryObserver.js.map +1 -1
  11. package/build/lib/infiniteQueryObserver.mjs.map +1 -1
  12. package/build/lib/mutation.d.ts +2 -2
  13. package/build/lib/mutation.d.ts.map +1 -1
  14. package/build/lib/mutation.esm.js.map +1 -1
  15. package/build/lib/mutation.js.map +1 -1
  16. package/build/lib/mutation.mjs.map +1 -1
  17. package/build/lib/mutationCache.d.ts +2 -2
  18. package/build/lib/mutationCache.d.ts.map +1 -1
  19. package/build/lib/mutationCache.esm.js.map +1 -1
  20. package/build/lib/mutationCache.js.map +1 -1
  21. package/build/lib/mutationCache.mjs.map +1 -1
  22. package/build/lib/mutationObserver.d.ts +3 -3
  23. package/build/lib/mutationObserver.d.ts.map +1 -1
  24. package/build/lib/mutationObserver.esm.js.map +1 -1
  25. package/build/lib/mutationObserver.js.map +1 -1
  26. package/build/lib/mutationObserver.mjs.map +1 -1
  27. package/build/lib/onlineManager.d.ts.map +1 -1
  28. package/build/lib/onlineManager.esm.js +3 -2
  29. package/build/lib/onlineManager.esm.js.map +1 -1
  30. package/build/lib/onlineManager.js +3 -2
  31. package/build/lib/onlineManager.js.map +1 -1
  32. package/build/lib/onlineManager.mjs +3 -2
  33. package/build/lib/onlineManager.mjs.map +1 -1
  34. package/build/lib/queriesObserver.d.ts +2 -2
  35. package/build/lib/queriesObserver.d.ts.map +1 -1
  36. package/build/lib/queriesObserver.esm.js.map +1 -1
  37. package/build/lib/queriesObserver.js.map +1 -1
  38. package/build/lib/queriesObserver.mjs.map +1 -1
  39. package/build/lib/query.d.ts +2 -2
  40. package/build/lib/query.d.ts.map +1 -1
  41. package/build/lib/query.esm.js.map +1 -1
  42. package/build/lib/query.js.map +1 -1
  43. package/build/lib/query.mjs.map +1 -1
  44. package/build/lib/queryCache.d.ts +2 -2
  45. package/build/lib/queryCache.d.ts.map +1 -1
  46. package/build/lib/queryCache.esm.js.map +1 -1
  47. package/build/lib/queryCache.js.map +1 -1
  48. package/build/lib/queryCache.mjs.map +1 -1
  49. package/build/lib/queryClient.d.ts +3 -3
  50. package/build/lib/queryClient.d.ts.map +1 -1
  51. package/build/lib/queryClient.esm.js.map +1 -1
  52. package/build/lib/queryClient.js.map +1 -1
  53. package/build/lib/queryClient.mjs.map +1 -1
  54. package/build/lib/queryObserver.d.ts +3 -3
  55. package/build/lib/queryObserver.d.ts.map +1 -1
  56. package/build/lib/queryObserver.esm.js.map +1 -1
  57. package/build/lib/queryObserver.js.map +1 -1
  58. package/build/lib/queryObserver.mjs.map +1 -1
  59. package/build/lib/tests/utils.d.ts +1 -1
  60. package/build/lib/tests/utils.d.ts.map +1 -1
  61. package/build/lib/types.d.ts +2 -2
  62. package/build/lib/types.d.ts.map +1 -1
  63. package/build/umd/index.development.js +6 -4
  64. package/build/umd/index.development.js.map +1 -1
  65. package/build/umd/index.production.js +1 -1
  66. package/build/umd/index.production.js.map +1 -1
  67. package/package.json +1 -1
  68. package/src/focusManager.ts +3 -3
  69. package/src/infiniteQueryObserver.ts +6 -6
  70. package/src/mutation.ts +5 -5
  71. package/src/mutationCache.ts +4 -4
  72. package/src/mutationObserver.ts +4 -4
  73. package/src/onlineManager.ts +3 -2
  74. package/src/queriesObserver.ts +3 -3
  75. package/src/query.ts +8 -8
  76. package/src/queryCache.ts +4 -4
  77. package/src/queryClient.ts +14 -14
  78. package/src/queryObserver.ts +5 -5
  79. package/src/tests/focusManager.test.tsx +21 -14
  80. package/src/tests/hydration.test.tsx +2 -2
  81. package/src/tests/infiniteQueryBehavior.test.tsx +3 -3
  82. package/src/tests/infiniteQueryObserver.test.tsx +1 -1
  83. package/src/tests/mutationCache.test.tsx +1 -1
  84. package/src/tests/mutationObserver.test.tsx +1 -1
  85. package/src/tests/mutations.test.tsx +3 -3
  86. package/src/tests/onlineManager.test.tsx +21 -0
  87. package/src/tests/queriesObserver.test.tsx +2 -2
  88. package/src/tests/query.test.tsx +6 -6
  89. package/src/tests/queryCache.test.tsx +3 -3
  90. package/src/tests/queryClient.test.tsx +4 -4
  91. package/src/tests/queryObserver.test.tsx +4 -4
  92. package/src/tests/utils.test.tsx +4 -4
  93. package/src/tests/utils.ts +1 -1
  94. package/src/types.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"queryClient.mjs","sources":["../../src/queryClient.ts"],"sourcesContent":["import type { QueryFilters, Updater, MutationFilters } from './utils'\nimport {\n hashQueryKey,\n noop,\n parseFilterArgs,\n parseQueryArgs,\n partialMatchKey,\n hashQueryKeyByOptions,\n functionalUpdate,\n} from './utils'\nimport type {\n QueryClientConfig,\n DefaultOptions,\n FetchInfiniteQueryOptions,\n FetchQueryOptions,\n InfiniteData,\n InvalidateOptions,\n InvalidateQueryFilters,\n MutationKey,\n MutationObserverOptions,\n MutationOptions,\n QueryFunction,\n QueryKey,\n QueryObserverOptions,\n QueryOptions,\n RefetchOptions,\n RefetchQueryFilters,\n ResetOptions,\n ResetQueryFilters,\n SetDataOptions,\n WithRequired,\n} from './types'\nimport type { QueryState } from './query'\nimport { QueryCache } from './queryCache'\nimport { MutationCache } from './mutationCache'\nimport { focusManager } from './focusManager'\nimport { onlineManager } from './onlineManager'\nimport { notifyManager } from './notifyManager'\nimport { infiniteQueryBehavior } from './infiniteQueryBehavior'\nimport type { CancelOptions, DefaultedQueryObserverOptions } from './types'\nimport type { Logger } from './logger'\nimport { defaultLogger } from './logger'\n\n// TYPES\n\ninterface QueryDefaults {\n queryKey: QueryKey\n defaultOptions: QueryOptions<any, any, any>\n}\n\ninterface MutationDefaults {\n mutationKey: MutationKey\n defaultOptions: MutationOptions<any, any, any, any>\n}\n\n// CLASS\n\nexport class QueryClient {\n private queryCache: QueryCache\n private mutationCache: MutationCache\n private logger: Logger\n private defaultOptions: DefaultOptions\n private queryDefaults: QueryDefaults[]\n private mutationDefaults: MutationDefaults[]\n private mountCount: number\n private unsubscribeFocus?: () => void\n private unsubscribeOnline?: () => void\n\n constructor(config: QueryClientConfig = {}) {\n this.queryCache = config.queryCache || new QueryCache()\n this.mutationCache = config.mutationCache || new MutationCache()\n this.logger = config.logger || defaultLogger\n this.defaultOptions = config.defaultOptions || {}\n this.queryDefaults = []\n this.mutationDefaults = []\n this.mountCount = 0\n\n if (process.env.NODE_ENV !== 'production' && config.logger) {\n this.logger.error(\n `Passing a custom logger has been deprecated and will be removed in the next major version.`,\n )\n }\n }\n\n mount(): void {\n this.mountCount++\n if (this.mountCount !== 1) return\n\n this.unsubscribeFocus = focusManager.subscribe(() => {\n if (focusManager.isFocused()) {\n this.resumePausedMutations()\n this.queryCache.onFocus()\n }\n })\n this.unsubscribeOnline = onlineManager.subscribe(() => {\n if (onlineManager.isOnline()) {\n this.resumePausedMutations()\n this.queryCache.onOnline()\n }\n })\n }\n\n unmount(): void {\n this.mountCount--\n if (this.mountCount !== 0) return\n\n this.unsubscribeFocus?.()\n this.unsubscribeFocus = undefined\n\n this.unsubscribeOnline?.()\n this.unsubscribeOnline = undefined\n }\n\n isFetching(filters?: QueryFilters): number\n isFetching(queryKey?: QueryKey, filters?: QueryFilters): number\n isFetching(arg1?: QueryKey | QueryFilters, arg2?: QueryFilters): number {\n const [filters] = parseFilterArgs(arg1, arg2)\n filters.fetchStatus = 'fetching'\n return this.queryCache.findAll(filters).length\n }\n\n isMutating(filters?: MutationFilters): number {\n return this.mutationCache.findAll({ ...filters, fetching: true }).length\n }\n\n getQueryData<TQueryFnData = unknown>(\n queryKey: QueryKey,\n filters?: QueryFilters,\n ): TQueryFnData | undefined {\n return this.queryCache.find<TQueryFnData>(queryKey, filters)?.state.data\n }\n\n ensureQueryData<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: WithRequired<\n FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n 'queryKey'\n >,\n ): Promise<TData>\n ensureQueryData<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n options?: Omit<\n FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n 'queryKey'\n >,\n ): Promise<TData>\n ensureQueryData<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n queryFn: QueryFunction<TQueryFnData, TQueryKey>,\n options?: Omit<\n FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n 'queryKey' | 'queryFn'\n >,\n ): Promise<TData>\n ensureQueryData<\n TQueryFnData,\n TError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n arg1:\n | TQueryKey\n | WithRequired<\n FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n 'queryKey'\n >,\n arg2?:\n | QueryFunction<TQueryFnData, TQueryKey>\n | FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n arg3?: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<TData> {\n const parsedOptions = parseQueryArgs(arg1, arg2, arg3)\n const cachedData = this.getQueryData<TData>(parsedOptions.queryKey!)\n\n return cachedData\n ? Promise.resolve(cachedData)\n : this.fetchQuery(parsedOptions)\n }\n\n getQueriesData<TQueryFnData = unknown>(\n queryKey: QueryKey,\n ): [QueryKey, TQueryFnData | undefined][]\n getQueriesData<TQueryFnData = unknown>(\n filters: QueryFilters,\n ): [QueryKey, TQueryFnData | undefined][]\n getQueriesData<TQueryFnData = unknown>(\n queryKeyOrFilters: QueryKey | QueryFilters,\n ): [QueryKey, TQueryFnData | undefined][] {\n return this.getQueryCache()\n .findAll(queryKeyOrFilters)\n .map(({ queryKey, state }) => {\n const data = state.data as TQueryFnData | undefined\n return [queryKey, data]\n })\n }\n\n setQueryData<TQueryFnData>(\n queryKey: QueryKey,\n updater: Updater<TQueryFnData | undefined, TQueryFnData | undefined>,\n options?: SetDataOptions,\n ): TQueryFnData | undefined {\n const query = this.queryCache.find<TQueryFnData>(queryKey)\n const prevData = query?.state.data\n const data = functionalUpdate(updater, prevData)\n\n if (typeof data === 'undefined') {\n return undefined\n }\n\n const parsedOptions = parseQueryArgs(queryKey)\n const defaultedOptions = this.defaultQueryOptions(parsedOptions)\n return this.queryCache\n .build(this, defaultedOptions)\n .setData(data, { ...options, manual: true })\n }\n\n setQueriesData<TQueryFnData>(\n queryKey: QueryKey,\n updater: Updater<TQueryFnData | undefined, TQueryFnData | undefined>,\n options?: SetDataOptions,\n ): [QueryKey, TQueryFnData | undefined][]\n\n setQueriesData<TQueryFnData>(\n filters: QueryFilters,\n updater: Updater<TQueryFnData | undefined, TQueryFnData | undefined>,\n options?: SetDataOptions,\n ): [QueryKey, TQueryFnData | undefined][]\n\n setQueriesData<TQueryFnData>(\n queryKeyOrFilters: QueryKey | QueryFilters,\n updater: Updater<TQueryFnData | undefined, TQueryFnData | undefined>,\n options?: SetDataOptions,\n ): [QueryKey, TQueryFnData | undefined][] {\n return notifyManager.batch(() =>\n this.getQueryCache()\n .findAll(queryKeyOrFilters)\n .map(({ queryKey }) => [\n queryKey,\n this.setQueryData<TQueryFnData>(queryKey, updater, options),\n ]),\n )\n }\n\n getQueryState<TQueryFnData = unknown, TError = undefined>(\n queryKey: QueryKey,\n filters?: QueryFilters,\n ): QueryState<TQueryFnData, TError> | undefined {\n return this.queryCache.find<TQueryFnData, TError>(queryKey, filters)?.state\n }\n\n removeQueries(filters?: QueryFilters): void\n removeQueries(queryKey?: QueryKey, filters?: QueryFilters): void\n removeQueries(arg1?: QueryKey | QueryFilters, arg2?: QueryFilters): void {\n const [filters] = parseFilterArgs(arg1, arg2)\n const queryCache = this.queryCache\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n queryCache.remove(query)\n })\n })\n }\n\n resetQueries<TPageData = unknown>(\n filters?: ResetQueryFilters<TPageData>,\n options?: ResetOptions,\n ): Promise<void>\n resetQueries<TPageData = unknown>(\n queryKey?: QueryKey,\n filters?: ResetQueryFilters<TPageData>,\n options?: ResetOptions,\n ): Promise<void>\n resetQueries(\n arg1?: QueryKey | ResetQueryFilters,\n arg2?: ResetQueryFilters | ResetOptions,\n arg3?: ResetOptions,\n ): Promise<void> {\n const [filters, options] = parseFilterArgs(arg1, arg2, arg3)\n const queryCache = this.queryCache\n\n const refetchFilters: RefetchQueryFilters = {\n type: 'active',\n ...filters,\n }\n\n return notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n query.reset()\n })\n return this.refetchQueries(refetchFilters, options)\n })\n }\n\n cancelQueries(filters?: QueryFilters, options?: CancelOptions): Promise<void>\n cancelQueries(\n queryKey?: QueryKey,\n filters?: QueryFilters,\n options?: CancelOptions,\n ): Promise<void>\n cancelQueries(\n arg1?: QueryKey | QueryFilters,\n arg2?: QueryFilters | CancelOptions,\n arg3?: CancelOptions,\n ): Promise<void> {\n const [filters, cancelOptions = {}] = parseFilterArgs(arg1, arg2, arg3)\n\n if (typeof cancelOptions.revert === 'undefined') {\n cancelOptions.revert = true\n }\n\n const promises = notifyManager.batch(() =>\n this.queryCache\n .findAll(filters)\n .map((query) => query.cancel(cancelOptions)),\n )\n\n return Promise.all(promises).then(noop).catch(noop)\n }\n\n invalidateQueries<TPageData = unknown>(\n filters?: InvalidateQueryFilters<TPageData>,\n options?: InvalidateOptions,\n ): Promise<void>\n invalidateQueries<TPageData = unknown>(\n queryKey?: QueryKey,\n filters?: InvalidateQueryFilters<TPageData>,\n options?: InvalidateOptions,\n ): Promise<void>\n invalidateQueries(\n arg1?: QueryKey | InvalidateQueryFilters,\n arg2?: InvalidateQueryFilters | InvalidateOptions,\n arg3?: InvalidateOptions,\n ): Promise<void> {\n const [filters, options] = parseFilterArgs(arg1, arg2, arg3)\n\n return notifyManager.batch(() => {\n this.queryCache.findAll(filters).forEach((query) => {\n query.invalidate()\n })\n\n if (filters.refetchType === 'none') {\n return Promise.resolve()\n }\n const refetchFilters: RefetchQueryFilters = {\n ...filters,\n type: filters.refetchType ?? filters.type ?? 'active',\n }\n return this.refetchQueries(refetchFilters, options)\n })\n }\n\n refetchQueries<TPageData = unknown>(\n filters?: RefetchQueryFilters<TPageData>,\n options?: RefetchOptions,\n ): Promise<void>\n refetchQueries<TPageData = unknown>(\n queryKey?: QueryKey,\n filters?: RefetchQueryFilters<TPageData>,\n options?: RefetchOptions,\n ): Promise<void>\n refetchQueries(\n arg1?: QueryKey | RefetchQueryFilters,\n arg2?: RefetchQueryFilters | RefetchOptions,\n arg3?: RefetchOptions,\n ): Promise<void> {\n const [filters, options] = parseFilterArgs(arg1, arg2, arg3)\n\n const promises = notifyManager.batch(() =>\n this.queryCache\n .findAll(filters)\n .filter((query) => !query.isDisabled())\n .map((query) =>\n query.fetch(undefined, {\n ...options,\n cancelRefetch: options?.cancelRefetch ?? true,\n meta: { refetchPage: filters.refetchPage },\n }),\n ),\n )\n\n let promise = Promise.all(promises).then(noop)\n\n if (!options?.throwOnError) {\n promise = promise.catch(noop)\n }\n\n return promise\n }\n\n fetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<TData>\n fetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n options?: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<TData>\n fetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n queryFn: QueryFunction<TQueryFnData, TQueryKey>,\n options?: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<TData>\n fetchQuery<\n TQueryFnData,\n TError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n arg1: TQueryKey | FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n arg2?:\n | QueryFunction<TQueryFnData, TQueryKey>\n | FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n arg3?: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<TData> {\n const parsedOptions = parseQueryArgs(arg1, arg2, arg3)\n const defaultedOptions = this.defaultQueryOptions(parsedOptions)\n\n // https://github.com/tannerlinsley/react-query/issues/652\n if (typeof defaultedOptions.retry === 'undefined') {\n defaultedOptions.retry = false\n }\n\n const query = this.queryCache.build(this, defaultedOptions)\n\n return query.isStaleByTime(defaultedOptions.staleTime)\n ? query.fetch(defaultedOptions)\n : Promise.resolve(query.state.data as TData)\n }\n\n prefetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<void>\n prefetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n options?: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<void>\n prefetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n queryFn: QueryFunction<TQueryFnData, TQueryKey>,\n options?: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<void>\n prefetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n arg1: TQueryKey | FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n arg2?:\n | QueryFunction<TQueryFnData, TQueryKey>\n | FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n arg3?: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<void> {\n return this.fetchQuery(arg1 as any, arg2 as any, arg3)\n .then(noop)\n .catch(noop)\n }\n\n fetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<InfiniteData<TData>>\n fetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n options?: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<InfiniteData<TData>>\n fetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n queryFn: QueryFunction<TQueryFnData, TQueryKey>,\n options?: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<InfiniteData<TData>>\n fetchInfiniteQuery<\n TQueryFnData,\n TError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n arg1:\n | TQueryKey\n | FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n arg2?:\n | QueryFunction<TQueryFnData, TQueryKey>\n | FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n arg3?: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<InfiniteData<TData>> {\n const parsedOptions = parseQueryArgs(arg1, arg2, arg3)\n parsedOptions.behavior = infiniteQueryBehavior<\n TQueryFnData,\n TError,\n TData\n >()\n return this.fetchQuery(parsedOptions)\n }\n\n prefetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<void>\n prefetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n options?: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<void>\n prefetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n queryFn: QueryFunction<TQueryFnData, TQueryKey>,\n options?: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<void>\n prefetchInfiniteQuery<\n TQueryFnData,\n TError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n arg1:\n | TQueryKey\n | FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n arg2?:\n | QueryFunction<TQueryFnData, TQueryKey>\n | FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n arg3?: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<void> {\n return this.fetchInfiniteQuery(arg1 as any, arg2 as any, arg3)\n .then(noop)\n .catch(noop)\n }\n\n resumePausedMutations(): Promise<unknown> {\n return this.mutationCache.resumePausedMutations()\n }\n\n getQueryCache(): QueryCache {\n return this.queryCache\n }\n\n getMutationCache(): MutationCache {\n return this.mutationCache\n }\n\n getLogger(): Logger {\n return this.logger\n }\n\n getDefaultOptions(): DefaultOptions {\n return this.defaultOptions\n }\n\n setDefaultOptions(options: DefaultOptions): void {\n this.defaultOptions = options\n }\n\n setQueryDefaults(\n queryKey: QueryKey,\n options: QueryObserverOptions<unknown, any, any, any>,\n ): void {\n const result = this.queryDefaults.find(\n (x) => hashQueryKey(queryKey) === hashQueryKey(x.queryKey),\n )\n if (result) {\n result.defaultOptions = options\n } else {\n this.queryDefaults.push({ queryKey, defaultOptions: options })\n }\n }\n\n getQueryDefaults(\n queryKey?: QueryKey,\n ): QueryObserverOptions<any, any, any, any, any> | undefined {\n if (!queryKey) {\n return undefined\n }\n\n // Get the first matching defaults\n const firstMatchingDefaults = this.queryDefaults.find((x) =>\n partialMatchKey(queryKey, x.queryKey),\n )\n\n // Additional checks and error in dev mode\n if (process.env.NODE_ENV !== 'production') {\n // Retrieve all matching defaults for the given key\n const matchingDefaults = this.queryDefaults.filter((x) =>\n partialMatchKey(queryKey, x.queryKey),\n )\n // It is ok not having defaults, but it is error prone to have more than 1 default for a given key\n if (matchingDefaults.length > 1) {\n this.logger.error(\n `[QueryClient] Several query defaults match with key '${JSON.stringify(\n queryKey,\n )}'. The first matching query defaults are used. Please check how query defaults are registered. Order does matter here. cf. https://react-query.tanstack.com/reference/QueryClient#queryclientsetquerydefaults.`,\n )\n }\n }\n\n return firstMatchingDefaults?.defaultOptions\n }\n\n setMutationDefaults(\n mutationKey: MutationKey,\n options: MutationObserverOptions<any, any, any, any>,\n ): void {\n const result = this.mutationDefaults.find(\n (x) => hashQueryKey(mutationKey) === hashQueryKey(x.mutationKey),\n )\n if (result) {\n result.defaultOptions = options\n } else {\n this.mutationDefaults.push({ mutationKey, defaultOptions: options })\n }\n }\n\n getMutationDefaults(\n mutationKey?: MutationKey,\n ): MutationObserverOptions<any, any, any, any> | undefined {\n if (!mutationKey) {\n return undefined\n }\n\n // Get the first matching defaults\n const firstMatchingDefaults = this.mutationDefaults.find((x) =>\n partialMatchKey(mutationKey, x.mutationKey),\n )\n\n // Additional checks and error in dev mode\n if (process.env.NODE_ENV !== 'production') {\n // Retrieve all matching defaults for the given key\n const matchingDefaults = this.mutationDefaults.filter((x) =>\n partialMatchKey(mutationKey, x.mutationKey),\n )\n // It is ok not having defaults, but it is error prone to have more than 1 default for a given key\n if (matchingDefaults.length > 1) {\n this.logger.error(\n `[QueryClient] Several mutation defaults match with key '${JSON.stringify(\n mutationKey,\n )}'. The first matching mutation defaults are used. Please check how mutation defaults are registered. Order does matter here. cf. https://react-query.tanstack.com/reference/QueryClient#queryclientsetmutationdefaults.`,\n )\n }\n }\n\n return firstMatchingDefaults?.defaultOptions\n }\n\n defaultQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey extends QueryKey,\n >(\n options?:\n | QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n | DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n > {\n if (options?._defaulted) {\n return options as DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n }\n\n const defaultedOptions = {\n ...this.defaultOptions.queries,\n ...this.getQueryDefaults(options?.queryKey),\n ...options,\n _defaulted: true,\n }\n\n if (!defaultedOptions.queryHash && defaultedOptions.queryKey) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(\n defaultedOptions.queryKey,\n defaultedOptions,\n )\n }\n\n // dependent default values\n if (typeof defaultedOptions.refetchOnReconnect === 'undefined') {\n defaultedOptions.refetchOnReconnect =\n defaultedOptions.networkMode !== 'always'\n }\n if (typeof defaultedOptions.useErrorBoundary === 'undefined') {\n defaultedOptions.useErrorBoundary = !!defaultedOptions.suspense\n }\n\n return defaultedOptions as DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n }\n\n defaultMutationOptions<T extends MutationOptions<any, any, any, any>>(\n options?: T,\n ): T {\n if (options?._defaulted) {\n return options\n }\n return {\n ...this.defaultOptions.mutations,\n ...this.getMutationDefaults(options?.mutationKey),\n ...options,\n _defaulted: true,\n } as T\n }\n\n clear(): void {\n this.queryCache.clear()\n this.mutationCache.clear()\n }\n}\n"],"names":["QueryClient","constructor","config","queryCache","QueryCache","mutationCache","MutationCache","logger","defaultLogger","defaultOptions","queryDefaults","mutationDefaults","mountCount","process","env","NODE_ENV","error","mount","unsubscribeFocus","focusManager","subscribe","isFocused","resumePausedMutations","onFocus","unsubscribeOnline","onlineManager","isOnline","onOnline","unmount","undefined","isFetching","arg1","arg2","filters","parseFilterArgs","fetchStatus","findAll","length","isMutating","fetching","getQueryData","queryKey","find","state","data","ensureQueryData","arg3","parsedOptions","parseQueryArgs","cachedData","Promise","resolve","fetchQuery","getQueriesData","queryKeyOrFilters","getQueryCache","map","setQueryData","updater","options","query","prevData","functionalUpdate","defaultedOptions","defaultQueryOptions","build","setData","manual","setQueriesData","notifyManager","batch","getQueryState","removeQueries","forEach","remove","resetQueries","refetchFilters","type","reset","refetchQueries","cancelQueries","cancelOptions","revert","promises","cancel","all","then","noop","catch","invalidateQueries","invalidate","refetchType","filter","isDisabled","fetch","cancelRefetch","meta","refetchPage","promise","throwOnError","retry","isStaleByTime","staleTime","prefetchQuery","fetchInfiniteQuery","behavior","infiniteQueryBehavior","prefetchInfiniteQuery","getMutationCache","getLogger","getDefaultOptions","setDefaultOptions","setQueryDefaults","result","x","hashQueryKey","push","getQueryDefaults","firstMatchingDefaults","partialMatchKey","matchingDefaults","JSON","stringify","setMutationDefaults","mutationKey","getMutationDefaults","_defaulted","queries","queryHash","hashQueryKeyByOptions","refetchOnReconnect","networkMode","useErrorBoundary","suspense","defaultMutationOptions","mutations","clear"],"mappings":"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"}
1
+ {"version":3,"file":"queryClient.mjs","sources":["../../src/queryClient.ts"],"sourcesContent":["import {\n functionalUpdate,\n hashQueryKey,\n hashQueryKeyByOptions,\n noop,\n parseFilterArgs,\n parseQueryArgs,\n partialMatchKey,\n} from './utils'\nimport { QueryCache } from './queryCache'\nimport { MutationCache } from './mutationCache'\nimport { focusManager } from './focusManager'\nimport { onlineManager } from './onlineManager'\nimport { notifyManager } from './notifyManager'\nimport { infiniteQueryBehavior } from './infiniteQueryBehavior'\nimport { defaultLogger } from './logger'\nimport type { CancelOptions, DefaultedQueryObserverOptions } from './types'\nimport type { Logger } from './logger'\nimport type { QueryState } from './query'\nimport type {\n DefaultOptions,\n FetchInfiniteQueryOptions,\n FetchQueryOptions,\n InfiniteData,\n InvalidateOptions,\n InvalidateQueryFilters,\n MutationKey,\n MutationObserverOptions,\n MutationOptions,\n QueryClientConfig,\n QueryFunction,\n QueryKey,\n QueryObserverOptions,\n QueryOptions,\n RefetchOptions,\n RefetchQueryFilters,\n ResetOptions,\n ResetQueryFilters,\n SetDataOptions,\n WithRequired,\n} from './types'\nimport type { MutationFilters, QueryFilters, Updater } from './utils'\n\n// TYPES\n\ninterface QueryDefaults {\n queryKey: QueryKey\n defaultOptions: QueryOptions<any, any, any>\n}\n\ninterface MutationDefaults {\n mutationKey: MutationKey\n defaultOptions: MutationOptions<any, any, any, any>\n}\n\n// CLASS\n\nexport class QueryClient {\n private queryCache: QueryCache\n private mutationCache: MutationCache\n private logger: Logger\n private defaultOptions: DefaultOptions\n private queryDefaults: QueryDefaults[]\n private mutationDefaults: MutationDefaults[]\n private mountCount: number\n private unsubscribeFocus?: () => void\n private unsubscribeOnline?: () => void\n\n constructor(config: QueryClientConfig = {}) {\n this.queryCache = config.queryCache || new QueryCache()\n this.mutationCache = config.mutationCache || new MutationCache()\n this.logger = config.logger || defaultLogger\n this.defaultOptions = config.defaultOptions || {}\n this.queryDefaults = []\n this.mutationDefaults = []\n this.mountCount = 0\n\n if (process.env.NODE_ENV !== 'production' && config.logger) {\n this.logger.error(\n `Passing a custom logger has been deprecated and will be removed in the next major version.`,\n )\n }\n }\n\n mount(): void {\n this.mountCount++\n if (this.mountCount !== 1) return\n\n this.unsubscribeFocus = focusManager.subscribe(() => {\n if (focusManager.isFocused()) {\n this.resumePausedMutations()\n this.queryCache.onFocus()\n }\n })\n this.unsubscribeOnline = onlineManager.subscribe(() => {\n if (onlineManager.isOnline()) {\n this.resumePausedMutations()\n this.queryCache.onOnline()\n }\n })\n }\n\n unmount(): void {\n this.mountCount--\n if (this.mountCount !== 0) return\n\n this.unsubscribeFocus?.()\n this.unsubscribeFocus = undefined\n\n this.unsubscribeOnline?.()\n this.unsubscribeOnline = undefined\n }\n\n isFetching(filters?: QueryFilters): number\n isFetching(queryKey?: QueryKey, filters?: QueryFilters): number\n isFetching(arg1?: QueryKey | QueryFilters, arg2?: QueryFilters): number {\n const [filters] = parseFilterArgs(arg1, arg2)\n filters.fetchStatus = 'fetching'\n return this.queryCache.findAll(filters).length\n }\n\n isMutating(filters?: MutationFilters): number {\n return this.mutationCache.findAll({ ...filters, fetching: true }).length\n }\n\n getQueryData<TQueryFnData = unknown>(\n queryKey: QueryKey,\n filters?: QueryFilters,\n ): TQueryFnData | undefined {\n return this.queryCache.find<TQueryFnData>(queryKey, filters)?.state.data\n }\n\n ensureQueryData<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: WithRequired<\n FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n 'queryKey'\n >,\n ): Promise<TData>\n ensureQueryData<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n options?: Omit<\n FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n 'queryKey'\n >,\n ): Promise<TData>\n ensureQueryData<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n queryFn: QueryFunction<TQueryFnData, TQueryKey>,\n options?: Omit<\n FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n 'queryKey' | 'queryFn'\n >,\n ): Promise<TData>\n ensureQueryData<\n TQueryFnData,\n TError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n arg1:\n | TQueryKey\n | WithRequired<\n FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n 'queryKey'\n >,\n arg2?:\n | QueryFunction<TQueryFnData, TQueryKey>\n | FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n arg3?: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<TData> {\n const parsedOptions = parseQueryArgs(arg1, arg2, arg3)\n const cachedData = this.getQueryData<TData>(parsedOptions.queryKey!)\n\n return cachedData\n ? Promise.resolve(cachedData)\n : this.fetchQuery(parsedOptions)\n }\n\n getQueriesData<TQueryFnData = unknown>(\n queryKey: QueryKey,\n ): [QueryKey, TQueryFnData | undefined][]\n getQueriesData<TQueryFnData = unknown>(\n filters: QueryFilters,\n ): [QueryKey, TQueryFnData | undefined][]\n getQueriesData<TQueryFnData = unknown>(\n queryKeyOrFilters: QueryKey | QueryFilters,\n ): [QueryKey, TQueryFnData | undefined][] {\n return this.getQueryCache()\n .findAll(queryKeyOrFilters)\n .map(({ queryKey, state }) => {\n const data = state.data as TQueryFnData | undefined\n return [queryKey, data]\n })\n }\n\n setQueryData<TQueryFnData>(\n queryKey: QueryKey,\n updater: Updater<TQueryFnData | undefined, TQueryFnData | undefined>,\n options?: SetDataOptions,\n ): TQueryFnData | undefined {\n const query = this.queryCache.find<TQueryFnData>(queryKey)\n const prevData = query?.state.data\n const data = functionalUpdate(updater, prevData)\n\n if (typeof data === 'undefined') {\n return undefined\n }\n\n const parsedOptions = parseQueryArgs(queryKey)\n const defaultedOptions = this.defaultQueryOptions(parsedOptions)\n return this.queryCache\n .build(this, defaultedOptions)\n .setData(data, { ...options, manual: true })\n }\n\n setQueriesData<TQueryFnData>(\n queryKey: QueryKey,\n updater: Updater<TQueryFnData | undefined, TQueryFnData | undefined>,\n options?: SetDataOptions,\n ): [QueryKey, TQueryFnData | undefined][]\n\n setQueriesData<TQueryFnData>(\n filters: QueryFilters,\n updater: Updater<TQueryFnData | undefined, TQueryFnData | undefined>,\n options?: SetDataOptions,\n ): [QueryKey, TQueryFnData | undefined][]\n\n setQueriesData<TQueryFnData>(\n queryKeyOrFilters: QueryKey | QueryFilters,\n updater: Updater<TQueryFnData | undefined, TQueryFnData | undefined>,\n options?: SetDataOptions,\n ): [QueryKey, TQueryFnData | undefined][] {\n return notifyManager.batch(() =>\n this.getQueryCache()\n .findAll(queryKeyOrFilters)\n .map(({ queryKey }) => [\n queryKey,\n this.setQueryData<TQueryFnData>(queryKey, updater, options),\n ]),\n )\n }\n\n getQueryState<TQueryFnData = unknown, TError = undefined>(\n queryKey: QueryKey,\n filters?: QueryFilters,\n ): QueryState<TQueryFnData, TError> | undefined {\n return this.queryCache.find<TQueryFnData, TError>(queryKey, filters)?.state\n }\n\n removeQueries(filters?: QueryFilters): void\n removeQueries(queryKey?: QueryKey, filters?: QueryFilters): void\n removeQueries(arg1?: QueryKey | QueryFilters, arg2?: QueryFilters): void {\n const [filters] = parseFilterArgs(arg1, arg2)\n const queryCache = this.queryCache\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n queryCache.remove(query)\n })\n })\n }\n\n resetQueries<TPageData = unknown>(\n filters?: ResetQueryFilters<TPageData>,\n options?: ResetOptions,\n ): Promise<void>\n resetQueries<TPageData = unknown>(\n queryKey?: QueryKey,\n filters?: ResetQueryFilters<TPageData>,\n options?: ResetOptions,\n ): Promise<void>\n resetQueries(\n arg1?: QueryKey | ResetQueryFilters,\n arg2?: ResetQueryFilters | ResetOptions,\n arg3?: ResetOptions,\n ): Promise<void> {\n const [filters, options] = parseFilterArgs(arg1, arg2, arg3)\n const queryCache = this.queryCache\n\n const refetchFilters: RefetchQueryFilters = {\n type: 'active',\n ...filters,\n }\n\n return notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n query.reset()\n })\n return this.refetchQueries(refetchFilters, options)\n })\n }\n\n cancelQueries(filters?: QueryFilters, options?: CancelOptions): Promise<void>\n cancelQueries(\n queryKey?: QueryKey,\n filters?: QueryFilters,\n options?: CancelOptions,\n ): Promise<void>\n cancelQueries(\n arg1?: QueryKey | QueryFilters,\n arg2?: QueryFilters | CancelOptions,\n arg3?: CancelOptions,\n ): Promise<void> {\n const [filters, cancelOptions = {}] = parseFilterArgs(arg1, arg2, arg3)\n\n if (typeof cancelOptions.revert === 'undefined') {\n cancelOptions.revert = true\n }\n\n const promises = notifyManager.batch(() =>\n this.queryCache\n .findAll(filters)\n .map((query) => query.cancel(cancelOptions)),\n )\n\n return Promise.all(promises).then(noop).catch(noop)\n }\n\n invalidateQueries<TPageData = unknown>(\n filters?: InvalidateQueryFilters<TPageData>,\n options?: InvalidateOptions,\n ): Promise<void>\n invalidateQueries<TPageData = unknown>(\n queryKey?: QueryKey,\n filters?: InvalidateQueryFilters<TPageData>,\n options?: InvalidateOptions,\n ): Promise<void>\n invalidateQueries(\n arg1?: QueryKey | InvalidateQueryFilters,\n arg2?: InvalidateQueryFilters | InvalidateOptions,\n arg3?: InvalidateOptions,\n ): Promise<void> {\n const [filters, options] = parseFilterArgs(arg1, arg2, arg3)\n\n return notifyManager.batch(() => {\n this.queryCache.findAll(filters).forEach((query) => {\n query.invalidate()\n })\n\n if (filters.refetchType === 'none') {\n return Promise.resolve()\n }\n const refetchFilters: RefetchQueryFilters = {\n ...filters,\n type: filters.refetchType ?? filters.type ?? 'active',\n }\n return this.refetchQueries(refetchFilters, options)\n })\n }\n\n refetchQueries<TPageData = unknown>(\n filters?: RefetchQueryFilters<TPageData>,\n options?: RefetchOptions,\n ): Promise<void>\n refetchQueries<TPageData = unknown>(\n queryKey?: QueryKey,\n filters?: RefetchQueryFilters<TPageData>,\n options?: RefetchOptions,\n ): Promise<void>\n refetchQueries(\n arg1?: QueryKey | RefetchQueryFilters,\n arg2?: RefetchQueryFilters | RefetchOptions,\n arg3?: RefetchOptions,\n ): Promise<void> {\n const [filters, options] = parseFilterArgs(arg1, arg2, arg3)\n\n const promises = notifyManager.batch(() =>\n this.queryCache\n .findAll(filters)\n .filter((query) => !query.isDisabled())\n .map((query) =>\n query.fetch(undefined, {\n ...options,\n cancelRefetch: options?.cancelRefetch ?? true,\n meta: { refetchPage: filters.refetchPage },\n }),\n ),\n )\n\n let promise = Promise.all(promises).then(noop)\n\n if (!options?.throwOnError) {\n promise = promise.catch(noop)\n }\n\n return promise\n }\n\n fetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<TData>\n fetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n options?: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<TData>\n fetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n queryFn: QueryFunction<TQueryFnData, TQueryKey>,\n options?: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<TData>\n fetchQuery<\n TQueryFnData,\n TError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n arg1: TQueryKey | FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n arg2?:\n | QueryFunction<TQueryFnData, TQueryKey>\n | FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n arg3?: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<TData> {\n const parsedOptions = parseQueryArgs(arg1, arg2, arg3)\n const defaultedOptions = this.defaultQueryOptions(parsedOptions)\n\n // https://github.com/tannerlinsley/react-query/issues/652\n if (typeof defaultedOptions.retry === 'undefined') {\n defaultedOptions.retry = false\n }\n\n const query = this.queryCache.build(this, defaultedOptions)\n\n return query.isStaleByTime(defaultedOptions.staleTime)\n ? query.fetch(defaultedOptions)\n : Promise.resolve(query.state.data as TData)\n }\n\n prefetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<void>\n prefetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n options?: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<void>\n prefetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n queryFn: QueryFunction<TQueryFnData, TQueryKey>,\n options?: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<void>\n prefetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n arg1: TQueryKey | FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n arg2?:\n | QueryFunction<TQueryFnData, TQueryKey>\n | FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n arg3?: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<void> {\n return this.fetchQuery(arg1 as any, arg2 as any, arg3)\n .then(noop)\n .catch(noop)\n }\n\n fetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<InfiniteData<TData>>\n fetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n options?: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<InfiniteData<TData>>\n fetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n queryFn: QueryFunction<TQueryFnData, TQueryKey>,\n options?: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<InfiniteData<TData>>\n fetchInfiniteQuery<\n TQueryFnData,\n TError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n arg1:\n | TQueryKey\n | FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n arg2?:\n | QueryFunction<TQueryFnData, TQueryKey>\n | FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n arg3?: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<InfiniteData<TData>> {\n const parsedOptions = parseQueryArgs(arg1, arg2, arg3)\n parsedOptions.behavior = infiniteQueryBehavior<\n TQueryFnData,\n TError,\n TData\n >()\n return this.fetchQuery(parsedOptions)\n }\n\n prefetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<void>\n prefetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n options?: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<void>\n prefetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n queryFn: QueryFunction<TQueryFnData, TQueryKey>,\n options?: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<void>\n prefetchInfiniteQuery<\n TQueryFnData,\n TError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n arg1:\n | TQueryKey\n | FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n arg2?:\n | QueryFunction<TQueryFnData, TQueryKey>\n | FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n arg3?: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<void> {\n return this.fetchInfiniteQuery(arg1 as any, arg2 as any, arg3)\n .then(noop)\n .catch(noop)\n }\n\n resumePausedMutations(): Promise<unknown> {\n return this.mutationCache.resumePausedMutations()\n }\n\n getQueryCache(): QueryCache {\n return this.queryCache\n }\n\n getMutationCache(): MutationCache {\n return this.mutationCache\n }\n\n getLogger(): Logger {\n return this.logger\n }\n\n getDefaultOptions(): DefaultOptions {\n return this.defaultOptions\n }\n\n setDefaultOptions(options: DefaultOptions): void {\n this.defaultOptions = options\n }\n\n setQueryDefaults(\n queryKey: QueryKey,\n options: QueryObserverOptions<unknown, any, any, any>,\n ): void {\n const result = this.queryDefaults.find(\n (x) => hashQueryKey(queryKey) === hashQueryKey(x.queryKey),\n )\n if (result) {\n result.defaultOptions = options\n } else {\n this.queryDefaults.push({ queryKey, defaultOptions: options })\n }\n }\n\n getQueryDefaults(\n queryKey?: QueryKey,\n ): QueryObserverOptions<any, any, any, any, any> | undefined {\n if (!queryKey) {\n return undefined\n }\n\n // Get the first matching defaults\n const firstMatchingDefaults = this.queryDefaults.find((x) =>\n partialMatchKey(queryKey, x.queryKey),\n )\n\n // Additional checks and error in dev mode\n if (process.env.NODE_ENV !== 'production') {\n // Retrieve all matching defaults for the given key\n const matchingDefaults = this.queryDefaults.filter((x) =>\n partialMatchKey(queryKey, x.queryKey),\n )\n // It is ok not having defaults, but it is error prone to have more than 1 default for a given key\n if (matchingDefaults.length > 1) {\n this.logger.error(\n `[QueryClient] Several query defaults match with key '${JSON.stringify(\n queryKey,\n )}'. The first matching query defaults are used. Please check how query defaults are registered. Order does matter here. cf. https://react-query.tanstack.com/reference/QueryClient#queryclientsetquerydefaults.`,\n )\n }\n }\n\n return firstMatchingDefaults?.defaultOptions\n }\n\n setMutationDefaults(\n mutationKey: MutationKey,\n options: MutationObserverOptions<any, any, any, any>,\n ): void {\n const result = this.mutationDefaults.find(\n (x) => hashQueryKey(mutationKey) === hashQueryKey(x.mutationKey),\n )\n if (result) {\n result.defaultOptions = options\n } else {\n this.mutationDefaults.push({ mutationKey, defaultOptions: options })\n }\n }\n\n getMutationDefaults(\n mutationKey?: MutationKey,\n ): MutationObserverOptions<any, any, any, any> | undefined {\n if (!mutationKey) {\n return undefined\n }\n\n // Get the first matching defaults\n const firstMatchingDefaults = this.mutationDefaults.find((x) =>\n partialMatchKey(mutationKey, x.mutationKey),\n )\n\n // Additional checks and error in dev mode\n if (process.env.NODE_ENV !== 'production') {\n // Retrieve all matching defaults for the given key\n const matchingDefaults = this.mutationDefaults.filter((x) =>\n partialMatchKey(mutationKey, x.mutationKey),\n )\n // It is ok not having defaults, but it is error prone to have more than 1 default for a given key\n if (matchingDefaults.length > 1) {\n this.logger.error(\n `[QueryClient] Several mutation defaults match with key '${JSON.stringify(\n mutationKey,\n )}'. The first matching mutation defaults are used. Please check how mutation defaults are registered. Order does matter here. cf. https://react-query.tanstack.com/reference/QueryClient#queryclientsetmutationdefaults.`,\n )\n }\n }\n\n return firstMatchingDefaults?.defaultOptions\n }\n\n defaultQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey extends QueryKey,\n >(\n options?:\n | QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n | DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n > {\n if (options?._defaulted) {\n return options as DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n }\n\n const defaultedOptions = {\n ...this.defaultOptions.queries,\n ...this.getQueryDefaults(options?.queryKey),\n ...options,\n _defaulted: true,\n }\n\n if (!defaultedOptions.queryHash && defaultedOptions.queryKey) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(\n defaultedOptions.queryKey,\n defaultedOptions,\n )\n }\n\n // dependent default values\n if (typeof defaultedOptions.refetchOnReconnect === 'undefined') {\n defaultedOptions.refetchOnReconnect =\n defaultedOptions.networkMode !== 'always'\n }\n if (typeof defaultedOptions.useErrorBoundary === 'undefined') {\n defaultedOptions.useErrorBoundary = !!defaultedOptions.suspense\n }\n\n return defaultedOptions as DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n }\n\n defaultMutationOptions<T extends MutationOptions<any, any, any, any>>(\n options?: T,\n ): T {\n if (options?._defaulted) {\n return options\n }\n return {\n ...this.defaultOptions.mutations,\n ...this.getMutationDefaults(options?.mutationKey),\n ...options,\n _defaulted: true,\n } as T\n }\n\n clear(): void {\n this.queryCache.clear()\n this.mutationCache.clear()\n }\n}\n"],"names":["QueryClient","constructor","config","queryCache","QueryCache","mutationCache","MutationCache","logger","defaultLogger","defaultOptions","queryDefaults","mutationDefaults","mountCount","process","env","NODE_ENV","error","mount","unsubscribeFocus","focusManager","subscribe","isFocused","resumePausedMutations","onFocus","unsubscribeOnline","onlineManager","isOnline","onOnline","unmount","undefined","isFetching","arg1","arg2","filters","parseFilterArgs","fetchStatus","findAll","length","isMutating","fetching","getQueryData","queryKey","find","state","data","ensureQueryData","arg3","parsedOptions","parseQueryArgs","cachedData","Promise","resolve","fetchQuery","getQueriesData","queryKeyOrFilters","getQueryCache","map","setQueryData","updater","options","query","prevData","functionalUpdate","defaultedOptions","defaultQueryOptions","build","setData","manual","setQueriesData","notifyManager","batch","getQueryState","removeQueries","forEach","remove","resetQueries","refetchFilters","type","reset","refetchQueries","cancelQueries","cancelOptions","revert","promises","cancel","all","then","noop","catch","invalidateQueries","invalidate","refetchType","filter","isDisabled","fetch","cancelRefetch","meta","refetchPage","promise","throwOnError","retry","isStaleByTime","staleTime","prefetchQuery","fetchInfiniteQuery","behavior","infiniteQueryBehavior","prefetchInfiniteQuery","getMutationCache","getLogger","getDefaultOptions","setDefaultOptions","setQueryDefaults","result","x","hashQueryKey","push","getQueryDefaults","firstMatchingDefaults","partialMatchKey","matchingDefaults","JSON","stringify","setMutationDefaults","mutationKey","getMutationDefaults","_defaulted","queries","queryHash","hashQueryKeyByOptions","refetchOnReconnect","networkMode","useErrorBoundary","suspense","defaultMutationOptions","mutations","clear"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import type { DefaultedQueryObserverOptions, RefetchPageFilters } from './types';
1
+ import { Subscribable } from './subscribable';
2
2
  import type { QueryKey, QueryObserverOptions, QueryObserverResult, RefetchOptions } from './types';
3
- import type { Query, Action, FetchOptions } from './query';
3
+ import type { Action, FetchOptions, Query } from './query';
4
4
  import type { QueryClient } from './queryClient';
5
- import { Subscribable } from './subscribable';
5
+ import type { DefaultedQueryObserverOptions, RefetchPageFilters } from './types';
6
6
  declare type QueryObserverListener<TData, TError> = (result: QueryObserverResult<TData, TError>) => void;
7
7
  export interface NotifyOptions {
8
8
  cache?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"queryObserver.d.ts","sourceRoot":"","sources":["../../src/queryObserver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queryObserver.d.ts","sourceRoot":"","sources":["../../src/queryObserver.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"queryObserver.esm.js","sources":["../../src/queryObserver.ts"],"sourcesContent":["import type { DefaultedQueryObserverOptions, RefetchPageFilters } from './types'\nimport {\n isServer,\n isValidTimeout,\n noop,\n replaceData,\n shallowEqualObjects,\n timeUntilStale,\n} from './utils'\nimport { notifyManager } from './notifyManager'\nimport type {\n PlaceholderDataFunction,\n QueryKey,\n QueryObserverBaseResult,\n QueryObserverOptions,\n QueryObserverResult,\n QueryOptions,\n RefetchOptions,\n} from './types'\nimport type { Query, QueryState, Action, FetchOptions } from './query'\nimport type { QueryClient } from './queryClient'\nimport { focusManager } from './focusManager'\nimport { Subscribable } from './subscribable'\nimport { canFetch, isCancelledError } from './retryer'\n\ntype QueryObserverListener<TData, TError> = (\n result: QueryObserverResult<TData, TError>,\n) => void\n\nexport interface NotifyOptions {\n cache?: boolean\n listeners?: boolean\n onError?: boolean\n onSuccess?: boolean\n}\n\nexport interface ObserverFetchOptions extends FetchOptions {\n throwOnError?: boolean\n}\n\nexport class QueryObserver<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends Subscribable<QueryObserverListener<TData, TError>> {\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n\n private client: QueryClient\n private currentQuery!: Query<TQueryFnData, TError, TQueryData, TQueryKey>\n private currentQueryInitialState!: QueryState<TQueryData, TError>\n private currentResult!: QueryObserverResult<TData, TError>\n private currentResultState?: QueryState<TQueryData, TError>\n private currentResultOptions?: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n private previousQueryResult?: QueryObserverResult<TData, TError>\n private selectError: TError | null\n private selectFn?: (data: TQueryData) => TData\n private selectResult?: TData\n private staleTimeoutId?: ReturnType<typeof setTimeout>\n private refetchIntervalId?: ReturnType<typeof setInterval>\n private currentRefetchInterval?: number | false\n private trackedProps!: Set<keyof QueryObserverResult>\n\n constructor(\n client: QueryClient,\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ) {\n super()\n\n this.client = client\n this.options = options\n this.trackedProps = new Set()\n this.selectError = null\n this.bindMethods()\n this.setOptions(options)\n }\n\n protected bindMethods(): void {\n this.remove = this.remove.bind(this)\n this.refetch = this.refetch.bind(this)\n }\n\n protected onSubscribe(): void {\n if (this.listeners.size === 1) {\n this.currentQuery.addObserver(this)\n\n if (shouldFetchOnMount(this.currentQuery, this.options)) {\n this.executeFetch()\n }\n\n this.updateTimers()\n }\n }\n\n protected onUnsubscribe(): void {\n if (!this.hasListeners()) {\n this.destroy()\n }\n }\n\n shouldFetchOnReconnect(): boolean {\n return shouldFetchOn(\n this.currentQuery,\n this.options,\n this.options.refetchOnReconnect,\n )\n }\n\n shouldFetchOnWindowFocus(): boolean {\n return shouldFetchOn(\n this.currentQuery,\n this.options,\n this.options.refetchOnWindowFocus,\n )\n }\n\n destroy(): void {\n this.listeners = new Set()\n this.clearStaleTimeout()\n this.clearRefetchInterval()\n this.currentQuery.removeObserver(this)\n }\n\n setOptions(\n options?: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n notifyOptions?: NotifyOptions,\n ): void {\n const prevOptions = this.options\n const prevQuery = this.currentQuery\n\n this.options = this.client.defaultQueryOptions(options)\n\n if (\n process.env.NODE_ENV !== 'production' &&\n typeof options?.isDataEqual !== 'undefined'\n ) {\n this.client\n .getLogger()\n .error(\n `The isDataEqual option has been deprecated and will be removed in the next major version. You can achieve the same functionality by passing a function as the structuralSharing option`,\n )\n }\n\n if (!shallowEqualObjects(prevOptions, this.options)) {\n this.client.getQueryCache().notify({\n type: 'observerOptionsUpdated',\n query: this.currentQuery,\n observer: this,\n })\n }\n\n if (\n typeof this.options.enabled !== 'undefined' &&\n typeof this.options.enabled !== 'boolean'\n ) {\n throw new Error('Expected enabled to be a boolean')\n }\n\n // Keep previous query key if the user does not supply one\n if (!this.options.queryKey) {\n this.options.queryKey = prevOptions.queryKey\n }\n\n this.updateQuery()\n\n const mounted = this.hasListeners()\n\n // Fetch if there are subscribers\n if (\n mounted &&\n shouldFetchOptionally(\n this.currentQuery,\n prevQuery,\n this.options,\n prevOptions,\n )\n ) {\n this.executeFetch()\n }\n\n // Update result\n this.updateResult(notifyOptions)\n\n // Update stale interval if needed\n if (\n mounted &&\n (this.currentQuery !== prevQuery ||\n this.options.enabled !== prevOptions.enabled ||\n this.options.staleTime !== prevOptions.staleTime)\n ) {\n this.updateStaleTimeout()\n }\n\n const nextRefetchInterval = this.computeRefetchInterval()\n\n // Update refetch interval if needed\n if (\n mounted &&\n (this.currentQuery !== prevQuery ||\n this.options.enabled !== prevOptions.enabled ||\n nextRefetchInterval !== this.currentRefetchInterval)\n ) {\n this.updateRefetchInterval(nextRefetchInterval)\n }\n }\n\n getOptimisticResult(\n options: DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): QueryObserverResult<TData, TError> {\n const query = this.client.getQueryCache().build(this.client, options)\n\n const result = this.createResult(query, options)\n\n if (shouldAssignObserverCurrentProperties(this, result, options)) {\n // this assigns the optimistic result to the current Observer\n // because if the query function changes, useQuery will be performing\n // an effect where it would fetch again.\n // When the fetch finishes, we perform a deep data cloning in order\n // to reuse objects references. This deep data clone is performed against\n // the `observer.currentResult.data` property\n // When QueryKey changes, we refresh the query and get new `optimistic`\n // result, while we leave the `observer.currentResult`, so when new data\n // arrives, it finds the old `observer.currentResult` which is related\n // to the old QueryKey. Which means that currentResult and selectData are\n // out of sync already.\n // To solve this, we move the cursor of the currentResult everytime\n // an observer reads an optimistic value.\n\n // When keeping the previous data, the result doesn't change until new\n // data arrives.\n this.currentResult = result\n this.currentResultOptions = this.options\n this.currentResultState = this.currentQuery.state\n }\n return result\n }\n\n getCurrentResult(): QueryObserverResult<TData, TError> {\n return this.currentResult\n }\n\n trackResult(\n result: QueryObserverResult<TData, TError>,\n ): QueryObserverResult<TData, TError> {\n const trackedResult = {} as QueryObserverResult<TData, TError>\n\n Object.keys(result).forEach((key) => {\n Object.defineProperty(trackedResult, key, {\n configurable: false,\n enumerable: true,\n get: () => {\n this.trackedProps.add(key as keyof QueryObserverResult)\n return result[key as keyof QueryObserverResult]\n },\n })\n })\n\n return trackedResult\n }\n\n getCurrentQuery(): Query<TQueryFnData, TError, TQueryData, TQueryKey> {\n return this.currentQuery\n }\n\n remove(): void {\n this.client.getQueryCache().remove(this.currentQuery)\n }\n\n refetch<TPageData>({\n refetchPage,\n ...options\n }: RefetchOptions & RefetchPageFilters<TPageData> = {}): Promise<\n QueryObserverResult<TData, TError>\n > {\n return this.fetch({\n ...options,\n meta: { refetchPage },\n })\n }\n\n fetchOptimistic(\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): Promise<QueryObserverResult<TData, TError>> {\n const defaultedOptions = this.client.defaultQueryOptions(options)\n\n const query = this.client\n .getQueryCache()\n .build(this.client, defaultedOptions)\n query.isFetchingOptimistic = true\n\n return query.fetch().then(() => this.createResult(query, defaultedOptions))\n }\n\n protected fetch(\n fetchOptions: ObserverFetchOptions,\n ): Promise<QueryObserverResult<TData, TError>> {\n return this.executeFetch({\n ...fetchOptions,\n cancelRefetch: fetchOptions.cancelRefetch ?? true,\n }).then(() => {\n this.updateResult()\n return this.currentResult\n })\n }\n\n private executeFetch(\n fetchOptions?: ObserverFetchOptions,\n ): Promise<TQueryData | undefined> {\n // Make sure we reference the latest query as the current one might have been removed\n this.updateQuery()\n\n // Fetch\n let promise: Promise<TQueryData | undefined> = this.currentQuery.fetch(\n this.options as QueryOptions<TQueryFnData, TError, TQueryData, TQueryKey>,\n fetchOptions,\n )\n\n if (!fetchOptions?.throwOnError) {\n promise = promise.catch(noop)\n }\n\n return promise\n }\n\n private updateStaleTimeout(): void {\n this.clearStaleTimeout()\n\n if (\n isServer ||\n this.currentResult.isStale ||\n !isValidTimeout(this.options.staleTime)\n ) {\n return\n }\n\n const time = timeUntilStale(\n this.currentResult.dataUpdatedAt,\n this.options.staleTime,\n )\n\n // The timeout is sometimes triggered 1 ms before the stale time expiration.\n // To mitigate this issue we always add 1 ms to the timeout.\n const timeout = time + 1\n\n this.staleTimeoutId = setTimeout(() => {\n if (!this.currentResult.isStale) {\n this.updateResult()\n }\n }, timeout)\n }\n\n private computeRefetchInterval() {\n return typeof this.options.refetchInterval === 'function'\n ? this.options.refetchInterval(this.currentResult.data, this.currentQuery)\n : this.options.refetchInterval ?? false\n }\n\n private updateRefetchInterval(nextInterval: number | false): void {\n this.clearRefetchInterval()\n\n this.currentRefetchInterval = nextInterval\n\n if (\n isServer ||\n this.options.enabled === false ||\n !isValidTimeout(this.currentRefetchInterval) ||\n this.currentRefetchInterval === 0\n ) {\n return\n }\n\n this.refetchIntervalId = setInterval(() => {\n if (\n this.options.refetchIntervalInBackground ||\n focusManager.isFocused()\n ) {\n this.executeFetch()\n }\n }, this.currentRefetchInterval)\n }\n\n private updateTimers(): void {\n this.updateStaleTimeout()\n this.updateRefetchInterval(this.computeRefetchInterval())\n }\n\n private clearStaleTimeout(): void {\n if (this.staleTimeoutId) {\n clearTimeout(this.staleTimeoutId)\n this.staleTimeoutId = undefined\n }\n }\n\n private clearRefetchInterval(): void {\n if (this.refetchIntervalId) {\n clearInterval(this.refetchIntervalId)\n this.refetchIntervalId = undefined\n }\n }\n\n protected createResult(\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): QueryObserverResult<TData, TError> {\n const prevQuery = this.currentQuery\n const prevOptions = this.options\n const prevResult = this.currentResult as\n | QueryObserverResult<TData, TError>\n | undefined\n const prevResultState = this.currentResultState\n const prevResultOptions = this.currentResultOptions\n const queryChange = query !== prevQuery\n const queryInitialState = queryChange\n ? query.state\n : this.currentQueryInitialState\n const prevQueryResult = queryChange\n ? this.currentResult\n : this.previousQueryResult\n\n const { state } = query\n let { dataUpdatedAt, error, errorUpdatedAt, fetchStatus, status } = state\n let isPreviousData = false\n let isPlaceholderData = false\n let data: TData | undefined\n\n // Optimistically set result in fetching state if needed\n if (options._optimisticResults) {\n const mounted = this.hasListeners()\n\n const fetchOnMount = !mounted && shouldFetchOnMount(query, options)\n\n const fetchOptionally =\n mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions)\n\n if (fetchOnMount || fetchOptionally) {\n fetchStatus = canFetch(query.options.networkMode)\n ? 'fetching'\n : 'paused'\n if (!dataUpdatedAt) {\n status = 'loading'\n }\n }\n if (options._optimisticResults === 'isRestoring') {\n fetchStatus = 'idle'\n }\n }\n\n // Keep previous data if needed\n if (\n options.keepPreviousData &&\n !state.dataUpdatedAt &&\n prevQueryResult?.isSuccess &&\n status !== 'error'\n ) {\n data = prevQueryResult.data\n dataUpdatedAt = prevQueryResult.dataUpdatedAt\n status = prevQueryResult.status\n isPreviousData = true\n }\n // Select data if needed\n else if (options.select && typeof state.data !== 'undefined') {\n // Memoize select result\n if (\n prevResult &&\n state.data === prevResultState?.data &&\n options.select === this.selectFn\n ) {\n data = this.selectResult\n } else {\n try {\n this.selectFn = options.select\n data = options.select(state.data)\n data = replaceData(prevResult?.data, data, options)\n this.selectResult = data\n this.selectError = null\n } catch (selectError) {\n if (process.env.NODE_ENV !== 'production') {\n this.client.getLogger().error(selectError)\n }\n this.selectError = selectError as TError\n }\n }\n }\n // Use query data\n else {\n data = state.data as unknown as TData\n }\n\n // Show placeholder data if needed\n if (\n typeof options.placeholderData !== 'undefined' &&\n typeof data === 'undefined' &&\n status === 'loading'\n ) {\n let placeholderData\n\n // Memoize placeholder data\n if (\n prevResult?.isPlaceholderData &&\n options.placeholderData === prevResultOptions?.placeholderData\n ) {\n placeholderData = prevResult.data\n } else {\n placeholderData =\n typeof options.placeholderData === 'function'\n ? (options.placeholderData as PlaceholderDataFunction<TQueryData>)()\n : options.placeholderData\n if (options.select && typeof placeholderData !== 'undefined') {\n try {\n placeholderData = options.select(placeholderData)\n this.selectError = null\n } catch (selectError) {\n if (process.env.NODE_ENV !== 'production') {\n this.client.getLogger().error(selectError)\n }\n this.selectError = selectError as TError\n }\n }\n }\n\n if (typeof placeholderData !== 'undefined') {\n status = 'success'\n data = replaceData(prevResult?.data, placeholderData, options) as TData\n isPlaceholderData = true\n }\n }\n\n if (this.selectError) {\n error = this.selectError as any\n data = this.selectResult\n errorUpdatedAt = Date.now()\n status = 'error'\n }\n\n const isFetching = fetchStatus === 'fetching'\n const isLoading = status === 'loading'\n const isError = status === 'error'\n\n const result: QueryObserverBaseResult<TData, TError> = {\n status,\n fetchStatus,\n isLoading,\n isSuccess: status === 'success',\n isError,\n isInitialLoading: isLoading && isFetching,\n data,\n dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: state.fetchFailureCount,\n failureReason: state.fetchFailureReason,\n errorUpdateCount: state.errorUpdateCount,\n isFetched: state.dataUpdateCount > 0 || state.errorUpdateCount > 0,\n isFetchedAfterMount:\n state.dataUpdateCount > queryInitialState.dataUpdateCount ||\n state.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching,\n isRefetching: isFetching && !isLoading,\n isLoadingError: isError && state.dataUpdatedAt === 0,\n isPaused: fetchStatus === 'paused',\n isPlaceholderData,\n isPreviousData,\n isRefetchError: isError && state.dataUpdatedAt !== 0,\n isStale: isStale(query, options),\n refetch: this.refetch,\n remove: this.remove,\n }\n\n return result as QueryObserverResult<TData, TError>\n }\n\n updateResult(notifyOptions?: NotifyOptions): void {\n const prevResult = this.currentResult as\n | QueryObserverResult<TData, TError>\n | undefined\n\n const nextResult = this.createResult(this.currentQuery, this.options)\n this.currentResultState = this.currentQuery.state\n this.currentResultOptions = this.options\n\n // Only notify and update result if something has changed\n if (shallowEqualObjects(nextResult, prevResult)) {\n return\n }\n\n this.currentResult = nextResult\n\n // Determine which callbacks to trigger\n const defaultNotifyOptions: NotifyOptions = { cache: true }\n\n const shouldNotifyListeners = (): boolean => {\n if (!prevResult) {\n return true\n }\n\n const { notifyOnChangeProps } = this.options\n\n if (\n notifyOnChangeProps === 'all' ||\n (!notifyOnChangeProps && !this.trackedProps.size)\n ) {\n return true\n }\n\n const includedProps = new Set(notifyOnChangeProps ?? this.trackedProps)\n\n if (this.options.useErrorBoundary) {\n includedProps.add('error')\n }\n\n return Object.keys(this.currentResult).some((key) => {\n const typedKey = key as keyof QueryObserverResult\n const changed = this.currentResult[typedKey] !== prevResult[typedKey]\n return changed && includedProps.has(typedKey)\n })\n }\n\n if (notifyOptions?.listeners !== false && shouldNotifyListeners()) {\n defaultNotifyOptions.listeners = true\n }\n\n this.notify({ ...defaultNotifyOptions, ...notifyOptions })\n }\n\n private updateQuery(): void {\n const query = this.client.getQueryCache().build(this.client, this.options)\n\n if (query === this.currentQuery) {\n return\n }\n\n const prevQuery = this.currentQuery as\n | Query<TQueryFnData, TError, TQueryData, TQueryKey>\n | undefined\n this.currentQuery = query\n this.currentQueryInitialState = query.state\n this.previousQueryResult = this.currentResult\n\n if (this.hasListeners()) {\n prevQuery?.removeObserver(this)\n query.addObserver(this)\n }\n }\n\n onQueryUpdate(action: Action<TData, TError>): void {\n const notifyOptions: NotifyOptions = {}\n\n if (action.type === 'success') {\n notifyOptions.onSuccess = !action.manual\n } else if (action.type === 'error' && !isCancelledError(action.error)) {\n notifyOptions.onError = true\n }\n\n this.updateResult(notifyOptions)\n\n if (this.hasListeners()) {\n this.updateTimers()\n }\n }\n\n private notify(notifyOptions: NotifyOptions): void {\n notifyManager.batch(() => {\n // First trigger the configuration callbacks\n if (notifyOptions.onSuccess) {\n this.options.onSuccess?.(this.currentResult.data!)\n this.options.onSettled?.(this.currentResult.data!, null)\n } else if (notifyOptions.onError) {\n this.options.onError?.(this.currentResult.error!)\n this.options.onSettled?.(undefined, this.currentResult.error!)\n }\n\n // Then trigger the listeners\n if (notifyOptions.listeners) {\n this.listeners.forEach(({ listener }) => {\n listener(this.currentResult)\n })\n }\n\n // Then the cache listeners\n if (notifyOptions.cache) {\n this.client.getQueryCache().notify({\n query: this.currentQuery,\n type: 'observerResultsUpdated',\n })\n }\n })\n }\n}\n\nfunction shouldLoadOnMount(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any>,\n): boolean {\n return (\n options.enabled !== false &&\n !query.state.dataUpdatedAt &&\n !(query.state.status === 'error' && options.retryOnMount === false)\n )\n}\n\nfunction shouldFetchOnMount(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n shouldLoadOnMount(query, options) ||\n (query.state.dataUpdatedAt > 0 &&\n shouldFetchOn(query, options, options.refetchOnMount))\n )\n}\n\nfunction shouldFetchOn(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n field: typeof options['refetchOnMount'] &\n typeof options['refetchOnWindowFocus'] &\n typeof options['refetchOnReconnect'],\n) {\n if (options.enabled !== false) {\n const value = typeof field === 'function' ? field(query) : field\n\n return value === 'always' || (value !== false && isStale(query, options))\n }\n return false\n}\n\nfunction shouldFetchOptionally(\n query: Query<any, any, any, any>,\n prevQuery: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n prevOptions: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n options.enabled !== false &&\n (query !== prevQuery || prevOptions.enabled === false) &&\n (!options.suspense || query.state.status !== 'error') &&\n isStale(query, options)\n )\n}\n\nfunction isStale(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return query.isStaleByTime(options.staleTime)\n}\n\n// this function would decide if we will update the observer's 'current'\n// properties after an optimistic reading via getOptimisticResult\nfunction shouldAssignObserverCurrentProperties<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n observer: QueryObserver<TQueryFnData, TError, TData, TQueryData, TQueryKey>,\n optimisticResult: QueryObserverResult<TData, TError>,\n options: DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n) {\n // it is important to keep this condition like this for three reasons:\n // 1. It will get removed in the v5\n // 2. it reads: don't update the properties if we want to keep the previous\n // data.\n // 3. The opposite condition (!options.keepPreviousData) would fallthrough\n // and will result in a bad decision\n if (options.keepPreviousData) {\n return false\n }\n\n // this means we want to put some placeholder data when pending and queryKey\n // changed.\n if (options.placeholderData !== undefined) {\n // re-assign properties only if current data is placeholder data\n // which means that data did not arrive yet, so, if there is some cached data\n // we need to \"prepare\" to receive it\n return optimisticResult.isPlaceholderData\n }\n\n // if the newly created result isn't what the observer is holding as current,\n // then we'll need to update the properties as well\n if (observer.getCurrentResult() !== optimisticResult) {\n return true\n }\n\n // basically, just keep previous properties if nothing changed\n return false\n}\n"],"names":["QueryObserver","Subscribable","constructor","client","options","trackedProps","Set","selectError","bindMethods","setOptions","remove","bind","refetch","onSubscribe","listeners","size","currentQuery","addObserver","shouldFetchOnMount","executeFetch","updateTimers","onUnsubscribe","hasListeners","destroy","shouldFetchOnReconnect","shouldFetchOn","refetchOnReconnect","shouldFetchOnWindowFocus","refetchOnWindowFocus","clearStaleTimeout","clearRefetchInterval","removeObserver","notifyOptions","prevOptions","prevQuery","defaultQueryOptions","process","env","NODE_ENV","isDataEqual","getLogger","error","shallowEqualObjects","getQueryCache","notify","type","query","observer","enabled","Error","queryKey","updateQuery","mounted","shouldFetchOptionally","updateResult","staleTime","updateStaleTimeout","nextRefetchInterval","computeRefetchInterval","currentRefetchInterval","updateRefetchInterval","getOptimisticResult","build","result","createResult","shouldAssignObserverCurrentProperties","currentResult","currentResultOptions","currentResultState","state","getCurrentResult","trackResult","trackedResult","Object","keys","forEach","key","defineProperty","configurable","enumerable","get","add","getCurrentQuery","refetchPage","fetch","meta","fetchOptimistic","defaultedOptions","isFetchingOptimistic","then","fetchOptions","cancelRefetch","promise","throwOnError","catch","noop","isServer","isStale","isValidTimeout","time","timeUntilStale","dataUpdatedAt","timeout","staleTimeoutId","setTimeout","refetchInterval","data","nextInterval","refetchIntervalId","setInterval","refetchIntervalInBackground","focusManager","isFocused","clearTimeout","undefined","clearInterval","prevResult","prevResultState","prevResultOptions","queryChange","queryInitialState","currentQueryInitialState","prevQueryResult","previousQueryResult","errorUpdatedAt","fetchStatus","status","isPreviousData","isPlaceholderData","_optimisticResults","fetchOnMount","fetchOptionally","canFetch","networkMode","keepPreviousData","isSuccess","select","selectFn","selectResult","replaceData","placeholderData","Date","now","isFetching","isLoading","isError","isInitialLoading","failureCount","fetchFailureCount","failureReason","fetchFailureReason","errorUpdateCount","isFetched","dataUpdateCount","isFetchedAfterMount","isRefetching","isLoadingError","isPaused","isRefetchError","nextResult","defaultNotifyOptions","cache","shouldNotifyListeners","notifyOnChangeProps","includedProps","useErrorBoundary","some","typedKey","changed","has","onQueryUpdate","action","onSuccess","manual","isCancelledError","onError","notifyManager","batch","onSettled","listener","shouldLoadOnMount","retryOnMount","refetchOnMount","field","value","suspense","isStaleByTime","optimisticResult"],"mappings":";;;;;;AAwCO,MAAMA,aAAN,SAMGC,YANH,CAMsD;AA8B3DC,EAAAA,WAAW,CACTC,MADS,EAETC,OAFS,EAST;AACA,IAAA,KAAA,EAAA,CAAA;IAEA,IAAKD,CAAAA,MAAL,GAAcA,MAAd,CAAA;IACA,IAAKC,CAAAA,OAAL,GAAeA,OAAf,CAAA;AACA,IAAA,IAAA,CAAKC,YAAL,GAAoB,IAAIC,GAAJ,EAApB,CAAA;IACA,IAAKC,CAAAA,WAAL,GAAmB,IAAnB,CAAA;AACA,IAAA,IAAA,CAAKC,WAAL,EAAA,CAAA;IACA,IAAKC,CAAAA,UAAL,CAAgBL,OAAhB,CAAA,CAAA;AACD,GAAA;;AAESI,EAAAA,WAAW,GAAS;IAC5B,IAAKE,CAAAA,MAAL,GAAc,IAAKA,CAAAA,MAAL,CAAYC,IAAZ,CAAiB,IAAjB,CAAd,CAAA;IACA,IAAKC,CAAAA,OAAL,GAAe,IAAKA,CAAAA,OAAL,CAAaD,IAAb,CAAkB,IAAlB,CAAf,CAAA;AACD,GAAA;;AAESE,EAAAA,WAAW,GAAS;AAC5B,IAAA,IAAI,KAAKC,SAAL,CAAeC,IAAf,KAAwB,CAA5B,EAA+B;AAC7B,MAAA,IAAA,CAAKC,YAAL,CAAkBC,WAAlB,CAA8B,IAA9B,CAAA,CAAA;;MAEA,IAAIC,kBAAkB,CAAC,IAAKF,CAAAA,YAAN,EAAoB,IAAKZ,CAAAA,OAAzB,CAAtB,EAAyD;AACvD,QAAA,IAAA,CAAKe,YAAL,EAAA,CAAA;AACD,OAAA;;AAED,MAAA,IAAA,CAAKC,YAAL,EAAA,CAAA;AACD,KAAA;AACF,GAAA;;AAESC,EAAAA,aAAa,GAAS;AAC9B,IAAA,IAAI,CAAC,IAAA,CAAKC,YAAL,EAAL,EAA0B;AACxB,MAAA,IAAA,CAAKC,OAAL,EAAA,CAAA;AACD,KAAA;AACF,GAAA;;AAEDC,EAAAA,sBAAsB,GAAY;AAChC,IAAA,OAAOC,aAAa,CAClB,IAAKT,CAAAA,YADa,EAElB,IAAA,CAAKZ,OAFa,EAGlB,IAAKA,CAAAA,OAAL,CAAasB,kBAHK,CAApB,CAAA;AAKD,GAAA;;AAEDC,EAAAA,wBAAwB,GAAY;AAClC,IAAA,OAAOF,aAAa,CAClB,IAAKT,CAAAA,YADa,EAElB,IAAA,CAAKZ,OAFa,EAGlB,IAAKA,CAAAA,OAAL,CAAawB,oBAHK,CAApB,CAAA;AAKD,GAAA;;AAEDL,EAAAA,OAAO,GAAS;AACd,IAAA,IAAA,CAAKT,SAAL,GAAiB,IAAIR,GAAJ,EAAjB,CAAA;AACA,IAAA,IAAA,CAAKuB,iBAAL,EAAA,CAAA;AACA,IAAA,IAAA,CAAKC,oBAAL,EAAA,CAAA;AACA,IAAA,IAAA,CAAKd,YAAL,CAAkBe,cAAlB,CAAiC,IAAjC,CAAA,CAAA;AACD,GAAA;;AAEDtB,EAAAA,UAAU,CACRL,OADQ,EAQR4B,aARQ,EASF;IACN,MAAMC,WAAW,GAAG,IAAA,CAAK7B,OAAzB,CAAA;IACA,MAAM8B,SAAS,GAAG,IAAA,CAAKlB,YAAvB,CAAA;IAEA,IAAKZ,CAAAA,OAAL,GAAe,IAAKD,CAAAA,MAAL,CAAYgC,mBAAZ,CAAgC/B,OAAhC,CAAf,CAAA;;AAEA,IAAA,IACEgC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,IACA,QAAOlC,OAAP,oBAAOA,OAAO,CAAEmC,WAAhB,CAAA,KAAgC,WAFlC,EAGE;AACA,MAAA,IAAA,CAAKpC,MAAL,CACGqC,SADH,EAAA,CAEGC,KAFH,CAAA,wLAAA,CAAA,CAAA;AAKD,KAAA;;IAED,IAAI,CAACC,mBAAmB,CAACT,WAAD,EAAc,IAAK7B,CAAAA,OAAnB,CAAxB,EAAqD;AACnD,MAAA,IAAA,CAAKD,MAAL,CAAYwC,aAAZ,EAAA,CAA4BC,MAA5B,CAAmC;AACjCC,QAAAA,IAAI,EAAE,wBAD2B;QAEjCC,KAAK,EAAE,KAAK9B,YAFqB;AAGjC+B,QAAAA,QAAQ,EAAE,IAAA;OAHZ,CAAA,CAAA;AAKD,KAAA;;AAED,IAAA,IACE,OAAO,IAAA,CAAK3C,OAAL,CAAa4C,OAApB,KAAgC,WAAhC,IACA,OAAO,KAAK5C,OAAL,CAAa4C,OAApB,KAAgC,SAFlC,EAGE;AACA,MAAA,MAAM,IAAIC,KAAJ,CAAU,kCAAV,CAAN,CAAA;AACD,KA9BK;;;AAiCN,IAAA,IAAI,CAAC,IAAA,CAAK7C,OAAL,CAAa8C,QAAlB,EAA4B;AAC1B,MAAA,IAAA,CAAK9C,OAAL,CAAa8C,QAAb,GAAwBjB,WAAW,CAACiB,QAApC,CAAA;AACD,KAAA;;AAED,IAAA,IAAA,CAAKC,WAAL,EAAA,CAAA;AAEA,IAAA,MAAMC,OAAO,GAAG,IAAA,CAAK9B,YAAL,EAAhB,CAvCM;;AA0CN,IAAA,IACE8B,OAAO,IACPC,qBAAqB,CACnB,KAAKrC,YADc,EAEnBkB,SAFmB,EAGnB,IAAK9B,CAAAA,OAHc,EAInB6B,WAJmB,CAFvB,EAQE;AACA,MAAA,IAAA,CAAKd,YAAL,EAAA,CAAA;AACD,KApDK;;;AAuDN,IAAA,IAAA,CAAKmC,YAAL,CAAkBtB,aAAlB,CAAA,CAvDM;;IA0DN,IACEoB,OAAO,KACN,IAAA,CAAKpC,YAAL,KAAsBkB,SAAtB,IACC,IAAA,CAAK9B,OAAL,CAAa4C,OAAb,KAAyBf,WAAW,CAACe,OADtC,IAEC,IAAA,CAAK5C,OAAL,CAAamD,SAAb,KAA2BtB,WAAW,CAACsB,SAHlC,CADT,EAKE;AACA,MAAA,IAAA,CAAKC,kBAAL,EAAA,CAAA;AACD,KAAA;;AAED,IAAA,MAAMC,mBAAmB,GAAG,IAAA,CAAKC,sBAAL,EAA5B,CAnEM;;IAsEN,IACEN,OAAO,KACN,IAAKpC,CAAAA,YAAL,KAAsBkB,SAAtB,IACC,KAAK9B,OAAL,CAAa4C,OAAb,KAAyBf,WAAW,CAACe,OADtC,IAECS,mBAAmB,KAAK,IAAA,CAAKE,sBAHxB,CADT,EAKE;MACA,IAAKC,CAAAA,qBAAL,CAA2BH,mBAA3B,CAAA,CAAA;AACD,KAAA;AACF,GAAA;;EAEDI,mBAAmB,CACjBzD,OADiB,EAQmB;AACpC,IAAA,MAAM0C,KAAK,GAAG,IAAK3C,CAAAA,MAAL,CAAYwC,aAAZ,EAA4BmB,CAAAA,KAA5B,CAAkC,IAAA,CAAK3D,MAAvC,EAA+CC,OAA/C,CAAd,CAAA;IAEA,MAAM2D,MAAM,GAAG,IAAKC,CAAAA,YAAL,CAAkBlB,KAAlB,EAAyB1C,OAAzB,CAAf,CAAA;;IAEA,IAAI6D,qCAAqC,CAAC,IAAD,EAAOF,MAAP,EAAe3D,OAAf,CAAzC,EAAkE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;MACA,IAAK8D,CAAAA,aAAL,GAAqBH,MAArB,CAAA;MACA,IAAKI,CAAAA,oBAAL,GAA4B,IAAA,CAAK/D,OAAjC,CAAA;AACA,MAAA,IAAA,CAAKgE,kBAAL,GAA0B,IAAKpD,CAAAA,YAAL,CAAkBqD,KAA5C,CAAA;AACD,KAAA;;AACD,IAAA,OAAON,MAAP,CAAA;AACD,GAAA;;AAEDO,EAAAA,gBAAgB,GAAuC;AACrD,IAAA,OAAO,KAAKJ,aAAZ,CAAA;AACD,GAAA;;EAEDK,WAAW,CACTR,MADS,EAE2B;IACpC,MAAMS,aAAa,GAAG,EAAtB,CAAA;IAEAC,MAAM,CAACC,IAAP,CAAYX,MAAZ,EAAoBY,OAApB,CAA6BC,GAAD,IAAS;AACnCH,MAAAA,MAAM,CAACI,cAAP,CAAsBL,aAAtB,EAAqCI,GAArC,EAA0C;AACxCE,QAAAA,YAAY,EAAE,KAD0B;AAExCC,QAAAA,UAAU,EAAE,IAF4B;AAGxCC,QAAAA,GAAG,EAAE,MAAM;AACT,UAAA,IAAA,CAAK3E,YAAL,CAAkB4E,GAAlB,CAAsBL,GAAtB,CAAA,CAAA;UACA,OAAOb,MAAM,CAACa,GAAD,CAAb,CAAA;AACD,SAAA;OANH,CAAA,CAAA;KADF,CAAA,CAAA;AAWA,IAAA,OAAOJ,aAAP,CAAA;AACD,GAAA;;AAEDU,EAAAA,eAAe,GAAuD;AACpE,IAAA,OAAO,KAAKlE,YAAZ,CAAA;AACD,GAAA;;AAEDN,EAAAA,MAAM,GAAS;AACb,IAAA,IAAA,CAAKP,MAAL,CAAYwC,aAAZ,GAA4BjC,MAA5B,CAAmC,KAAKM,YAAxC,CAAA,CAAA;AACD,GAAA;;AAEDJ,EAAAA,OAAO,CAAY;IACjBuE,WADiB;IAEjB,GAAG/E,OAAAA;AAFc,GAAA,GAGiC,EAH7C,EAKL;AACA,IAAA,OAAO,IAAKgF,CAAAA,KAAL,CAAW,EAChB,GAAGhF,OADa;AAEhBiF,MAAAA,IAAI,EAAE;AAAEF,QAAAA,WAAAA;AAAF,OAAA;AAFU,KAAX,CAAP,CAAA;AAID,GAAA;;EAEDG,eAAe,CACblF,OADa,EAQgC;IAC7C,MAAMmF,gBAAgB,GAAG,IAAKpF,CAAAA,MAAL,CAAYgC,mBAAZ,CAAgC/B,OAAhC,CAAzB,CAAA;AAEA,IAAA,MAAM0C,KAAK,GAAG,IAAK3C,CAAAA,MAAL,CACXwC,aADW,EAEXmB,CAAAA,KAFW,CAEL,IAAA,CAAK3D,MAFA,EAEQoF,gBAFR,CAAd,CAAA;IAGAzC,KAAK,CAAC0C,oBAAN,GAA6B,IAA7B,CAAA;AAEA,IAAA,OAAO1C,KAAK,CAACsC,KAAN,EAAA,CAAcK,IAAd,CAAmB,MAAM,IAAKzB,CAAAA,YAAL,CAAkBlB,KAAlB,EAAyByC,gBAAzB,CAAzB,CAAP,CAAA;AACD,GAAA;;EAESH,KAAK,CACbM,YADa,EAEgC;AAAA,IAAA,IAAA,qBAAA,CAAA;;AAC7C,IAAA,OAAO,IAAKvE,CAAAA,YAAL,CAAkB,EACvB,GAAGuE,YADoB;AAEvBC,MAAAA,aAAa,EAAED,CAAAA,qBAAAA,GAAAA,YAAY,CAACC,aAAf,KAAgC,IAAA,GAAA,qBAAA,GAAA,IAAA;KAFxC,CAAA,CAGJF,IAHI,CAGC,MAAM;AACZ,MAAA,IAAA,CAAKnC,YAAL,EAAA,CAAA;AACA,MAAA,OAAO,KAAKY,aAAZ,CAAA;AACD,KANM,CAAP,CAAA;AAOD,GAAA;;EAEO/C,YAAY,CAClBuE,YADkB,EAEe;AACjC;IACA,IAAKvC,CAAAA,WAAL,GAFiC;;IAKjC,IAAIyC,OAAwC,GAAG,IAAA,CAAK5E,YAAL,CAAkBoE,KAAlB,CAC7C,IAAKhF,CAAAA,OADwC,EAE7CsF,YAF6C,CAA/C,CAAA;;AAKA,IAAA,IAAI,EAACA,YAAD,IAAA,IAAA,IAACA,YAAY,CAAEG,YAAf,CAAJ,EAAiC;AAC/BD,MAAAA,OAAO,GAAGA,OAAO,CAACE,KAAR,CAAcC,IAAd,CAAV,CAAA;AACD,KAAA;;AAED,IAAA,OAAOH,OAAP,CAAA;AACD,GAAA;;AAEOpC,EAAAA,kBAAkB,GAAS;AACjC,IAAA,IAAA,CAAK3B,iBAAL,EAAA,CAAA;;AAEA,IAAA,IACEmE,QAAQ,IACR,IAAK9B,CAAAA,aAAL,CAAmB+B,OADnB,IAEA,CAACC,cAAc,CAAC,IAAK9F,CAAAA,OAAL,CAAamD,SAAd,CAHjB,EAIE;AACA,MAAA,OAAA;AACD,KAAA;;AAED,IAAA,MAAM4C,IAAI,GAAGC,cAAc,CACzB,KAAKlC,aAAL,CAAmBmC,aADM,EAEzB,KAAKjG,OAAL,CAAamD,SAFY,CAA3B,CAXiC;AAiBjC;;AACA,IAAA,MAAM+C,OAAO,GAAGH,IAAI,GAAG,CAAvB,CAAA;AAEA,IAAA,IAAA,CAAKI,cAAL,GAAsBC,UAAU,CAAC,MAAM;AACrC,MAAA,IAAI,CAAC,IAAA,CAAKtC,aAAL,CAAmB+B,OAAxB,EAAiC;AAC/B,QAAA,IAAA,CAAK3C,YAAL,EAAA,CAAA;AACD,OAAA;KAH6B,EAI7BgD,OAJ6B,CAAhC,CAAA;AAKD,GAAA;;AAEO5C,EAAAA,sBAAsB,GAAG;AAAA,IAAA,IAAA,qBAAA,CAAA;;IAC/B,OAAO,OAAO,IAAKtD,CAAAA,OAAL,CAAaqG,eAApB,KAAwC,UAAxC,GACH,IAAA,CAAKrG,OAAL,CAAaqG,eAAb,CAA6B,IAAKvC,CAAAA,aAAL,CAAmBwC,IAAhD,EAAsD,IAAA,CAAK1F,YAA3D,CADG,GAEH,CAAA,qBAAA,GAAA,IAAA,CAAKZ,OAAL,CAAaqG,eAFV,KAAA,IAAA,GAAA,qBAAA,GAE6B,KAFpC,CAAA;AAGD,GAAA;;EAEO7C,qBAAqB,CAAC+C,YAAD,EAAqC;AAChE,IAAA,IAAA,CAAK7E,oBAAL,EAAA,CAAA;IAEA,IAAK6B,CAAAA,sBAAL,GAA8BgD,YAA9B,CAAA;;IAEA,IACEX,QAAQ,IACR,IAAK5F,CAAAA,OAAL,CAAa4C,OAAb,KAAyB,KADzB,IAEA,CAACkD,cAAc,CAAC,IAAA,CAAKvC,sBAAN,CAFf,IAGA,KAAKA,sBAAL,KAAgC,CAJlC,EAKE;AACA,MAAA,OAAA;AACD,KAAA;;AAED,IAAA,IAAA,CAAKiD,iBAAL,GAAyBC,WAAW,CAAC,MAAM;MACzC,IACE,IAAA,CAAKzG,OAAL,CAAa0G,2BAAb,IACAC,YAAY,CAACC,SAAb,EAFF,EAGE;AACA,QAAA,IAAA,CAAK7F,YAAL,EAAA,CAAA;AACD,OAAA;KANiC,EAOjC,IAAKwC,CAAAA,sBAP4B,CAApC,CAAA;AAQD,GAAA;;AAEOvC,EAAAA,YAAY,GAAS;AAC3B,IAAA,IAAA,CAAKoC,kBAAL,EAAA,CAAA;AACA,IAAA,IAAA,CAAKI,qBAAL,CAA2B,IAAKF,CAAAA,sBAAL,EAA3B,CAAA,CAAA;AACD,GAAA;;AAEO7B,EAAAA,iBAAiB,GAAS;IAChC,IAAI,IAAA,CAAK0E,cAAT,EAAyB;MACvBU,YAAY,CAAC,IAAKV,CAAAA,cAAN,CAAZ,CAAA;MACA,IAAKA,CAAAA,cAAL,GAAsBW,SAAtB,CAAA;AACD,KAAA;AACF,GAAA;;AAEOpF,EAAAA,oBAAoB,GAAS;IACnC,IAAI,IAAA,CAAK8E,iBAAT,EAA4B;MAC1BO,aAAa,CAAC,IAAKP,CAAAA,iBAAN,CAAb,CAAA;MACA,IAAKA,CAAAA,iBAAL,GAAyBM,SAAzB,CAAA;AACD,KAAA;AACF,GAAA;;AAESlD,EAAAA,YAAY,CACpBlB,KADoB,EAEpB1C,OAFoB,EASgB;IACpC,MAAM8B,SAAS,GAAG,IAAA,CAAKlB,YAAvB,CAAA;IACA,MAAMiB,WAAW,GAAG,IAAA,CAAK7B,OAAzB,CAAA;IACA,MAAMgH,UAAU,GAAG,IAAA,CAAKlD,aAAxB,CAAA;IAGA,MAAMmD,eAAe,GAAG,IAAA,CAAKjD,kBAA7B,CAAA;IACA,MAAMkD,iBAAiB,GAAG,IAAA,CAAKnD,oBAA/B,CAAA;AACA,IAAA,MAAMoD,WAAW,GAAGzE,KAAK,KAAKZ,SAA9B,CAAA;IACA,MAAMsF,iBAAiB,GAAGD,WAAW,GACjCzE,KAAK,CAACuB,KAD2B,GAEjC,IAAA,CAAKoD,wBAFT,CAAA;IAGA,MAAMC,eAAe,GAAGH,WAAW,GAC/B,KAAKrD,aAD0B,GAE/B,KAAKyD,mBAFT,CAAA;IAIA,MAAM;AAAEtD,MAAAA,KAAAA;AAAF,KAAA,GAAYvB,KAAlB,CAAA;IACA,IAAI;MAAEuD,aAAF;MAAiB5D,KAAjB;MAAwBmF,cAAxB;MAAwCC,WAAxC;AAAqDC,MAAAA,MAAAA;AAArD,KAAA,GAAgEzD,KAApE,CAAA;IACA,IAAI0D,cAAc,GAAG,KAArB,CAAA;IACA,IAAIC,iBAAiB,GAAG,KAAxB,CAAA;IACA,IAAItB,IAAJ,CApBoC;;IAuBpC,IAAItG,OAAO,CAAC6H,kBAAZ,EAAgC;AAC9B,MAAA,MAAM7E,OAAO,GAAG,IAAK9B,CAAAA,YAAL,EAAhB,CAAA;MAEA,MAAM4G,YAAY,GAAG,CAAC9E,OAAD,IAAYlC,kBAAkB,CAAC4B,KAAD,EAAQ1C,OAAR,CAAnD,CAAA;AAEA,MAAA,MAAM+H,eAAe,GACnB/E,OAAO,IAAIC,qBAAqB,CAACP,KAAD,EAAQZ,SAAR,EAAmB9B,OAAnB,EAA4B6B,WAA5B,CADlC,CAAA;;MAGA,IAAIiG,YAAY,IAAIC,eAApB,EAAqC;AACnCN,QAAAA,WAAW,GAAGO,QAAQ,CAACtF,KAAK,CAAC1C,OAAN,CAAciI,WAAf,CAAR,GACV,UADU,GAEV,QAFJ,CAAA;;QAGA,IAAI,CAAChC,aAAL,EAAoB;AAClByB,UAAAA,MAAM,GAAG,SAAT,CAAA;AACD,SAAA;AACF,OAAA;;AACD,MAAA,IAAI1H,OAAO,CAAC6H,kBAAR,KAA+B,aAAnC,EAAkD;AAChDJ,QAAAA,WAAW,GAAG,MAAd,CAAA;AACD,OAAA;AACF,KA1CmC;;;AA6CpC,IAAA,IACEzH,OAAO,CAACkI,gBAAR,IACA,CAACjE,KAAK,CAACgC,aADP,IAEAqB,eAFA,IAAA,IAAA,IAEAA,eAAe,CAAEa,SAFjB,IAGAT,MAAM,KAAK,OAJb,EAKE;MACApB,IAAI,GAAGgB,eAAe,CAAChB,IAAvB,CAAA;MACAL,aAAa,GAAGqB,eAAe,CAACrB,aAAhC,CAAA;MACAyB,MAAM,GAAGJ,eAAe,CAACI,MAAzB,CAAA;AACAC,MAAAA,cAAc,GAAG,IAAjB,CAAA;AACD,KAVD;SAYK,IAAI3H,OAAO,CAACoI,MAAR,IAAkB,OAAOnE,KAAK,CAACqC,IAAb,KAAsB,WAA5C,EAAyD;AAC5D;AACA,MAAA,IACEU,UAAU,IACV/C,KAAK,CAACqC,IAAN,MAAeW,eAAf,IAAeA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,eAAe,CAAEX,IAAhC,CADA,IAEAtG,OAAO,CAACoI,MAAR,KAAmB,IAAA,CAAKC,QAH1B,EAIE;QACA/B,IAAI,GAAG,KAAKgC,YAAZ,CAAA;AACD,OAND,MAMO;QACL,IAAI;AACF,UAAA,IAAA,CAAKD,QAAL,GAAgBrI,OAAO,CAACoI,MAAxB,CAAA;UACA9B,IAAI,GAAGtG,OAAO,CAACoI,MAAR,CAAenE,KAAK,CAACqC,IAArB,CAAP,CAAA;AACAA,UAAAA,IAAI,GAAGiC,WAAW,CAACvB,UAAD,IAACA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAEV,IAAb,EAAmBA,IAAnB,EAAyBtG,OAAzB,CAAlB,CAAA;UACA,IAAKsI,CAAAA,YAAL,GAAoBhC,IAApB,CAAA;UACA,IAAKnG,CAAAA,WAAL,GAAmB,IAAnB,CAAA;SALF,CAME,OAAOA,WAAP,EAAoB;AACpB,UAAA,IAAI6B,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAA7B,EAA2C;AACzC,YAAA,IAAA,CAAKnC,MAAL,CAAYqC,SAAZ,EAAwBC,CAAAA,KAAxB,CAA8BlC,WAA9B,CAAA,CAAA;AACD,WAAA;;UACD,IAAKA,CAAAA,WAAL,GAAmBA,WAAnB,CAAA;AACD,SAAA;AACF,OAAA;AACF,KAtBI;SAwBA;MACHmG,IAAI,GAAGrC,KAAK,CAACqC,IAAb,CAAA;AACD,KAnFmC;;;AAsFpC,IAAA,IACE,OAAOtG,OAAO,CAACwI,eAAf,KAAmC,WAAnC,IACA,OAAOlC,IAAP,KAAgB,WADhB,IAEAoB,MAAM,KAAK,SAHb,EAIE;MACA,IAAIc,eAAJ,CADA;;AAIA,MAAA,IACExB,UAAU,IAAV,IAAA,IAAAA,UAAU,CAAEY,iBAAZ,IACA5H,OAAO,CAACwI,eAAR,MAA4BtB,iBAA5B,IAAA,IAAA,GAAA,KAAA,CAAA,GAA4BA,iBAAiB,CAAEsB,eAA/C,CAFF,EAGE;QACAA,eAAe,GAAGxB,UAAU,CAACV,IAA7B,CAAA;AACD,OALD,MAKO;AACLkC,QAAAA,eAAe,GACb,OAAOxI,OAAO,CAACwI,eAAf,KAAmC,UAAnC,GACKxI,OAAO,CAACwI,eAAT,EADJ,GAEIxI,OAAO,CAACwI,eAHd,CAAA;;QAIA,IAAIxI,OAAO,CAACoI,MAAR,IAAkB,OAAOI,eAAP,KAA2B,WAAjD,EAA8D;UAC5D,IAAI;AACFA,YAAAA,eAAe,GAAGxI,OAAO,CAACoI,MAAR,CAAeI,eAAf,CAAlB,CAAA;YACA,IAAKrI,CAAAA,WAAL,GAAmB,IAAnB,CAAA;WAFF,CAGE,OAAOA,WAAP,EAAoB;AACpB,YAAA,IAAI6B,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAA7B,EAA2C;AACzC,cAAA,IAAA,CAAKnC,MAAL,CAAYqC,SAAZ,EAAwBC,CAAAA,KAAxB,CAA8BlC,WAA9B,CAAA,CAAA;AACD,aAAA;;YACD,IAAKA,CAAAA,WAAL,GAAmBA,WAAnB,CAAA;AACD,WAAA;AACF,SAAA;AACF,OAAA;;AAED,MAAA,IAAI,OAAOqI,eAAP,KAA2B,WAA/B,EAA4C;AAC1Cd,QAAAA,MAAM,GAAG,SAAT,CAAA;AACApB,QAAAA,IAAI,GAAGiC,WAAW,CAACvB,UAAD,IAACA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAEV,IAAb,EAAmBkC,eAAnB,EAAoCxI,OAApC,CAAlB,CAAA;AACA4H,QAAAA,iBAAiB,GAAG,IAApB,CAAA;AACD,OAAA;AACF,KAAA;;IAED,IAAI,IAAA,CAAKzH,WAAT,EAAsB;MACpBkC,KAAK,GAAG,KAAKlC,WAAb,CAAA;MACAmG,IAAI,GAAG,KAAKgC,YAAZ,CAAA;AACAd,MAAAA,cAAc,GAAGiB,IAAI,CAACC,GAAL,EAAjB,CAAA;AACAhB,MAAAA,MAAM,GAAG,OAAT,CAAA;AACD,KAAA;;AAED,IAAA,MAAMiB,UAAU,GAAGlB,WAAW,KAAK,UAAnC,CAAA;AACA,IAAA,MAAMmB,SAAS,GAAGlB,MAAM,KAAK,SAA7B,CAAA;AACA,IAAA,MAAMmB,OAAO,GAAGnB,MAAM,KAAK,OAA3B,CAAA;AAEA,IAAA,MAAM/D,MAA8C,GAAG;MACrD+D,MADqD;MAErDD,WAFqD;MAGrDmB,SAHqD;MAIrDT,SAAS,EAAET,MAAM,KAAK,SAJ+B;MAKrDmB,OALqD;MAMrDC,gBAAgB,EAAEF,SAAS,IAAID,UANsB;MAOrDrC,IAPqD;MAQrDL,aARqD;MASrD5D,KATqD;MAUrDmF,cAVqD;MAWrDuB,YAAY,EAAE9E,KAAK,CAAC+E,iBAXiC;MAYrDC,aAAa,EAAEhF,KAAK,CAACiF,kBAZgC;MAarDC,gBAAgB,EAAElF,KAAK,CAACkF,gBAb6B;MAcrDC,SAAS,EAAEnF,KAAK,CAACoF,eAAN,GAAwB,CAAxB,IAA6BpF,KAAK,CAACkF,gBAAN,GAAyB,CAdZ;AAerDG,MAAAA,mBAAmB,EACjBrF,KAAK,CAACoF,eAAN,GAAwBjC,iBAAiB,CAACiC,eAA1C,IACApF,KAAK,CAACkF,gBAAN,GAAyB/B,iBAAiB,CAAC+B,gBAjBQ;MAkBrDR,UAlBqD;AAmBrDY,MAAAA,YAAY,EAAEZ,UAAU,IAAI,CAACC,SAnBwB;AAoBrDY,MAAAA,cAAc,EAAEX,OAAO,IAAI5E,KAAK,CAACgC,aAAN,KAAwB,CApBE;MAqBrDwD,QAAQ,EAAEhC,WAAW,KAAK,QArB2B;MAsBrDG,iBAtBqD;MAuBrDD,cAvBqD;AAwBrD+B,MAAAA,cAAc,EAAEb,OAAO,IAAI5E,KAAK,CAACgC,aAAN,KAAwB,CAxBE;AAyBrDJ,MAAAA,OAAO,EAAEA,OAAO,CAACnD,KAAD,EAAQ1C,OAAR,CAzBqC;MA0BrDQ,OAAO,EAAE,KAAKA,OA1BuC;AA2BrDF,MAAAA,MAAM,EAAE,IAAKA,CAAAA,MAAAA;KA3Bf,CAAA;AA8BA,IAAA,OAAOqD,MAAP,CAAA;AACD,GAAA;;EAEDT,YAAY,CAACtB,aAAD,EAAsC;IAChD,MAAMoF,UAAU,GAAG,IAAA,CAAKlD,aAAxB,CAAA;IAIA,MAAM6F,UAAU,GAAG,IAAA,CAAK/F,YAAL,CAAkB,KAAKhD,YAAvB,EAAqC,IAAKZ,CAAAA,OAA1C,CAAnB,CAAA;AACA,IAAA,IAAA,CAAKgE,kBAAL,GAA0B,IAAKpD,CAAAA,YAAL,CAAkBqD,KAA5C,CAAA;AACA,IAAA,IAAA,CAAKF,oBAAL,GAA4B,IAAK/D,CAAAA,OAAjC,CAPgD;;AAUhD,IAAA,IAAIsC,mBAAmB,CAACqH,UAAD,EAAa3C,UAAb,CAAvB,EAAiD;AAC/C,MAAA,OAAA;AACD,KAAA;;AAED,IAAA,IAAA,CAAKlD,aAAL,GAAqB6F,UAArB,CAdgD;;AAiBhD,IAAA,MAAMC,oBAAmC,GAAG;AAAEC,MAAAA,KAAK,EAAE,IAAA;KAArD,CAAA;;IAEA,MAAMC,qBAAqB,GAAG,MAAe;MAC3C,IAAI,CAAC9C,UAAL,EAAiB;AACf,QAAA,OAAO,IAAP,CAAA;AACD,OAAA;;MAED,MAAM;AAAE+C,QAAAA,mBAAAA;AAAF,OAAA,GAA0B,KAAK/J,OAArC,CAAA;;AAEA,MAAA,IACE+J,mBAAmB,KAAK,KAAxB,IACC,CAACA,mBAAD,IAAwB,CAAC,IAAK9J,CAAAA,YAAL,CAAkBU,IAF9C,EAGE;AACA,QAAA,OAAO,IAAP,CAAA;AACD,OAAA;;MAED,MAAMqJ,aAAa,GAAG,IAAI9J,GAAJ,CAAQ6J,mBAAR,IAAA,IAAA,GAAQA,mBAAR,GAA+B,IAAK9J,CAAAA,YAApC,CAAtB,CAAA;;AAEA,MAAA,IAAI,IAAKD,CAAAA,OAAL,CAAaiK,gBAAjB,EAAmC;QACjCD,aAAa,CAACnF,GAAd,CAAkB,OAAlB,CAAA,CAAA;AACD,OAAA;;MAED,OAAOR,MAAM,CAACC,IAAP,CAAY,IAAA,CAAKR,aAAjB,CAAgCoG,CAAAA,IAAhC,CAAsC1F,GAAD,IAAS;QACnD,MAAM2F,QAAQ,GAAG3F,GAAjB,CAAA;QACA,MAAM4F,OAAO,GAAG,IAAA,CAAKtG,aAAL,CAAmBqG,QAAnB,CAAiCnD,KAAAA,UAAU,CAACmD,QAAD,CAA3D,CAAA;AACA,QAAA,OAAOC,OAAO,IAAIJ,aAAa,CAACK,GAAd,CAAkBF,QAAlB,CAAlB,CAAA;AACD,OAJM,CAAP,CAAA;KApBF,CAAA;;AA2BA,IAAA,IAAI,CAAAvI,aAAa,IAAb,IAAA,GAAA,KAAA,CAAA,GAAAA,aAAa,CAAElB,SAAf,MAA6B,KAA7B,IAAsCoJ,qBAAqB,EAA/D,EAAmE;MACjEF,oBAAoB,CAAClJ,SAArB,GAAiC,IAAjC,CAAA;AACD,KAAA;;AAED,IAAA,IAAA,CAAK8B,MAAL,CAAY,EAAE,GAAGoH,oBAAL;MAA2B,GAAGhI,aAAAA;KAA1C,CAAA,CAAA;AACD,GAAA;;AAEOmB,EAAAA,WAAW,GAAS;AAC1B,IAAA,MAAML,KAAK,GAAG,IAAK3C,CAAAA,MAAL,CAAYwC,aAAZ,EAAA,CAA4BmB,KAA5B,CAAkC,IAAK3D,CAAAA,MAAvC,EAA+C,IAAA,CAAKC,OAApD,CAAd,CAAA;;AAEA,IAAA,IAAI0C,KAAK,KAAK,IAAK9B,CAAAA,YAAnB,EAAiC;AAC/B,MAAA,OAAA;AACD,KAAA;;IAED,MAAMkB,SAAS,GAAG,IAAA,CAAKlB,YAAvB,CAAA;IAGA,IAAKA,CAAAA,YAAL,GAAoB8B,KAApB,CAAA;AACA,IAAA,IAAA,CAAK2E,wBAAL,GAAgC3E,KAAK,CAACuB,KAAtC,CAAA;IACA,IAAKsD,CAAAA,mBAAL,GAA2B,IAAA,CAAKzD,aAAhC,CAAA;;IAEA,IAAI,IAAA,CAAK5C,YAAL,EAAJ,EAAyB;AACvBY,MAAAA,SAAS,QAAT,GAAAA,KAAAA,CAAAA,GAAAA,SAAS,CAAEH,cAAX,CAA0B,IAA1B,CAAA,CAAA;MACAe,KAAK,CAAC7B,WAAN,CAAkB,IAAlB,CAAA,CAAA;AACD,KAAA;AACF,GAAA;;EAEDyJ,aAAa,CAACC,MAAD,EAAsC;IACjD,MAAM3I,aAA4B,GAAG,EAArC,CAAA;;AAEA,IAAA,IAAI2I,MAAM,CAAC9H,IAAP,KAAgB,SAApB,EAA+B;AAC7Bb,MAAAA,aAAa,CAAC4I,SAAd,GAA0B,CAACD,MAAM,CAACE,MAAlC,CAAA;AACD,KAFD,MAEO,IAAIF,MAAM,CAAC9H,IAAP,KAAgB,OAAhB,IAA2B,CAACiI,gBAAgB,CAACH,MAAM,CAAClI,KAAR,CAAhD,EAAgE;MACrET,aAAa,CAAC+I,OAAd,GAAwB,IAAxB,CAAA;AACD,KAAA;;IAED,IAAKzH,CAAAA,YAAL,CAAkBtB,aAAlB,CAAA,CAAA;;IAEA,IAAI,IAAA,CAAKV,YAAL,EAAJ,EAAyB;AACvB,MAAA,IAAA,CAAKF,YAAL,EAAA,CAAA;AACD,KAAA;AACF,GAAA;;EAEOwB,MAAM,CAACZ,aAAD,EAAqC;IACjDgJ,aAAa,CAACC,KAAd,CAAoB,MAAM;AACxB;MACA,IAAIjJ,aAAa,CAAC4I,SAAlB,EAA6B;AAAA,QAAA,IAAA,qBAAA,EAAA,aAAA,EAAA,qBAAA,EAAA,cAAA,CAAA;;AAC3B,QAAA,CAAA,qBAAA,GAAA,CAAA,aAAA,GAAA,IAAA,CAAKxK,OAAL,EAAawK,SAAb,+DAAyB,IAAK1G,CAAAA,aAAL,CAAmBwC,IAA5C,CAAA,CAAA;QACA,CAAKtG,qBAAAA,GAAAA,CAAAA,cAAAA,GAAAA,IAAAA,CAAAA,OAAL,EAAa8K,SAAb,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,qBAAA,CAAA,IAAA,CAAA,cAAA,EAAyB,KAAKhH,aAAL,CAAmBwC,IAA5C,EAAmD,IAAnD,CAAA,CAAA;AACD,OAHD,MAGO,IAAI1E,aAAa,CAAC+I,OAAlB,EAA2B;AAAA,QAAA,IAAA,qBAAA,EAAA,cAAA,EAAA,sBAAA,EAAA,cAAA,CAAA;;AAChC,QAAA,CAAA,qBAAA,GAAA,CAAA,cAAA,GAAA,IAAA,CAAK3K,OAAL,EAAa2K,OAAb,gEAAuB,IAAK7G,CAAAA,aAAL,CAAmBzB,KAA1C,CAAA,CAAA;QACA,CAAKrC,sBAAAA,GAAAA,CAAAA,cAAAA,GAAAA,IAAAA,CAAAA,OAAL,EAAa8K,SAAb,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,sBAAA,CAAA,IAAA,CAAA,cAAA,EAAyBhE,SAAzB,EAAoC,IAAA,CAAKhD,aAAL,CAAmBzB,KAAvD,CAAA,CAAA;AACD,OARuB;;;MAWxB,IAAIT,aAAa,CAAClB,SAAlB,EAA6B;AAC3B,QAAA,IAAA,CAAKA,SAAL,CAAe6D,OAAf,CAAuB,CAAC;AAAEwG,UAAAA,QAAAA;AAAF,SAAD,KAAkB;UACvCA,QAAQ,CAAC,IAAKjH,CAAAA,aAAN,CAAR,CAAA;SADF,CAAA,CAAA;AAGD,OAfuB;;;MAkBxB,IAAIlC,aAAa,CAACiI,KAAlB,EAAyB;AACvB,QAAA,IAAA,CAAK9J,MAAL,CAAYwC,aAAZ,EAAA,CAA4BC,MAA5B,CAAmC;UACjCE,KAAK,EAAE,KAAK9B,YADqB;AAEjC6B,UAAAA,IAAI,EAAE,wBAAA;SAFR,CAAA,CAAA;AAID,OAAA;KAvBH,CAAA,CAAA;AAyBD,GAAA;;AA3qB0D,CAAA;;AA8qB7D,SAASuI,iBAAT,CACEtI,KADF,EAEE1C,OAFF,EAGW;EACT,OACEA,OAAO,CAAC4C,OAAR,KAAoB,KAApB,IACA,CAACF,KAAK,CAACuB,KAAN,CAAYgC,aADb,IAEA,EAAEvD,KAAK,CAACuB,KAAN,CAAYyD,MAAZ,KAAuB,OAAvB,IAAkC1H,OAAO,CAACiL,YAAR,KAAyB,KAA7D,CAHF,CAAA;AAKD,CAAA;;AAED,SAASnK,kBAAT,CACE4B,KADF,EAEE1C,OAFF,EAGW;EACT,OACEgL,iBAAiB,CAACtI,KAAD,EAAQ1C,OAAR,CAAjB,IACC0C,KAAK,CAACuB,KAAN,CAAYgC,aAAZ,GAA4B,CAA5B,IACC5E,aAAa,CAACqB,KAAD,EAAQ1C,OAAR,EAAiBA,OAAO,CAACkL,cAAzB,CAHjB,CAAA;AAKD,CAAA;;AAED,SAAS7J,aAAT,CACEqB,KADF,EAEE1C,OAFF,EAGEmL,KAHF,EAME;AACA,EAAA,IAAInL,OAAO,CAAC4C,OAAR,KAAoB,KAAxB,EAA+B;AAC7B,IAAA,MAAMwI,KAAK,GAAG,OAAOD,KAAP,KAAiB,UAAjB,GAA8BA,KAAK,CAACzI,KAAD,CAAnC,GAA6CyI,KAA3D,CAAA;AAEA,IAAA,OAAOC,KAAK,KAAK,QAAV,IAAuBA,KAAK,KAAK,KAAV,IAAmBvF,OAAO,CAACnD,KAAD,EAAQ1C,OAAR,CAAxD,CAAA;AACD,GAAA;;AACD,EAAA,OAAO,KAAP,CAAA;AACD,CAAA;;AAED,SAASiD,qBAAT,CACEP,KADF,EAEEZ,SAFF,EAGE9B,OAHF,EAIE6B,WAJF,EAKW;AACT,EAAA,OACE7B,OAAO,CAAC4C,OAAR,KAAoB,KAApB,KACCF,KAAK,KAAKZ,SAAV,IAAuBD,WAAW,CAACe,OAAZ,KAAwB,KADhD,CAEC,KAAA,CAAC5C,OAAO,CAACqL,QAAT,IAAqB3I,KAAK,CAACuB,KAAN,CAAYyD,MAAZ,KAAuB,OAF7C,KAGA7B,OAAO,CAACnD,KAAD,EAAQ1C,OAAR,CAJT,CAAA;AAMD,CAAA;;AAED,SAAS6F,OAAT,CACEnD,KADF,EAEE1C,OAFF,EAGW;AACT,EAAA,OAAO0C,KAAK,CAAC4I,aAAN,CAAoBtL,OAAO,CAACmD,SAA5B,CAAP,CAAA;AACD;AAGD;;;AACA,SAASU,qCAAT,CAOElB,QAPF,EAQE4I,gBARF,EASEvL,OATF,EAgBE;AACA;AACA;AACA;AACA;AACA;AACA;EACA,IAAIA,OAAO,CAACkI,gBAAZ,EAA8B;AAC5B,IAAA,OAAO,KAAP,CAAA;AACD,GATD;AAYA;;;AACA,EAAA,IAAIlI,OAAO,CAACwI,eAAR,KAA4B1B,SAAhC,EAA2C;AACzC;AACA;AACA;IACA,OAAOyE,gBAAgB,CAAC3D,iBAAxB,CAAA;AACD,GAlBD;AAqBA;;;AACA,EAAA,IAAIjF,QAAQ,CAACuB,gBAAT,EAAA,KAAgCqH,gBAApC,EAAsD;AACpD,IAAA,OAAO,IAAP,CAAA;AACD,GAxBD;;;AA2BA,EAAA,OAAO,KAAP,CAAA;AACD;;;;"}
1
+ {"version":3,"file":"queryObserver.esm.js","sources":["../../src/queryObserver.ts"],"sourcesContent":["import {\n isServer,\n isValidTimeout,\n noop,\n replaceData,\n shallowEqualObjects,\n timeUntilStale,\n} from './utils'\nimport { notifyManager } from './notifyManager'\nimport { focusManager } from './focusManager'\nimport { Subscribable } from './subscribable'\nimport { canFetch, isCancelledError } from './retryer'\nimport type {\n PlaceholderDataFunction,\n QueryKey,\n QueryObserverBaseResult,\n QueryObserverOptions,\n QueryObserverResult,\n QueryOptions,\n RefetchOptions,\n} from './types'\nimport type { Action, FetchOptions, Query, QueryState } from './query'\nimport type { QueryClient } from './queryClient'\nimport type { DefaultedQueryObserverOptions, RefetchPageFilters } from './types'\n\ntype QueryObserverListener<TData, TError> = (\n result: QueryObserverResult<TData, TError>,\n) => void\n\nexport interface NotifyOptions {\n cache?: boolean\n listeners?: boolean\n onError?: boolean\n onSuccess?: boolean\n}\n\nexport interface ObserverFetchOptions extends FetchOptions {\n throwOnError?: boolean\n}\n\nexport class QueryObserver<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends Subscribable<QueryObserverListener<TData, TError>> {\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n\n private client: QueryClient\n private currentQuery!: Query<TQueryFnData, TError, TQueryData, TQueryKey>\n private currentQueryInitialState!: QueryState<TQueryData, TError>\n private currentResult!: QueryObserverResult<TData, TError>\n private currentResultState?: QueryState<TQueryData, TError>\n private currentResultOptions?: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n private previousQueryResult?: QueryObserverResult<TData, TError>\n private selectError: TError | null\n private selectFn?: (data: TQueryData) => TData\n private selectResult?: TData\n private staleTimeoutId?: ReturnType<typeof setTimeout>\n private refetchIntervalId?: ReturnType<typeof setInterval>\n private currentRefetchInterval?: number | false\n private trackedProps!: Set<keyof QueryObserverResult>\n\n constructor(\n client: QueryClient,\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ) {\n super()\n\n this.client = client\n this.options = options\n this.trackedProps = new Set()\n this.selectError = null\n this.bindMethods()\n this.setOptions(options)\n }\n\n protected bindMethods(): void {\n this.remove = this.remove.bind(this)\n this.refetch = this.refetch.bind(this)\n }\n\n protected onSubscribe(): void {\n if (this.listeners.size === 1) {\n this.currentQuery.addObserver(this)\n\n if (shouldFetchOnMount(this.currentQuery, this.options)) {\n this.executeFetch()\n }\n\n this.updateTimers()\n }\n }\n\n protected onUnsubscribe(): void {\n if (!this.hasListeners()) {\n this.destroy()\n }\n }\n\n shouldFetchOnReconnect(): boolean {\n return shouldFetchOn(\n this.currentQuery,\n this.options,\n this.options.refetchOnReconnect,\n )\n }\n\n shouldFetchOnWindowFocus(): boolean {\n return shouldFetchOn(\n this.currentQuery,\n this.options,\n this.options.refetchOnWindowFocus,\n )\n }\n\n destroy(): void {\n this.listeners = new Set()\n this.clearStaleTimeout()\n this.clearRefetchInterval()\n this.currentQuery.removeObserver(this)\n }\n\n setOptions(\n options?: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n notifyOptions?: NotifyOptions,\n ): void {\n const prevOptions = this.options\n const prevQuery = this.currentQuery\n\n this.options = this.client.defaultQueryOptions(options)\n\n if (\n process.env.NODE_ENV !== 'production' &&\n typeof options?.isDataEqual !== 'undefined'\n ) {\n this.client\n .getLogger()\n .error(\n `The isDataEqual option has been deprecated and will be removed in the next major version. You can achieve the same functionality by passing a function as the structuralSharing option`,\n )\n }\n\n if (!shallowEqualObjects(prevOptions, this.options)) {\n this.client.getQueryCache().notify({\n type: 'observerOptionsUpdated',\n query: this.currentQuery,\n observer: this,\n })\n }\n\n if (\n typeof this.options.enabled !== 'undefined' &&\n typeof this.options.enabled !== 'boolean'\n ) {\n throw new Error('Expected enabled to be a boolean')\n }\n\n // Keep previous query key if the user does not supply one\n if (!this.options.queryKey) {\n this.options.queryKey = prevOptions.queryKey\n }\n\n this.updateQuery()\n\n const mounted = this.hasListeners()\n\n // Fetch if there are subscribers\n if (\n mounted &&\n shouldFetchOptionally(\n this.currentQuery,\n prevQuery,\n this.options,\n prevOptions,\n )\n ) {\n this.executeFetch()\n }\n\n // Update result\n this.updateResult(notifyOptions)\n\n // Update stale interval if needed\n if (\n mounted &&\n (this.currentQuery !== prevQuery ||\n this.options.enabled !== prevOptions.enabled ||\n this.options.staleTime !== prevOptions.staleTime)\n ) {\n this.updateStaleTimeout()\n }\n\n const nextRefetchInterval = this.computeRefetchInterval()\n\n // Update refetch interval if needed\n if (\n mounted &&\n (this.currentQuery !== prevQuery ||\n this.options.enabled !== prevOptions.enabled ||\n nextRefetchInterval !== this.currentRefetchInterval)\n ) {\n this.updateRefetchInterval(nextRefetchInterval)\n }\n }\n\n getOptimisticResult(\n options: DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): QueryObserverResult<TData, TError> {\n const query = this.client.getQueryCache().build(this.client, options)\n\n const result = this.createResult(query, options)\n\n if (shouldAssignObserverCurrentProperties(this, result, options)) {\n // this assigns the optimistic result to the current Observer\n // because if the query function changes, useQuery will be performing\n // an effect where it would fetch again.\n // When the fetch finishes, we perform a deep data cloning in order\n // to reuse objects references. This deep data clone is performed against\n // the `observer.currentResult.data` property\n // When QueryKey changes, we refresh the query and get new `optimistic`\n // result, while we leave the `observer.currentResult`, so when new data\n // arrives, it finds the old `observer.currentResult` which is related\n // to the old QueryKey. Which means that currentResult and selectData are\n // out of sync already.\n // To solve this, we move the cursor of the currentResult everytime\n // an observer reads an optimistic value.\n\n // When keeping the previous data, the result doesn't change until new\n // data arrives.\n this.currentResult = result\n this.currentResultOptions = this.options\n this.currentResultState = this.currentQuery.state\n }\n return result\n }\n\n getCurrentResult(): QueryObserverResult<TData, TError> {\n return this.currentResult\n }\n\n trackResult(\n result: QueryObserverResult<TData, TError>,\n ): QueryObserverResult<TData, TError> {\n const trackedResult = {} as QueryObserverResult<TData, TError>\n\n Object.keys(result).forEach((key) => {\n Object.defineProperty(trackedResult, key, {\n configurable: false,\n enumerable: true,\n get: () => {\n this.trackedProps.add(key as keyof QueryObserverResult)\n return result[key as keyof QueryObserverResult]\n },\n })\n })\n\n return trackedResult\n }\n\n getCurrentQuery(): Query<TQueryFnData, TError, TQueryData, TQueryKey> {\n return this.currentQuery\n }\n\n remove(): void {\n this.client.getQueryCache().remove(this.currentQuery)\n }\n\n refetch<TPageData>({\n refetchPage,\n ...options\n }: RefetchOptions & RefetchPageFilters<TPageData> = {}): Promise<\n QueryObserverResult<TData, TError>\n > {\n return this.fetch({\n ...options,\n meta: { refetchPage },\n })\n }\n\n fetchOptimistic(\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): Promise<QueryObserverResult<TData, TError>> {\n const defaultedOptions = this.client.defaultQueryOptions(options)\n\n const query = this.client\n .getQueryCache()\n .build(this.client, defaultedOptions)\n query.isFetchingOptimistic = true\n\n return query.fetch().then(() => this.createResult(query, defaultedOptions))\n }\n\n protected fetch(\n fetchOptions: ObserverFetchOptions,\n ): Promise<QueryObserverResult<TData, TError>> {\n return this.executeFetch({\n ...fetchOptions,\n cancelRefetch: fetchOptions.cancelRefetch ?? true,\n }).then(() => {\n this.updateResult()\n return this.currentResult\n })\n }\n\n private executeFetch(\n fetchOptions?: ObserverFetchOptions,\n ): Promise<TQueryData | undefined> {\n // Make sure we reference the latest query as the current one might have been removed\n this.updateQuery()\n\n // Fetch\n let promise: Promise<TQueryData | undefined> = this.currentQuery.fetch(\n this.options as QueryOptions<TQueryFnData, TError, TQueryData, TQueryKey>,\n fetchOptions,\n )\n\n if (!fetchOptions?.throwOnError) {\n promise = promise.catch(noop)\n }\n\n return promise\n }\n\n private updateStaleTimeout(): void {\n this.clearStaleTimeout()\n\n if (\n isServer ||\n this.currentResult.isStale ||\n !isValidTimeout(this.options.staleTime)\n ) {\n return\n }\n\n const time = timeUntilStale(\n this.currentResult.dataUpdatedAt,\n this.options.staleTime,\n )\n\n // The timeout is sometimes triggered 1 ms before the stale time expiration.\n // To mitigate this issue we always add 1 ms to the timeout.\n const timeout = time + 1\n\n this.staleTimeoutId = setTimeout(() => {\n if (!this.currentResult.isStale) {\n this.updateResult()\n }\n }, timeout)\n }\n\n private computeRefetchInterval() {\n return typeof this.options.refetchInterval === 'function'\n ? this.options.refetchInterval(this.currentResult.data, this.currentQuery)\n : this.options.refetchInterval ?? false\n }\n\n private updateRefetchInterval(nextInterval: number | false): void {\n this.clearRefetchInterval()\n\n this.currentRefetchInterval = nextInterval\n\n if (\n isServer ||\n this.options.enabled === false ||\n !isValidTimeout(this.currentRefetchInterval) ||\n this.currentRefetchInterval === 0\n ) {\n return\n }\n\n this.refetchIntervalId = setInterval(() => {\n if (\n this.options.refetchIntervalInBackground ||\n focusManager.isFocused()\n ) {\n this.executeFetch()\n }\n }, this.currentRefetchInterval)\n }\n\n private updateTimers(): void {\n this.updateStaleTimeout()\n this.updateRefetchInterval(this.computeRefetchInterval())\n }\n\n private clearStaleTimeout(): void {\n if (this.staleTimeoutId) {\n clearTimeout(this.staleTimeoutId)\n this.staleTimeoutId = undefined\n }\n }\n\n private clearRefetchInterval(): void {\n if (this.refetchIntervalId) {\n clearInterval(this.refetchIntervalId)\n this.refetchIntervalId = undefined\n }\n }\n\n protected createResult(\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): QueryObserverResult<TData, TError> {\n const prevQuery = this.currentQuery\n const prevOptions = this.options\n const prevResult = this.currentResult as\n | QueryObserverResult<TData, TError>\n | undefined\n const prevResultState = this.currentResultState\n const prevResultOptions = this.currentResultOptions\n const queryChange = query !== prevQuery\n const queryInitialState = queryChange\n ? query.state\n : this.currentQueryInitialState\n const prevQueryResult = queryChange\n ? this.currentResult\n : this.previousQueryResult\n\n const { state } = query\n let { dataUpdatedAt, error, errorUpdatedAt, fetchStatus, status } = state\n let isPreviousData = false\n let isPlaceholderData = false\n let data: TData | undefined\n\n // Optimistically set result in fetching state if needed\n if (options._optimisticResults) {\n const mounted = this.hasListeners()\n\n const fetchOnMount = !mounted && shouldFetchOnMount(query, options)\n\n const fetchOptionally =\n mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions)\n\n if (fetchOnMount || fetchOptionally) {\n fetchStatus = canFetch(query.options.networkMode)\n ? 'fetching'\n : 'paused'\n if (!dataUpdatedAt) {\n status = 'loading'\n }\n }\n if (options._optimisticResults === 'isRestoring') {\n fetchStatus = 'idle'\n }\n }\n\n // Keep previous data if needed\n if (\n options.keepPreviousData &&\n !state.dataUpdatedAt &&\n prevQueryResult?.isSuccess &&\n status !== 'error'\n ) {\n data = prevQueryResult.data\n dataUpdatedAt = prevQueryResult.dataUpdatedAt\n status = prevQueryResult.status\n isPreviousData = true\n }\n // Select data if needed\n else if (options.select && typeof state.data !== 'undefined') {\n // Memoize select result\n if (\n prevResult &&\n state.data === prevResultState?.data &&\n options.select === this.selectFn\n ) {\n data = this.selectResult\n } else {\n try {\n this.selectFn = options.select\n data = options.select(state.data)\n data = replaceData(prevResult?.data, data, options)\n this.selectResult = data\n this.selectError = null\n } catch (selectError) {\n if (process.env.NODE_ENV !== 'production') {\n this.client.getLogger().error(selectError)\n }\n this.selectError = selectError as TError\n }\n }\n }\n // Use query data\n else {\n data = state.data as unknown as TData\n }\n\n // Show placeholder data if needed\n if (\n typeof options.placeholderData !== 'undefined' &&\n typeof data === 'undefined' &&\n status === 'loading'\n ) {\n let placeholderData\n\n // Memoize placeholder data\n if (\n prevResult?.isPlaceholderData &&\n options.placeholderData === prevResultOptions?.placeholderData\n ) {\n placeholderData = prevResult.data\n } else {\n placeholderData =\n typeof options.placeholderData === 'function'\n ? (options.placeholderData as PlaceholderDataFunction<TQueryData>)()\n : options.placeholderData\n if (options.select && typeof placeholderData !== 'undefined') {\n try {\n placeholderData = options.select(placeholderData)\n this.selectError = null\n } catch (selectError) {\n if (process.env.NODE_ENV !== 'production') {\n this.client.getLogger().error(selectError)\n }\n this.selectError = selectError as TError\n }\n }\n }\n\n if (typeof placeholderData !== 'undefined') {\n status = 'success'\n data = replaceData(prevResult?.data, placeholderData, options) as TData\n isPlaceholderData = true\n }\n }\n\n if (this.selectError) {\n error = this.selectError as any\n data = this.selectResult\n errorUpdatedAt = Date.now()\n status = 'error'\n }\n\n const isFetching = fetchStatus === 'fetching'\n const isLoading = status === 'loading'\n const isError = status === 'error'\n\n const result: QueryObserverBaseResult<TData, TError> = {\n status,\n fetchStatus,\n isLoading,\n isSuccess: status === 'success',\n isError,\n isInitialLoading: isLoading && isFetching,\n data,\n dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: state.fetchFailureCount,\n failureReason: state.fetchFailureReason,\n errorUpdateCount: state.errorUpdateCount,\n isFetched: state.dataUpdateCount > 0 || state.errorUpdateCount > 0,\n isFetchedAfterMount:\n state.dataUpdateCount > queryInitialState.dataUpdateCount ||\n state.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching,\n isRefetching: isFetching && !isLoading,\n isLoadingError: isError && state.dataUpdatedAt === 0,\n isPaused: fetchStatus === 'paused',\n isPlaceholderData,\n isPreviousData,\n isRefetchError: isError && state.dataUpdatedAt !== 0,\n isStale: isStale(query, options),\n refetch: this.refetch,\n remove: this.remove,\n }\n\n return result as QueryObserverResult<TData, TError>\n }\n\n updateResult(notifyOptions?: NotifyOptions): void {\n const prevResult = this.currentResult as\n | QueryObserverResult<TData, TError>\n | undefined\n\n const nextResult = this.createResult(this.currentQuery, this.options)\n this.currentResultState = this.currentQuery.state\n this.currentResultOptions = this.options\n\n // Only notify and update result if something has changed\n if (shallowEqualObjects(nextResult, prevResult)) {\n return\n }\n\n this.currentResult = nextResult\n\n // Determine which callbacks to trigger\n const defaultNotifyOptions: NotifyOptions = { cache: true }\n\n const shouldNotifyListeners = (): boolean => {\n if (!prevResult) {\n return true\n }\n\n const { notifyOnChangeProps } = this.options\n\n if (\n notifyOnChangeProps === 'all' ||\n (!notifyOnChangeProps && !this.trackedProps.size)\n ) {\n return true\n }\n\n const includedProps = new Set(notifyOnChangeProps ?? this.trackedProps)\n\n if (this.options.useErrorBoundary) {\n includedProps.add('error')\n }\n\n return Object.keys(this.currentResult).some((key) => {\n const typedKey = key as keyof QueryObserverResult\n const changed = this.currentResult[typedKey] !== prevResult[typedKey]\n return changed && includedProps.has(typedKey)\n })\n }\n\n if (notifyOptions?.listeners !== false && shouldNotifyListeners()) {\n defaultNotifyOptions.listeners = true\n }\n\n this.notify({ ...defaultNotifyOptions, ...notifyOptions })\n }\n\n private updateQuery(): void {\n const query = this.client.getQueryCache().build(this.client, this.options)\n\n if (query === this.currentQuery) {\n return\n }\n\n const prevQuery = this.currentQuery as\n | Query<TQueryFnData, TError, TQueryData, TQueryKey>\n | undefined\n this.currentQuery = query\n this.currentQueryInitialState = query.state\n this.previousQueryResult = this.currentResult\n\n if (this.hasListeners()) {\n prevQuery?.removeObserver(this)\n query.addObserver(this)\n }\n }\n\n onQueryUpdate(action: Action<TData, TError>): void {\n const notifyOptions: NotifyOptions = {}\n\n if (action.type === 'success') {\n notifyOptions.onSuccess = !action.manual\n } else if (action.type === 'error' && !isCancelledError(action.error)) {\n notifyOptions.onError = true\n }\n\n this.updateResult(notifyOptions)\n\n if (this.hasListeners()) {\n this.updateTimers()\n }\n }\n\n private notify(notifyOptions: NotifyOptions): void {\n notifyManager.batch(() => {\n // First trigger the configuration callbacks\n if (notifyOptions.onSuccess) {\n this.options.onSuccess?.(this.currentResult.data!)\n this.options.onSettled?.(this.currentResult.data!, null)\n } else if (notifyOptions.onError) {\n this.options.onError?.(this.currentResult.error!)\n this.options.onSettled?.(undefined, this.currentResult.error!)\n }\n\n // Then trigger the listeners\n if (notifyOptions.listeners) {\n this.listeners.forEach(({ listener }) => {\n listener(this.currentResult)\n })\n }\n\n // Then the cache listeners\n if (notifyOptions.cache) {\n this.client.getQueryCache().notify({\n query: this.currentQuery,\n type: 'observerResultsUpdated',\n })\n }\n })\n }\n}\n\nfunction shouldLoadOnMount(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any>,\n): boolean {\n return (\n options.enabled !== false &&\n !query.state.dataUpdatedAt &&\n !(query.state.status === 'error' && options.retryOnMount === false)\n )\n}\n\nfunction shouldFetchOnMount(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n shouldLoadOnMount(query, options) ||\n (query.state.dataUpdatedAt > 0 &&\n shouldFetchOn(query, options, options.refetchOnMount))\n )\n}\n\nfunction shouldFetchOn(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n field: typeof options['refetchOnMount'] &\n typeof options['refetchOnWindowFocus'] &\n typeof options['refetchOnReconnect'],\n) {\n if (options.enabled !== false) {\n const value = typeof field === 'function' ? field(query) : field\n\n return value === 'always' || (value !== false && isStale(query, options))\n }\n return false\n}\n\nfunction shouldFetchOptionally(\n query: Query<any, any, any, any>,\n prevQuery: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n prevOptions: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n options.enabled !== false &&\n (query !== prevQuery || prevOptions.enabled === false) &&\n (!options.suspense || query.state.status !== 'error') &&\n isStale(query, options)\n )\n}\n\nfunction isStale(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return query.isStaleByTime(options.staleTime)\n}\n\n// this function would decide if we will update the observer's 'current'\n// properties after an optimistic reading via getOptimisticResult\nfunction shouldAssignObserverCurrentProperties<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n observer: QueryObserver<TQueryFnData, TError, TData, TQueryData, TQueryKey>,\n optimisticResult: QueryObserverResult<TData, TError>,\n options: DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n) {\n // it is important to keep this condition like this for three reasons:\n // 1. It will get removed in the v5\n // 2. it reads: don't update the properties if we want to keep the previous\n // data.\n // 3. The opposite condition (!options.keepPreviousData) would fallthrough\n // and will result in a bad decision\n if (options.keepPreviousData) {\n return false\n }\n\n // this means we want to put some placeholder data when pending and queryKey\n // changed.\n if (options.placeholderData !== undefined) {\n // re-assign properties only if current data is placeholder data\n // which means that data did not arrive yet, so, if there is some cached data\n // we need to \"prepare\" to receive it\n return optimisticResult.isPlaceholderData\n }\n\n // if the newly created result isn't what the observer is holding as current,\n // then we'll need to update the properties as well\n if (observer.getCurrentResult() !== optimisticResult) {\n return true\n }\n\n // basically, just keep previous properties if nothing changed\n return false\n}\n"],"names":["QueryObserver","Subscribable","constructor","client","options","trackedProps","Set","selectError","bindMethods","setOptions","remove","bind","refetch","onSubscribe","listeners","size","currentQuery","addObserver","shouldFetchOnMount","executeFetch","updateTimers","onUnsubscribe","hasListeners","destroy","shouldFetchOnReconnect","shouldFetchOn","refetchOnReconnect","shouldFetchOnWindowFocus","refetchOnWindowFocus","clearStaleTimeout","clearRefetchInterval","removeObserver","notifyOptions","prevOptions","prevQuery","defaultQueryOptions","process","env","NODE_ENV","isDataEqual","getLogger","error","shallowEqualObjects","getQueryCache","notify","type","query","observer","enabled","Error","queryKey","updateQuery","mounted","shouldFetchOptionally","updateResult","staleTime","updateStaleTimeout","nextRefetchInterval","computeRefetchInterval","currentRefetchInterval","updateRefetchInterval","getOptimisticResult","build","result","createResult","shouldAssignObserverCurrentProperties","currentResult","currentResultOptions","currentResultState","state","getCurrentResult","trackResult","trackedResult","Object","keys","forEach","key","defineProperty","configurable","enumerable","get","add","getCurrentQuery","refetchPage","fetch","meta","fetchOptimistic","defaultedOptions","isFetchingOptimistic","then","fetchOptions","cancelRefetch","promise","throwOnError","catch","noop","isServer","isStale","isValidTimeout","time","timeUntilStale","dataUpdatedAt","timeout","staleTimeoutId","setTimeout","refetchInterval","data","nextInterval","refetchIntervalId","setInterval","refetchIntervalInBackground","focusManager","isFocused","clearTimeout","undefined","clearInterval","prevResult","prevResultState","prevResultOptions","queryChange","queryInitialState","currentQueryInitialState","prevQueryResult","previousQueryResult","errorUpdatedAt","fetchStatus","status","isPreviousData","isPlaceholderData","_optimisticResults","fetchOnMount","fetchOptionally","canFetch","networkMode","keepPreviousData","isSuccess","select","selectFn","selectResult","replaceData","placeholderData","Date","now","isFetching","isLoading","isError","isInitialLoading","failureCount","fetchFailureCount","failureReason","fetchFailureReason","errorUpdateCount","isFetched","dataUpdateCount","isFetchedAfterMount","isRefetching","isLoadingError","isPaused","isRefetchError","nextResult","defaultNotifyOptions","cache","shouldNotifyListeners","notifyOnChangeProps","includedProps","useErrorBoundary","some","typedKey","changed","has","onQueryUpdate","action","onSuccess","manual","isCancelledError","onError","notifyManager","batch","onSettled","listener","shouldLoadOnMount","retryOnMount","refetchOnMount","field","value","suspense","isStaleByTime","optimisticResult"],"mappings":"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"}