@tanstack/query-core 5.0.0-alpha.34 → 5.0.0-alpha.42
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.d.ts +1 -1
- package/build/lib/focusManager.d.ts.map +1 -0
- package/build/lib/focusManager.esm.js.map +1 -1
- package/build/lib/focusManager.js.map +1 -1
- package/build/lib/focusManager.mjs.map +1 -1
- package/build/lib/hydration.d.ts.map +1 -0
- package/build/lib/hydration.esm.js.map +1 -1
- package/build/lib/hydration.js.map +1 -1
- package/build/lib/hydration.mjs.map +1 -1
- package/build/lib/index.d.ts.map +1 -0
- package/build/lib/infiniteQueryBehavior.d.ts.map +1 -0
- package/build/lib/infiniteQueryBehavior.esm.js.map +1 -1
- package/build/lib/infiniteQueryBehavior.js.map +1 -1
- package/build/lib/infiniteQueryBehavior.mjs.map +1 -1
- package/build/lib/infiniteQueryObserver.d.ts +1 -1
- package/build/lib/infiniteQueryObserver.d.ts.map +1 -0
- package/build/lib/infiniteQueryObserver.esm.js.map +1 -1
- package/build/lib/infiniteQueryObserver.js.map +1 -1
- package/build/lib/infiniteQueryObserver.mjs.map +1 -1
- package/build/lib/mutation.d.ts +1 -1
- package/build/lib/mutation.d.ts.map +1 -0
- package/build/lib/mutation.esm.js.map +1 -1
- package/build/lib/mutation.js.map +1 -1
- package/build/lib/mutation.mjs.map +1 -1
- package/build/lib/mutationCache.d.ts +2 -2
- package/build/lib/mutationCache.d.ts.map +1 -0
- package/build/lib/mutationCache.esm.js.map +1 -1
- package/build/lib/mutationCache.js.map +1 -1
- package/build/lib/mutationCache.mjs.map +1 -1
- package/build/lib/mutationObserver.d.ts +1 -1
- package/build/lib/mutationObserver.d.ts.map +1 -0
- package/build/lib/mutationObserver.esm.js.map +1 -1
- package/build/lib/mutationObserver.js.map +1 -1
- package/build/lib/mutationObserver.mjs.map +1 -1
- package/build/lib/notifyManager.d.ts +3 -3
- package/build/lib/notifyManager.d.ts.map +1 -0
- package/build/lib/notifyManager.esm.js.map +1 -1
- package/build/lib/notifyManager.js.map +1 -1
- package/build/lib/notifyManager.mjs.map +1 -1
- package/build/lib/onlineManager.d.ts +1 -1
- package/build/lib/onlineManager.d.ts.map +1 -0
- package/build/lib/onlineManager.esm.js.map +1 -1
- package/build/lib/onlineManager.js.map +1 -1
- package/build/lib/onlineManager.mjs.map +1 -1
- package/build/lib/queriesObserver.d.ts +1 -1
- package/build/lib/queriesObserver.d.ts.map +1 -0
- package/build/lib/queriesObserver.esm.js.map +1 -1
- package/build/lib/queriesObserver.js.map +1 -1
- package/build/lib/queriesObserver.mjs.map +1 -1
- package/build/lib/query.d.ts +2 -2
- package/build/lib/query.d.ts.map +1 -0
- package/build/lib/query.esm.js.map +1 -1
- package/build/lib/query.js.map +1 -1
- package/build/lib/query.mjs.map +1 -1
- package/build/lib/queryCache.d.ts +2 -2
- package/build/lib/queryCache.d.ts.map +1 -0
- package/build/lib/queryCache.esm.js +1 -0
- package/build/lib/queryCache.esm.js.map +1 -1
- package/build/lib/queryCache.js +1 -0
- package/build/lib/queryCache.js.map +1 -1
- package/build/lib/queryCache.mjs +2 -0
- package/build/lib/queryCache.mjs.map +1 -1
- package/build/lib/queryClient.d.ts +1 -2
- package/build/lib/queryClient.d.ts.map +1 -0
- package/build/lib/queryClient.esm.js +1 -0
- package/build/lib/queryClient.esm.js.map +1 -1
- package/build/lib/queryClient.js +1 -0
- package/build/lib/queryClient.js.map +1 -1
- package/build/lib/queryClient.mjs +2 -0
- package/build/lib/queryClient.mjs.map +1 -1
- package/build/lib/queryObserver.d.ts +2 -3
- package/build/lib/queryObserver.d.ts.map +1 -0
- package/build/lib/queryObserver.esm.js +2 -3
- package/build/lib/queryObserver.esm.js.map +1 -1
- package/build/lib/queryObserver.js +2 -3
- package/build/lib/queryObserver.js.map +1 -1
- package/build/lib/queryObserver.mjs.map +1 -1
- package/build/lib/removable.d.ts.map +1 -0
- package/build/lib/removable.esm.js.map +1 -1
- package/build/lib/removable.js.map +1 -1
- package/build/lib/removable.mjs.map +1 -1
- package/build/lib/retryer.d.ts +4 -4
- package/build/lib/retryer.d.ts.map +1 -0
- package/build/lib/retryer.esm.js +2 -0
- package/build/lib/retryer.esm.js.map +1 -1
- package/build/lib/retryer.js +2 -0
- package/build/lib/retryer.js.map +1 -1
- package/build/lib/retryer.mjs +2 -0
- package/build/lib/retryer.mjs.map +1 -1
- package/build/lib/subscribable.d.ts +1 -1
- package/build/lib/subscribable.d.ts.map +1 -0
- package/build/lib/subscribable.esm.js.map +1 -1
- package/build/lib/subscribable.js.map +1 -1
- package/build/lib/subscribable.mjs.map +1 -1
- package/build/lib/tests/focusManager.test.d.ts.map +1 -0
- package/build/lib/tests/hydration.test.d.ts.map +1 -0
- package/build/lib/tests/infiniteQueryBehavior.test.d.ts.map +1 -0
- package/build/lib/tests/infiniteQueryObserver.test.d.ts.map +1 -0
- package/build/lib/tests/mutationCache.test.d.ts.map +1 -0
- package/build/lib/tests/mutationObserver.test.d.ts.map +1 -0
- package/build/lib/tests/mutations.test.d.ts.map +1 -0
- package/build/lib/tests/notifyManager.test.d.ts.map +1 -0
- package/build/lib/tests/onlineManager.test.d.ts.map +1 -0
- package/build/lib/tests/queriesObserver.test.d.ts.map +1 -0
- package/build/lib/tests/query.test.d.ts.map +1 -0
- package/build/lib/tests/queryCache.test.d.ts.map +1 -0
- package/build/lib/tests/queryClient.test.d.ts.map +1 -0
- package/build/lib/tests/queryObserver.test.d.ts.map +1 -0
- package/build/lib/tests/utils.d.ts +2 -2
- package/build/lib/tests/utils.d.ts.map +1 -0
- package/build/lib/tests/utils.test.d.ts.map +1 -0
- package/build/lib/types.d.ts +30 -31
- package/build/lib/types.d.ts.map +1 -0
- package/build/lib/utils.d.ts +3 -3
- package/build/lib/utils.d.ts.map +1 -0
- package/build/lib/utils.esm.js.map +1 -1
- package/build/lib/utils.js.map +1 -1
- package/build/lib/utils.mjs.map +1 -1
- package/build/umd/index.development.js +6 -0
- 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 +3 -1
- package/src/queryClient.ts +2 -1
- package/src/queryObserver.ts +11 -10
- package/src/tests/queryCache.test.tsx +1 -2
- package/src/tests/queryClient.test.tsx +6 -2
- package/src/types.ts +1 -2
|
@@ -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} 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'\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":["_classPrivateFieldLooseKey","QueryClient","constructor","config","_classPrivateFieldLooseBase","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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"}
|
|
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":";;;;;;;;;;;AAsCA;AAAA,IAAAA,WAAA,gBAAAC,mDAAA,CAAA,YAAA,CAAA,CAAA;AAAA,IAAAC,cAAA,gBAAAD,mDAAA,CAAA,eAAA,CAAA,CAAA;AAAA,IAAAE,eAAA,gBAAAF,mDAAA,CAAA,gBAAA,CAAA,CAAA;AAAA,IAAAG,cAAA,gBAAAH,mDAAA,CAAA,eAAA,CAAA,CAAA;AAAA,IAAAI,iBAAA,gBAAAJ,mDAAA,CAAA,kBAAA,CAAA,CAAA;AAAA,IAAAK,WAAA,gBAAAL,mDAAA,CAAA,YAAA,CAAA,CAAA;AAAA,IAAAM,iBAAA,gBAAAN,mDAAA,CAAA,kBAAA,CAAA,CAAA;AAAA,IAAAO,kBAAA,gBAAAP,mDAAA,CAAA,mBAAA,CAAA,CAAA;AAYA;;AAEO,MAAMQ,WAAW,CAAC;AAUvBC,EAAAA,WAAWA,CAACC,MAAyB,GAAG,EAAE,EAAE;IAAAC,MAAA,CAAAC,cAAA,CAAA,IAAA,EAAAb,WAAA,EAAA;MAAAc,QAAA,EAAA,IAAA;MAAAC,KAAA,EAAA,KAAA,CAAA;AAAA,KAAA,CAAA,CAAA;IAAAH,MAAA,CAAAC,cAAA,CAAA,IAAA,EAAAX,cAAA,EAAA;MAAAY,QAAA,EAAA,IAAA;MAAAC,KAAA,EAAA,KAAA,CAAA;AAAA,KAAA,CAAA,CAAA;IAAAH,MAAA,CAAAC,cAAA,CAAA,IAAA,EAAAV,eAAA,EAAA;MAAAW,QAAA,EAAA,IAAA;MAAAC,KAAA,EAAA,KAAA,CAAA;AAAA,KAAA,CAAA,CAAA;IAAAH,MAAA,CAAAC,cAAA,CAAA,IAAA,EAAAT,cAAA,EAAA;MAAAU,QAAA,EAAA,IAAA;MAAAC,KAAA,EAAA,KAAA,CAAA;AAAA,KAAA,CAAA,CAAA;IAAAH,MAAA,CAAAC,cAAA,CAAA,IAAA,EAAAR,iBAAA,EAAA;MAAAS,QAAA,EAAA,IAAA;MAAAC,KAAA,EAAA,KAAA,CAAA;AAAA,KAAA,CAAA,CAAA;IAAAH,MAAA,CAAAC,cAAA,CAAA,IAAA,EAAAP,WAAA,EAAA;MAAAQ,QAAA,EAAA,IAAA;MAAAC,KAAA,EAAA,KAAA,CAAA;AAAA,KAAA,CAAA,CAAA;IAAAH,MAAA,CAAAC,cAAA,CAAA,IAAA,EAAAN,iBAAA,EAAA;MAAAO,QAAA,EAAA,IAAA;MAAAC,KAAA,EAAA,KAAA,CAAA;AAAA,KAAA,CAAA,CAAA;IAAAH,MAAA,CAAAC,cAAA,CAAA,IAAA,EAAAL,kBAAA,EAAA;MAAAM,QAAA,EAAA,IAAA;MAAAC,KAAA,EAAA,KAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAC1CC,IAAAA,oDAAA,CAAI,IAAA,EAAAhB,WAAA,CAAA,CAAAA,WAAA,CAAA,GAAeW,MAAM,CAACM,UAAU,IAAI,IAAIC,qBAAU,EAAE,CAAA;AACxDF,IAAAA,oDAAA,CAAI,IAAA,EAAAd,cAAA,CAAA,CAAAA,cAAA,CAAA,GAAkBS,MAAM,CAACQ,aAAa,IAAI,IAAIC,2BAAa,EAAE,CAAA;IACjEJ,oDAAA,CAAA,IAAI,EAAAb,eAAA,CAAAA,CAAAA,eAAA,CAAmBQ,GAAAA,MAAM,CAACU,cAAc,IAAI,EAAE,CAAA;IAClDL,oDAAA,CAAA,IAAI,EAAAZ,cAAA,CAAA,CAAAA,cAAA,CAAkB,GAAA,IAAIkB,GAAG,EAAE,CAAA;IAC/BN,oDAAA,CAAA,IAAI,EAAAX,iBAAA,CAAA,CAAAA,iBAAA,CAAqB,GAAA,IAAIiB,GAAG,EAAE,CAAA;AAClCN,IAAAA,oDAAA,KAAI,EAAAV,WAAA,CAAAA,CAAAA,WAAA,IAAe,CAAC,CAAA;AACtB,GAAA;AAEAiB,EAAAA,KAAKA,GAAS;AACZP,IAAAA,oDAAA,CAAI,IAAA,EAAAV,WAAA,CAAA,CAAAA,WAAA,CAAc,EAAA,CAAA;IAClB,IAAIU,oDAAA,KAAI,EAAAV,WAAA,EAAAA,WAAA,CAAA,KAAiB,CAAC,EAAE,OAAA;IAE5BU,oDAAA,CAAA,IAAI,EAAAT,iBAAA,CAAAA,CAAAA,iBAAA,IAAqBiB,yBAAY,CAACC,SAAS,CAAC,MAAM;AACpD,MAAA,IAAID,yBAAY,CAACE,SAAS,EAAE,EAAE;QAC5B,IAAI,CAACC,qBAAqB,EAAE,CAAA;QAC5BX,oDAAA,CAAA,IAAI,EAAAhB,WAAA,CAAA,CAAAA,WAAA,CAAa4B,CAAAA,OAAO,EAAE,CAAA;AAC5B,OAAA;AACF,KAAC,CAAC,CAAA;IACFZ,oDAAA,CAAA,IAAI,EAAAR,kBAAA,CAAAA,CAAAA,kBAAA,IAAsBqB,2BAAa,CAACJ,SAAS,CAAC,MAAM;AACtD,MAAA,IAAII,2BAAa,CAACC,QAAQ,EAAE,EAAE;QAC5B,IAAI,CAACH,qBAAqB,EAAE,CAAA;QAC5BX,oDAAA,CAAA,IAAI,EAAAhB,WAAA,CAAA,CAAAA,WAAA,CAAa+B,CAAAA,QAAQ,EAAE,CAAA;AAC7B,OAAA;AACF,KAAC,CAAC,CAAA;AACJ,GAAA;AAEAC,EAAAA,OAAOA,GAAS;AAAA,IAAA,IAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,CAAA;AACdpB,IAAAA,oDAAA,CAAI,IAAA,EAAAV,WAAA,CAAA,CAAAA,WAAA,CAAc,EAAA,CAAA;IAClB,IAAIU,oDAAA,KAAI,EAAAV,WAAA,EAAAA,WAAA,CAAA,KAAiB,CAAC,EAAE,OAAA;AAE5B,IAAA,CAAA2B,qBAAA,GAAA,CAAAC,sBAAA,GAAAlB,oDAAA,CAAI,IAAA,EAAAT,iBAAA,CAAA,EAAAA,iBAAA,CAAA0B,KAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAAAI,IAAA,CAAAH,sBAAA,CAAA,CAAA;AACJlB,IAAAA,oDAAA,KAAI,EAAAT,iBAAA,CAAAA,CAAAA,iBAAA,IAAqB+B,SAAS,CAAA;AAElC,IAAA,CAAAH,sBAAA,GAAA,CAAAC,sBAAA,GAAApB,oDAAA,CAAI,IAAA,EAAAR,kBAAA,CAAA,EAAAA,kBAAA,CAAA2B,KAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,sBAAA,CAAAE,IAAA,CAAAD,sBAAA,CAAA,CAAA;AACJpB,IAAAA,oDAAA,KAAI,EAAAR,kBAAA,CAAAA,CAAAA,kBAAA,IAAsB8B,SAAS,CAAA;AACrC,GAAA;EAEAC,UAAUA,CAACC,OAAsB,EAAU;IACzC,OAAOxB,oDAAA,KAAI,EAAAhB,WAAA,EAAAA,WAAA,CAAA,CAAayC,OAAO,CAAC;AAAE,MAAA,GAAGD,OAAO;AAAEE,MAAAA,WAAW,EAAE,UAAA;KAAY,CAAC,CACrEC,MAAM,CAAA;AACX,GAAA;EAEAC,UAAUA,CAACJ,OAAyB,EAAU;IAC5C,OAAOxB,oDAAA,KAAI,EAAAd,cAAA,EAAAA,cAAA,CAAA,CAAgBuC,OAAO,CAAC;AAAE,MAAA,GAAGD,OAAO;AAAEK,MAAAA,MAAM,EAAE,SAAA;KAAW,CAAC,CAACF,MAAM,CAAA;AAC9E,GAAA;EAEAG,YAAYA,CACVC,QAAkB,EACQ;AAAA,IAAA,IAAAC,sBAAA,CAAA;IAC1B,OAAAA,CAAAA,sBAAA,GAAOhC,oDAAA,CAAI,IAAA,EAAAhB,WAAA,CAAAA,CAAAA,WAAA,CAAaiD,CAAAA,IAAI,CAAe;AAAEF,MAAAA,QAAAA;AAAS,KAAC,CAAC,KAAjDC,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,sBAAA,CAAmDE,KAAK,CAACC,IAAI,CAAA;AACtE,GAAA;EAEAC,eAAeA,CAMbC,OAAkE,EAClD;IAChB,MAAMC,UAAU,GAAG,IAAI,CAACR,YAAY,CAAQO,OAAO,CAACN,QAAQ,CAAC,CAAA;AAE7D,IAAA,OAAOO,UAAU,GAAGC,OAAO,CAACC,OAAO,CAACF,UAAU,CAAC,GAAG,IAAI,CAACG,UAAU,CAACJ,OAAO,CAAC,CAAA;AAC5E,GAAA;EAEAK,cAAcA,CACZlB,OAAqB,EACmB;AACxC,IAAA,OAAO,IAAI,CAACmB,aAAa,EAAE,CACxBlB,OAAO,CAACD,OAAO,CAAC,CAChBoB,GAAG,CAAC,CAAC;MAAEb,QAAQ;AAAEG,MAAAA,KAAAA;AAAM,KAAC,KAAK;AAC5B,MAAA,MAAMC,IAAI,GAAGD,KAAK,CAACC,IAAgC,CAAA;AACnD,MAAA,OAAO,CAACJ,QAAQ,EAAEI,IAAI,CAAC,CAAA;AACzB,KAAC,CAAC,CAAA;AACN,GAAA;AAEAU,EAAAA,YAAYA,CACVd,QAAkB,EAClBe,OAAoE,EACpET,OAAwB,EACE;IAC1B,MAAMU,KAAK,GAAG/C,oDAAA,CAAI,IAAA,EAAAhB,WAAA,CAAAA,CAAAA,WAAA,CAAaiD,CAAAA,IAAI,CAAe;AAAEF,MAAAA,QAAAA;AAAS,KAAC,CAAC,CAAA;IAC/D,MAAMiB,QAAQ,GAAGD,KAAK,IAAA,IAAA,GAAA,KAAA,CAAA,GAALA,KAAK,CAAEb,KAAK,CAACC,IAAI,CAAA;AAClC,IAAA,MAAMA,IAAI,GAAGc,sBAAgB,CAACH,OAAO,EAAEE,QAAQ,CAAC,CAAA;AAEhD,IAAA,IAAI,OAAOb,IAAI,KAAK,WAAW,EAAE;AAC/B,MAAA,OAAOb,SAAS,CAAA;AAClB,KAAA;AAEA,IAAA,MAAM4B,gBAAgB,GAAG,IAAI,CAACC,mBAAmB,CAM/C;AAAEpB,MAAAA,QAAAA;AAAS,KAAC,CAAC,CAAA;AAEf,IAAA,OAAO/B,oDAAA,CAAI,IAAA,EAAAhB,WAAA,CAAA,CAAAA,WAAA,CACRoE,CAAAA,KAAK,CAAC,IAAI,EAAEF,gBAAgB,CAAC,CAC7BG,OAAO,CAAClB,IAAI,EAAE;AAAE,MAAA,GAAGE,OAAO;AAAEiB,MAAAA,MAAM,EAAE,IAAA;AAAK,KAAC,CAAC,CAAA;AAChD,GAAA;AAEAC,EAAAA,cAAcA,CACZ/B,OAAqB,EACrBsB,OAAoE,EACpET,OAAwB,EACgB;AACxC,IAAA,OAAOmB,2BAAa,CAACC,KAAK,CAAC,MACzB,IAAI,CAACd,aAAa,EAAE,CACjBlB,OAAO,CAACD,OAAO,CAAC,CAChBoB,GAAG,CAAC,CAAC;AAAEb,MAAAA,QAAAA;AAAS,KAAC,KAAK,CACrBA,QAAQ,EACR,IAAI,CAACc,YAAY,CAAed,QAAQ,EAAEe,OAAO,EAAET,OAAO,CAAC,CAC5D,CACL,CAAC,CAAA;AACH,GAAA;EAEAqB,aAAaA,CACX3B,QAAkB,EAC4B;AAAA,IAAA,IAAA4B,sBAAA,CAAA;IAC9C,OAAAA,CAAAA,sBAAA,GAAO3D,oDAAA,CAAI,IAAA,EAAAhB,WAAA,CAAAA,CAAAA,WAAA,CAAaiD,CAAAA,IAAI,CAAuB;AAAEF,MAAAA,QAAAA;AAAS,KAAC,CAAC,KAAA,IAAA,GAAA,KAAA,CAAA,GAAzD4B,sBAAA,CAA2DzB,KAAK,CAAA;AACzE,GAAA;EAEA0B,aAAaA,CAACpC,OAAsB,EAAQ;IAC1C,MAAMvB,UAAU,GAAAD,oDAAA,CAAG,IAAI,EAAAhB,WAAA,CAAAA,CAAAA,WAAA,CAAY,CAAA;IACnCwE,2BAAa,CAACC,KAAK,CAAC,MAAM;MACxBxD,UAAU,CAACwB,OAAO,CAACD,OAAO,CAAC,CAACqC,OAAO,CAAEd,KAAK,IAAK;AAC7C9C,QAAAA,UAAU,CAAC6D,MAAM,CAACf,KAAK,CAAC,CAAA;AAC1B,OAAC,CAAC,CAAA;AACJ,KAAC,CAAC,CAAA;AACJ,GAAA;AAEAgB,EAAAA,YAAYA,CAACvC,OAAsB,EAAEa,OAAsB,EAAiB;IAC1E,MAAMpC,UAAU,GAAAD,oDAAA,CAAG,IAAI,EAAAhB,WAAA,CAAAA,CAAAA,WAAA,CAAY,CAAA;AAEnC,IAAA,MAAMgF,cAAmC,GAAG;AAC1CC,MAAAA,IAAI,EAAE,QAAQ;MACd,GAAGzC,OAAAA;KACJ,CAAA;AAED,IAAA,OAAOgC,2BAAa,CAACC,KAAK,CAAC,MAAM;MAC/BxD,UAAU,CAACwB,OAAO,CAACD,OAAO,CAAC,CAACqC,OAAO,CAAEd,KAAK,IAAK;QAC7CA,KAAK,CAACmB,KAAK,EAAE,CAAA;AACf,OAAC,CAAC,CAAA;AACF,MAAA,OAAO,IAAI,CAACC,cAAc,CAACH,cAAc,EAAE3B,OAAO,CAAC,CAAA;AACrD,KAAC,CAAC,CAAA;AACJ,GAAA;EAEA+B,aAAaA,CACX5C,OAAqB,GAAG,EAAE,EAC1B6C,aAA4B,GAAG,EAAE,EAClB;AACf,IAAA,MAAMC,sBAAsB,GAAG;AAAEC,MAAAA,MAAM,EAAE,IAAI;MAAE,GAAGF,aAAAA;KAAe,CAAA;AAEjE,IAAA,MAAMG,QAAQ,GAAGhB,2BAAa,CAACC,KAAK,CAAC,MACnCzD,oDAAA,CAAI,IAAA,EAAAhB,WAAA,CAAA,CAAAA,WAAA,CACDyC,CAAAA,OAAO,CAACD,OAAO,CAAC,CAChBoB,GAAG,CAAEG,KAAK,IAAKA,KAAK,CAAC0B,MAAM,CAACH,sBAAsB,CAAC,CACxD,CAAC,CAAA;AAED,IAAA,OAAO/B,OAAO,CAACmC,GAAG,CAACF,QAAQ,CAAC,CAACG,IAAI,CAACC,UAAI,CAAC,CAACC,KAAK,CAACD,UAAI,CAAC,CAAA;AACrD,GAAA;EAEAE,iBAAiBA,CACftD,OAA+B,GAAG,EAAE,EACpCa,OAA0B,GAAG,EAAE,EAChB;AACf,IAAA,OAAOmB,2BAAa,CAACC,KAAK,CAAC,MAAM;MAAA,IAAAsB,IAAA,EAAAC,oBAAA,CAAA;AAC/BhF,MAAAA,oDAAA,CAAI,IAAA,EAAAhB,WAAA,CAAA,CAAAA,WAAA,CAAayC,CAAAA,OAAO,CAACD,OAAO,CAAC,CAACqC,OAAO,CAAEd,KAAK,IAAK;QACnDA,KAAK,CAACkC,UAAU,EAAE,CAAA;AACpB,OAAC,CAAC,CAAA;AAEF,MAAA,IAAIzD,OAAO,CAAC0D,WAAW,KAAK,MAAM,EAAE;AAClC,QAAA,OAAO3C,OAAO,CAACC,OAAO,EAAE,CAAA;AAC1B,OAAA;AACA,MAAA,MAAMwB,cAAmC,GAAG;AAC1C,QAAA,GAAGxC,OAAO;AACVyC,QAAAA,IAAI,GAAAc,IAAA,GAAA,CAAAC,oBAAA,GAAExD,OAAO,CAAC0D,WAAW,KAAAF,IAAAA,GAAAA,oBAAA,GAAIxD,OAAO,CAACyC,IAAI,KAAA,IAAA,GAAAc,IAAA,GAAI,QAAA;OAC9C,CAAA;AACD,MAAA,OAAO,IAAI,CAACZ,cAAc,CAACH,cAAc,EAAE3B,OAAO,CAAC,CAAA;AACrD,KAAC,CAAC,CAAA;AACJ,GAAA;AAEA8B,EAAAA,cAAcA,CACZ3C,OAA4B,GAAG,EAAE,EACjCa,OAAwB,EACT;AAAA,IAAA,IAAA8C,qBAAA,CAAA;AACf,IAAA,MAAMC,YAAY,GAAG;AACnB,MAAA,GAAG/C,OAAO;MACVgD,aAAa,EAAA,CAAAF,qBAAA,GAAE9C,OAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAEgD,aAAa,KAAAF,IAAAA,GAAAA,qBAAA,GAAI,IAAA;KAC1C,CAAA;AACD,IAAA,MAAMX,QAAQ,GAAGhB,2BAAa,CAACC,KAAK,CAAC,MACnCzD,oDAAA,CAAA,IAAI,EAAAhB,WAAA,CAAA,CAAAA,WAAA,CAAA,CACDyC,OAAO,CAACD,OAAO,CAAC,CAChB8D,MAAM,CAAEvC,KAAK,IAAK,CAACA,KAAK,CAACwC,UAAU,EAAE,CAAC,CACtC3C,GAAG,CAAEG,KAAK,IAAK;MACd,IAAIyC,OAAO,GAAGzC,KAAK,CAAC0C,KAAK,CAACnE,SAAS,EAAE8D,YAAY,CAAC,CAAA;AAClD,MAAA,IAAI,CAACA,YAAY,CAACM,YAAY,EAAE;AAC9BF,QAAAA,OAAO,GAAGA,OAAO,CAACX,KAAK,CAACD,UAAI,CAAC,CAAA;AAC/B,OAAA;AACA,MAAA,OAAO7B,KAAK,CAACb,KAAK,CAACR,WAAW,KAAK,QAAQ,GACvCa,OAAO,CAACC,OAAO,EAAE,GACjBgD,OAAO,CAAA;AACb,KAAC,CACL,CAAC,CAAA;IAED,OAAOjD,OAAO,CAACmC,GAAG,CAACF,QAAQ,CAAC,CAACG,IAAI,CAACC,UAAI,CAAC,CAAA;AACzC,GAAA;EAEAnC,UAAUA,CAORJ,OAMC,EACe;AAChB,IAAA,MAAMa,gBAAgB,GAAG,IAAI,CAACC,mBAAmB,CAACd,OAAO,CAAC,CAAA;;AAE1D;AACA,IAAA,IAAI,OAAOa,gBAAgB,CAACyC,KAAK,KAAK,WAAW,EAAE;MACjDzC,gBAAgB,CAACyC,KAAK,GAAG,KAAK,CAAA;AAChC,KAAA;AAEA,IAAA,MAAM5C,KAAK,GAAG/C,oDAAA,CAAA,IAAI,EAAAhB,WAAA,CAAA,CAAAA,WAAA,CAAA,CAAaoE,KAAK,CAAC,IAAI,EAAEF,gBAAgB,CAAC,CAAA;IAE5D,OAAOH,KAAK,CAAC6C,aAAa,CAAC1C,gBAAgB,CAAC2C,SAAS,CAAC,GAClD9C,KAAK,CAAC0C,KAAK,CAACvC,gBAAgB,CAAC,GAC7BX,OAAO,CAACC,OAAO,CAACO,KAAK,CAACb,KAAK,CAACC,IAAa,CAAC,CAAA;AAChD,GAAA;EAEA2D,aAAaA,CAMXzD,OAAkE,EACnD;AACf,IAAA,OAAO,IAAI,CAACI,UAAU,CAACJ,OAAO,CAAC,CAACsC,IAAI,CAACC,UAAI,CAAC,CAACC,KAAK,CAACD,UAAI,CAAC,CAAA;AACxD,GAAA;EAEAmB,kBAAkBA,CAOhB1D,OAMC,EAC6B;AAC9BA,IAAAA,OAAO,CAAC2D,QAAQ,GAAGC,2CAAqB,EAA+B,CAAA;AACvE,IAAA,OAAO,IAAI,CAACxD,UAAU,CAACJ,OAAO,CAAC,CAAA;AACjC,GAAA;EAEA6D,qBAAqBA,CAOnB7D,OAMC,EACc;AACf,IAAA,OAAO,IAAI,CAAC0D,kBAAkB,CAAC1D,OAAO,CAAC,CAACsC,IAAI,CAACC,UAAI,CAAC,CAACC,KAAK,CAACD,UAAI,CAAC,CAAA;AAChE,GAAA;AAEAjE,EAAAA,qBAAqBA,GAAqB;IACxC,OAAOX,oDAAA,KAAI,EAAAd,cAAA,EAAAA,cAAA,CAAA,CAAgByB,qBAAqB,EAAE,CAAA;AACpD,GAAA;AAEAgC,EAAAA,aAAaA,GAAe;AAC1B,IAAA,OAAA3C,oDAAA,CAAO,IAAI,EAAAhB,WAAA,EAAAA,WAAA,CAAA,CAAA;AACb,GAAA;AAEAmH,EAAAA,gBAAgBA,GAAkB;AAChC,IAAA,OAAAnG,oDAAA,CAAO,IAAI,EAAAd,cAAA,EAAAA,cAAA,CAAA,CAAA;AACb,GAAA;AAEAkH,EAAAA,iBAAiBA,GAAmB;AAClC,IAAA,OAAApG,oDAAA,CAAO,IAAI,EAAAb,eAAA,EAAAA,eAAA,CAAA,CAAA;AACb,GAAA;EAEAkH,iBAAiBA,CAAChE,OAAuB,EAAQ;AAC/CrC,IAAAA,oDAAA,KAAI,EAAAb,eAAA,CAAAA,CAAAA,eAAA,IAAmBkD,OAAO,CAAA;AAChC,GAAA;AAEAiE,EAAAA,gBAAgBA,CACdvE,QAAkB,EAClBM,OAEC,EACK;AACNrC,IAAAA,oDAAA,CAAI,IAAA,EAAAZ,cAAA,CAAA,CAAAA,cAAA,CAAA,CAAgBmH,GAAG,CAACC,aAAO,CAACzE,QAAQ,CAAC,EAAE;MACzCA,QAAQ;AACR1B,MAAAA,cAAc,EAAEgC,OAAAA;AAClB,KAAC,CAAC,CAAA;AACJ,GAAA;EAEAoE,gBAAgBA,CACd1E,QAAkB,EAC6B;AAC/C,IAAA,MAAM2E,QAAQ,GAAG,CAAC,GAAG1G,oDAAA,CAAI,IAAA,EAAAZ,cAAA,CAAA,CAAAA,cAAA,CAAA,CAAgBuH,MAAM,EAAE,CAAC,CAAA;IAElD,IAAIC,MAAqD,GAAG,EAAE,CAAA;AAE9DF,IAAAA,QAAQ,CAAC7C,OAAO,CAAEgD,YAAY,IAAK;MACjC,IAAIC,qBAAe,CAAC/E,QAAQ,EAAE8E,YAAY,CAAC9E,QAAQ,CAAC,EAAE;AACpD6E,QAAAA,MAAM,GAAG;AAAE,UAAA,GAAGA,MAAM;AAAE,UAAA,GAAGC,YAAY,CAACxG,cAAAA;SAAgB,CAAA;AACxD,OAAA;AACF,KAAC,CAAC,CAAA;AACF,IAAA,OAAOuG,MAAM,CAAA;AACf,GAAA;AAEAG,EAAAA,mBAAmBA,CACjBC,WAAwB,EACxB3E,OAAyE,EACnE;AACNrC,IAAAA,oDAAA,CAAI,IAAA,EAAAX,iBAAA,CAAA,CAAAA,iBAAA,CAAA,CAAmBkH,GAAG,CAACC,aAAO,CAACQ,WAAW,CAAC,EAAE;MAC/CA,WAAW;AACX3G,MAAAA,cAAc,EAAEgC,OAAAA;AAClB,KAAC,CAAC,CAAA;AACJ,GAAA;EAEA4E,mBAAmBA,CACjBD,WAAwB,EACqB;AAC7C,IAAA,MAAMN,QAAQ,GAAG,CAAC,GAAG1G,oDAAA,CAAI,IAAA,EAAAX,iBAAA,CAAA,CAAAA,iBAAA,CAAA,CAAmBsH,MAAM,EAAE,CAAC,CAAA;IAErD,IAAIC,MAAmD,GAAG,EAAE,CAAA;AAE5DF,IAAAA,QAAQ,CAAC7C,OAAO,CAAEgD,YAAY,IAAK;MACjC,IAAIC,qBAAe,CAACE,WAAW,EAAEH,YAAY,CAACG,WAAW,CAAC,EAAE;AAC1DJ,QAAAA,MAAM,GAAG;AAAE,UAAA,GAAGA,MAAM;AAAE,UAAA,GAAGC,YAAY,CAACxG,cAAAA;SAAgB,CAAA;AACxD,OAAA;AACF,KAAC,CAAC,CAAA;AAEF,IAAA,OAAOuG,MAAM,CAAA;AACf,GAAA;EAEAzD,mBAAmBA,CAQjBd,OAeK,EAOL;AACA,IAAA,IAAIA,OAAO,IAAA,IAAA,IAAPA,OAAO,CAAE6E,UAAU,EAAE;AACvB,MAAA,OAAO7E,OAAO,CAAA;AAOhB,KAAA;AAEA,IAAA,MAAMa,gBAAgB,GAAG;AACvB,MAAA,GAAGlD,oDAAA,CAAI,IAAA,EAAAb,eAAA,CAAAA,CAAAA,eAAA,EAAiBgI,OAAO;AAC/B,MAAA,IAAI,CAAA9E,OAAO,IAAPA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAEN,QAAQ,KAAI,IAAI,CAAC0E,gBAAgB,CAACpE,OAAO,CAACN,QAAQ,CAAC,CAAC;AACjE,MAAA,GAAGM,OAAO;AACV6E,MAAAA,UAAU,EAAE,IAAA;KACb,CAAA;AAED,IAAA,IAAI,CAAChE,gBAAgB,CAACkE,SAAS,EAAE;MAC/BlE,gBAAgB,CAACkE,SAAS,GAAGC,2BAAqB,CAChDnE,gBAAgB,CAACnB,QAAQ,EACzBmB,gBACF,CAAC,CAAA;AACH,KAAA;;AAEA;AACA,IAAA,IAAI,OAAOA,gBAAgB,CAACoE,kBAAkB,KAAK,WAAW,EAAE;AAC9DpE,MAAAA,gBAAgB,CAACoE,kBAAkB,GACjCpE,gBAAgB,CAACqE,WAAW,KAAK,QAAQ,CAAA;AAC7C,KAAA;AACA,IAAA,IAAI,OAAOrE,gBAAgB,CAACwC,YAAY,KAAK,WAAW,EAAE;AACxDxC,MAAAA,gBAAgB,CAACwC,YAAY,GAAG,CAAC,CAACxC,gBAAgB,CAACsE,QAAQ,CAAA;AAC7D,KAAA;AAEA,IAAA,OAAOtE,gBAAgB,CAAA;AAOzB,GAAA;EAEAuE,sBAAsBA,CACpBpF,OAAW,EACR;AACH,IAAA,IAAIA,OAAO,IAAA,IAAA,IAAPA,OAAO,CAAE6E,UAAU,EAAE;AACvB,MAAA,OAAO7E,OAAO,CAAA;AAChB,KAAA;IACA,OAAO;AACL,MAAA,GAAGrC,oDAAA,CAAI,IAAA,EAAAb,eAAA,CAAAA,CAAAA,eAAA,EAAiBuI,SAAS;AACjC,MAAA,IAAI,CAAArF,OAAO,IAAPA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAE2E,WAAW,KACtB,IAAI,CAACC,mBAAmB,CAAC5E,OAAO,CAAC2E,WAAW,CAAC,CAAC;AAChD,MAAA,GAAG3E,OAAO;AACV6E,MAAAA,UAAU,EAAE,IAAA;KACb,CAAA;AACH,GAAA;AAEAS,EAAAA,KAAKA,GAAS;IACZ3H,oDAAA,CAAA,IAAI,EAAAhB,WAAA,CAAA,CAAAA,WAAA,CAAa2I,CAAAA,KAAK,EAAE,CAAA;IACxB3H,oDAAA,CAAA,IAAI,EAAAd,cAAA,CAAA,CAAAA,cAAA,CAAgByI,CAAAA,KAAK,EAAE,CAAA;AAC7B,GAAA;AACF;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryClient.mjs","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} 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'\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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"}
|
|
1
|
+
{"version":3,"file":"queryClient.mjs","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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"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import type { DefaultedQueryObserverOptions, DefaultError } from './types';
|
|
2
|
-
import type { QueryKey, QueryObserverOptions, QueryObserverResult, RefetchOptions } from './types';
|
|
1
|
+
import type { DefaultedQueryObserverOptions, DefaultError, QueryKey, QueryObserverOptions, QueryObserverResult, RefetchOptions } from './types';
|
|
3
2
|
import type { Query, FetchOptions } from './query';
|
|
4
3
|
import type { QueryClient } from './queryClient';
|
|
5
4
|
import { Subscribable } from './subscribable';
|
|
6
|
-
|
|
5
|
+
type QueryObserverListener<TData, TError> = (result: QueryObserverResult<TData, TError>) => void;
|
|
7
6
|
export interface NotifyOptions {
|
|
8
7
|
listeners?: boolean;
|
|
9
8
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queryObserver.d.ts","sourceRoot":"","sources":["../../src/queryObserver.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,9 +30,6 @@ var _updateResult = /*#__PURE__*/_classPrivateFieldLooseKey("updateResult");
|
|
|
30
30
|
var _updateQuery = /*#__PURE__*/_classPrivateFieldLooseKey("updateQuery");
|
|
31
31
|
var _notify = /*#__PURE__*/_classPrivateFieldLooseKey("notify");
|
|
32
32
|
class QueryObserver extends Subscribable {
|
|
33
|
-
// This property keeps track of the last query with defined data.
|
|
34
|
-
// It will be used to pass the previous data and query to the placeholder function between renders.
|
|
35
|
-
|
|
36
33
|
constructor(client, options) {
|
|
37
34
|
super();
|
|
38
35
|
Object.defineProperty(this, _notify, {
|
|
@@ -101,6 +98,8 @@ class QueryObserver extends Subscribable {
|
|
|
101
98
|
writable: true,
|
|
102
99
|
value: void 0
|
|
103
100
|
});
|
|
101
|
+
// This property keeps track of the last query with defined data.
|
|
102
|
+
// It will be used to pass the previous data and query to the placeholder function between renders.
|
|
104
103
|
Object.defineProperty(this, _lastQueryWithDefinedData, {
|
|
105
104
|
writable: true,
|
|
106
105
|
value: void 0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryObserver.esm.js","sources":["../../src/queryObserver.ts"],"sourcesContent":["import type { DefaultedQueryObserverOptions, DefaultError } 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, FetchOptions } from './query'\nimport type { QueryClient } from './queryClient'\nimport { focusManager } from './focusManager'\nimport { Subscribable } from './subscribable'\nimport { canFetch } from './retryer'\n\ntype QueryObserverListener<TData, TError> = (\n result: QueryObserverResult<TData, TError>,\n) => void\n\nexport interface NotifyOptions {\n listeners?: boolean\n}\n\nexport interface ObserverFetchOptions extends FetchOptions {\n throwOnError?: boolean\n}\n\nexport class QueryObserver<\n TQueryFnData = unknown,\n TError = DefaultError,\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 #client: QueryClient\n #currentQuery: Query<TQueryFnData, TError, TQueryData, TQueryKey> = undefined!\n #currentQueryInitialState: QueryState<TQueryData, TError> = undefined!\n #currentResult: QueryObserverResult<TData, TError> = undefined!\n #currentResultState?: QueryState<TQueryData, TError>\n #currentResultOptions?: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n #selectError: TError | null\n #selectFn?: (data: TQueryData) => TData\n #selectResult?: TData\n // This property keeps track of the last query with defined data.\n // It will be used to pass the previous data and query to the placeholder function between renders.\n #lastQueryWithDefinedData?: Query<TQueryFnData, TError, TQueryData, TQueryKey>\n #staleTimeoutId?: ReturnType<typeof setTimeout>\n #refetchIntervalId?: ReturnType<typeof setInterval>\n #currentRefetchInterval?: number | false\n #trackedProps: Set<keyof QueryObserverResult> = new Set()\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.#selectError = null\n this.bindMethods()\n this.setOptions(options)\n }\n\n protected bindMethods(): void {\n this.refetch = this.refetch.bind(this)\n }\n\n protected onSubscribe(): void {\n if (this.listeners.size === 1) {\n this.#currentQuery.addObserver(this)\n\n if (shouldFetchOnMount(this.#currentQuery, this.options)) {\n this.#executeFetch()\n }\n\n this.#updateTimers()\n }\n }\n\n protected onUnsubscribe(): void {\n if (!this.hasListeners()) {\n this.destroy()\n }\n }\n\n shouldFetchOnReconnect(): boolean {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnReconnect,\n )\n }\n\n shouldFetchOnWindowFocus(): boolean {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnWindowFocus,\n )\n }\n\n destroy(): void {\n this.listeners = new Set()\n this.#clearStaleTimeout()\n this.#clearRefetchInterval()\n this.#currentQuery.removeObserver(this)\n }\n\n setOptions(\n options?: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n notifyOptions?: NotifyOptions,\n ): void {\n const prevOptions = this.options\n const prevQuery = this.#currentQuery\n\n this.options = this.#client.defaultQueryOptions(options)\n\n if (!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 refetch({ ...options }: RefetchOptions = {}): Promise<\n QueryObserverResult<TData, TError>\n > {\n return this.fetch({\n ...options,\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 #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 #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 #computeRefetchInterval() {\n return (\n (typeof this.options.refetchInterval === 'function'\n ? this.options.refetchInterval(\n this.#currentResult.data,\n this.#currentQuery,\n )\n : this.options.refetchInterval) ?? false\n )\n }\n\n #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 #updateTimers(): void {\n this.#updateStaleTimeout()\n this.#updateRefetchInterval(this.#computeRefetchInterval())\n }\n\n #clearStaleTimeout(): void {\n if (this.#staleTimeoutId) {\n clearTimeout(this.#staleTimeoutId)\n this.#staleTimeoutId = undefined\n }\n }\n\n #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\n const { state } = query\n let { error, errorUpdatedAt, fetchStatus, status } = state\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 (!state.dataUpdatedAt) {\n status = 'pending'\n }\n }\n if (options._optimisticResults === 'isRestoring') {\n fetchStatus = 'idle'\n }\n }\n\n // Select data if needed\n 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 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 === 'pending'\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 ? (\n options.placeholderData as unknown as PlaceholderDataFunction<TQueryData>\n )(\n this.#lastQueryWithDefinedData?.state.data,\n this.#lastQueryWithDefinedData as any,\n )\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 this.#selectError = selectError as TError\n }\n }\n }\n\n if (typeof placeholderData !== 'undefined') {\n status = 'success'\n data = replaceData(\n prevResult?.data,\n placeholderData as unknown,\n options,\n ) 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 isPending = status === 'pending'\n const isError = status === 'error'\n\n const isLoading = isPending && isFetching\n\n const result: QueryObserverBaseResult<TData, TError> = {\n status,\n fetchStatus,\n isPending,\n isSuccess: status === 'success',\n isError,\n isInitialLoading: isLoading,\n isLoading,\n data,\n dataUpdatedAt: state.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 && !isPending,\n isLoadingError: isError && state.dataUpdatedAt === 0,\n isPaused: fetchStatus === 'paused',\n isPlaceholderData,\n isRefetchError: isError && state.dataUpdatedAt !== 0,\n isStale: isStale(query, options),\n refetch: this.refetch,\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 if (this.#currentResultState.data !== undefined) {\n this.#lastQueryWithDefinedData = this.#currentQuery\n }\n this.#currentResult = nextResult\n\n // Determine which callbacks to trigger\n const defaultNotifyOptions: NotifyOptions = {}\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.throwOnError) {\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 #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\n if (this.hasListeners()) {\n prevQuery?.removeObserver(this)\n query.addObserver(this)\n }\n }\n\n onQueryUpdate(): void {\n this.#updateResult()\n\n if (this.hasListeners()) {\n this.#updateTimers()\n }\n }\n\n #notify(notifyOptions: NotifyOptions): void {\n notifyManager.batch(() => {\n // First, 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 this.#client.getQueryCache().notify({\n query: this.#currentQuery,\n type: 'observerResultsUpdated',\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","undefined","Set","bindMethods","setOptions","refetch","bind","onSubscribe","listeners","size","addObserver","shouldFetchOnMount","onUnsubscribe","hasListeners","destroy","shouldFetchOnReconnect","shouldFetchOn","refetchOnReconnect","shouldFetchOnWindowFocus","refetchOnWindowFocus","removeObserver","notifyOptions","prevOptions","prevQuery","defaultQueryOptions","shallowEqualObjects","getQueryCache","notify","type","query","observer","enabled","Error","queryKey","mounted","shouldFetchOptionally","staleTime","nextRefetchInterval","getOptimisticResult","build","createResult","getCurrentResult","trackResult","result","trackedResult","Object","keys","forEach","key","defineProperty","configurable","enumerable","get","add","getCurrentQuery","fetch","fetchOptimistic","defaultedOptions","isFetchingOptimistic","then","fetchOptions","cancelRefetch","prevResult","prevResultState","prevResultOptions","queryChange","queryInitialState","state","error","errorUpdatedAt","fetchStatus","status","isPlaceholderData","data","_optimisticResults","fetchOnMount","fetchOptionally","canFetch","networkMode","dataUpdatedAt","select","replaceData","selectError","placeholderData","Date","now","isFetching","isPending","isError","isLoading","isSuccess","isInitialLoading","failureCount","fetchFailureCount","failureReason","fetchFailureReason","errorUpdateCount","isFetched","dataUpdateCount","isFetchedAfterMount","isRefetching","isLoadingError","isPaused","isRefetchError","isStale","onQueryUpdate","promise","throwOnError","catch","noop","isServer","isValidTimeout","time","timeUntilStale","timeout","setTimeout","refetchInterval","nextInterval","setInterval","refetchIntervalInBackground","focusManager","isFocused","clearTimeout","clearInterval","nextResult","defaultNotifyOptions","shouldNotifyListeners","notifyOnChangeProps","includedProps","some","typedKey","changed","has","notifyManager","batch","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 {\n DefaultedQueryObserverOptions,\n DefaultError,\n PlaceholderDataFunction,\n QueryKey,\n QueryObserverBaseResult,\n QueryObserverOptions,\n QueryObserverResult,\n QueryOptions,\n RefetchOptions,\n} from './types'\nimport {\n isServer,\n isValidTimeout,\n noop,\n replaceData,\n shallowEqualObjects,\n timeUntilStale,\n} from './utils'\nimport { notifyManager } from './notifyManager'\nimport type { Query, QueryState, FetchOptions } from './query'\nimport type { QueryClient } from './queryClient'\nimport { focusManager } from './focusManager'\nimport { Subscribable } from './subscribable'\nimport { canFetch } from './retryer'\n\ntype QueryObserverListener<TData, TError> = (\n result: QueryObserverResult<TData, TError>,\n) => void\n\nexport interface NotifyOptions {\n listeners?: boolean\n}\n\nexport interface ObserverFetchOptions extends FetchOptions {\n throwOnError?: boolean\n}\n\nexport class QueryObserver<\n TQueryFnData = unknown,\n TError = DefaultError,\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 #client: QueryClient\n #currentQuery: Query<TQueryFnData, TError, TQueryData, TQueryKey> = undefined!\n #currentQueryInitialState: QueryState<TQueryData, TError> = undefined!\n #currentResult: QueryObserverResult<TData, TError> = undefined!\n #currentResultState?: QueryState<TQueryData, TError>\n #currentResultOptions?: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n #selectError: TError | null\n #selectFn?: (data: TQueryData) => TData\n #selectResult?: TData\n // This property keeps track of the last query with defined data.\n // It will be used to pass the previous data and query to the placeholder function between renders.\n #lastQueryWithDefinedData?: Query<TQueryFnData, TError, TQueryData, TQueryKey>\n #staleTimeoutId?: ReturnType<typeof setTimeout>\n #refetchIntervalId?: ReturnType<typeof setInterval>\n #currentRefetchInterval?: number | false\n #trackedProps: Set<keyof QueryObserverResult> = new Set()\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.#selectError = null\n this.bindMethods()\n this.setOptions(options)\n }\n\n protected bindMethods(): void {\n this.refetch = this.refetch.bind(this)\n }\n\n protected onSubscribe(): void {\n if (this.listeners.size === 1) {\n this.#currentQuery.addObserver(this)\n\n if (shouldFetchOnMount(this.#currentQuery, this.options)) {\n this.#executeFetch()\n }\n\n this.#updateTimers()\n }\n }\n\n protected onUnsubscribe(): void {\n if (!this.hasListeners()) {\n this.destroy()\n }\n }\n\n shouldFetchOnReconnect(): boolean {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnReconnect,\n )\n }\n\n shouldFetchOnWindowFocus(): boolean {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnWindowFocus,\n )\n }\n\n destroy(): void {\n this.listeners = new Set()\n this.#clearStaleTimeout()\n this.#clearRefetchInterval()\n this.#currentQuery.removeObserver(this)\n }\n\n setOptions(\n options?: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n notifyOptions?: NotifyOptions,\n ): void {\n const prevOptions = this.options\n const prevQuery = this.#currentQuery\n\n this.options = this.#client.defaultQueryOptions(options)\n\n if (!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 refetch({ ...options }: RefetchOptions = {}): Promise<\n QueryObserverResult<TData, TError>\n > {\n return this.fetch({\n ...options,\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 #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 #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 #computeRefetchInterval() {\n return (\n (typeof this.options.refetchInterval === 'function'\n ? this.options.refetchInterval(\n this.#currentResult.data,\n this.#currentQuery,\n )\n : this.options.refetchInterval) ?? false\n )\n }\n\n #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 #updateTimers(): void {\n this.#updateStaleTimeout()\n this.#updateRefetchInterval(this.#computeRefetchInterval())\n }\n\n #clearStaleTimeout(): void {\n if (this.#staleTimeoutId) {\n clearTimeout(this.#staleTimeoutId)\n this.#staleTimeoutId = undefined\n }\n }\n\n #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\n const { state } = query\n let { error, errorUpdatedAt, fetchStatus, status } = state\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 (!state.dataUpdatedAt) {\n status = 'pending'\n }\n }\n if (options._optimisticResults === 'isRestoring') {\n fetchStatus = 'idle'\n }\n }\n\n // Select data if needed\n 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 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 === 'pending'\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 ? (\n options.placeholderData as unknown as PlaceholderDataFunction<TQueryData>\n )(\n this.#lastQueryWithDefinedData?.state.data,\n this.#lastQueryWithDefinedData as any,\n )\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 this.#selectError = selectError as TError\n }\n }\n }\n\n if (typeof placeholderData !== 'undefined') {\n status = 'success'\n data = replaceData(\n prevResult?.data,\n placeholderData as unknown,\n options,\n ) 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 isPending = status === 'pending'\n const isError = status === 'error'\n\n const isLoading = isPending && isFetching\n\n const result: QueryObserverBaseResult<TData, TError> = {\n status,\n fetchStatus,\n isPending,\n isSuccess: status === 'success',\n isError,\n isInitialLoading: isLoading,\n isLoading,\n data,\n dataUpdatedAt: state.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 && !isPending,\n isLoadingError: isError && state.dataUpdatedAt === 0,\n isPaused: fetchStatus === 'paused',\n isPlaceholderData,\n isRefetchError: isError && state.dataUpdatedAt !== 0,\n isStale: isStale(query, options),\n refetch: this.refetch,\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 if (this.#currentResultState.data !== undefined) {\n this.#lastQueryWithDefinedData = this.#currentQuery\n }\n this.#currentResult = nextResult\n\n // Determine which callbacks to trigger\n const defaultNotifyOptions: NotifyOptions = {}\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.throwOnError) {\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 #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\n if (this.hasListeners()) {\n prevQuery?.removeObserver(this)\n query.addObserver(this)\n }\n }\n\n onQueryUpdate(): void {\n this.#updateResult()\n\n if (this.hasListeners()) {\n this.#updateTimers()\n }\n }\n\n #notify(notifyOptions: NotifyOptions): void {\n notifyManager.batch(() => {\n // First, 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 this.#client.getQueryCache().notify({\n query: this.#currentQuery,\n type: 'observerResultsUpdated',\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":["_client","_classPrivateFieldLooseKey","_currentQuery","_currentQueryInitialState","_currentResult","_currentResultState","_currentResultOptions","_selectError","_selectFn","_selectResult","_lastQueryWithDefinedData","_staleTimeoutId","_refetchIntervalId","_currentRefetchInterval","_trackedProps","_executeFetch","_updateStaleTimeout","_computeRefetchInterval","_updateRefetchInterval","_updateTimers","_clearStaleTimeout","_clearRefetchInterval","_updateResult","_updateQuery","_notify","QueryObserver","Subscribable","constructor","client","options","Object","defineProperty","value","_notify2","_updateQuery2","_updateResult2","_clearRefetchInterval2","_clearStaleTimeout2","_updateTimers2","_updateRefetchInterval2","_computeRefetchInterval2","_updateStaleTimeout2","_executeFetch2","writable","undefined","Set","_classPrivateFieldLooseBase","bindMethods","setOptions","refetch","bind","onSubscribe","listeners","size","addObserver","shouldFetchOnMount","onUnsubscribe","hasListeners","destroy","shouldFetchOnReconnect","shouldFetchOn","refetchOnReconnect","shouldFetchOnWindowFocus","refetchOnWindowFocus","removeObserver","notifyOptions","prevOptions","prevQuery","defaultQueryOptions","shallowEqualObjects","getQueryCache","notify","type","query","observer","enabled","Error","queryKey","mounted","shouldFetchOptionally","staleTime","nextRefetchInterval","getOptimisticResult","build","createResult","getCurrentResult","trackResult","result","trackedResult","keys","forEach","key","configurable","enumerable","get","add","getCurrentQuery","fetch","fetchOptimistic","defaultedOptions","isFetchingOptimistic","then","fetchOptions","_fetchOptions$cancelR","cancelRefetch","prevResult","prevResultState","prevResultOptions","queryChange","queryInitialState","state","error","errorUpdatedAt","fetchStatus","status","isPlaceholderData","data","_optimisticResults","fetchOnMount","fetchOptionally","canFetch","networkMode","dataUpdatedAt","select","replaceData","selectError","placeholderData","_classPrivateFieldLoo","Date","now","isFetching","isPending","isError","isLoading","isSuccess","isInitialLoading","failureCount","fetchFailureCount","failureReason","fetchFailureReason","errorUpdateCount","isFetched","dataUpdateCount","isFetchedAfterMount","isRefetching","isLoadingError","isPaused","isRefetchError","isStale","onQueryUpdate","promise","throwOnError","catch","noop","isServer","isValidTimeout","time","timeUntilStale","timeout","setTimeout","_ref","refetchInterval","nextInterval","setInterval","refetchIntervalInBackground","focusManager","isFocused","clearTimeout","clearInterval","nextResult","defaultNotifyOptions","shouldNotifyListeners","notifyOnChangeProps","includedProps","some","typedKey","changed","has","notifyManager","batch","listener","shouldLoadOnMount","retryOnMount","refetchOnMount","field","suspense","isStaleByTime"],"mappings":"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"}
|
|
@@ -32,9 +32,6 @@ var _updateResult = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLoos
|
|
|
32
32
|
var _updateQuery = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("updateQuery");
|
|
33
33
|
var _notify = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("notify");
|
|
34
34
|
class QueryObserver extends subscribable.Subscribable {
|
|
35
|
-
// This property keeps track of the last query with defined data.
|
|
36
|
-
// It will be used to pass the previous data and query to the placeholder function between renders.
|
|
37
|
-
|
|
38
35
|
constructor(client, options) {
|
|
39
36
|
super();
|
|
40
37
|
Object.defineProperty(this, _notify, {
|
|
@@ -103,6 +100,8 @@ class QueryObserver extends subscribable.Subscribable {
|
|
|
103
100
|
writable: true,
|
|
104
101
|
value: void 0
|
|
105
102
|
});
|
|
103
|
+
// This property keeps track of the last query with defined data.
|
|
104
|
+
// It will be used to pass the previous data and query to the placeholder function between renders.
|
|
106
105
|
Object.defineProperty(this, _lastQueryWithDefinedData, {
|
|
107
106
|
writable: true,
|
|
108
107
|
value: void 0
|