@tanstack/query-core 5.0.0-alpha.6 → 5.0.0-alpha.63
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/_virtual/{_rollupPluginBabelHelpers.js → _rollupPluginBabelHelpers.legacy.cjs} +1 -1
- package/build/lib/_virtual/_rollupPluginBabelHelpers.legacy.cjs.map +1 -0
- package/build/lib/_virtual/{_rollupPluginBabelHelpers.esm.js → _rollupPluginBabelHelpers.legacy.js} +1 -1
- package/build/lib/_virtual/_rollupPluginBabelHelpers.legacy.js.map +1 -0
- package/build/lib/{focusManager.mjs → focusManager.cjs} +9 -6
- package/build/lib/{focusManager.mjs.map → focusManager.cjs.map} +1 -1
- package/build/lib/focusManager.d.ts +2 -1
- package/build/lib/focusManager.d.ts.map +1 -0
- package/build/lib/focusManager.js +20 -39
- package/build/lib/focusManager.js.map +1 -1
- package/build/lib/focusManager.legacy.cjs +90 -0
- package/build/lib/focusManager.legacy.cjs.map +1 -0
- package/build/lib/{focusManager.esm.js → focusManager.legacy.js} +4 -4
- package/build/lib/focusManager.legacy.js.map +1 -0
- package/build/lib/{hydration.mjs → hydration.cjs} +11 -20
- package/build/lib/hydration.cjs.map +1 -0
- package/build/lib/hydration.d.ts +3 -6
- package/build/lib/hydration.d.ts.map +1 -0
- package/build/lib/hydration.js +7 -28
- package/build/lib/hydration.js.map +1 -1
- package/build/lib/hydration.legacy.cjs +92 -0
- package/build/lib/hydration.legacy.cjs.map +1 -0
- package/build/lib/{hydration.esm.js → hydration.legacy.js} +6 -19
- package/build/lib/hydration.legacy.js.map +1 -0
- package/build/lib/index.cjs +40 -0
- package/build/lib/index.cjs.map +1 -0
- package/build/lib/index.d.ts +5 -3
- package/build/lib/index.d.ts.map +1 -0
- package/build/lib/index.js +13 -39
- package/build/lib/index.js.map +1 -1
- package/build/lib/index.legacy.cjs +40 -0
- package/build/lib/index.legacy.cjs.map +1 -0
- package/build/lib/index.legacy.js +14 -0
- package/build/lib/index.legacy.js.map +1 -0
- package/build/lib/{infiniteQueryBehavior.mjs → infiniteQueryBehavior.cjs} +8 -4
- package/build/lib/{infiniteQueryBehavior.mjs.map → infiniteQueryBehavior.cjs.map} +1 -1
- package/build/lib/infiniteQueryBehavior.d.ts +1 -0
- package/build/lib/infiniteQueryBehavior.d.ts.map +1 -0
- package/build/lib/infiniteQueryBehavior.js +7 -12
- package/build/lib/infiniteQueryBehavior.js.map +1 -1
- package/build/lib/infiniteQueryBehavior.legacy.cjs +131 -0
- package/build/lib/infiniteQueryBehavior.legacy.cjs.map +1 -0
- package/build/lib/{infiniteQueryBehavior.esm.js → infiniteQueryBehavior.legacy.js} +2 -2
- package/build/lib/infiniteQueryBehavior.legacy.js.map +1 -0
- package/build/lib/{infiniteQueryObserver.mjs → infiniteQueryObserver.cjs} +11 -9
- package/build/lib/{infiniteQueryObserver.mjs.map → infiniteQueryObserver.cjs.map} +1 -1
- package/build/lib/infiniteQueryObserver.d.ts +2 -1
- package/build/lib/infiniteQueryObserver.d.ts.map +1 -0
- package/build/lib/infiniteQueryObserver.js +10 -13
- package/build/lib/infiniteQueryObserver.js.map +1 -1
- package/build/lib/infiniteQueryObserver.legacy.cjs +78 -0
- package/build/lib/infiniteQueryObserver.legacy.cjs.map +1 -0
- package/build/lib/{infiniteQueryObserver.esm.js → infiniteQueryObserver.legacy.js} +3 -3
- package/build/lib/infiniteQueryObserver.legacy.js.map +1 -0
- package/build/lib/{mutation.mjs → mutation.cjs} +13 -10
- package/build/lib/mutation.cjs.map +1 -0
- package/build/lib/mutation.d.ts +2 -1
- package/build/lib/mutation.d.ts.map +1 -0
- package/build/lib/mutation.js +107 -135
- package/build/lib/mutation.js.map +1 -1
- package/build/lib/mutation.legacy.cjs +262 -0
- package/build/lib/mutation.legacy.cjs.map +1 -0
- package/build/lib/{mutation.esm.js → mutation.legacy.js} +6 -6
- package/build/lib/mutation.legacy.js.map +1 -0
- package/build/lib/{mutationCache.mjs → mutationCache.cjs} +21 -18
- package/build/lib/mutationCache.cjs.map +1 -0
- package/build/lib/mutationCache.d.ts +3 -2
- package/build/lib/mutationCache.d.ts.map +1 -0
- package/build/lib/mutationCache.js +33 -47
- package/build/lib/mutationCache.js.map +1 -1
- package/build/lib/mutationCache.legacy.cjs +98 -0
- package/build/lib/mutationCache.legacy.cjs.map +1 -0
- package/build/lib/{mutationCache.esm.js → mutationCache.legacy.js} +11 -10
- package/build/lib/mutationCache.legacy.js.map +1 -0
- package/build/lib/{mutationObserver.mjs → mutationObserver.cjs} +13 -11
- package/build/lib/mutationObserver.cjs.map +1 -0
- package/build/lib/mutationObserver.d.ts +2 -1
- package/build/lib/mutationObserver.d.ts.map +1 -0
- package/build/lib/mutationObserver.js +59 -91
- package/build/lib/mutationObserver.js.map +1 -1
- package/build/lib/mutationObserver.legacy.cjs +128 -0
- package/build/lib/mutationObserver.legacy.cjs.map +1 -0
- package/build/lib/{mutationObserver.esm.js → mutationObserver.legacy.js} +7 -7
- package/build/lib/mutationObserver.legacy.js.map +1 -0
- package/build/lib/{notifyManager.mjs → notifyManager.cjs} +8 -5
- package/build/lib/{notifyManager.mjs.map → notifyManager.cjs.map} +1 -1
- package/build/lib/notifyManager.d.ts +4 -3
- package/build/lib/notifyManager.d.ts.map +1 -0
- package/build/lib/notifyManager.js +4 -7
- package/build/lib/notifyManager.js.map +1 -1
- package/build/lib/notifyManager.legacy.cjs +92 -0
- package/build/lib/notifyManager.legacy.cjs.map +1 -0
- package/build/lib/{notifyManager.esm.js → notifyManager.legacy.js} +2 -2
- package/build/lib/notifyManager.legacy.js.map +1 -0
- package/build/lib/{onlineManager.mjs → onlineManager.cjs} +16 -10
- package/build/lib/onlineManager.cjs.map +1 -0
- package/build/lib/onlineManager.d.ts +2 -1
- package/build/lib/onlineManager.d.ts.map +1 -0
- package/build/lib/onlineManager.js +26 -41
- package/build/lib/onlineManager.js.map +1 -1
- package/build/lib/onlineManager.legacy.cjs +94 -0
- package/build/lib/onlineManager.legacy.cjs.map +1 -0
- package/build/lib/{onlineManager.esm.js → onlineManager.legacy.js} +11 -8
- package/build/lib/onlineManager.legacy.js.map +1 -0
- package/build/lib/{queriesObserver.mjs → queriesObserver.cjs} +51 -26
- package/build/lib/queriesObserver.cjs.map +1 -0
- package/build/lib/queriesObserver.d.ts +14 -6
- package/build/lib/queriesObserver.d.ts.map +1 -0
- package/build/lib/queriesObserver.js +99 -107
- package/build/lib/queriesObserver.js.map +1 -1
- package/build/lib/queriesObserver.legacy.cjs +207 -0
- package/build/lib/queriesObserver.legacy.cjs.map +1 -0
- package/build/lib/{queriesObserver.esm.js → queriesObserver.legacy.js} +62 -22
- package/build/lib/queriesObserver.legacy.js.map +1 -0
- package/build/lib/{query.mjs → query.cjs} +22 -20
- package/build/lib/query.cjs.map +1 -0
- package/build/lib/query.d.ts +3 -2
- package/build/lib/query.d.ts.map +1 -0
- package/build/lib/query.js +173 -224
- package/build/lib/query.js.map +1 -1
- package/build/lib/query.legacy.cjs +471 -0
- package/build/lib/query.legacy.cjs.map +1 -0
- package/build/lib/{query.esm.js → query.legacy.js} +10 -10
- package/build/lib/query.legacy.js.map +1 -0
- package/build/lib/{queryCache.mjs → queryCache.cjs} +28 -23
- package/build/lib/queryCache.cjs.map +1 -0
- package/build/lib/queryCache.d.ts +3 -3
- package/build/lib/queryCache.d.ts.map +1 -0
- package/build/lib/queryCache.js +31 -37
- package/build/lib/queryCache.js.map +1 -1
- package/build/lib/queryCache.legacy.cjs +111 -0
- package/build/lib/queryCache.legacy.cjs.map +1 -0
- package/build/lib/{queryCache.esm.js → queryCache.legacy.js} +13 -12
- package/build/lib/queryCache.legacy.js.map +1 -0
- package/build/lib/{queryClient.mjs → queryClient.cjs} +50 -42
- package/build/lib/queryClient.cjs.map +1 -0
- package/build/lib/queryClient.d.ts +2 -2
- package/build/lib/queryClient.d.ts.map +1 -0
- package/build/lib/queryClient.js +98 -134
- package/build/lib/queryClient.js.map +1 -1
- package/build/lib/queryClient.legacy.cjs +322 -0
- package/build/lib/queryClient.legacy.cjs.map +1 -0
- package/build/lib/{queryClient.esm.js → queryClient.legacy.js} +28 -25
- package/build/lib/queryClient.legacy.js.map +1 -0
- package/build/lib/{queryObserver.mjs → queryObserver.cjs} +40 -50
- package/build/lib/queryObserver.cjs.map +1 -0
- package/build/lib/queryObserver.d.ts +6 -7
- package/build/lib/queryObserver.d.ts.map +1 -0
- package/build/lib/queryObserver.js +208 -323
- package/build/lib/queryObserver.js.map +1 -1
- package/build/lib/queryObserver.legacy.cjs +526 -0
- package/build/lib/queryObserver.legacy.cjs.map +1 -0
- package/build/lib/{queryObserver.esm.js → queryObserver.legacy.js} +71 -88
- package/build/lib/queryObserver.legacy.js.map +1 -0
- package/build/lib/{removable.mjs → removable.cjs} +7 -5
- package/build/lib/{removable.mjs.map → removable.cjs.map} +1 -1
- package/build/lib/removable.d.ts +1 -0
- package/build/lib/removable.d.ts.map +1 -0
- package/build/lib/removable.js +9 -18
- package/build/lib/removable.js.map +1 -1
- package/build/lib/removable.legacy.cjs +38 -0
- package/build/lib/removable.legacy.cjs.map +1 -0
- package/build/lib/{removable.esm.js → removable.legacy.js} +3 -3
- package/build/lib/removable.legacy.js.map +1 -0
- package/build/lib/{retryer.mjs → retryer.cjs} +15 -8
- package/build/lib/{retryer.mjs.map → retryer.cjs.map} +1 -1
- package/build/lib/retryer.d.ts +5 -4
- package/build/lib/retryer.d.ts.map +1 -0
- package/build/lib/retryer.js +21 -25
- package/build/lib/retryer.js.map +1 -1
- package/build/lib/retryer.legacy.cjs +158 -0
- package/build/lib/retryer.legacy.cjs.map +1 -0
- package/build/lib/{retryer.esm.js → retryer.legacy.js} +6 -4
- package/build/lib/retryer.legacy.js.map +1 -0
- package/build/lib/{subscribable.esm.js → subscribable.cjs} +8 -6
- package/build/lib/subscribable.cjs.map +1 -0
- package/build/lib/subscribable.d.ts +3 -2
- package/build/lib/subscribable.d.ts.map +1 -0
- package/build/lib/subscribable.js +5 -7
- package/build/lib/subscribable.js.map +1 -1
- package/build/lib/subscribable.legacy.cjs +28 -0
- package/build/lib/subscribable.legacy.cjs.map +1 -0
- package/build/lib/{subscribable.mjs → subscribable.legacy.js} +5 -5
- package/build/lib/subscribable.legacy.js.map +1 -0
- package/build/lib/tests/focusManager.test.d.ts +1 -0
- package/build/lib/tests/focusManager.test.d.ts.map +1 -0
- package/build/lib/tests/hydration.test.d.ts +1 -0
- package/build/lib/tests/hydration.test.d.ts.map +1 -0
- package/build/lib/tests/infiniteQueryBehavior.test.d.ts +1 -0
- package/build/lib/tests/infiniteQueryBehavior.test.d.ts.map +1 -0
- package/build/lib/tests/infiniteQueryObserver.test.d.ts +1 -0
- package/build/lib/tests/infiniteQueryObserver.test.d.ts.map +1 -0
- package/build/lib/tests/mutationCache.test.d.ts +1 -0
- package/build/lib/tests/mutationCache.test.d.ts.map +1 -0
- package/build/lib/tests/mutationObserver.test.d.ts +1 -0
- package/build/lib/tests/mutationObserver.test.d.ts.map +1 -0
- package/build/lib/tests/mutations.test.d.ts +1 -0
- package/build/lib/tests/mutations.test.d.ts.map +1 -0
- package/build/lib/tests/notifyManager.test.d.ts +1 -0
- package/build/lib/tests/notifyManager.test.d.ts.map +1 -0
- package/build/lib/tests/onlineManager.test.d.ts +1 -0
- package/build/lib/tests/onlineManager.test.d.ts.map +1 -0
- package/build/lib/tests/queriesObserver.test.d.ts +1 -0
- package/build/lib/tests/queriesObserver.test.d.ts.map +1 -0
- package/build/lib/tests/query.test.d.ts +1 -0
- package/build/lib/tests/query.test.d.ts.map +1 -0
- package/build/lib/tests/queryCache.test.d.ts +1 -0
- package/build/lib/tests/queryCache.test.d.ts.map +1 -0
- package/build/lib/tests/queryClient.test.d.ts +1 -0
- package/build/lib/tests/queryClient.test.d.ts.map +1 -0
- package/build/lib/tests/queryObserver.test.d.ts +1 -0
- package/build/lib/tests/queryObserver.test.d.ts.map +1 -0
- package/build/lib/tests/utils.d.ts +3 -2
- package/build/lib/tests/utils.d.ts.map +1 -0
- package/build/lib/tests/utils.test.d.ts +1 -0
- package/build/lib/tests/utils.test.d.ts.map +1 -0
- package/build/lib/types.d.ts +34 -46
- package/build/lib/types.d.ts.map +1 -0
- package/build/lib/{utils.mjs → utils.cjs} +23 -2
- package/build/lib/{utils.mjs.map → utils.cjs.map} +1 -1
- package/build/lib/utils.d.ts +4 -3
- package/build/lib/utils.d.ts.map +1 -0
- package/build/lib/utils.js +2 -23
- package/build/lib/utils.js.map +1 -1
- package/build/lib/utils.legacy.cjs +248 -0
- package/build/lib/utils.legacy.cjs.map +1 -0
- package/build/lib/{utils.esm.js → utils.legacy.js} +1 -1
- package/build/lib/utils.legacy.js.map +1 -0
- package/package.json +13 -9
- package/src/hydration.ts +18 -37
- package/src/index.ts +3 -4
- package/src/mutation.ts +1 -1
- package/src/mutationCache.ts +4 -4
- package/src/mutationObserver.ts +1 -1
- package/src/onlineManager.ts +8 -4
- package/src/queriesObserver.ts +75 -25
- package/src/query.ts +4 -4
- package/src/queryCache.ts +5 -8
- package/src/queryClient.ts +20 -20
- package/src/queryObserver.ts +47 -55
- package/src/subscribable.ts +5 -5
- package/src/tests/hydration.test.tsx +7 -3
- package/src/tests/query.test.tsx +1 -1
- package/src/tests/queryCache.test.tsx +1 -19
- package/src/tests/queryClient.test.tsx +39 -3
- package/src/tests/queryObserver.test.tsx +121 -0
- package/src/types.ts +14 -21
- package/build/lib/_virtual/_rollupPluginBabelHelpers.esm.js.map +0 -1
- package/build/lib/_virtual/_rollupPluginBabelHelpers.js.map +0 -1
- package/build/lib/focusManager.esm.js.map +0 -1
- package/build/lib/hydration.esm.js.map +0 -1
- package/build/lib/hydration.mjs.map +0 -1
- package/build/lib/index.esm.js +0 -14
- package/build/lib/index.esm.js.map +0 -1
- package/build/lib/index.mjs +0 -14
- package/build/lib/index.mjs.map +0 -1
- package/build/lib/infiniteQueryBehavior.esm.js.map +0 -1
- package/build/lib/infiniteQueryObserver.esm.js.map +0 -1
- package/build/lib/mutation.esm.js.map +0 -1
- package/build/lib/mutation.mjs.map +0 -1
- package/build/lib/mutationCache.esm.js.map +0 -1
- package/build/lib/mutationCache.mjs.map +0 -1
- package/build/lib/mutationObserver.esm.js.map +0 -1
- package/build/lib/mutationObserver.mjs.map +0 -1
- package/build/lib/notifyManager.esm.js.map +0 -1
- package/build/lib/onlineManager.esm.js.map +0 -1
- package/build/lib/onlineManager.mjs.map +0 -1
- package/build/lib/queriesObserver.esm.js.map +0 -1
- package/build/lib/queriesObserver.mjs.map +0 -1
- package/build/lib/query.esm.js.map +0 -1
- package/build/lib/query.mjs.map +0 -1
- package/build/lib/queryCache.esm.js.map +0 -1
- package/build/lib/queryCache.mjs.map +0 -1
- package/build/lib/queryClient.esm.js.map +0 -1
- package/build/lib/queryClient.mjs.map +0 -1
- package/build/lib/queryObserver.esm.js.map +0 -1
- package/build/lib/queryObserver.mjs.map +0 -1
- package/build/lib/removable.esm.js.map +0 -1
- package/build/lib/retryer.esm.js.map +0 -1
- package/build/lib/subscribable.esm.js.map +0 -1
- package/build/lib/subscribable.mjs.map +0 -1
- package/build/lib/utils.esm.js.map +0 -1
- package/build/umd/index.development.js +0 -2683
- package/build/umd/index.development.js.map +0 -1
- package/build/umd/index.production.js +0 -2
- package/build/umd/index.production.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query.legacy.cjs","sources":["../../src/query.ts"],"sourcesContent":["import { noop, replaceData, timeUntilStale } from './utils'\nimport type {\n InitialDataFunction,\n QueryKey,\n QueryOptions,\n QueryStatus,\n QueryFunctionContext,\n QueryMeta,\n CancelOptions,\n SetDataOptions,\n FetchStatus,\n DefaultError,\n} from './types'\nimport type { QueryCache } from './queryCache'\nimport type { QueryObserver } from './queryObserver'\nimport { notifyManager } from './notifyManager'\nimport type { Retryer } from './retryer'\nimport { isCancelledError, canFetch, createRetryer } from './retryer'\nimport { Removable } from './removable'\n\n// TYPES\n\ninterface QueryConfig<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n cache: QueryCache\n queryKey: TQueryKey\n queryHash: string\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n defaultOptions?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n state?: QueryState<TData, TError>\n}\n\nexport interface QueryState<TData = unknown, TError = DefaultError> {\n data: TData | undefined\n dataUpdateCount: number\n dataUpdatedAt: number\n error: TError | null\n errorUpdateCount: number\n errorUpdatedAt: number\n fetchFailureCount: number\n fetchFailureReason: TError | null\n fetchMeta: FetchMeta | null\n isInvalidated: boolean\n status: QueryStatus\n fetchStatus: FetchStatus\n}\n\nexport interface FetchContext<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n fetchFn: () => unknown | Promise<unknown>\n fetchOptions?: FetchOptions\n signal: AbortSignal\n options: QueryOptions<TQueryFnData, TError, TData, any>\n queryKey: TQueryKey\n state: QueryState<TData, TError>\n}\n\nexport interface QueryBehavior<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n onFetch: (\n context: FetchContext<TQueryFnData, TError, TData, TQueryKey>,\n ) => void\n}\n\nexport type FetchDirection = 'forward' | 'backward'\n\nexport interface FetchMeta {\n fetchMore?: { direction: FetchDirection }\n}\n\nexport interface FetchOptions {\n cancelRefetch?: boolean\n meta?: FetchMeta\n}\n\ninterface FailedAction<TError> {\n type: 'failed'\n failureCount: number\n error: TError\n}\n\ninterface FetchAction {\n type: 'fetch'\n meta?: FetchMeta\n}\n\ninterface SuccessAction<TData> {\n data: TData | undefined\n type: 'success'\n dataUpdatedAt?: number\n manual?: boolean\n}\n\ninterface ErrorAction<TError> {\n type: 'error'\n error: TError\n}\n\ninterface InvalidateAction {\n type: 'invalidate'\n}\n\ninterface PauseAction {\n type: 'pause'\n}\n\ninterface ContinueAction {\n type: 'continue'\n}\n\ninterface SetStateAction<TData, TError> {\n type: 'setState'\n state: Partial<QueryState<TData, TError>>\n setStateOptions?: SetStateOptions\n}\n\nexport type Action<TData, TError> =\n | ContinueAction\n | ErrorAction<TError>\n | FailedAction<TError>\n | FetchAction\n | InvalidateAction\n | PauseAction\n | SetStateAction<TData, TError>\n | SuccessAction<TData>\n\nexport interface SetStateOptions {\n meta?: any\n}\n\n// CLASS\n\nexport class Query<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends Removable {\n queryKey: TQueryKey\n queryHash: string\n options!: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n state: QueryState<TData, TError>\n isFetchingOptimistic?: boolean\n\n #initialState: QueryState<TData, TError>\n #revertState?: QueryState<TData, TError>\n #cache: QueryCache\n #promise?: Promise<TData>\n #retryer?: Retryer<TData>\n #observers: QueryObserver<any, any, any, any, any>[]\n #defaultOptions?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n #abortSignalConsumed: boolean\n\n constructor(config: QueryConfig<TQueryFnData, TError, TData, TQueryKey>) {\n super()\n\n this.#abortSignalConsumed = false\n this.#defaultOptions = config.defaultOptions\n this.#setOptions(config.options)\n this.#observers = []\n this.#cache = config.cache\n this.queryKey = config.queryKey\n this.queryHash = config.queryHash\n this.#initialState = config.state || getDefaultState(this.options)\n this.state = this.#initialState\n this.scheduleGc()\n }\n get meta(): QueryMeta | undefined {\n return this.options.meta\n }\n\n #setOptions(\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): void {\n this.options = { ...this.#defaultOptions, ...options }\n\n this.updateGcTime(this.options.gcTime)\n }\n\n protected optionalRemove() {\n if (!this.#observers.length && this.state.fetchStatus === 'idle') {\n this.#cache.remove(this)\n }\n }\n\n setData(\n newData: TData,\n options?: SetDataOptions & { manual: boolean },\n ): TData {\n const data = replaceData(this.state.data, newData, this.options)\n\n // Set data and mark it as cached\n this.#dispatch({\n data,\n type: 'success',\n dataUpdatedAt: options?.updatedAt,\n manual: options?.manual,\n })\n\n return data\n }\n\n setState(\n state: Partial<QueryState<TData, TError>>,\n setStateOptions?: SetStateOptions,\n ): void {\n this.#dispatch({ type: 'setState', state, setStateOptions })\n }\n\n cancel(options?: CancelOptions): Promise<void> {\n const promise = this.#promise\n this.#retryer?.cancel(options)\n return promise ? promise.then(noop).catch(noop) : Promise.resolve()\n }\n\n destroy(): void {\n super.destroy()\n\n this.cancel({ silent: true })\n }\n\n reset(): void {\n this.destroy()\n this.setState(this.#initialState)\n }\n\n isActive(): boolean {\n return this.#observers.some(\n (observer) => observer.options.enabled !== false,\n )\n }\n\n isDisabled(): boolean {\n return this.getObserversCount() > 0 && !this.isActive()\n }\n\n isStale(): boolean {\n return (\n this.state.isInvalidated ||\n !this.state.dataUpdatedAt ||\n this.#observers.some((observer) => observer.getCurrentResult().isStale)\n )\n }\n\n isStaleByTime(staleTime = 0): boolean {\n return (\n this.state.isInvalidated ||\n !this.state.dataUpdatedAt ||\n !timeUntilStale(this.state.dataUpdatedAt, staleTime)\n )\n }\n\n onFocus(): void {\n const observer = this.#observers.find((x) => x.shouldFetchOnWindowFocus())\n\n observer?.refetch({ cancelRefetch: false })\n\n // Continue fetch if currently paused\n this.#retryer?.continue()\n }\n\n onOnline(): void {\n const observer = this.#observers.find((x) => x.shouldFetchOnReconnect())\n\n observer?.refetch({ cancelRefetch: false })\n\n // Continue fetch if currently paused\n this.#retryer?.continue()\n }\n\n addObserver(observer: QueryObserver<any, any, any, any, any>): void {\n if (!this.#observers.includes(observer)) {\n this.#observers.push(observer)\n\n // Stop the query from being garbage collected\n this.clearGcTimeout()\n\n this.#cache.notify({ type: 'observerAdded', query: this, observer })\n }\n }\n\n removeObserver(observer: QueryObserver<any, any, any, any, any>): void {\n if (this.#observers.includes(observer)) {\n this.#observers = this.#observers.filter((x) => x !== observer)\n\n if (!this.#observers.length) {\n // If the transport layer does not support cancellation\n // we'll let the query continue so the result can be cached\n if (this.#retryer) {\n if (this.#abortSignalConsumed) {\n this.#retryer.cancel({ revert: true })\n } else {\n this.#retryer.cancelRetry()\n }\n }\n\n this.scheduleGc()\n }\n\n this.#cache.notify({ type: 'observerRemoved', query: this, observer })\n }\n }\n\n getObserversCount(): number {\n return this.#observers.length\n }\n\n invalidate(): void {\n if (!this.state.isInvalidated) {\n this.#dispatch({ type: 'invalidate' })\n }\n }\n\n fetch(\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n fetchOptions?: FetchOptions,\n ): Promise<TData> {\n if (this.state.fetchStatus !== 'idle') {\n if (this.state.dataUpdatedAt && fetchOptions?.cancelRefetch) {\n // Silently cancel current fetch if the user wants to cancel refetches\n this.cancel({ silent: true })\n } else if (this.#promise) {\n // make sure that retries that were potentially cancelled due to unmounts can continue\n this.#retryer?.continueRetry()\n // Return current promise if we are already fetching\n return this.#promise\n }\n }\n\n // Update config if passed, otherwise the config from the last execution is used\n if (options) {\n this.#setOptions(options)\n }\n\n // Use the options from the first observer with a query function if no function is found.\n // This can happen when the query is hydrated or created with setQueryData.\n if (!this.options.queryFn) {\n const observer = this.#observers.find((x) => x.options.queryFn)\n if (observer) {\n this.#setOptions(observer.options)\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (!Array.isArray(this.options.queryKey)) {\n console.error(\n `As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`,\n )\n }\n }\n\n const abortController = new AbortController()\n\n // Create query function context\n const queryFnContext: Omit<QueryFunctionContext<TQueryKey>, 'signal'> = {\n queryKey: this.queryKey,\n meta: this.meta,\n }\n\n // Adds an enumerable signal property to the object that\n // which sets abortSignalConsumed to true when the signal\n // is read.\n const addSignalProperty = (object: unknown) => {\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n this.#abortSignalConsumed = true\n return abortController.signal\n },\n })\n }\n\n addSignalProperty(queryFnContext)\n\n // Create fetch function\n const fetchFn = () => {\n if (!this.options.queryFn) {\n return Promise.reject(new Error('Missing queryFn'))\n }\n this.#abortSignalConsumed = false\n return this.options.queryFn(\n queryFnContext as QueryFunctionContext<TQueryKey>,\n )\n }\n\n // Trigger behavior hook\n const context: Omit<\n FetchContext<TQueryFnData, TError, TData, TQueryKey>,\n 'signal'\n > = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n state: this.state,\n fetchFn,\n }\n\n addSignalProperty(context)\n\n this.options.behavior?.onFetch(\n context as FetchContext<TQueryFnData, TError, TData, TQueryKey>,\n )\n\n // Store state in case the current fetch needs to be reverted\n this.#revertState = this.state\n\n // Set to fetching state if not already in it\n if (\n this.state.fetchStatus === 'idle' ||\n this.state.fetchMeta !== context.fetchOptions?.meta\n ) {\n this.#dispatch({ type: 'fetch', meta: context.fetchOptions?.meta })\n }\n\n const onError = (error: TError | { silent?: boolean }) => {\n // Optimistically update state if needed\n if (!(isCancelledError(error) && error.silent)) {\n this.#dispatch({\n type: 'error',\n error: error as TError,\n })\n }\n\n if (!isCancelledError(error)) {\n // Notify cache callback\n this.#cache.config.onError?.(\n error as any,\n this as Query<any, any, any, any>,\n )\n this.#cache.config.onSettled?.(\n this.state.data,\n error as any,\n this as Query<any, any, any, any>,\n )\n }\n\n if (!this.isFetchingOptimistic) {\n // Schedule query gc after fetching\n this.scheduleGc()\n }\n this.isFetchingOptimistic = false\n }\n\n // Try to fetch the data\n this.#retryer = createRetryer({\n fn: context.fetchFn as () => Promise<TData>,\n abort: abortController.abort.bind(abortController),\n onSuccess: (data) => {\n if (typeof data === 'undefined') {\n if (process.env.NODE_ENV !== 'production') {\n console.error(\n `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`,\n )\n }\n onError(new Error(`${this.queryHash} data is undefined`) as any)\n return\n }\n\n this.setData(data)\n\n // Notify cache callback\n this.#cache.config.onSuccess?.(data, this as Query<any, any, any, any>)\n this.#cache.config.onSettled?.(\n data,\n this.state.error as any,\n this as Query<any, any, any, any>,\n )\n\n if (!this.isFetchingOptimistic) {\n // Schedule query gc after fetching\n this.scheduleGc()\n }\n this.isFetchingOptimistic = false\n },\n onError,\n onFail: (failureCount, error) => {\n this.#dispatch({ type: 'failed', failureCount, error })\n },\n onPause: () => {\n this.#dispatch({ type: 'pause' })\n },\n onContinue: () => {\n this.#dispatch({ type: 'continue' })\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode,\n })\n\n this.#promise = this.#retryer.promise\n\n return this.#promise\n }\n\n #dispatch(action: Action<TData, TError>): void {\n const reducer = (\n state: QueryState<TData, TError>,\n ): QueryState<TData, TError> => {\n switch (action.type) {\n case 'failed':\n return {\n ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error,\n }\n case 'pause':\n return {\n ...state,\n fetchStatus: 'paused',\n }\n case 'continue':\n return {\n ...state,\n fetchStatus: 'fetching',\n }\n case 'fetch':\n return {\n ...state,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: action.meta ?? null,\n fetchStatus: canFetch(this.options.networkMode)\n ? 'fetching'\n : 'paused',\n ...(!state.dataUpdatedAt && {\n error: null,\n status: 'pending',\n }),\n }\n case 'success':\n return {\n ...state,\n data: action.data,\n dataUpdateCount: state.dataUpdateCount + 1,\n dataUpdatedAt: action.dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: 'success',\n ...(!action.manual && {\n fetchStatus: 'idle',\n fetchFailureCount: 0,\n fetchFailureReason: null,\n }),\n }\n case 'error':\n const error = action.error as unknown\n\n if (isCancelledError(error) && error.revert && this.#revertState) {\n return { ...this.#revertState }\n }\n\n return {\n ...state,\n error: error as TError,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchFailureReason: error as TError,\n fetchStatus: 'idle',\n status: 'error',\n }\n case 'invalidate':\n return {\n ...state,\n isInvalidated: true,\n }\n case 'setState':\n return {\n ...state,\n ...action.state,\n }\n }\n }\n\n this.state = reducer(this.state)\n\n notifyManager.batch(() => {\n this.#observers.forEach((observer) => {\n observer.onQueryUpdate()\n })\n\n this.#cache.notify({ query: this, type: 'updated', action })\n })\n }\n}\n\nfunction getDefaultState<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n options: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n): QueryState<TData, TError> {\n const data =\n typeof options.initialData === 'function'\n ? (options.initialData as InitialDataFunction<TData>)()\n : options.initialData\n\n const hasData = typeof data !== 'undefined'\n\n const initialDataUpdatedAt = hasData\n ? typeof options.initialDataUpdatedAt === 'function'\n ? (options.initialDataUpdatedAt as () => number | undefined)()\n : options.initialDataUpdatedAt\n : 0\n\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? initialDataUpdatedAt ?? Date.now() : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? 'success' : 'pending',\n fetchStatus: 'idle',\n }\n}\n"],"names":["_initialState","_classPrivateFieldLooseKey","_revertState","_cache","_promise","_retryer","_observers","_defaultOptions","_abortSignalConsumed","_setOptions","_dispatch","Query","Removable","constructor","config","Object","defineProperty","value","_dispatch2","_setOptions2","writable","_classPrivateFieldLooseBase","defaultOptions","options","cache","queryKey","queryHash","state","getDefaultState","scheduleGc","meta","optionalRemove","length","fetchStatus","remove","setData","newData","data","replaceData","type","dataUpdatedAt","updatedAt","manual","setState","setStateOptions","cancel","_classPrivateFieldLoo","promise","then","noop","catch","Promise","resolve","destroy","silent","reset","isActive","some","observer","enabled","isDisabled","getObserversCount","isStale","isInvalidated","getCurrentResult","isStaleByTime","staleTime","timeUntilStale","onFocus","_classPrivateFieldLoo2","find","x","shouldFetchOnWindowFocus","refetch","cancelRefetch","continue","onOnline","_classPrivateFieldLoo3","shouldFetchOnReconnect","addObserver","includes","push","clearGcTimeout","notify","query","removeObserver","filter","revert","cancelRetry","invalidate","fetch","fetchOptions","_this$options$behavio","_context$fetchOptions","_classPrivateFieldLoo4","continueRetry","queryFn","process","env","NODE_ENV","Array","isArray","console","error","abortController","AbortController","queryFnContext","addSignalProperty","object","enumerable","get","signal","fetchFn","reject","Error","context","behavior","onFetch","fetchMeta","_context$fetchOptions2","onError","isCancelledError","_classPrivateFieldLoo5","_classPrivateFieldLoo6","_classPrivateFieldLoo7","_classPrivateFieldLoo8","call","onSettled","isFetchingOptimistic","createRetryer","fn","abort","bind","onSuccess","_classPrivateFieldLoo9","_classPrivateFieldLoo10","_classPrivateFieldLoo11","_classPrivateFieldLoo12","onFail","failureCount","onPause","onContinue","retry","retryDelay","networkMode","updateGcTime","gcTime","action","reducer","_action$meta","_action$dataUpdatedAt","fetchFailureCount","fetchFailureReason","canFetch","status","dataUpdateCount","Date","now","errorUpdateCount","errorUpdatedAt","notifyManager","batch","forEach","onQueryUpdate","initialData","hasData","initialDataUpdatedAt"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { classPrivateFieldLooseBase as _classPrivateFieldLooseBase, classPrivateFieldLooseKey as _classPrivateFieldLooseKey } from './_virtual/_rollupPluginBabelHelpers.
|
|
2
|
-
import { replaceData, noop, timeUntilStale } from './utils.
|
|
3
|
-
import { notifyManager } from './notifyManager.
|
|
4
|
-
import { createRetryer, isCancelledError, canFetch } from './retryer.
|
|
5
|
-
import { Removable } from './removable.
|
|
1
|
+
import { classPrivateFieldLooseBase as _classPrivateFieldLooseBase, classPrivateFieldLooseKey as _classPrivateFieldLooseKey } from './_virtual/_rollupPluginBabelHelpers.legacy.js';
|
|
2
|
+
import { replaceData, noop, timeUntilStale } from './utils.legacy.js';
|
|
3
|
+
import { notifyManager } from './notifyManager.legacy.js';
|
|
4
|
+
import { createRetryer, isCancelledError, canFetch } from './retryer.legacy.js';
|
|
5
|
+
import { Removable } from './removable.legacy.js';
|
|
6
6
|
|
|
7
7
|
// TYPES
|
|
8
8
|
var _initialState = /*#__PURE__*/_classPrivateFieldLooseKey("initialState");
|
|
@@ -145,7 +145,7 @@ class Query extends Removable {
|
|
|
145
145
|
(_classPrivateFieldLoo3 = _classPrivateFieldLooseBase(this, _retryer)[_retryer]) == null ? void 0 : _classPrivateFieldLoo3.continue();
|
|
146
146
|
}
|
|
147
147
|
addObserver(observer) {
|
|
148
|
-
if (_classPrivateFieldLooseBase(this, _observers)[_observers].
|
|
148
|
+
if (!_classPrivateFieldLooseBase(this, _observers)[_observers].includes(observer)) {
|
|
149
149
|
_classPrivateFieldLooseBase(this, _observers)[_observers].push(observer);
|
|
150
150
|
|
|
151
151
|
// Stop the query from being garbage collected
|
|
@@ -158,7 +158,7 @@ class Query extends Removable {
|
|
|
158
158
|
}
|
|
159
159
|
}
|
|
160
160
|
removeObserver(observer) {
|
|
161
|
-
if (_classPrivateFieldLooseBase(this, _observers)[_observers].
|
|
161
|
+
if (_classPrivateFieldLooseBase(this, _observers)[_observers].includes(observer)) {
|
|
162
162
|
_classPrivateFieldLooseBase(this, _observers)[_observers] = _classPrivateFieldLooseBase(this, _observers)[_observers].filter(x => x !== observer);
|
|
163
163
|
if (!_classPrivateFieldLooseBase(this, _observers)[_observers].length) {
|
|
164
164
|
// If the transport layer does not support cancellation
|
|
@@ -310,7 +310,7 @@ class Query extends Removable {
|
|
|
310
310
|
if (process.env.NODE_ENV !== 'production') {
|
|
311
311
|
console.error(`Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`);
|
|
312
312
|
}
|
|
313
|
-
onError(new Error(
|
|
313
|
+
onError(new Error(`${this.queryHash} data is undefined`));
|
|
314
314
|
return;
|
|
315
315
|
}
|
|
316
316
|
this.setData(data);
|
|
@@ -436,7 +436,7 @@ function _dispatch2(action) {
|
|
|
436
436
|
this.state = reducer(this.state);
|
|
437
437
|
notifyManager.batch(() => {
|
|
438
438
|
_classPrivateFieldLooseBase(this, _observers)[_observers].forEach(observer => {
|
|
439
|
-
observer.onQueryUpdate(
|
|
439
|
+
observer.onQueryUpdate();
|
|
440
440
|
});
|
|
441
441
|
_classPrivateFieldLooseBase(this, _cache)[_cache].notify({
|
|
442
442
|
query: this,
|
|
@@ -466,4 +466,4 @@ function getDefaultState(options) {
|
|
|
466
466
|
}
|
|
467
467
|
|
|
468
468
|
export { Query };
|
|
469
|
-
//# sourceMappingURL=query.
|
|
469
|
+
//# sourceMappingURL=query.legacy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query.legacy.js","sources":["../../src/query.ts"],"sourcesContent":["import { noop, replaceData, timeUntilStale } from './utils'\nimport type {\n InitialDataFunction,\n QueryKey,\n QueryOptions,\n QueryStatus,\n QueryFunctionContext,\n QueryMeta,\n CancelOptions,\n SetDataOptions,\n FetchStatus,\n DefaultError,\n} from './types'\nimport type { QueryCache } from './queryCache'\nimport type { QueryObserver } from './queryObserver'\nimport { notifyManager } from './notifyManager'\nimport type { Retryer } from './retryer'\nimport { isCancelledError, canFetch, createRetryer } from './retryer'\nimport { Removable } from './removable'\n\n// TYPES\n\ninterface QueryConfig<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n cache: QueryCache\n queryKey: TQueryKey\n queryHash: string\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n defaultOptions?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n state?: QueryState<TData, TError>\n}\n\nexport interface QueryState<TData = unknown, TError = DefaultError> {\n data: TData | undefined\n dataUpdateCount: number\n dataUpdatedAt: number\n error: TError | null\n errorUpdateCount: number\n errorUpdatedAt: number\n fetchFailureCount: number\n fetchFailureReason: TError | null\n fetchMeta: FetchMeta | null\n isInvalidated: boolean\n status: QueryStatus\n fetchStatus: FetchStatus\n}\n\nexport interface FetchContext<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n fetchFn: () => unknown | Promise<unknown>\n fetchOptions?: FetchOptions\n signal: AbortSignal\n options: QueryOptions<TQueryFnData, TError, TData, any>\n queryKey: TQueryKey\n state: QueryState<TData, TError>\n}\n\nexport interface QueryBehavior<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n onFetch: (\n context: FetchContext<TQueryFnData, TError, TData, TQueryKey>,\n ) => void\n}\n\nexport type FetchDirection = 'forward' | 'backward'\n\nexport interface FetchMeta {\n fetchMore?: { direction: FetchDirection }\n}\n\nexport interface FetchOptions {\n cancelRefetch?: boolean\n meta?: FetchMeta\n}\n\ninterface FailedAction<TError> {\n type: 'failed'\n failureCount: number\n error: TError\n}\n\ninterface FetchAction {\n type: 'fetch'\n meta?: FetchMeta\n}\n\ninterface SuccessAction<TData> {\n data: TData | undefined\n type: 'success'\n dataUpdatedAt?: number\n manual?: boolean\n}\n\ninterface ErrorAction<TError> {\n type: 'error'\n error: TError\n}\n\ninterface InvalidateAction {\n type: 'invalidate'\n}\n\ninterface PauseAction {\n type: 'pause'\n}\n\ninterface ContinueAction {\n type: 'continue'\n}\n\ninterface SetStateAction<TData, TError> {\n type: 'setState'\n state: Partial<QueryState<TData, TError>>\n setStateOptions?: SetStateOptions\n}\n\nexport type Action<TData, TError> =\n | ContinueAction\n | ErrorAction<TError>\n | FailedAction<TError>\n | FetchAction\n | InvalidateAction\n | PauseAction\n | SetStateAction<TData, TError>\n | SuccessAction<TData>\n\nexport interface SetStateOptions {\n meta?: any\n}\n\n// CLASS\n\nexport class Query<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends Removable {\n queryKey: TQueryKey\n queryHash: string\n options!: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n state: QueryState<TData, TError>\n isFetchingOptimistic?: boolean\n\n #initialState: QueryState<TData, TError>\n #revertState?: QueryState<TData, TError>\n #cache: QueryCache\n #promise?: Promise<TData>\n #retryer?: Retryer<TData>\n #observers: QueryObserver<any, any, any, any, any>[]\n #defaultOptions?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n #abortSignalConsumed: boolean\n\n constructor(config: QueryConfig<TQueryFnData, TError, TData, TQueryKey>) {\n super()\n\n this.#abortSignalConsumed = false\n this.#defaultOptions = config.defaultOptions\n this.#setOptions(config.options)\n this.#observers = []\n this.#cache = config.cache\n this.queryKey = config.queryKey\n this.queryHash = config.queryHash\n this.#initialState = config.state || getDefaultState(this.options)\n this.state = this.#initialState\n this.scheduleGc()\n }\n get meta(): QueryMeta | undefined {\n return this.options.meta\n }\n\n #setOptions(\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): void {\n this.options = { ...this.#defaultOptions, ...options }\n\n this.updateGcTime(this.options.gcTime)\n }\n\n protected optionalRemove() {\n if (!this.#observers.length && this.state.fetchStatus === 'idle') {\n this.#cache.remove(this)\n }\n }\n\n setData(\n newData: TData,\n options?: SetDataOptions & { manual: boolean },\n ): TData {\n const data = replaceData(this.state.data, newData, this.options)\n\n // Set data and mark it as cached\n this.#dispatch({\n data,\n type: 'success',\n dataUpdatedAt: options?.updatedAt,\n manual: options?.manual,\n })\n\n return data\n }\n\n setState(\n state: Partial<QueryState<TData, TError>>,\n setStateOptions?: SetStateOptions,\n ): void {\n this.#dispatch({ type: 'setState', state, setStateOptions })\n }\n\n cancel(options?: CancelOptions): Promise<void> {\n const promise = this.#promise\n this.#retryer?.cancel(options)\n return promise ? promise.then(noop).catch(noop) : Promise.resolve()\n }\n\n destroy(): void {\n super.destroy()\n\n this.cancel({ silent: true })\n }\n\n reset(): void {\n this.destroy()\n this.setState(this.#initialState)\n }\n\n isActive(): boolean {\n return this.#observers.some(\n (observer) => observer.options.enabled !== false,\n )\n }\n\n isDisabled(): boolean {\n return this.getObserversCount() > 0 && !this.isActive()\n }\n\n isStale(): boolean {\n return (\n this.state.isInvalidated ||\n !this.state.dataUpdatedAt ||\n this.#observers.some((observer) => observer.getCurrentResult().isStale)\n )\n }\n\n isStaleByTime(staleTime = 0): boolean {\n return (\n this.state.isInvalidated ||\n !this.state.dataUpdatedAt ||\n !timeUntilStale(this.state.dataUpdatedAt, staleTime)\n )\n }\n\n onFocus(): void {\n const observer = this.#observers.find((x) => x.shouldFetchOnWindowFocus())\n\n observer?.refetch({ cancelRefetch: false })\n\n // Continue fetch if currently paused\n this.#retryer?.continue()\n }\n\n onOnline(): void {\n const observer = this.#observers.find((x) => x.shouldFetchOnReconnect())\n\n observer?.refetch({ cancelRefetch: false })\n\n // Continue fetch if currently paused\n this.#retryer?.continue()\n }\n\n addObserver(observer: QueryObserver<any, any, any, any, any>): void {\n if (!this.#observers.includes(observer)) {\n this.#observers.push(observer)\n\n // Stop the query from being garbage collected\n this.clearGcTimeout()\n\n this.#cache.notify({ type: 'observerAdded', query: this, observer })\n }\n }\n\n removeObserver(observer: QueryObserver<any, any, any, any, any>): void {\n if (this.#observers.includes(observer)) {\n this.#observers = this.#observers.filter((x) => x !== observer)\n\n if (!this.#observers.length) {\n // If the transport layer does not support cancellation\n // we'll let the query continue so the result can be cached\n if (this.#retryer) {\n if (this.#abortSignalConsumed) {\n this.#retryer.cancel({ revert: true })\n } else {\n this.#retryer.cancelRetry()\n }\n }\n\n this.scheduleGc()\n }\n\n this.#cache.notify({ type: 'observerRemoved', query: this, observer })\n }\n }\n\n getObserversCount(): number {\n return this.#observers.length\n }\n\n invalidate(): void {\n if (!this.state.isInvalidated) {\n this.#dispatch({ type: 'invalidate' })\n }\n }\n\n fetch(\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n fetchOptions?: FetchOptions,\n ): Promise<TData> {\n if (this.state.fetchStatus !== 'idle') {\n if (this.state.dataUpdatedAt && fetchOptions?.cancelRefetch) {\n // Silently cancel current fetch if the user wants to cancel refetches\n this.cancel({ silent: true })\n } else if (this.#promise) {\n // make sure that retries that were potentially cancelled due to unmounts can continue\n this.#retryer?.continueRetry()\n // Return current promise if we are already fetching\n return this.#promise\n }\n }\n\n // Update config if passed, otherwise the config from the last execution is used\n if (options) {\n this.#setOptions(options)\n }\n\n // Use the options from the first observer with a query function if no function is found.\n // This can happen when the query is hydrated or created with setQueryData.\n if (!this.options.queryFn) {\n const observer = this.#observers.find((x) => x.options.queryFn)\n if (observer) {\n this.#setOptions(observer.options)\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (!Array.isArray(this.options.queryKey)) {\n console.error(\n `As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`,\n )\n }\n }\n\n const abortController = new AbortController()\n\n // Create query function context\n const queryFnContext: Omit<QueryFunctionContext<TQueryKey>, 'signal'> = {\n queryKey: this.queryKey,\n meta: this.meta,\n }\n\n // Adds an enumerable signal property to the object that\n // which sets abortSignalConsumed to true when the signal\n // is read.\n const addSignalProperty = (object: unknown) => {\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n this.#abortSignalConsumed = true\n return abortController.signal\n },\n })\n }\n\n addSignalProperty(queryFnContext)\n\n // Create fetch function\n const fetchFn = () => {\n if (!this.options.queryFn) {\n return Promise.reject(new Error('Missing queryFn'))\n }\n this.#abortSignalConsumed = false\n return this.options.queryFn(\n queryFnContext as QueryFunctionContext<TQueryKey>,\n )\n }\n\n // Trigger behavior hook\n const context: Omit<\n FetchContext<TQueryFnData, TError, TData, TQueryKey>,\n 'signal'\n > = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n state: this.state,\n fetchFn,\n }\n\n addSignalProperty(context)\n\n this.options.behavior?.onFetch(\n context as FetchContext<TQueryFnData, TError, TData, TQueryKey>,\n )\n\n // Store state in case the current fetch needs to be reverted\n this.#revertState = this.state\n\n // Set to fetching state if not already in it\n if (\n this.state.fetchStatus === 'idle' ||\n this.state.fetchMeta !== context.fetchOptions?.meta\n ) {\n this.#dispatch({ type: 'fetch', meta: context.fetchOptions?.meta })\n }\n\n const onError = (error: TError | { silent?: boolean }) => {\n // Optimistically update state if needed\n if (!(isCancelledError(error) && error.silent)) {\n this.#dispatch({\n type: 'error',\n error: error as TError,\n })\n }\n\n if (!isCancelledError(error)) {\n // Notify cache callback\n this.#cache.config.onError?.(\n error as any,\n this as Query<any, any, any, any>,\n )\n this.#cache.config.onSettled?.(\n this.state.data,\n error as any,\n this as Query<any, any, any, any>,\n )\n }\n\n if (!this.isFetchingOptimistic) {\n // Schedule query gc after fetching\n this.scheduleGc()\n }\n this.isFetchingOptimistic = false\n }\n\n // Try to fetch the data\n this.#retryer = createRetryer({\n fn: context.fetchFn as () => Promise<TData>,\n abort: abortController.abort.bind(abortController),\n onSuccess: (data) => {\n if (typeof data === 'undefined') {\n if (process.env.NODE_ENV !== 'production') {\n console.error(\n `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`,\n )\n }\n onError(new Error(`${this.queryHash} data is undefined`) as any)\n return\n }\n\n this.setData(data)\n\n // Notify cache callback\n this.#cache.config.onSuccess?.(data, this as Query<any, any, any, any>)\n this.#cache.config.onSettled?.(\n data,\n this.state.error as any,\n this as Query<any, any, any, any>,\n )\n\n if (!this.isFetchingOptimistic) {\n // Schedule query gc after fetching\n this.scheduleGc()\n }\n this.isFetchingOptimistic = false\n },\n onError,\n onFail: (failureCount, error) => {\n this.#dispatch({ type: 'failed', failureCount, error })\n },\n onPause: () => {\n this.#dispatch({ type: 'pause' })\n },\n onContinue: () => {\n this.#dispatch({ type: 'continue' })\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode,\n })\n\n this.#promise = this.#retryer.promise\n\n return this.#promise\n }\n\n #dispatch(action: Action<TData, TError>): void {\n const reducer = (\n state: QueryState<TData, TError>,\n ): QueryState<TData, TError> => {\n switch (action.type) {\n case 'failed':\n return {\n ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error,\n }\n case 'pause':\n return {\n ...state,\n fetchStatus: 'paused',\n }\n case 'continue':\n return {\n ...state,\n fetchStatus: 'fetching',\n }\n case 'fetch':\n return {\n ...state,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: action.meta ?? null,\n fetchStatus: canFetch(this.options.networkMode)\n ? 'fetching'\n : 'paused',\n ...(!state.dataUpdatedAt && {\n error: null,\n status: 'pending',\n }),\n }\n case 'success':\n return {\n ...state,\n data: action.data,\n dataUpdateCount: state.dataUpdateCount + 1,\n dataUpdatedAt: action.dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: 'success',\n ...(!action.manual && {\n fetchStatus: 'idle',\n fetchFailureCount: 0,\n fetchFailureReason: null,\n }),\n }\n case 'error':\n const error = action.error as unknown\n\n if (isCancelledError(error) && error.revert && this.#revertState) {\n return { ...this.#revertState }\n }\n\n return {\n ...state,\n error: error as TError,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchFailureReason: error as TError,\n fetchStatus: 'idle',\n status: 'error',\n }\n case 'invalidate':\n return {\n ...state,\n isInvalidated: true,\n }\n case 'setState':\n return {\n ...state,\n ...action.state,\n }\n }\n }\n\n this.state = reducer(this.state)\n\n notifyManager.batch(() => {\n this.#observers.forEach((observer) => {\n observer.onQueryUpdate()\n })\n\n this.#cache.notify({ query: this, type: 'updated', action })\n })\n }\n}\n\nfunction getDefaultState<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n options: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n): QueryState<TData, TError> {\n const data =\n typeof options.initialData === 'function'\n ? (options.initialData as InitialDataFunction<TData>)()\n : options.initialData\n\n const hasData = typeof data !== 'undefined'\n\n const initialDataUpdatedAt = hasData\n ? typeof options.initialDataUpdatedAt === 'function'\n ? (options.initialDataUpdatedAt as () => number | undefined)()\n : options.initialDataUpdatedAt\n : 0\n\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? initialDataUpdatedAt ?? Date.now() : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? 'success' : 'pending',\n fetchStatus: 'idle',\n }\n}\n"],"names":["_initialState","_classPrivateFieldLooseKey","_revertState","_cache","_promise","_retryer","_observers","_defaultOptions","_abortSignalConsumed","_setOptions","_dispatch","Query","Removable","constructor","config","Object","defineProperty","value","_dispatch2","_setOptions2","writable","_classPrivateFieldLooseBase","defaultOptions","options","cache","queryKey","queryHash","state","getDefaultState","scheduleGc","meta","optionalRemove","length","fetchStatus","remove","setData","newData","data","replaceData","type","dataUpdatedAt","updatedAt","manual","setState","setStateOptions","cancel","_classPrivateFieldLoo","promise","then","noop","catch","Promise","resolve","destroy","silent","reset","isActive","some","observer","enabled","isDisabled","getObserversCount","isStale","isInvalidated","getCurrentResult","isStaleByTime","staleTime","timeUntilStale","onFocus","_classPrivateFieldLoo2","find","x","shouldFetchOnWindowFocus","refetch","cancelRefetch","continue","onOnline","_classPrivateFieldLoo3","shouldFetchOnReconnect","addObserver","includes","push","clearGcTimeout","notify","query","removeObserver","filter","revert","cancelRetry","invalidate","fetch","fetchOptions","_this$options$behavio","_context$fetchOptions","_classPrivateFieldLoo4","continueRetry","queryFn","process","env","NODE_ENV","Array","isArray","console","error","abortController","AbortController","queryFnContext","addSignalProperty","object","enumerable","get","signal","fetchFn","reject","Error","context","behavior","onFetch","fetchMeta","_context$fetchOptions2","onError","isCancelledError","_classPrivateFieldLoo5","_classPrivateFieldLoo6","_classPrivateFieldLoo7","_classPrivateFieldLoo8","call","onSettled","isFetchingOptimistic","createRetryer","fn","abort","bind","onSuccess","_classPrivateFieldLoo9","_classPrivateFieldLoo10","_classPrivateFieldLoo11","_classPrivateFieldLoo12","onFail","failureCount","onPause","onContinue","retry","retryDelay","networkMode","updateGcTime","gcTime","action","reducer","_action$meta","_action$dataUpdatedAt","fetchFailureCount","fetchFailureReason","canFetch","status","dataUpdateCount","Date","now","errorUpdateCount","errorUpdatedAt","notifyManager","batch","forEach","onQueryUpdate","initialData","hasData","initialDataUpdatedAt"],"mappings":"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"}
|
|
@@ -1,23 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var utils = require('./utils.cjs');
|
|
4
|
+
var query = require('./query.cjs');
|
|
5
|
+
var notifyManager = require('./notifyManager.cjs');
|
|
6
|
+
var subscribable = require('./subscribable.cjs');
|
|
7
|
+
|
|
8
|
+
// TYPES
|
|
5
9
|
|
|
6
10
|
// CLASS
|
|
7
11
|
|
|
8
|
-
class QueryCache extends Subscribable {
|
|
12
|
+
class QueryCache extends subscribable.Subscribable {
|
|
9
13
|
#queries;
|
|
10
14
|
constructor(config = {}) {
|
|
11
15
|
super();
|
|
12
16
|
this.config = config;
|
|
13
|
-
this.#queries =
|
|
17
|
+
this.#queries = new Map();
|
|
14
18
|
}
|
|
15
19
|
build(client, options, state) {
|
|
16
20
|
const queryKey = options.queryKey;
|
|
17
|
-
const queryHash = options.queryHash ?? hashQueryKeyByOptions(queryKey, options);
|
|
18
|
-
let query = this.get(queryHash);
|
|
19
|
-
if (!query) {
|
|
20
|
-
query = new Query({
|
|
21
|
+
const queryHash = options.queryHash ?? utils.hashQueryKeyByOptions(queryKey, options);
|
|
22
|
+
let query$1 = this.get(queryHash);
|
|
23
|
+
if (!query$1) {
|
|
24
|
+
query$1 = new query.Query({
|
|
21
25
|
cache: this,
|
|
22
26
|
queryKey,
|
|
23
27
|
queryHash,
|
|
@@ -25,9 +29,9 @@ class QueryCache extends Subscribable {
|
|
|
25
29
|
state,
|
|
26
30
|
defaultOptions: client.getQueryDefaults(queryKey)
|
|
27
31
|
});
|
|
28
|
-
this.add(query);
|
|
32
|
+
this.add(query$1);
|
|
29
33
|
}
|
|
30
|
-
return query;
|
|
34
|
+
return query$1;
|
|
31
35
|
}
|
|
32
36
|
add(query) {
|
|
33
37
|
if (!this.#queries.has(query.queryHash)) {
|
|
@@ -52,7 +56,7 @@ class QueryCache extends Subscribable {
|
|
|
52
56
|
}
|
|
53
57
|
}
|
|
54
58
|
clear() {
|
|
55
|
-
notifyManager.batch(() => {
|
|
59
|
+
notifyManager.notifyManager.batch(() => {
|
|
56
60
|
this.getAll().forEach(query => {
|
|
57
61
|
this.remove(query);
|
|
58
62
|
});
|
|
@@ -65,31 +69,32 @@ class QueryCache extends Subscribable {
|
|
|
65
69
|
return [...this.#queries.values()];
|
|
66
70
|
}
|
|
67
71
|
find(filters) {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
+
const defaultedFilters = {
|
|
73
|
+
exact: true,
|
|
74
|
+
...filters
|
|
75
|
+
};
|
|
76
|
+
return this.getAll().find(query => utils.matchQuery(defaultedFilters, query));
|
|
72
77
|
}
|
|
73
78
|
findAll(filters = {}) {
|
|
74
79
|
const queries = this.getAll();
|
|
75
|
-
return Object.keys(filters).length > 0 ? queries.filter(query => matchQuery(filters, query)) : queries;
|
|
80
|
+
return Object.keys(filters).length > 0 ? queries.filter(query => utils.matchQuery(filters, query)) : queries;
|
|
76
81
|
}
|
|
77
82
|
notify(event) {
|
|
78
|
-
notifyManager.batch(() => {
|
|
83
|
+
notifyManager.notifyManager.batch(() => {
|
|
79
84
|
this.listeners.forEach(listener => {
|
|
80
85
|
listener(event);
|
|
81
86
|
});
|
|
82
87
|
});
|
|
83
88
|
}
|
|
84
89
|
onFocus() {
|
|
85
|
-
notifyManager.batch(() => {
|
|
90
|
+
notifyManager.notifyManager.batch(() => {
|
|
86
91
|
this.getAll().forEach(query => {
|
|
87
92
|
query.onFocus();
|
|
88
93
|
});
|
|
89
94
|
});
|
|
90
95
|
}
|
|
91
96
|
onOnline() {
|
|
92
|
-
notifyManager.batch(() => {
|
|
97
|
+
notifyManager.notifyManager.batch(() => {
|
|
93
98
|
this.getAll().forEach(query => {
|
|
94
99
|
query.onOnline();
|
|
95
100
|
});
|
|
@@ -97,5 +102,5 @@ class QueryCache extends Subscribable {
|
|
|
97
102
|
}
|
|
98
103
|
}
|
|
99
104
|
|
|
100
|
-
|
|
101
|
-
//# sourceMappingURL=queryCache.
|
|
105
|
+
exports.QueryCache = QueryCache;
|
|
106
|
+
//# sourceMappingURL=queryCache.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queryCache.cjs","sources":["../../src/queryCache.ts"],"sourcesContent":["import type { QueryFilters } from './utils'\nimport { hashQueryKeyByOptions, matchQuery } from './utils'\nimport type { Action, QueryState } from './query'\nimport { Query } from './query'\nimport type {\n NotifyEvent,\n QueryKey,\n QueryOptions,\n DefaultError,\n WithRequired,\n} from './types'\nimport { notifyManager } from './notifyManager'\nimport type { QueryClient } from './queryClient'\nimport { Subscribable } from './subscribable'\nimport type { QueryObserver } from './queryObserver'\n\n// TYPES\n\ninterface QueryCacheConfig {\n onError?: (\n error: DefaultError,\n query: Query<unknown, unknown, unknown>,\n ) => void\n onSuccess?: (data: unknown, query: Query<unknown, unknown, unknown>) => void\n onSettled?: (\n data: unknown | undefined,\n error: DefaultError | null,\n query: Query<unknown, unknown, unknown>,\n ) => void\n}\n\ninterface NotifyEventQueryAdded extends NotifyEvent {\n type: 'added'\n query: Query<any, any, any, any>\n}\n\ninterface NotifyEventQueryRemoved extends NotifyEvent {\n type: 'removed'\n query: Query<any, any, any, any>\n}\n\ninterface NotifyEventQueryUpdated extends NotifyEvent {\n type: 'updated'\n query: Query<any, any, any, any>\n action: Action<any, any>\n}\n\ninterface NotifyEventQueryObserverAdded extends NotifyEvent {\n type: 'observerAdded'\n query: Query<any, any, any, any>\n observer: QueryObserver<any, any, any, any, any>\n}\n\ninterface NotifyEventQueryObserverRemoved extends NotifyEvent {\n type: 'observerRemoved'\n query: Query<any, any, any, any>\n observer: QueryObserver<any, any, any, any, any>\n}\n\ninterface NotifyEventQueryObserverResultsUpdated extends NotifyEvent {\n type: 'observerResultsUpdated'\n query: Query<any, any, any, any>\n}\n\ninterface NotifyEventQueryObserverOptionsUpdated extends NotifyEvent {\n type: 'observerOptionsUpdated'\n query: Query<any, any, any, any>\n observer: QueryObserver<any, any, any, any, any>\n}\n\ntype QueryCacheNotifyEvent =\n | NotifyEventQueryAdded\n | NotifyEventQueryRemoved\n | NotifyEventQueryUpdated\n | NotifyEventQueryObserverAdded\n | NotifyEventQueryObserverRemoved\n | NotifyEventQueryObserverResultsUpdated\n | NotifyEventQueryObserverOptionsUpdated\n\ntype QueryCacheListener = (event: QueryCacheNotifyEvent) => void\n\nexport interface QueryStore {\n has: (queryKey: string) => boolean\n set: (queryKey: string, query: Query) => void\n get: (queryKey: string) => Query | undefined\n delete: (queryKey: string) => void\n values: () => IterableIterator<Query>\n}\n\n// CLASS\n\nexport class QueryCache extends Subscribable<QueryCacheListener> {\n #queries: QueryStore\n\n constructor(public config: QueryCacheConfig = {}) {\n super()\n this.#queries = new Map<string, Query>()\n }\n\n build<TQueryFnData, TError, TData, TQueryKey extends QueryKey>(\n client: QueryClient,\n options: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n state?: QueryState<TData, TError>,\n ): Query<TQueryFnData, TError, TData, TQueryKey> {\n const queryKey = options.queryKey!\n const queryHash =\n options.queryHash ?? hashQueryKeyByOptions(queryKey, options)\n let query = this.get<TQueryFnData, TError, TData, TQueryKey>(queryHash)\n\n if (!query) {\n query = new Query({\n cache: this,\n queryKey,\n queryHash,\n options: client.defaultQueryOptions(options),\n state,\n defaultOptions: client.getQueryDefaults(queryKey),\n })\n this.add(query)\n }\n\n return query\n }\n\n add(query: Query<any, any, any, any>): void {\n if (!this.#queries.has(query.queryHash)) {\n this.#queries.set(query.queryHash, query)\n\n this.notify({\n type: 'added',\n query,\n })\n }\n }\n\n remove(query: Query<any, any, any, any>): void {\n const queryInMap = this.#queries.get(query.queryHash)\n\n if (queryInMap) {\n query.destroy()\n\n if (queryInMap === query) {\n this.#queries.delete(query.queryHash)\n }\n\n this.notify({ type: 'removed', query })\n }\n }\n\n clear(): void {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n this.remove(query)\n })\n })\n }\n\n get<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryHash: string,\n ): Query<TQueryFnData, TError, TData, TQueryKey> | undefined {\n return this.#queries.get(queryHash) as\n | Query<TQueryFnData, TError, TData, TQueryKey>\n | undefined\n }\n\n getAll(): Query[] {\n return [...this.#queries.values()]\n }\n\n find<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData>(\n filters: WithRequired<QueryFilters, 'queryKey'>,\n ): Query<TQueryFnData, TError, TData> | undefined {\n const defaultedFilters = { exact: true, ...filters }\n\n return this.getAll().find((query) =>\n matchQuery(defaultedFilters, query),\n ) as Query<TQueryFnData, TError, TData> | undefined\n }\n\n findAll(filters: QueryFilters = {}): Query[] {\n const queries = this.getAll()\n return Object.keys(filters).length > 0\n ? queries.filter((query) => matchQuery(filters, query))\n : queries\n }\n\n notify(event: QueryCacheNotifyEvent) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event)\n })\n })\n }\n\n onFocus(): void {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onFocus()\n })\n })\n }\n\n onOnline(): void {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onOnline()\n })\n })\n }\n}\n"],"names":["QueryCache","Subscribable","constructor","config","Map","build","client","options","state","queryKey","queryHash","hashQueryKeyByOptions","query","get","Query","cache","defaultQueryOptions","defaultOptions","getQueryDefaults","add","has","set","notify","type","remove","queryInMap","destroy","delete","clear","notifyManager","batch","getAll","forEach","values","find","filters","defaultedFilters","exact","matchQuery","findAll","queries","Object","keys","length","filter","event","listeners","listener","onFocus","onOnline"],"mappings":"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"}
|
|
@@ -9,7 +9,6 @@ interface QueryCacheConfig {
|
|
|
9
9
|
onError?: (error: DefaultError, query: Query<unknown, unknown, unknown>) => void;
|
|
10
10
|
onSuccess?: (data: unknown, query: Query<unknown, unknown, unknown>) => void;
|
|
11
11
|
onSettled?: (data: unknown | undefined, error: DefaultError | null, query: Query<unknown, unknown, unknown>) => void;
|
|
12
|
-
createStore?: () => QueryStore;
|
|
13
12
|
}
|
|
14
13
|
interface NotifyEventQueryAdded extends NotifyEvent {
|
|
15
14
|
type: 'added';
|
|
@@ -43,8 +42,8 @@ interface NotifyEventQueryObserverOptionsUpdated extends NotifyEvent {
|
|
|
43
42
|
query: Query<any, any, any, any>;
|
|
44
43
|
observer: QueryObserver<any, any, any, any, any>;
|
|
45
44
|
}
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
type QueryCacheNotifyEvent = NotifyEventQueryAdded | NotifyEventQueryRemoved | NotifyEventQueryUpdated | NotifyEventQueryObserverAdded | NotifyEventQueryObserverRemoved | NotifyEventQueryObserverResultsUpdated | NotifyEventQueryObserverOptionsUpdated;
|
|
46
|
+
type QueryCacheListener = (event: QueryCacheNotifyEvent) => void;
|
|
48
47
|
export interface QueryStore {
|
|
49
48
|
has: (queryKey: string) => boolean;
|
|
50
49
|
set: (queryKey: string, query: Query) => void;
|
|
@@ -69,3 +68,4 @@ export declare class QueryCache extends Subscribable<QueryCacheListener> {
|
|
|
69
68
|
onOnline(): void;
|
|
70
69
|
}
|
|
71
70
|
export {};
|
|
71
|
+
//# sourceMappingURL=queryCache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queryCache.d.ts","sourceRoot":"","sources":["../../src/queryCache.ts"],"names":[],"mappings":"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"}
|
package/build/lib/queryCache.js
CHANGED
|
@@ -1,32 +1,25 @@
|
|
|
1
|
-
|
|
1
|
+
import { hashQueryKeyByOptions, matchQuery } from './utils.js';
|
|
2
|
+
import { Query } from './query.js';
|
|
3
|
+
import { notifyManager } from './notifyManager.js';
|
|
4
|
+
import { Subscribable } from './subscribable.js';
|
|
2
5
|
|
|
3
|
-
|
|
4
|
-
var utils = require('./utils.js');
|
|
5
|
-
var query = require('./query.js');
|
|
6
|
-
var notifyManager = require('./notifyManager.js');
|
|
7
|
-
var subscribable = require('./subscribable.js');
|
|
6
|
+
// TYPES
|
|
8
7
|
|
|
9
|
-
var _queries = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("queries");
|
|
10
8
|
// CLASS
|
|
11
9
|
|
|
12
|
-
class QueryCache extends
|
|
10
|
+
class QueryCache extends Subscribable {
|
|
11
|
+
#queries;
|
|
13
12
|
constructor(config = {}) {
|
|
14
|
-
var _config$createStore;
|
|
15
13
|
super();
|
|
16
|
-
Object.defineProperty(this, _queries, {
|
|
17
|
-
writable: true,
|
|
18
|
-
value: void 0
|
|
19
|
-
});
|
|
20
14
|
this.config = config;
|
|
21
|
-
|
|
15
|
+
this.#queries = new Map();
|
|
22
16
|
}
|
|
23
17
|
build(client, options, state) {
|
|
24
|
-
var _options$queryHash;
|
|
25
18
|
const queryKey = options.queryKey;
|
|
26
|
-
const queryHash =
|
|
27
|
-
let query
|
|
28
|
-
if (!query
|
|
29
|
-
query
|
|
19
|
+
const queryHash = options.queryHash ?? hashQueryKeyByOptions(queryKey, options);
|
|
20
|
+
let query = this.get(queryHash);
|
|
21
|
+
if (!query) {
|
|
22
|
+
query = new Query({
|
|
30
23
|
cache: this,
|
|
31
24
|
queryKey,
|
|
32
25
|
queryHash,
|
|
@@ -34,13 +27,13 @@ class QueryCache extends subscribable.Subscribable {
|
|
|
34
27
|
state,
|
|
35
28
|
defaultOptions: client.getQueryDefaults(queryKey)
|
|
36
29
|
});
|
|
37
|
-
this.add(query
|
|
30
|
+
this.add(query);
|
|
38
31
|
}
|
|
39
|
-
return query
|
|
32
|
+
return query;
|
|
40
33
|
}
|
|
41
34
|
add(query) {
|
|
42
|
-
if (!
|
|
43
|
-
|
|
35
|
+
if (!this.#queries.has(query.queryHash)) {
|
|
36
|
+
this.#queries.set(query.queryHash, query);
|
|
44
37
|
this.notify({
|
|
45
38
|
type: 'added',
|
|
46
39
|
query
|
|
@@ -48,11 +41,11 @@ class QueryCache extends subscribable.Subscribable {
|
|
|
48
41
|
}
|
|
49
42
|
}
|
|
50
43
|
remove(query) {
|
|
51
|
-
const queryInMap =
|
|
44
|
+
const queryInMap = this.#queries.get(query.queryHash);
|
|
52
45
|
if (queryInMap) {
|
|
53
46
|
query.destroy();
|
|
54
47
|
if (queryInMap === query) {
|
|
55
|
-
|
|
48
|
+
this.#queries.delete(query.queryHash);
|
|
56
49
|
}
|
|
57
50
|
this.notify({
|
|
58
51
|
type: 'removed',
|
|
@@ -61,44 +54,45 @@ class QueryCache extends subscribable.Subscribable {
|
|
|
61
54
|
}
|
|
62
55
|
}
|
|
63
56
|
clear() {
|
|
64
|
-
notifyManager.
|
|
57
|
+
notifyManager.batch(() => {
|
|
65
58
|
this.getAll().forEach(query => {
|
|
66
59
|
this.remove(query);
|
|
67
60
|
});
|
|
68
61
|
});
|
|
69
62
|
}
|
|
70
63
|
get(queryHash) {
|
|
71
|
-
return
|
|
64
|
+
return this.#queries.get(queryHash);
|
|
72
65
|
}
|
|
73
66
|
getAll() {
|
|
74
|
-
return [...
|
|
67
|
+
return [...this.#queries.values()];
|
|
75
68
|
}
|
|
76
69
|
find(filters) {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
70
|
+
const defaultedFilters = {
|
|
71
|
+
exact: true,
|
|
72
|
+
...filters
|
|
73
|
+
};
|
|
74
|
+
return this.getAll().find(query => matchQuery(defaultedFilters, query));
|
|
81
75
|
}
|
|
82
76
|
findAll(filters = {}) {
|
|
83
77
|
const queries = this.getAll();
|
|
84
|
-
return Object.keys(filters).length > 0 ? queries.filter(query =>
|
|
78
|
+
return Object.keys(filters).length > 0 ? queries.filter(query => matchQuery(filters, query)) : queries;
|
|
85
79
|
}
|
|
86
80
|
notify(event) {
|
|
87
|
-
notifyManager.
|
|
81
|
+
notifyManager.batch(() => {
|
|
88
82
|
this.listeners.forEach(listener => {
|
|
89
83
|
listener(event);
|
|
90
84
|
});
|
|
91
85
|
});
|
|
92
86
|
}
|
|
93
87
|
onFocus() {
|
|
94
|
-
notifyManager.
|
|
88
|
+
notifyManager.batch(() => {
|
|
95
89
|
this.getAll().forEach(query => {
|
|
96
90
|
query.onFocus();
|
|
97
91
|
});
|
|
98
92
|
});
|
|
99
93
|
}
|
|
100
94
|
onOnline() {
|
|
101
|
-
notifyManager.
|
|
95
|
+
notifyManager.batch(() => {
|
|
102
96
|
this.getAll().forEach(query => {
|
|
103
97
|
query.onOnline();
|
|
104
98
|
});
|
|
@@ -106,5 +100,5 @@ class QueryCache extends subscribable.Subscribable {
|
|
|
106
100
|
}
|
|
107
101
|
}
|
|
108
102
|
|
|
109
|
-
|
|
103
|
+
export { QueryCache };
|
|
110
104
|
//# sourceMappingURL=queryCache.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryCache.js","sources":["../../src/queryCache.ts"],"sourcesContent":["import type { QueryFilters } from './utils'\nimport { hashQueryKeyByOptions, matchQuery } from './utils'\nimport type { Action, QueryState } from './query'\nimport { Query } from './query'\nimport type {\n NotifyEvent,\n QueryKey,\n QueryOptions,\n DefaultError,\n WithRequired,\n} from './types'\nimport { notifyManager } from './notifyManager'\nimport type { QueryClient } from './queryClient'\nimport { Subscribable } from './subscribable'\nimport type { QueryObserver } from './queryObserver'\n\n// TYPES\n\ninterface QueryCacheConfig {\n onError?: (\n error: DefaultError,\n query: Query<unknown, unknown, unknown>,\n ) => void\n onSuccess?: (data: unknown, query: Query<unknown, unknown, unknown>) => void\n onSettled?: (\n data: unknown | undefined,\n error: DefaultError | null,\n query: Query<unknown, unknown, unknown>,\n ) => void\n createStore?: () => QueryStore\n}\n\ninterface NotifyEventQueryAdded extends NotifyEvent {\n type: 'added'\n query: Query<any, any, any, any>\n}\n\ninterface NotifyEventQueryRemoved extends NotifyEvent {\n type: 'removed'\n query: Query<any, any, any, any>\n}\n\ninterface NotifyEventQueryUpdated extends NotifyEvent {\n type: 'updated'\n query: Query<any, any, any, any>\n action: Action<any, any>\n}\n\ninterface NotifyEventQueryObserverAdded extends NotifyEvent {\n type: 'observerAdded'\n query: Query<any, any, any, any>\n observer: QueryObserver<any, any, any, any, any>\n}\n\ninterface NotifyEventQueryObserverRemoved extends NotifyEvent {\n type: 'observerRemoved'\n query: Query<any, any, any, any>\n observer: QueryObserver<any, any, any, any, any>\n}\n\ninterface NotifyEventQueryObserverResultsUpdated extends NotifyEvent {\n type: 'observerResultsUpdated'\n query: Query<any, any, any, any>\n}\n\ninterface NotifyEventQueryObserverOptionsUpdated extends NotifyEvent {\n type: 'observerOptionsUpdated'\n query: Query<any, any, any, any>\n observer: QueryObserver<any, any, any, any, any>\n}\n\ntype QueryCacheNotifyEvent =\n | NotifyEventQueryAdded\n | NotifyEventQueryRemoved\n | NotifyEventQueryUpdated\n | NotifyEventQueryObserverAdded\n | NotifyEventQueryObserverRemoved\n | NotifyEventQueryObserverResultsUpdated\n | NotifyEventQueryObserverOptionsUpdated\n\ntype QueryCacheListener = (event: QueryCacheNotifyEvent) => void\n\nexport interface QueryStore {\n has: (queryKey: string) => boolean\n set: (queryKey: string, query: Query) => void\n get: (queryKey: string) => Query | undefined\n delete: (queryKey: string) => void\n values: () => IterableIterator<Query>\n}\n\n// CLASS\n\nexport class QueryCache extends Subscribable<QueryCacheListener> {\n #queries: QueryStore\n\n constructor(public config: QueryCacheConfig = {}) {\n super()\n this.#queries = config.createStore?.() ?? new Map<string, Query>()\n }\n\n build<TQueryFnData, TError, TData, TQueryKey extends QueryKey>(\n client: QueryClient,\n options: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n state?: QueryState<TData, TError>,\n ): Query<TQueryFnData, TError, TData, TQueryKey> {\n const queryKey = options.queryKey!\n const queryHash =\n options.queryHash ?? hashQueryKeyByOptions(queryKey, options)\n let query = this.get<TQueryFnData, TError, TData, TQueryKey>(queryHash)\n\n if (!query) {\n query = new Query({\n cache: this,\n queryKey,\n queryHash,\n options: client.defaultQueryOptions(options),\n state,\n defaultOptions: client.getQueryDefaults(queryKey),\n })\n this.add(query)\n }\n\n return query\n }\n\n add(query: Query<any, any, any, any>): void {\n if (!this.#queries.has(query.queryHash)) {\n this.#queries.set(query.queryHash, query)\n\n this.notify({\n type: 'added',\n query,\n })\n }\n }\n\n remove(query: Query<any, any, any, any>): void {\n const queryInMap = this.#queries.get(query.queryHash)\n\n if (queryInMap) {\n query.destroy()\n\n if (queryInMap === query) {\n this.#queries.delete(query.queryHash)\n }\n\n this.notify({ type: 'removed', query })\n }\n }\n\n clear(): void {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n this.remove(query)\n })\n })\n }\n\n get<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryHash: string,\n ): Query<TQueryFnData, TError, TData, TQueryKey> | undefined {\n return this.#queries.get(queryHash) as\n | Query<TQueryFnData, TError, TData, TQueryKey>\n | undefined\n }\n\n getAll(): Query[] {\n return [...this.#queries.values()]\n }\n\n find<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData>(\n filters: WithRequired<QueryFilters, 'queryKey'>,\n ): Query<TQueryFnData, TError, TData> | undefined {\n if (typeof filters.exact === 'undefined') {\n filters.exact = true\n }\n\n return this.getAll().find((query) => matchQuery(filters, query)) as\n | Query<TQueryFnData, TError, TData>\n | undefined\n }\n\n findAll(filters: QueryFilters = {}): Query[] {\n const queries = this.getAll()\n return Object.keys(filters).length > 0\n ? queries.filter((query) => matchQuery(filters, query))\n : queries\n }\n\n notify(event: QueryCacheNotifyEvent) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event)\n })\n })\n }\n\n onFocus(): void {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onFocus()\n })\n })\n }\n\n onOnline(): void {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onOnline()\n })\n })\n }\n}\n"],"names":["_classPrivateFieldLooseKey","QueryCache","Subscribable","constructor","config","_classPrivateFieldLooseBase","createStore","Map","build","client","options","state","queryKey","queryHash","hashQueryKeyByOptions","query","get","Query","cache","defaultQueryOptions","defaultOptions","getQueryDefaults","add","has","set","notify","type","remove","queryInMap","destroy","delete","clear","notifyManager","batch","getAll","forEach","values","find","filters","exact","matchQuery","findAll","queries","Object","keys","length","filter","event","listeners","listener","onFocus","onOnline"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"queryCache.js","sources":["../../src/queryCache.ts"],"sourcesContent":["import type { QueryFilters } from './utils'\nimport { hashQueryKeyByOptions, matchQuery } from './utils'\nimport type { Action, QueryState } from './query'\nimport { Query } from './query'\nimport type {\n NotifyEvent,\n QueryKey,\n QueryOptions,\n DefaultError,\n WithRequired,\n} from './types'\nimport { notifyManager } from './notifyManager'\nimport type { QueryClient } from './queryClient'\nimport { Subscribable } from './subscribable'\nimport type { QueryObserver } from './queryObserver'\n\n// TYPES\n\ninterface QueryCacheConfig {\n onError?: (\n error: DefaultError,\n query: Query<unknown, unknown, unknown>,\n ) => void\n onSuccess?: (data: unknown, query: Query<unknown, unknown, unknown>) => void\n onSettled?: (\n data: unknown | undefined,\n error: DefaultError | null,\n query: Query<unknown, unknown, unknown>,\n ) => void\n}\n\ninterface NotifyEventQueryAdded extends NotifyEvent {\n type: 'added'\n query: Query<any, any, any, any>\n}\n\ninterface NotifyEventQueryRemoved extends NotifyEvent {\n type: 'removed'\n query: Query<any, any, any, any>\n}\n\ninterface NotifyEventQueryUpdated extends NotifyEvent {\n type: 'updated'\n query: Query<any, any, any, any>\n action: Action<any, any>\n}\n\ninterface NotifyEventQueryObserverAdded extends NotifyEvent {\n type: 'observerAdded'\n query: Query<any, any, any, any>\n observer: QueryObserver<any, any, any, any, any>\n}\n\ninterface NotifyEventQueryObserverRemoved extends NotifyEvent {\n type: 'observerRemoved'\n query: Query<any, any, any, any>\n observer: QueryObserver<any, any, any, any, any>\n}\n\ninterface NotifyEventQueryObserverResultsUpdated extends NotifyEvent {\n type: 'observerResultsUpdated'\n query: Query<any, any, any, any>\n}\n\ninterface NotifyEventQueryObserverOptionsUpdated extends NotifyEvent {\n type: 'observerOptionsUpdated'\n query: Query<any, any, any, any>\n observer: QueryObserver<any, any, any, any, any>\n}\n\ntype QueryCacheNotifyEvent =\n | NotifyEventQueryAdded\n | NotifyEventQueryRemoved\n | NotifyEventQueryUpdated\n | NotifyEventQueryObserverAdded\n | NotifyEventQueryObserverRemoved\n | NotifyEventQueryObserverResultsUpdated\n | NotifyEventQueryObserverOptionsUpdated\n\ntype QueryCacheListener = (event: QueryCacheNotifyEvent) => void\n\nexport interface QueryStore {\n has: (queryKey: string) => boolean\n set: (queryKey: string, query: Query) => void\n get: (queryKey: string) => Query | undefined\n delete: (queryKey: string) => void\n values: () => IterableIterator<Query>\n}\n\n// CLASS\n\nexport class QueryCache extends Subscribable<QueryCacheListener> {\n #queries: QueryStore\n\n constructor(public config: QueryCacheConfig = {}) {\n super()\n this.#queries = new Map<string, Query>()\n }\n\n build<TQueryFnData, TError, TData, TQueryKey extends QueryKey>(\n client: QueryClient,\n options: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n state?: QueryState<TData, TError>,\n ): Query<TQueryFnData, TError, TData, TQueryKey> {\n const queryKey = options.queryKey!\n const queryHash =\n options.queryHash ?? hashQueryKeyByOptions(queryKey, options)\n let query = this.get<TQueryFnData, TError, TData, TQueryKey>(queryHash)\n\n if (!query) {\n query = new Query({\n cache: this,\n queryKey,\n queryHash,\n options: client.defaultQueryOptions(options),\n state,\n defaultOptions: client.getQueryDefaults(queryKey),\n })\n this.add(query)\n }\n\n return query\n }\n\n add(query: Query<any, any, any, any>): void {\n if (!this.#queries.has(query.queryHash)) {\n this.#queries.set(query.queryHash, query)\n\n this.notify({\n type: 'added',\n query,\n })\n }\n }\n\n remove(query: Query<any, any, any, any>): void {\n const queryInMap = this.#queries.get(query.queryHash)\n\n if (queryInMap) {\n query.destroy()\n\n if (queryInMap === query) {\n this.#queries.delete(query.queryHash)\n }\n\n this.notify({ type: 'removed', query })\n }\n }\n\n clear(): void {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n this.remove(query)\n })\n })\n }\n\n get<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryHash: string,\n ): Query<TQueryFnData, TError, TData, TQueryKey> | undefined {\n return this.#queries.get(queryHash) as\n | Query<TQueryFnData, TError, TData, TQueryKey>\n | undefined\n }\n\n getAll(): Query[] {\n return [...this.#queries.values()]\n }\n\n find<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData>(\n filters: WithRequired<QueryFilters, 'queryKey'>,\n ): Query<TQueryFnData, TError, TData> | undefined {\n const defaultedFilters = { exact: true, ...filters }\n\n return this.getAll().find((query) =>\n matchQuery(defaultedFilters, query),\n ) as Query<TQueryFnData, TError, TData> | undefined\n }\n\n findAll(filters: QueryFilters = {}): Query[] {\n const queries = this.getAll()\n return Object.keys(filters).length > 0\n ? queries.filter((query) => matchQuery(filters, query))\n : queries\n }\n\n notify(event: QueryCacheNotifyEvent) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event)\n })\n })\n }\n\n onFocus(): void {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onFocus()\n })\n })\n }\n\n onOnline(): void {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onOnline()\n })\n })\n }\n}\n"],"names":["QueryCache","Subscribable","constructor","config","Map","build","client","options","state","queryKey","queryHash","hashQueryKeyByOptions","query","get","Query","cache","defaultQueryOptions","defaultOptions","getQueryDefaults","add","has","set","notify","type","remove","queryInMap","destroy","delete","clear","notifyManager","batch","getAll","forEach","values","find","filters","defaultedFilters","exact","matchQuery","findAll","queries","Object","keys","length","filter","event","listeners","listener","onFocus","onOnline"],"mappings":"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"}
|