@tanstack/query-core 5.0.0-alpha.49 → 5.0.0-alpha.50
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/focusManager.js +15 -31
- package/build/lib/focusManager.js.map +1 -1
- package/build/lib/hydration.js +4 -7
- package/build/lib/hydration.js.map +1 -1
- package/build/lib/infiniteQueryBehavior.js +4 -5
- package/build/lib/infiniteQueryBehavior.js.map +1 -1
- package/build/lib/infiniteQueryObserver.js +2 -3
- package/build/lib/infiniteQueryObserver.js.map +1 -1
- package/build/lib/mutation.js +102 -127
- package/build/lib/mutation.js.map +1 -1
- package/build/lib/mutationCache.js +17 -30
- package/build/lib/mutationCache.js.map +1 -1
- package/build/lib/mutationObserver.js +51 -81
- package/build/lib/mutationObserver.js.map +1 -1
- package/build/lib/onlineManager.js +14 -29
- package/build/lib/onlineManager.js.map +1 -1
- package/build/lib/queriesObserver.js +79 -125
- package/build/lib/queriesObserver.js.map +1 -1
- package/build/lib/query.js +161 -210
- package/build/lib/query.js.map +1 -1
- package/build/lib/queryCache.js +10 -15
- package/build/lib/queryCache.js.map +1 -1
- package/build/lib/queryClient.js +61 -98
- package/build/lib/queryClient.js.map +1 -1
- package/build/lib/queryObserver.js +197 -297
- package/build/lib/queryObserver.js.map +1 -1
- package/build/lib/removable.js +6 -13
- package/build/lib/removable.js.map +1 -1
- package/build/lib/retryer.js +14 -15
- package/build/lib/retryer.js.map +1 -1
- package/build/lib/utils.js +1 -1
- package/build/lib/utils.js.map +1 -1
- package/package.json +1 -2
- package/build/lib/_virtual/_rollupPluginBabelHelpers.js +0 -16
- package/build/lib/_virtual/_rollupPluginBabelHelpers.js.map +0 -1
- package/build/umd/index.development.js +0 -2691
- package/build/umd/index.development.js.map +0 -1
- package/build/umd/index.production.js +0 -2
- package/build/umd/index.production.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryClient.js","sources":["../../src/queryClient.ts"],"sourcesContent":["import type { QueryFilters, Updater, MutationFilters } from './utils'\nimport {\n hashKey,\n noop,\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 QueryKey,\n QueryObserverOptions,\n QueryOptions,\n RefetchOptions,\n RefetchQueryFilters,\n ResetOptions,\n SetDataOptions,\n DefaultError,\n CancelOptions,\n DefaultedQueryObserverOptions,\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'\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 #queryCache: QueryCache\n #mutationCache: MutationCache\n #defaultOptions: DefaultOptions\n #queryDefaults: Map<string, QueryDefaults>\n #mutationDefaults: Map<string, MutationDefaults>\n #mountCount: number\n #unsubscribeFocus?: () => void\n #unsubscribeOnline?: () => void\n\n constructor(config: QueryClientConfig = {}) {\n this.#queryCache = config.queryCache || new QueryCache()\n this.#mutationCache = config.mutationCache || new MutationCache()\n this.#defaultOptions = config.defaultOptions || {}\n this.#queryDefaults = new Map()\n this.#mutationDefaults = new Map()\n this.#mountCount = 0\n }\n\n mount(): void {\n this.#mountCount++\n if (this.#mountCount !== 1) return\n\n this.#unsubscribeFocus = focusManager.subscribe(() => {\n if (focusManager.isFocused()) {\n this.resumePausedMutations()\n this.#queryCache.onFocus()\n }\n })\n this.#unsubscribeOnline = onlineManager.subscribe(() => {\n if (onlineManager.isOnline()) {\n this.resumePausedMutations()\n this.#queryCache.onOnline()\n }\n })\n }\n\n unmount(): void {\n this.#mountCount--\n if (this.#mountCount !== 0) return\n\n this.#unsubscribeFocus?.()\n this.#unsubscribeFocus = undefined\n\n this.#unsubscribeOnline?.()\n this.#unsubscribeOnline = undefined\n }\n\n isFetching(filters?: QueryFilters): number {\n return this.#queryCache.findAll({ ...filters, fetchStatus: 'fetching' })\n .length\n }\n\n isMutating(filters?: MutationFilters): number {\n return this.#mutationCache.findAll({ ...filters, status: 'pending' }).length\n }\n\n getQueryData<TQueryFnData = unknown>(\n queryKey: QueryKey,\n ): TQueryFnData | undefined {\n return this.#queryCache.find<TQueryFnData>({ queryKey })?.state.data\n }\n\n ensureQueryData<\n TQueryFnData,\n TError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<TData> {\n const cachedData = this.getQueryData<TData>(options.queryKey)\n\n return cachedData ? Promise.resolve(cachedData) : this.fetchQuery(options)\n }\n\n getQueriesData<TQueryFnData = unknown>(\n filters: QueryFilters,\n ): [QueryKey, TQueryFnData | undefined][] {\n return this.getQueryCache()\n .findAll(filters)\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 defaultedOptions = this.defaultQueryOptions<\n any,\n any,\n unknown,\n any,\n QueryKey\n >({ queryKey })\n\n return this.#queryCache\n .build(this, defaultedOptions)\n .setData(data, { ...options, manual: true })\n }\n\n setQueriesData<TQueryFnData>(\n filters: QueryFilters,\n updater: Updater<TQueryFnData | undefined, TQueryFnData | undefined>,\n options?: SetDataOptions,\n ): [QueryKey, TQueryFnData | undefined][] {\n return notifyManager.batch(() =>\n this.getQueryCache()\n .findAll(filters)\n .map(({ queryKey }) => [\n queryKey,\n this.setQueryData<TQueryFnData>(queryKey, updater, options),\n ]),\n )\n }\n\n getQueryState<TQueryFnData = unknown, TError = DefaultError>(\n queryKey: QueryKey,\n ): QueryState<TQueryFnData, TError> | undefined {\n return this.#queryCache.find<TQueryFnData, TError>({ queryKey })?.state\n }\n\n removeQueries(filters?: QueryFilters): void {\n const queryCache = this.#queryCache\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n queryCache.remove(query)\n })\n })\n }\n\n resetQueries(filters?: QueryFilters, options?: ResetOptions): Promise<void> {\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(\n filters: QueryFilters = {},\n cancelOptions: CancelOptions = {},\n ): Promise<void> {\n const defaultedCancelOptions = { revert: true, ...cancelOptions }\n\n const promises = notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .map((query) => query.cancel(defaultedCancelOptions)),\n )\n\n return Promise.all(promises).then(noop).catch(noop)\n }\n\n invalidateQueries(\n filters: InvalidateQueryFilters = {},\n options: InvalidateOptions = {},\n ): Promise<void> {\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(\n filters: RefetchQueryFilters = {},\n options?: RefetchOptions,\n ): Promise<void> {\n const fetchOptions = {\n ...options,\n cancelRefetch: options?.cancelRefetch ?? true,\n }\n const promises = notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .filter((query) => !query.isDisabled())\n .map((query) => {\n let promise = query.fetch(undefined, fetchOptions)\n if (!fetchOptions.throwOnError) {\n promise = promise.catch(noop)\n }\n return query.state.fetchStatus === 'paused'\n ? Promise.resolve()\n : promise\n }),\n )\n\n return Promise.all(promises).then(noop)\n }\n\n fetchQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n >(\n options: FetchQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<TData> {\n const defaultedOptions = this.defaultQueryOptions(options)\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 = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<void> {\n return this.fetchQuery(options).then(noop).catch(noop)\n }\n\n fetchInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<InfiniteData<TData>> {\n options.behavior = infiniteQueryBehavior<TQueryFnData, TError, TData>()\n return this.fetchQuery(options)\n }\n\n prefetchInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<void> {\n return this.fetchInfiniteQuery(options).then(noop).catch(noop)\n }\n\n resumePausedMutations(): Promise<unknown> {\n return this.#mutationCache.resumePausedMutations()\n }\n\n getQueryCache(): QueryCache {\n return this.#queryCache\n }\n\n getMutationCache(): MutationCache {\n return this.#mutationCache\n }\n\n 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: Partial<\n Omit<QueryObserverOptions<unknown, any, any, any>, 'queryKey'>\n >,\n ): void {\n this.#queryDefaults.set(hashKey(queryKey), {\n queryKey,\n defaultOptions: options,\n })\n }\n\n getQueryDefaults(\n queryKey: QueryKey,\n ): QueryObserverOptions<any, any, any, any, any> {\n const defaults = [...this.#queryDefaults.values()]\n\n let result: QueryObserverOptions<any, any, any, any, any> = {}\n\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(queryKey, queryDefault.queryKey)) {\n result = { ...result, ...queryDefault.defaultOptions }\n }\n })\n return result\n }\n\n setMutationDefaults(\n mutationKey: MutationKey,\n options: Omit<MutationObserverOptions<any, any, any, any>, 'mutationKey'>,\n ): void {\n this.#mutationDefaults.set(hashKey(mutationKey), {\n mutationKey,\n defaultOptions: options,\n })\n }\n\n getMutationDefaults(\n mutationKey: MutationKey,\n ): MutationObserverOptions<any, any, any, any> {\n const defaults = [...this.#mutationDefaults.values()]\n\n let result: MutationObserverOptions<any, any, any, any> = {}\n\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(mutationKey, queryDefault.mutationKey)) {\n result = { ...result, ...queryDefault.defaultOptions }\n }\n })\n\n return result\n }\n\n defaultQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n >(\n options?:\n | QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >\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 ...(options?.queryKey && this.getQueryDefaults(options.queryKey)),\n ...options,\n _defaulted: true,\n }\n\n if (!defaultedOptions.queryHash) {\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.throwOnError === 'undefined') {\n defaultedOptions.throwOnError = !!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 ...(options?.mutationKey &&\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":["_queryCache","_classPrivateFieldLooseKey","_mutationCache","_defaultOptions","_queryDefaults","_mutationDefaults","_mountCount","_unsubscribeFocus","_unsubscribeOnline","QueryClient","constructor","config","Object","defineProperty","writable","value","_classPrivateFieldLooseBase","queryCache","QueryCache","mutationCache","MutationCache","defaultOptions","Map","mount","focusManager","subscribe","isFocused","resumePausedMutations","onFocus","onlineManager","isOnline","onOnline","unmount","_classPrivateFieldLoo","_classPrivateFieldLoo2","_classPrivateFieldLoo3","_classPrivateFieldLoo4","call","undefined","isFetching","filters","findAll","fetchStatus","length","isMutating","status","getQueryData","queryKey","_classPrivateFieldLoo5","find","state","data","ensureQueryData","options","cachedData","Promise","resolve","fetchQuery","getQueriesData","getQueryCache","map","setQueryData","updater","query","prevData","functionalUpdate","defaultedOptions","defaultQueryOptions","build","setData","manual","setQueriesData","notifyManager","batch","getQueryState","_classPrivateFieldLoo6","removeQueries","forEach","remove","resetQueries","refetchFilters","type","reset","refetchQueries","cancelQueries","cancelOptions","defaultedCancelOptions","revert","promises","cancel","all","then","noop","catch","invalidateQueries","_ref","_filters$refetchType","invalidate","refetchType","_options$cancelRefetc","fetchOptions","cancelRefetch","filter","isDisabled","promise","fetch","throwOnError","retry","isStaleByTime","staleTime","prefetchQuery","fetchInfiniteQuery","behavior","infiniteQueryBehavior","prefetchInfiniteQuery","getMutationCache","getDefaultOptions","setDefaultOptions","setQueryDefaults","set","hashKey","getQueryDefaults","defaults","values","result","queryDefault","partialMatchKey","setMutationDefaults","mutationKey","getMutationDefaults","_defaulted","queries","queryHash","hashQueryKeyByOptions","refetchOnReconnect","networkMode","suspense","defaultMutationOptions","mutations","clear"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"queryClient.js","sources":["../../src/queryClient.ts"],"sourcesContent":["import type { QueryFilters, Updater, MutationFilters } from './utils'\nimport {\n hashKey,\n noop,\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 QueryKey,\n QueryObserverOptions,\n QueryOptions,\n RefetchOptions,\n RefetchQueryFilters,\n ResetOptions,\n SetDataOptions,\n DefaultError,\n CancelOptions,\n DefaultedQueryObserverOptions,\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'\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 #queryCache: QueryCache\n #mutationCache: MutationCache\n #defaultOptions: DefaultOptions\n #queryDefaults: Map<string, QueryDefaults>\n #mutationDefaults: Map<string, MutationDefaults>\n #mountCount: number\n #unsubscribeFocus?: () => void\n #unsubscribeOnline?: () => void\n\n constructor(config: QueryClientConfig = {}) {\n this.#queryCache = config.queryCache || new QueryCache()\n this.#mutationCache = config.mutationCache || new MutationCache()\n this.#defaultOptions = config.defaultOptions || {}\n this.#queryDefaults = new Map()\n this.#mutationDefaults = new Map()\n this.#mountCount = 0\n }\n\n mount(): void {\n this.#mountCount++\n if (this.#mountCount !== 1) return\n\n this.#unsubscribeFocus = focusManager.subscribe(() => {\n if (focusManager.isFocused()) {\n this.resumePausedMutations()\n this.#queryCache.onFocus()\n }\n })\n this.#unsubscribeOnline = onlineManager.subscribe(() => {\n if (onlineManager.isOnline()) {\n this.resumePausedMutations()\n this.#queryCache.onOnline()\n }\n })\n }\n\n unmount(): void {\n this.#mountCount--\n if (this.#mountCount !== 0) return\n\n this.#unsubscribeFocus?.()\n this.#unsubscribeFocus = undefined\n\n this.#unsubscribeOnline?.()\n this.#unsubscribeOnline = undefined\n }\n\n isFetching(filters?: QueryFilters): number {\n return this.#queryCache.findAll({ ...filters, fetchStatus: 'fetching' })\n .length\n }\n\n isMutating(filters?: MutationFilters): number {\n return this.#mutationCache.findAll({ ...filters, status: 'pending' }).length\n }\n\n getQueryData<TQueryFnData = unknown>(\n queryKey: QueryKey,\n ): TQueryFnData | undefined {\n return this.#queryCache.find<TQueryFnData>({ queryKey })?.state.data\n }\n\n ensureQueryData<\n TQueryFnData,\n TError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<TData> {\n const cachedData = this.getQueryData<TData>(options.queryKey)\n\n return cachedData ? Promise.resolve(cachedData) : this.fetchQuery(options)\n }\n\n getQueriesData<TQueryFnData = unknown>(\n filters: QueryFilters,\n ): [QueryKey, TQueryFnData | undefined][] {\n return this.getQueryCache()\n .findAll(filters)\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 defaultedOptions = this.defaultQueryOptions<\n any,\n any,\n unknown,\n any,\n QueryKey\n >({ queryKey })\n\n return this.#queryCache\n .build(this, defaultedOptions)\n .setData(data, { ...options, manual: true })\n }\n\n setQueriesData<TQueryFnData>(\n filters: QueryFilters,\n updater: Updater<TQueryFnData | undefined, TQueryFnData | undefined>,\n options?: SetDataOptions,\n ): [QueryKey, TQueryFnData | undefined][] {\n return notifyManager.batch(() =>\n this.getQueryCache()\n .findAll(filters)\n .map(({ queryKey }) => [\n queryKey,\n this.setQueryData<TQueryFnData>(queryKey, updater, options),\n ]),\n )\n }\n\n getQueryState<TQueryFnData = unknown, TError = DefaultError>(\n queryKey: QueryKey,\n ): QueryState<TQueryFnData, TError> | undefined {\n return this.#queryCache.find<TQueryFnData, TError>({ queryKey })?.state\n }\n\n removeQueries(filters?: QueryFilters): void {\n const queryCache = this.#queryCache\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n queryCache.remove(query)\n })\n })\n }\n\n resetQueries(filters?: QueryFilters, options?: ResetOptions): Promise<void> {\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(\n filters: QueryFilters = {},\n cancelOptions: CancelOptions = {},\n ): Promise<void> {\n const defaultedCancelOptions = { revert: true, ...cancelOptions }\n\n const promises = notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .map((query) => query.cancel(defaultedCancelOptions)),\n )\n\n return Promise.all(promises).then(noop).catch(noop)\n }\n\n invalidateQueries(\n filters: InvalidateQueryFilters = {},\n options: InvalidateOptions = {},\n ): Promise<void> {\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(\n filters: RefetchQueryFilters = {},\n options?: RefetchOptions,\n ): Promise<void> {\n const fetchOptions = {\n ...options,\n cancelRefetch: options?.cancelRefetch ?? true,\n }\n const promises = notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .filter((query) => !query.isDisabled())\n .map((query) => {\n let promise = query.fetch(undefined, fetchOptions)\n if (!fetchOptions.throwOnError) {\n promise = promise.catch(noop)\n }\n return query.state.fetchStatus === 'paused'\n ? Promise.resolve()\n : promise\n }),\n )\n\n return Promise.all(promises).then(noop)\n }\n\n fetchQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n >(\n options: FetchQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<TData> {\n const defaultedOptions = this.defaultQueryOptions(options)\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 = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<void> {\n return this.fetchQuery(options).then(noop).catch(noop)\n }\n\n fetchInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<InfiniteData<TData>> {\n options.behavior = infiniteQueryBehavior<TQueryFnData, TError, TData>()\n return this.fetchQuery(options)\n }\n\n prefetchInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<void> {\n return this.fetchInfiniteQuery(options).then(noop).catch(noop)\n }\n\n resumePausedMutations(): Promise<unknown> {\n return this.#mutationCache.resumePausedMutations()\n }\n\n getQueryCache(): QueryCache {\n return this.#queryCache\n }\n\n getMutationCache(): MutationCache {\n return this.#mutationCache\n }\n\n 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: Partial<\n Omit<QueryObserverOptions<unknown, any, any, any>, 'queryKey'>\n >,\n ): void {\n this.#queryDefaults.set(hashKey(queryKey), {\n queryKey,\n defaultOptions: options,\n })\n }\n\n getQueryDefaults(\n queryKey: QueryKey,\n ): QueryObserverOptions<any, any, any, any, any> {\n const defaults = [...this.#queryDefaults.values()]\n\n let result: QueryObserverOptions<any, any, any, any, any> = {}\n\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(queryKey, queryDefault.queryKey)) {\n result = { ...result, ...queryDefault.defaultOptions }\n }\n })\n return result\n }\n\n setMutationDefaults(\n mutationKey: MutationKey,\n options: Omit<MutationObserverOptions<any, any, any, any>, 'mutationKey'>,\n ): void {\n this.#mutationDefaults.set(hashKey(mutationKey), {\n mutationKey,\n defaultOptions: options,\n })\n }\n\n getMutationDefaults(\n mutationKey: MutationKey,\n ): MutationObserverOptions<any, any, any, any> {\n const defaults = [...this.#mutationDefaults.values()]\n\n let result: MutationObserverOptions<any, any, any, any> = {}\n\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(mutationKey, queryDefault.mutationKey)) {\n result = { ...result, ...queryDefault.defaultOptions }\n }\n })\n\n return result\n }\n\n defaultQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n >(\n options?:\n | QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >\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 ...(options?.queryKey && this.getQueryDefaults(options.queryKey)),\n ...options,\n _defaulted: true,\n }\n\n if (!defaultedOptions.queryHash) {\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.throwOnError === 'undefined') {\n defaultedOptions.throwOnError = !!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 ...(options?.mutationKey &&\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","defaultOptions","Map","mount","focusManager","subscribe","isFocused","resumePausedMutations","onFocus","onlineManager","isOnline","onOnline","unmount","undefined","isFetching","filters","findAll","fetchStatus","length","isMutating","status","getQueryData","queryKey","find","state","data","ensureQueryData","options","cachedData","Promise","resolve","fetchQuery","getQueriesData","getQueryCache","map","setQueryData","updater","query","prevData","functionalUpdate","defaultedOptions","defaultQueryOptions","build","setData","manual","setQueriesData","notifyManager","batch","getQueryState","removeQueries","forEach","remove","resetQueries","refetchFilters","type","reset","refetchQueries","cancelQueries","cancelOptions","defaultedCancelOptions","revert","promises","cancel","all","then","noop","catch","invalidateQueries","invalidate","refetchType","fetchOptions","cancelRefetch","filter","isDisabled","promise","fetch","throwOnError","retry","isStaleByTime","staleTime","prefetchQuery","fetchInfiniteQuery","behavior","infiniteQueryBehavior","prefetchInfiniteQuery","getMutationCache","getDefaultOptions","setDefaultOptions","setQueryDefaults","set","hashKey","getQueryDefaults","defaults","values","result","queryDefault","partialMatchKey","setMutationDefaults","mutationKey","getMutationDefaults","_defaulted","queries","queryHash","hashQueryKeyByOptions","refetchOnReconnect","networkMode","suspense","defaultMutationOptions","mutations","clear"],"mappings":"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"}
|