@tanstack/query-core 4.13.4 → 4.14.0
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.
- package/build/lib/index.d.ts +1 -1
- package/build/lib/index.esm.js +1 -1
- package/build/lib/index.js +1 -0
- package/build/lib/index.js.map +1 -1
- package/build/lib/index.mjs +1 -1
- package/build/lib/query.esm.js +1 -2
- package/build/lib/query.esm.js.map +1 -1
- package/build/lib/query.js +1 -2
- package/build/lib/query.js.map +1 -1
- package/build/lib/query.mjs +1 -2
- package/build/lib/query.mjs.map +1 -1
- package/build/lib/queryClient.esm.js +4 -0
- package/build/lib/queryClient.esm.js.map +1 -1
- package/build/lib/queryClient.js +4 -0
- package/build/lib/queryClient.js.map +1 -1
- package/build/lib/queryClient.mjs +4 -0
- package/build/lib/queryClient.mjs.map +1 -1
- package/build/lib/queryObserver.esm.js +5 -1
- package/build/lib/queryObserver.esm.js.map +1 -1
- package/build/lib/queryObserver.js +5 -1
- package/build/lib/queryObserver.js.map +1 -1
- package/build/lib/queryObserver.mjs +5 -1
- package/build/lib/queryObserver.mjs.map +1 -1
- package/build/umd/index.development.js +11 -3
- package/build/umd/index.development.js.map +1 -1
- package/build/umd/index.production.js +1 -1
- package/build/umd/index.production.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +1 -0
- package/src/query.ts +2 -4
- package/src/queryClient.ts +6 -0
- package/src/queryObserver.ts +12 -1
- package/src/tests/queriesObserver.test.tsx +7 -1
- package/src/tests/queryClient.test.tsx +9 -6
- package/src/tests/queryObserver.test.tsx +1 -1
|
@@ -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} 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 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 }\n\n mount(): void {\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.unsubscribeFocus?.()\n this.unsubscribeOnline?.()\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 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<void> {\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","mount","unsubscribeFocus","focusManager","subscribe","isFocused","resumePausedMutations","onFocus","unsubscribeOnline","onlineManager","isOnline","onOnline","unmount","isFetching","arg1","arg2","filters","parseFilterArgs","fetchStatus","findAll","length","isMutating","fetching","getQueryData","queryKey","find","state","data","getQueriesData","queryKeyOrFilters","getQueryCache","map","setQueryData","updater","options","query","prevData","functionalUpdate","undefined","parsedOptions","parseQueryArgs","defaultedOptions","defaultQueryOptions","build","setData","manual","setQueriesData","notifyManager","batch","getQueryState","removeQueries","forEach","remove","resetQueries","arg3","refetchFilters","type","reset","refetchQueries","cancelQueries","cancelOptions","revert","promises","cancel","Promise","all","then","noop","catch","invalidateQueries","invalidate","refetchType","resolve","filter","isDisabled","fetch","cancelRefetch","meta","refetchPage","promise","throwOnError","fetchQuery","retry","isStaleByTime","staleTime","prefetchQuery","fetchInfiniteQuery","behavior","infiniteQueryBehavior","prefetchInfiniteQuery","getMutationCache","getLogger","getDefaultOptions","setDefaultOptions","setQueryDefaults","result","x","hashQueryKey","push","getQueryDefaults","firstMatchingDefaults","partialMatchKey","process","env","NODE_ENV","matchingDefaults","error","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 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} 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 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\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.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.unsubscribeFocus?.()\n this.unsubscribeOnline?.()\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 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<void> {\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","process","env","NODE_ENV","error","mount","unsubscribeFocus","focusManager","subscribe","isFocused","resumePausedMutations","onFocus","unsubscribeOnline","onlineManager","isOnline","onOnline","unmount","isFetching","arg1","arg2","filters","parseFilterArgs","fetchStatus","findAll","length","isMutating","fetching","getQueryData","queryKey","find","state","data","getQueriesData","queryKeyOrFilters","getQueryCache","map","setQueryData","updater","options","query","prevData","functionalUpdate","undefined","parsedOptions","parseQueryArgs","defaultedOptions","defaultQueryOptions","build","setData","manual","setQueriesData","notifyManager","batch","getQueryState","removeQueries","forEach","remove","resetQueries","arg3","refetchFilters","type","reset","refetchQueries","cancelQueries","cancelOptions","revert","promises","cancel","Promise","all","then","noop","catch","invalidateQueries","invalidate","refetchType","resolve","filter","isDisabled","fetch","cancelRefetch","meta","refetchPage","promise","throwOnError","fetchQuery","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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"}
|
|
@@ -58,6 +58,10 @@ class QueryObserver extends Subscribable {
|
|
|
58
58
|
const prevQuery = this.currentQuery;
|
|
59
59
|
this.options = this.client.defaultQueryOptions(options);
|
|
60
60
|
|
|
61
|
+
if (process.env.NODE_ENV !== 'production' && typeof (options == null ? void 0 : options.isDataEqual) !== 'undefined') {
|
|
62
|
+
this.client.getLogger().error("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");
|
|
63
|
+
}
|
|
64
|
+
|
|
61
65
|
if (!shallowEqualObjects(prevOptions, this.options)) {
|
|
62
66
|
this.client.getQueryCache().notify({
|
|
63
67
|
type: 'observerOptionsUpdated',
|
|
@@ -270,7 +274,7 @@ class QueryObserver extends Subscribable {
|
|
|
270
274
|
} // Keep previous data if needed
|
|
271
275
|
|
|
272
276
|
|
|
273
|
-
if (options.keepPreviousData && !state.
|
|
277
|
+
if (options.keepPreviousData && !state.dataUpdatedAt && prevQueryResult != null && prevQueryResult.isSuccess && status !== 'error') {
|
|
274
278
|
data = prevQueryResult.data;
|
|
275
279
|
dataUpdatedAt = prevQueryResult.dataUpdatedAt;
|
|
276
280
|
status = prevQueryResult.status;
|
|
@@ -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.length === 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.listeners.length) {\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 = []\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 (!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 return this.createResult(query, options)\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.dataUpdateCount &&\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"],"names":["QueryObserver","Subscribable","constructor","client","options","trackedProps","Set","selectError","bindMethods","setOptions","remove","bind","refetch","onSubscribe","listeners","length","currentQuery","addObserver","shouldFetchOnMount","executeFetch","updateTimers","onUnsubscribe","destroy","shouldFetchOnReconnect","shouldFetchOn","refetchOnReconnect","shouldFetchOnWindowFocus","refetchOnWindowFocus","clearStaleTimeout","clearRefetchInterval","removeObserver","notifyOptions","prevOptions","prevQuery","defaultQueryOptions","shallowEqualObjects","getQueryCache","notify","type","query","observer","enabled","Error","queryKey","updateQuery","mounted","hasListeners","shouldFetchOptionally","updateResult","staleTime","updateStaleTimeout","nextRefetchInterval","computeRefetchInterval","currentRefetchInterval","updateRefetchInterval","getOptimisticResult","build","createResult","getCurrentResult","currentResult","trackResult","result","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","currentResultState","prevResultOptions","currentResultOptions","queryChange","queryInitialState","state","currentQueryInitialState","prevQueryResult","previousQueryResult","error","errorUpdatedAt","fetchStatus","status","isPreviousData","isPlaceholderData","_optimisticResults","fetchOnMount","fetchOptionally","canFetch","networkMode","keepPreviousData","dataUpdateCount","isSuccess","select","selectFn","selectResult","replaceData","process","env","NODE_ENV","getLogger","placeholderData","Date","now","isFetching","isLoading","isError","isInitialLoading","failureCount","fetchFailureCount","failureReason","fetchFailureReason","errorUpdateCount","isFetched","isFetchedAfterMount","isRefetching","isLoadingError","isPaused","isRefetchError","nextResult","defaultNotifyOptions","cache","shouldNotifyListeners","notifyOnChangeProps","size","includedProps","useErrorBoundary","some","typedKey","changed","has","onQueryUpdate","action","onSuccess","manual","isCancelledError","onError","notifyManager","batch","onSettled","listener","shouldLoadOnMount","retryOnMount","refetchOnMount","field","value","suspense","isStaleByTime"],"mappings":"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"}
|
|
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.length === 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.listeners.length) {\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 = []\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 return this.createResult(query, options)\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"],"names":["QueryObserver","Subscribable","constructor","client","options","trackedProps","Set","selectError","bindMethods","setOptions","remove","bind","refetch","onSubscribe","listeners","length","currentQuery","addObserver","shouldFetchOnMount","executeFetch","updateTimers","onUnsubscribe","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","hasListeners","shouldFetchOptionally","updateResult","staleTime","updateStaleTimeout","nextRefetchInterval","computeRefetchInterval","currentRefetchInterval","updateRefetchInterval","getOptimisticResult","build","createResult","getCurrentResult","currentResult","trackResult","result","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","currentResultState","prevResultOptions","currentResultOptions","queryChange","queryInitialState","state","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","size","includedProps","useErrorBoundary","some","typedKey","changed","has","onQueryUpdate","action","onSuccess","manual","isCancelledError","onError","notifyManager","batch","onSettled","listener","shouldLoadOnMount","retryOnMount","refetchOnMount","field","value","suspense","isStaleByTime"],"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,MAAf,KAA0B,CAA9B,EAAiC;AAC/B,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,CAAKP,SAAL,CAAeC,MAApB,EAA4B;AAC1B,MAAA,IAAA,CAAKO,OAAL,EAAA,CAAA;AACD,KAAA;AACF,GAAA;;AAEDC,EAAAA,sBAAsB,GAAY;AAChC,IAAA,OAAOC,aAAa,CAClB,IAAKR,CAAAA,YADa,EAElB,IAAA,CAAKZ,OAFa,EAGlB,IAAKA,CAAAA,OAAL,CAAaqB,kBAHK,CAApB,CAAA;AAKD,GAAA;;AAEDC,EAAAA,wBAAwB,GAAY;AAClC,IAAA,OAAOF,aAAa,CAClB,IAAKR,CAAAA,YADa,EAElB,IAAA,CAAKZ,OAFa,EAGlB,IAAKA,CAAAA,OAAL,CAAauB,oBAHK,CAApB,CAAA;AAKD,GAAA;;AAEDL,EAAAA,OAAO,GAAS;IACd,IAAKR,CAAAA,SAAL,GAAiB,EAAjB,CAAA;AACA,IAAA,IAAA,CAAKc,iBAAL,EAAA,CAAA;AACA,IAAA,IAAA,CAAKC,oBAAL,EAAA,CAAA;AACA,IAAA,IAAA,CAAKb,YAAL,CAAkBc,cAAlB,CAAiC,IAAjC,CAAA,CAAA;AACD,GAAA;;AAEDrB,EAAAA,UAAU,CACRL,OADQ,EAQR2B,aARQ,EASF;IACN,MAAMC,WAAW,GAAG,IAAA,CAAK5B,OAAzB,CAAA;IACA,MAAM6B,SAAS,GAAG,IAAA,CAAKjB,YAAvB,CAAA;IAEA,IAAKZ,CAAAA,OAAL,GAAe,IAAKD,CAAAA,MAAL,CAAY+B,mBAAZ,CAAgC9B,OAAhC,CAAf,CAAA;;AAEA,IAAA,IACE+B,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,IACA,QAAOjC,OAAP,oBAAOA,OAAO,CAAEkC,WAAhB,CAAA,KAAgC,WAFlC,EAGE;AACA,MAAA,IAAA,CAAKnC,MAAL,CACGoC,SADH,EAAA,CAEGC,KAFH,CAAA,wLAAA,CAAA,CAAA;AAKD,KAAA;;IAED,IAAI,CAACC,mBAAmB,CAACT,WAAD,EAAc,IAAK5B,CAAAA,OAAnB,CAAxB,EAAqD;AACnD,MAAA,IAAA,CAAKD,MAAL,CAAYuC,aAAZ,EAAA,CAA4BC,MAA5B,CAAmC;AACjCC,QAAAA,IAAI,EAAE,wBAD2B;QAEjCC,KAAK,EAAE,KAAK7B,YAFqB;AAGjC8B,QAAAA,QAAQ,EAAE,IAAA;OAHZ,CAAA,CAAA;AAKD,KAAA;;AAED,IAAA,IACE,OAAO,IAAA,CAAK1C,OAAL,CAAa2C,OAApB,KAAgC,WAAhC,IACA,OAAO,KAAK3C,OAAL,CAAa2C,OAApB,KAAgC,SAFlC,EAGE;AACA,MAAA,MAAM,IAAIC,KAAJ,CAAU,kCAAV,CAAN,CAAA;AACD,KA9BK;;;AAiCN,IAAA,IAAI,CAAC,IAAA,CAAK5C,OAAL,CAAa6C,QAAlB,EAA4B;AAC1B,MAAA,IAAA,CAAK7C,OAAL,CAAa6C,QAAb,GAAwBjB,WAAW,CAACiB,QAApC,CAAA;AACD,KAAA;;AAED,IAAA,IAAA,CAAKC,WAAL,EAAA,CAAA;AAEA,IAAA,MAAMC,OAAO,GAAG,IAAA,CAAKC,YAAL,EAAhB,CAvCM;;AA0CN,IAAA,IACED,OAAO,IACPE,qBAAqB,CACnB,KAAKrC,YADc,EAEnBiB,SAFmB,EAGnB,IAAK7B,CAAAA,OAHc,EAInB4B,WAJmB,CAFvB,EAQE;AACA,MAAA,IAAA,CAAKb,YAAL,EAAA,CAAA;AACD,KApDK;;;AAuDN,IAAA,IAAA,CAAKmC,YAAL,CAAkBvB,aAAlB,CAAA,CAvDM;;IA0DN,IACEoB,OAAO,KACN,IAAA,CAAKnC,YAAL,KAAsBiB,SAAtB,IACC,IAAA,CAAK7B,OAAL,CAAa2C,OAAb,KAAyBf,WAAW,CAACe,OADtC,IAEC,IAAA,CAAK3C,OAAL,CAAamD,SAAb,KAA2BvB,WAAW,CAACuB,SAHlC,CADT,EAKE;AACA,MAAA,IAAA,CAAKC,kBAAL,EAAA,CAAA;AACD,KAAA;;AAED,IAAA,MAAMC,mBAAmB,GAAG,IAAA,CAAKC,sBAAL,EAA5B,CAnEM;;IAsEN,IACEP,OAAO,KACN,IAAKnC,CAAAA,YAAL,KAAsBiB,SAAtB,IACC,KAAK7B,OAAL,CAAa2C,OAAb,KAAyBf,WAAW,CAACe,OADtC,IAECU,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,MAAMyC,KAAK,GAAG,IAAK1C,CAAAA,MAAL,CAAYuC,aAAZ,EAA4BoB,CAAAA,KAA5B,CAAkC,IAAA,CAAK3D,MAAvC,EAA+CC,OAA/C,CAAd,CAAA;AAEA,IAAA,OAAO,KAAK2D,YAAL,CAAkBlB,KAAlB,EAAyBzC,OAAzB,CAAP,CAAA;AACD,GAAA;;AAED4D,EAAAA,gBAAgB,GAAuC;AACrD,IAAA,OAAO,KAAKC,aAAZ,CAAA;AACD,GAAA;;EAEDC,WAAW,CACTC,MADS,EAE2B;IACpC,MAAMC,aAAa,GAAG,EAAtB,CAAA;IAEAC,MAAM,CAACC,IAAP,CAAYH,MAAZ,EAAoBI,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,CAAKvE,YAAL,CAAkBwE,GAAlB,CAAsBL,GAAtB,CAAA,CAAA;UACA,OAAOL,MAAM,CAACK,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,KAAK9D,YAAZ,CAAA;AACD,GAAA;;AAEDN,EAAAA,MAAM,GAAS;AACb,IAAA,IAAA,CAAKP,MAAL,CAAYuC,aAAZ,GAA4BhC,MAA5B,CAAmC,KAAKM,YAAxC,CAAA,CAAA;AACD,GAAA;;AAEDJ,EAAAA,OAAO,CAAY;IACjBmE,WADiB;IAEjB,GAAG3E,OAAAA;AAFc,GAAA,GAGiC,EAH7C,EAKL;AACA,IAAA,OAAO,IAAK4E,CAAAA,KAAL,CAAW,EAChB,GAAG5E,OADa;AAEhB6E,MAAAA,IAAI,EAAE;AAAEF,QAAAA,WAAAA;AAAF,OAAA;AAFU,KAAX,CAAP,CAAA;AAID,GAAA;;EAEDG,eAAe,CACb9E,OADa,EAQgC;IAC7C,MAAM+E,gBAAgB,GAAG,IAAKhF,CAAAA,MAAL,CAAY+B,mBAAZ,CAAgC9B,OAAhC,CAAzB,CAAA;AAEA,IAAA,MAAMyC,KAAK,GAAG,IAAK1C,CAAAA,MAAL,CACXuC,aADW,EAEXoB,CAAAA,KAFW,CAEL,IAAA,CAAK3D,MAFA,EAEQgF,gBAFR,CAAd,CAAA;IAGAtC,KAAK,CAACuC,oBAAN,GAA6B,IAA7B,CAAA;AAEA,IAAA,OAAOvC,KAAK,CAACmC,KAAN,EAAA,CAAcK,IAAd,CAAmB,MAAM,IAAKtB,CAAAA,YAAL,CAAkBlB,KAAlB,EAAyBsC,gBAAzB,CAAzB,CAAP,CAAA;AACD,GAAA;;EAESH,KAAK,CACbM,YADa,EAEgC;AAAA,IAAA,IAAA,qBAAA,CAAA;;AAC7C,IAAA,OAAO,IAAKnE,CAAAA,YAAL,CAAkB,EACvB,GAAGmE,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,CAAK/B,YAAL,EAAA,CAAA;AACA,MAAA,OAAO,KAAKW,aAAZ,CAAA;AACD,KANM,CAAP,CAAA;AAOD,GAAA;;EAEO9C,YAAY,CAClBmE,YADkB,EAEe;AACjC;IACA,IAAKpC,CAAAA,WAAL,GAFiC;;IAKjC,IAAIsC,OAAwC,GAAG,IAAA,CAAKxE,YAAL,CAAkBgE,KAAlB,CAC7C,IAAK5E,CAAAA,OADwC,EAE7CkF,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;;AAEOhC,EAAAA,kBAAkB,GAAS;AACjC,IAAA,IAAA,CAAK5B,iBAAL,EAAA,CAAA;;AAEA,IAAA,IACEgE,QAAQ,IACR,IAAK3B,CAAAA,aAAL,CAAmB4B,OADnB,IAEA,CAACC,cAAc,CAAC,IAAK1F,CAAAA,OAAL,CAAamD,SAAd,CAHjB,EAIE;AACA,MAAA,OAAA;AACD,KAAA;;AAED,IAAA,MAAMwC,IAAI,GAAGC,cAAc,CACzB,KAAK/B,aAAL,CAAmBgC,aADM,EAEzB,KAAK7F,OAAL,CAAamD,SAFY,CAA3B,CAXiC;AAiBjC;;AACA,IAAA,MAAM2C,OAAO,GAAGH,IAAI,GAAG,CAAvB,CAAA;AAEA,IAAA,IAAA,CAAKI,cAAL,GAAsBC,UAAU,CAAC,MAAM;AACrC,MAAA,IAAI,CAAC,IAAA,CAAKnC,aAAL,CAAmB4B,OAAxB,EAAiC;AAC/B,QAAA,IAAA,CAAKvC,YAAL,EAAA,CAAA;AACD,OAAA;KAH6B,EAI7B4C,OAJ6B,CAAhC,CAAA;AAKD,GAAA;;AAEOxC,EAAAA,sBAAsB,GAAG;AAAA,IAAA,IAAA,qBAAA,CAAA;;IAC/B,OAAO,OAAO,IAAKtD,CAAAA,OAAL,CAAaiG,eAApB,KAAwC,UAAxC,GACH,IAAA,CAAKjG,OAAL,CAAaiG,eAAb,CAA6B,IAAKpC,CAAAA,aAAL,CAAmBqC,IAAhD,EAAsD,IAAA,CAAKtF,YAA3D,CADG,GAEH,CAAA,qBAAA,GAAA,IAAA,CAAKZ,OAAL,CAAaiG,eAFV,KAAA,IAAA,GAAA,qBAAA,GAE6B,KAFpC,CAAA;AAGD,GAAA;;EAEOzC,qBAAqB,CAAC2C,YAAD,EAAqC;AAChE,IAAA,IAAA,CAAK1E,oBAAL,EAAA,CAAA;IAEA,IAAK8B,CAAAA,sBAAL,GAA8B4C,YAA9B,CAAA;;IAEA,IACEX,QAAQ,IACR,IAAKxF,CAAAA,OAAL,CAAa2C,OAAb,KAAyB,KADzB,IAEA,CAAC+C,cAAc,CAAC,IAAA,CAAKnC,sBAAN,CAFf,IAGA,KAAKA,sBAAL,KAAgC,CAJlC,EAKE;AACA,MAAA,OAAA;AACD,KAAA;;AAED,IAAA,IAAA,CAAK6C,iBAAL,GAAyBC,WAAW,CAAC,MAAM;MACzC,IACE,IAAA,CAAKrG,OAAL,CAAasG,2BAAb,IACAC,YAAY,CAACC,SAAb,EAFF,EAGE;AACA,QAAA,IAAA,CAAKzF,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;;AAEO9B,EAAAA,iBAAiB,GAAS;IAChC,IAAI,IAAA,CAAKuE,cAAT,EAAyB;MACvBU,YAAY,CAAC,IAAKV,CAAAA,cAAN,CAAZ,CAAA;MACA,IAAKA,CAAAA,cAAL,GAAsBW,SAAtB,CAAA;AACD,KAAA;AACF,GAAA;;AAEOjF,EAAAA,oBAAoB,GAAS;IACnC,IAAI,IAAA,CAAK2E,iBAAT,EAA4B;MAC1BO,aAAa,CAAC,IAAKP,CAAAA,iBAAN,CAAb,CAAA;MACA,IAAKA,CAAAA,iBAAL,GAAyBM,SAAzB,CAAA;AACD,KAAA;AACF,GAAA;;AAES/C,EAAAA,YAAY,CACpBlB,KADoB,EAEpBzC,OAFoB,EASgB;IACpC,MAAM6B,SAAS,GAAG,IAAA,CAAKjB,YAAvB,CAAA;IACA,MAAMgB,WAAW,GAAG,IAAA,CAAK5B,OAAzB,CAAA;IACA,MAAM4G,UAAU,GAAG,IAAA,CAAK/C,aAAxB,CAAA;IAGA,MAAMgD,eAAe,GAAG,IAAA,CAAKC,kBAA7B,CAAA;IACA,MAAMC,iBAAiB,GAAG,IAAA,CAAKC,oBAA/B,CAAA;AACA,IAAA,MAAMC,WAAW,GAAGxE,KAAK,KAAKZ,SAA9B,CAAA;IACA,MAAMqF,iBAAiB,GAAGD,WAAW,GACjCxE,KAAK,CAAC0E,KAD2B,GAEjC,IAAA,CAAKC,wBAFT,CAAA;IAGA,MAAMC,eAAe,GAAGJ,WAAW,GAC/B,KAAKpD,aAD0B,GAE/B,KAAKyD,mBAFT,CAAA;IAIA,MAAM;AAAEH,MAAAA,KAAAA;AAAF,KAAA,GAAY1E,KAAlB,CAAA;IACA,IAAI;MAAEoD,aAAF;MAAiBzD,KAAjB;MAAwBmF,cAAxB;MAAwCC,WAAxC;AAAqDC,MAAAA,MAAAA;AAArD,KAAA,GAAgEN,KAApE,CAAA;IACA,IAAIO,cAAc,GAAG,KAArB,CAAA;IACA,IAAIC,iBAAiB,GAAG,KAAxB,CAAA;IACA,IAAIzB,IAAJ,CApBoC;;IAuBpC,IAAIlG,OAAO,CAAC4H,kBAAZ,EAAgC;AAC9B,MAAA,MAAM7E,OAAO,GAAG,IAAKC,CAAAA,YAAL,EAAhB,CAAA;MAEA,MAAM6E,YAAY,GAAG,CAAC9E,OAAD,IAAYjC,kBAAkB,CAAC2B,KAAD,EAAQzC,OAAR,CAAnD,CAAA;AAEA,MAAA,MAAM8H,eAAe,GACnB/E,OAAO,IAAIE,qBAAqB,CAACR,KAAD,EAAQZ,SAAR,EAAmB7B,OAAnB,EAA4B4B,WAA5B,CADlC,CAAA;;MAGA,IAAIiG,YAAY,IAAIC,eAApB,EAAqC;AACnCN,QAAAA,WAAW,GAAGO,QAAQ,CAACtF,KAAK,CAACzC,OAAN,CAAcgI,WAAf,CAAR,GACV,UADU,GAEV,QAFJ,CAAA;;QAGA,IAAI,CAACnC,aAAL,EAAoB;AAClB4B,UAAAA,MAAM,GAAG,SAAT,CAAA;AACD,SAAA;AACF,OAAA;;AACD,MAAA,IAAIzH,OAAO,CAAC4H,kBAAR,KAA+B,aAAnC,EAAkD;AAChDJ,QAAAA,WAAW,GAAG,MAAd,CAAA;AACD,OAAA;AACF,KA1CmC;;;AA6CpC,IAAA,IACExH,OAAO,CAACiI,gBAAR,IACA,CAACd,KAAK,CAACtB,aADP,IAEAwB,eAFA,IAAA,IAAA,IAEAA,eAAe,CAAEa,SAFjB,IAGAT,MAAM,KAAK,OAJb,EAKE;MACAvB,IAAI,GAAGmB,eAAe,CAACnB,IAAvB,CAAA;MACAL,aAAa,GAAGwB,eAAe,CAACxB,aAAhC,CAAA;MACA4B,MAAM,GAAGJ,eAAe,CAACI,MAAzB,CAAA;AACAC,MAAAA,cAAc,GAAG,IAAjB,CAAA;AACD,KAVD;SAYK,IAAI1H,OAAO,CAACmI,MAAR,IAAkB,OAAOhB,KAAK,CAACjB,IAAb,KAAsB,WAA5C,EAAyD;AAC5D;AACA,MAAA,IACEU,UAAU,IACVO,KAAK,CAACjB,IAAN,MAAeW,eAAf,IAAeA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,eAAe,CAAEX,IAAhC,CADA,IAEAlG,OAAO,CAACmI,MAAR,KAAmB,IAAA,CAAKC,QAH1B,EAIE;QACAlC,IAAI,GAAG,KAAKmC,YAAZ,CAAA;AACD,OAND,MAMO;QACL,IAAI;AACF,UAAA,IAAA,CAAKD,QAAL,GAAgBpI,OAAO,CAACmI,MAAxB,CAAA;UACAjC,IAAI,GAAGlG,OAAO,CAACmI,MAAR,CAAehB,KAAK,CAACjB,IAArB,CAAP,CAAA;AACAA,UAAAA,IAAI,GAAGoC,WAAW,CAAC1B,UAAD,IAACA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAEV,IAAb,EAAmBA,IAAnB,EAAyBlG,OAAzB,CAAlB,CAAA;UACA,IAAKqI,CAAAA,YAAL,GAAoBnC,IAApB,CAAA;UACA,IAAK/F,CAAAA,WAAL,GAAmB,IAAnB,CAAA;SALF,CAME,OAAOA,WAAP,EAAoB;AACpB,UAAA,IAAI4B,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAA7B,EAA2C;AACzC,YAAA,IAAA,CAAKlC,MAAL,CAAYoC,SAAZ,EAAwBC,CAAAA,KAAxB,CAA8BjC,WAA9B,CAAA,CAAA;AACD,WAAA;;UACD,IAAKA,CAAAA,WAAL,GAAmBA,WAAnB,CAAA;AACD,SAAA;AACF,OAAA;AACF,KAtBI;SAwBA;MACH+F,IAAI,GAAGiB,KAAK,CAACjB,IAAb,CAAA;AACD,KAnFmC;;;AAsFpC,IAAA,IACE,OAAOlG,OAAO,CAACuI,eAAf,KAAmC,WAAnC,IACA,OAAOrC,IAAP,KAAgB,WADhB,IAEAuB,MAAM,KAAK,SAHb,EAIE;MACA,IAAIc,eAAJ,CADA;;AAIA,MAAA,IACE3B,UAAU,IAAV,IAAA,IAAAA,UAAU,CAAEe,iBAAZ,IACA3H,OAAO,CAACuI,eAAR,MAA4BxB,iBAA5B,IAAA,IAAA,GAAA,KAAA,CAAA,GAA4BA,iBAAiB,CAAEwB,eAA/C,CAFF,EAGE;QACAA,eAAe,GAAG3B,UAAU,CAACV,IAA7B,CAAA;AACD,OALD,MAKO;AACLqC,QAAAA,eAAe,GACb,OAAOvI,OAAO,CAACuI,eAAf,KAAmC,UAAnC,GACKvI,OAAO,CAACuI,eAAT,EADJ,GAEIvI,OAAO,CAACuI,eAHd,CAAA;;QAIA,IAAIvI,OAAO,CAACmI,MAAR,IAAkB,OAAOI,eAAP,KAA2B,WAAjD,EAA8D;UAC5D,IAAI;AACFA,YAAAA,eAAe,GAAGvI,OAAO,CAACmI,MAAR,CAAeI,eAAf,CAAlB,CAAA;YACA,IAAKpI,CAAAA,WAAL,GAAmB,IAAnB,CAAA;WAFF,CAGE,OAAOA,WAAP,EAAoB;AACpB,YAAA,IAAI4B,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAA7B,EAA2C;AACzC,cAAA,IAAA,CAAKlC,MAAL,CAAYoC,SAAZ,EAAwBC,CAAAA,KAAxB,CAA8BjC,WAA9B,CAAA,CAAA;AACD,aAAA;;YACD,IAAKA,CAAAA,WAAL,GAAmBA,WAAnB,CAAA;AACD,WAAA;AACF,SAAA;AACF,OAAA;;AAED,MAAA,IAAI,OAAOoI,eAAP,KAA2B,WAA/B,EAA4C;AAC1Cd,QAAAA,MAAM,GAAG,SAAT,CAAA;AACAvB,QAAAA,IAAI,GAAGoC,WAAW,CAAC1B,UAAD,IAACA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAEV,IAAb,EAAmBqC,eAAnB,EAAoCvI,OAApC,CAAlB,CAAA;AACA2H,QAAAA,iBAAiB,GAAG,IAApB,CAAA;AACD,OAAA;AACF,KAAA;;IAED,IAAI,IAAA,CAAKxH,WAAT,EAAsB;MACpBiC,KAAK,GAAG,KAAKjC,WAAb,CAAA;MACA+F,IAAI,GAAG,KAAKmC,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,MAAM1D,MAA8C,GAAG;MACrD0D,MADqD;MAErDD,WAFqD;MAGrDmB,SAHqD;MAIrDT,SAAS,EAAET,MAAM,KAAK,SAJ+B;MAKrDmB,OALqD;MAMrDC,gBAAgB,EAAEF,SAAS,IAAID,UANsB;MAOrDxC,IAPqD;MAQrDL,aARqD;MASrDzD,KATqD;MAUrDmF,cAVqD;MAWrDuB,YAAY,EAAE3B,KAAK,CAAC4B,iBAXiC;MAYrDC,aAAa,EAAE7B,KAAK,CAAC8B,kBAZgC;MAarDC,gBAAgB,EAAE/B,KAAK,CAAC+B,gBAb6B;MAcrDC,SAAS,EAAEhC,KAAK,CAACiC,eAAN,GAAwB,CAAxB,IAA6BjC,KAAK,CAAC+B,gBAAN,GAAyB,CAdZ;AAerDG,MAAAA,mBAAmB,EACjBlC,KAAK,CAACiC,eAAN,GAAwBlC,iBAAiB,CAACkC,eAA1C,IACAjC,KAAK,CAAC+B,gBAAN,GAAyBhC,iBAAiB,CAACgC,gBAjBQ;MAkBrDR,UAlBqD;AAmBrDY,MAAAA,YAAY,EAAEZ,UAAU,IAAI,CAACC,SAnBwB;AAoBrDY,MAAAA,cAAc,EAAEX,OAAO,IAAIzB,KAAK,CAACtB,aAAN,KAAwB,CApBE;MAqBrD2D,QAAQ,EAAEhC,WAAW,KAAK,QArB2B;MAsBrDG,iBAtBqD;MAuBrDD,cAvBqD;AAwBrD+B,MAAAA,cAAc,EAAEb,OAAO,IAAIzB,KAAK,CAACtB,aAAN,KAAwB,CAxBE;AAyBrDJ,MAAAA,OAAO,EAAEA,OAAO,CAAChD,KAAD,EAAQzC,OAAR,CAzBqC;MA0BrDQ,OAAO,EAAE,KAAKA,OA1BuC;AA2BrDF,MAAAA,MAAM,EAAE,IAAKA,CAAAA,MAAAA;KA3Bf,CAAA;AA8BA,IAAA,OAAOyD,MAAP,CAAA;AACD,GAAA;;EAEDb,YAAY,CAACvB,aAAD,EAAsC;IAChD,MAAMiF,UAAU,GAAG,IAAA,CAAK/C,aAAxB,CAAA;IAIA,MAAM6F,UAAU,GAAG,IAAA,CAAK/F,YAAL,CAAkB,KAAK/C,YAAvB,EAAqC,IAAKZ,CAAAA,OAA1C,CAAnB,CAAA;AACA,IAAA,IAAA,CAAK8G,kBAAL,GAA0B,IAAKlG,CAAAA,YAAL,CAAkBuG,KAA5C,CAAA;AACA,IAAA,IAAA,CAAKH,oBAAL,GAA4B,IAAKhH,CAAAA,OAAjC,CAPgD;;AAUhD,IAAA,IAAIqC,mBAAmB,CAACqH,UAAD,EAAa9C,UAAb,CAAvB,EAAiD;AAC/C,MAAA,OAAA;AACD,KAAA;;AAED,IAAA,IAAA,CAAK/C,aAAL,GAAqB6F,UAArB,CAdgD;;AAiBhD,IAAA,MAAMC,oBAAmC,GAAG;AAAEC,MAAAA,KAAK,EAAE,IAAA;KAArD,CAAA;;IAEA,MAAMC,qBAAqB,GAAG,MAAe;MAC3C,IAAI,CAACjD,UAAL,EAAiB;AACf,QAAA,OAAO,IAAP,CAAA;AACD,OAAA;;MAED,MAAM;AAAEkD,QAAAA,mBAAAA;AAAF,OAAA,GAA0B,KAAK9J,OAArC,CAAA;;AAEA,MAAA,IACE8J,mBAAmB,KAAK,KAAxB,IACC,CAACA,mBAAD,IAAwB,CAAC,IAAK7J,CAAAA,YAAL,CAAkB8J,IAF9C,EAGE;AACA,QAAA,OAAO,IAAP,CAAA;AACD,OAAA;;MAED,MAAMC,aAAa,GAAG,IAAI9J,GAAJ,CAAQ4J,mBAAR,IAAA,IAAA,GAAQA,mBAAR,GAA+B,IAAK7J,CAAAA,YAApC,CAAtB,CAAA;;AAEA,MAAA,IAAI,IAAKD,CAAAA,OAAL,CAAaiK,gBAAjB,EAAmC;QACjCD,aAAa,CAACvF,GAAd,CAAkB,OAAlB,CAAA,CAAA;AACD,OAAA;;MAED,OAAOR,MAAM,CAACC,IAAP,CAAY,IAAA,CAAKL,aAAjB,CAAgCqG,CAAAA,IAAhC,CAAsC9F,GAAD,IAAS;QACnD,MAAM+F,QAAQ,GAAG/F,GAAjB,CAAA;QACA,MAAMgG,OAAO,GAAG,IAAA,CAAKvG,aAAL,CAAmBsG,QAAnB,CAAiCvD,KAAAA,UAAU,CAACuD,QAAD,CAA3D,CAAA;AACA,QAAA,OAAOC,OAAO,IAAIJ,aAAa,CAACK,GAAd,CAAkBF,QAAlB,CAAlB,CAAA;AACD,OAJM,CAAP,CAAA;KApBF,CAAA;;AA2BA,IAAA,IAAI,CAAAxI,aAAa,IAAb,IAAA,GAAA,KAAA,CAAA,GAAAA,aAAa,CAAEjB,SAAf,MAA6B,KAA7B,IAAsCmJ,qBAAqB,EAA/D,EAAmE;MACjEF,oBAAoB,CAACjJ,SAArB,GAAiC,IAAjC,CAAA;AACD,KAAA;;AAED,IAAA,IAAA,CAAK6B,MAAL,CAAY,EAAE,GAAGoH,oBAAL;MAA2B,GAAGhI,aAAAA;KAA1C,CAAA,CAAA;AACD,GAAA;;AAEOmB,EAAAA,WAAW,GAAS;AAC1B,IAAA,MAAML,KAAK,GAAG,IAAK1C,CAAAA,MAAL,CAAYuC,aAAZ,EAAA,CAA4BoB,KAA5B,CAAkC,IAAK3D,CAAAA,MAAvC,EAA+C,IAAA,CAAKC,OAApD,CAAd,CAAA;;AAEA,IAAA,IAAIyC,KAAK,KAAK,IAAK7B,CAAAA,YAAnB,EAAiC;AAC/B,MAAA,OAAA;AACD,KAAA;;IAED,MAAMiB,SAAS,GAAG,IAAA,CAAKjB,YAAvB,CAAA;IAGA,IAAKA,CAAAA,YAAL,GAAoB6B,KAApB,CAAA;AACA,IAAA,IAAA,CAAK2E,wBAAL,GAAgC3E,KAAK,CAAC0E,KAAtC,CAAA;IACA,IAAKG,CAAAA,mBAAL,GAA2B,IAAA,CAAKzD,aAAhC,CAAA;;IAEA,IAAI,IAAA,CAAKb,YAAL,EAAJ,EAAyB;AACvBnB,MAAAA,SAAS,QAAT,GAAAA,KAAAA,CAAAA,GAAAA,SAAS,CAAEH,cAAX,CAA0B,IAA1B,CAAA,CAAA;MACAe,KAAK,CAAC5B,WAAN,CAAkB,IAAlB,CAAA,CAAA;AACD,KAAA;AACF,GAAA;;EAEDyJ,aAAa,CAACC,MAAD,EAAsC;IACjD,MAAM5I,aAA4B,GAAG,EAArC,CAAA;;AAEA,IAAA,IAAI4I,MAAM,CAAC/H,IAAP,KAAgB,SAApB,EAA+B;AAC7Bb,MAAAA,aAAa,CAAC6I,SAAd,GAA0B,CAACD,MAAM,CAACE,MAAlC,CAAA;AACD,KAFD,MAEO,IAAIF,MAAM,CAAC/H,IAAP,KAAgB,OAAhB,IAA2B,CAACkI,gBAAgB,CAACH,MAAM,CAACnI,KAAR,CAAhD,EAAgE;MACrET,aAAa,CAACgJ,OAAd,GAAwB,IAAxB,CAAA;AACD,KAAA;;IAED,IAAKzH,CAAAA,YAAL,CAAkBvB,aAAlB,CAAA,CAAA;;IAEA,IAAI,IAAA,CAAKqB,YAAL,EAAJ,EAAyB;AACvB,MAAA,IAAA,CAAKhC,YAAL,EAAA,CAAA;AACD,KAAA;AACF,GAAA;;EAEOuB,MAAM,CAACZ,aAAD,EAAqC;IACjDiJ,aAAa,CAACC,KAAd,CAAoB,MAAM;AACxB;MACA,IAAIlJ,aAAa,CAAC6I,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,IAAK3G,CAAAA,aAAL,CAAmBqC,IAA5C,CAAA,CAAA;QACA,CAAKlG,qBAAAA,GAAAA,CAAAA,cAAAA,GAAAA,IAAAA,CAAAA,OAAL,EAAa8K,SAAb,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,qBAAA,CAAA,IAAA,CAAA,cAAA,EAAyB,KAAKjH,aAAL,CAAmBqC,IAA5C,EAAmD,IAAnD,CAAA,CAAA;AACD,OAHD,MAGO,IAAIvE,aAAa,CAACgJ,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,IAAK9G,CAAAA,aAAL,CAAmBzB,KAA1C,CAAA,CAAA;QACA,CAAKpC,sBAAAA,GAAAA,CAAAA,cAAAA,GAAAA,IAAAA,CAAAA,OAAL,EAAa8K,SAAb,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,sBAAA,CAAA,IAAA,CAAA,cAAA,EAAyBpE,SAAzB,EAAoC,IAAA,CAAK7C,aAAL,CAAmBzB,KAAvD,CAAA,CAAA;AACD,OARuB;;;MAWxB,IAAIT,aAAa,CAACjB,SAAlB,EAA6B;AAC3B,QAAA,IAAA,CAAKA,SAAL,CAAeyD,OAAf,CAAwB4G,QAAD,IAAc;UACnCA,QAAQ,CAAC,IAAKlH,CAAAA,aAAN,CAAR,CAAA;SADF,CAAA,CAAA;AAGD,OAfuB;;;MAkBxB,IAAIlC,aAAa,CAACiI,KAAlB,EAAyB;AACvB,QAAA,IAAA,CAAK7J,MAAL,CAAYuC,aAAZ,EAAA,CAA4BC,MAA5B,CAAmC;UACjCE,KAAK,EAAE,KAAK7B,YADqB;AAEjC4B,UAAAA,IAAI,EAAE,wBAAA;SAFR,CAAA,CAAA;AAID,OAAA;KAvBH,CAAA,CAAA;AAyBD,GAAA;;AAppB0D,CAAA;;AAupB7D,SAASwI,iBAAT,CACEvI,KADF,EAEEzC,OAFF,EAGW;EACT,OACEA,OAAO,CAAC2C,OAAR,KAAoB,KAApB,IACA,CAACF,KAAK,CAAC0E,KAAN,CAAYtB,aADb,IAEA,EAAEpD,KAAK,CAAC0E,KAAN,CAAYM,MAAZ,KAAuB,OAAvB,IAAkCzH,OAAO,CAACiL,YAAR,KAAyB,KAA7D,CAHF,CAAA;AAKD,CAAA;;AAED,SAASnK,kBAAT,CACE2B,KADF,EAEEzC,OAFF,EAGW;EACT,OACEgL,iBAAiB,CAACvI,KAAD,EAAQzC,OAAR,CAAjB,IACCyC,KAAK,CAAC0E,KAAN,CAAYtB,aAAZ,GAA4B,CAA5B,IACCzE,aAAa,CAACqB,KAAD,EAAQzC,OAAR,EAAiBA,OAAO,CAACkL,cAAzB,CAHjB,CAAA;AAKD,CAAA;;AAED,SAAS9J,aAAT,CACEqB,KADF,EAEEzC,OAFF,EAGEmL,KAHF,EAME;AACA,EAAA,IAAInL,OAAO,CAAC2C,OAAR,KAAoB,KAAxB,EAA+B;AAC7B,IAAA,MAAMyI,KAAK,GAAG,OAAOD,KAAP,KAAiB,UAAjB,GAA8BA,KAAK,CAAC1I,KAAD,CAAnC,GAA6C0I,KAA3D,CAAA;AAEA,IAAA,OAAOC,KAAK,KAAK,QAAV,IAAuBA,KAAK,KAAK,KAAV,IAAmB3F,OAAO,CAAChD,KAAD,EAAQzC,OAAR,CAAxD,CAAA;AACD,GAAA;;AACD,EAAA,OAAO,KAAP,CAAA;AACD,CAAA;;AAED,SAASiD,qBAAT,CACER,KADF,EAEEZ,SAFF,EAGE7B,OAHF,EAIE4B,WAJF,EAKW;AACT,EAAA,OACE5B,OAAO,CAAC2C,OAAR,KAAoB,KAApB,KACCF,KAAK,KAAKZ,SAAV,IAAuBD,WAAW,CAACe,OAAZ,KAAwB,KADhD,CAEC,KAAA,CAAC3C,OAAO,CAACqL,QAAT,IAAqB5I,KAAK,CAAC0E,KAAN,CAAYM,MAAZ,KAAuB,OAF7C,KAGAhC,OAAO,CAAChD,KAAD,EAAQzC,OAAR,CAJT,CAAA;AAMD,CAAA;;AAED,SAASyF,OAAT,CACEhD,KADF,EAEEzC,OAFF,EAGW;AACT,EAAA,OAAOyC,KAAK,CAAC6I,aAAN,CAAoBtL,OAAO,CAACmD,SAA5B,CAAP,CAAA;AACD;;;;"}
|
|
@@ -62,6 +62,10 @@ class QueryObserver extends subscribable.Subscribable {
|
|
|
62
62
|
const prevQuery = this.currentQuery;
|
|
63
63
|
this.options = this.client.defaultQueryOptions(options);
|
|
64
64
|
|
|
65
|
+
if (process.env.NODE_ENV !== 'production' && typeof (options == null ? void 0 : options.isDataEqual) !== 'undefined') {
|
|
66
|
+
this.client.getLogger().error("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");
|
|
67
|
+
}
|
|
68
|
+
|
|
65
69
|
if (!utils.shallowEqualObjects(prevOptions, this.options)) {
|
|
66
70
|
this.client.getQueryCache().notify({
|
|
67
71
|
type: 'observerOptionsUpdated',
|
|
@@ -274,7 +278,7 @@ class QueryObserver extends subscribable.Subscribable {
|
|
|
274
278
|
} // Keep previous data if needed
|
|
275
279
|
|
|
276
280
|
|
|
277
|
-
if (options.keepPreviousData && !state.
|
|
281
|
+
if (options.keepPreviousData && !state.dataUpdatedAt && prevQueryResult != null && prevQueryResult.isSuccess && status !== 'error') {
|
|
278
282
|
data = prevQueryResult.data;
|
|
279
283
|
dataUpdatedAt = prevQueryResult.dataUpdatedAt;
|
|
280
284
|
status = prevQueryResult.status;
|