@tanstack/query-core 5.0.0-alpha.7 → 5.0.0-alpha.81
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} +12 -8
- package/build/lib/focusManager.cjs.map +1 -0
- package/build/lib/focusManager.d.ts +2 -1
- package/build/lib/focusManager.d.ts.map +1 -0
- package/build/lib/focusManager.js +22 -40
- package/build/lib/focusManager.js.map +1 -1
- package/build/lib/focusManager.legacy.cjs +91 -0
- package/build/lib/focusManager.legacy.cjs.map +1 -0
- package/build/lib/{focusManager.esm.js → focusManager.legacy.js} +7 -6
- 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 -2
- 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} +15 -18
- package/build/lib/infiniteQueryBehavior.cjs.map +1 -0
- package/build/lib/infiniteQueryBehavior.d.ts +2 -1
- package/build/lib/infiniteQueryBehavior.d.ts.map +1 -0
- package/build/lib/infiniteQueryBehavior.js +14 -26
- package/build/lib/infiniteQueryBehavior.js.map +1 -1
- package/build/lib/infiniteQueryBehavior.legacy.cjs +125 -0
- package/build/lib/infiniteQueryBehavior.legacy.cjs.map +1 -0
- package/build/lib/{infiniteQueryBehavior.esm.js → infiniteQueryBehavior.legacy.js} +10 -16
- 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.cjs.map +1 -0
- package/build/lib/notifyManager.d.ts +7 -5
- 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} +19 -12
- 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 +28 -42
- package/build/lib/onlineManager.js.map +1 -1
- package/build/lib/onlineManager.legacy.cjs +95 -0
- package/build/lib/onlineManager.legacy.cjs.map +1 -0
- package/build/lib/{onlineManager.esm.js → onlineManager.legacy.js} +14 -10
- 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} +23 -21
- 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 +174 -225
- 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} +11 -11
- 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} +29 -26
- package/build/lib/queryClient.legacy.js.map +1 -0
- package/build/lib/{queryObserver.mjs → queryObserver.cjs} +76 -51
- 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 +244 -324
- package/build/lib/queryObserver.js.map +1 -1
- package/build/lib/queryObserver.legacy.cjs +561 -0
- package/build/lib/queryObserver.legacy.cjs.map +1 -0
- package/build/lib/{queryObserver.esm.js → queryObserver.legacy.js} +107 -89
- 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 +1 -0
- 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 +42 -48
- 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/focusManager.ts +3 -3
- package/src/hydration.ts +18 -37
- package/src/index.ts +3 -3
- package/src/infiniteQueryBehavior.ts +16 -18
- package/src/mutation.ts +1 -1
- package/src/mutationCache.ts +4 -4
- package/src/mutationObserver.ts +1 -1
- package/src/notifyManager.ts +7 -3
- package/src/onlineManager.ts +11 -6
- package/src/queriesObserver.ts +75 -25
- package/src/query.ts +7 -5
- package/src/queryCache.ts +6 -9
- package/src/queryClient.ts +23 -21
- package/src/queryObserver.ts +93 -56
- package/src/subscribable.ts +5 -5
- package/src/tests/focusManager.test.tsx +21 -14
- package/src/tests/hydration.test.tsx +7 -3
- package/src/tests/infiniteQueryBehavior.test.tsx +5 -2
- package/src/tests/notifyManager.test.tsx +15 -0
- package/src/tests/onlineManager.test.tsx +21 -0
- package/src/tests/query.test.tsx +4 -2
- package/src/tests/queryCache.test.tsx +1 -19
- package/src/tests/queryClient.test.tsx +79 -3
- package/src/tests/queryObserver.test.tsx +121 -0
- package/src/types.ts +31 -30
- 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/focusManager.mjs.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/infiniteQueryBehavior.mjs.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/notifyManager.mjs.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":"queryObserver.legacy.cjs","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 const result = this.createResult(query, options)\n\n if (shouldAssignObserverCurrentProperties(this, result)) {\n // this assigns the optimistic result to the current Observer\n // because if the query function changes, useQuery will be performing\n // an effect where it would fetch again.\n // When the fetch finishes, we perform a deep data cloning in order\n // to reuse objects references. This deep data clone is performed against\n // the `observer.currentResult.data` property\n // When QueryKey changes, we refresh the query and get new `optimistic`\n // result, while we leave the `observer.currentResult`, so when new data\n // arrives, it finds the old `observer.currentResult` which is related\n // to the old QueryKey. Which means that currentResult and selectData are\n // out of sync already.\n // To solve this, we move the cursor of the currentResult everytime\n // an observer reads an optimistic value.\n\n // When keeping the previous data, the result doesn't change until new\n // data arrives.\n this.#currentResult = result\n this.#currentResultOptions = this.options\n this.#currentResultState = this.#currentQuery.state\n }\n return result\n }\n\n getCurrentResult(): QueryObserverResult<TData, TError> {\n return this.#currentResult\n }\n\n trackResult(\n result: QueryObserverResult<TData, TError>,\n ): QueryObserverResult<TData, TError> {\n const trackedResult = {} as QueryObserverResult<TData, TError>\n\n Object.keys(result).forEach((key) => {\n Object.defineProperty(trackedResult, key, {\n configurable: false,\n enumerable: true,\n get: () => {\n this.#trackedProps.add(key as keyof QueryObserverResult)\n return result[key as keyof QueryObserverResult]\n },\n })\n })\n\n return trackedResult\n }\n\n getCurrentQuery(): Query<TQueryFnData, TError, TQueryData, TQueryKey> {\n return this.#currentQuery\n }\n\n 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\n// this function would decide if we will update the observer's 'current'\n// properties after an optimistic reading via getOptimisticResult\nfunction shouldAssignObserverCurrentProperties<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n observer: QueryObserver<TQueryFnData, TError, TData, TQueryData, TQueryKey>,\n optimisticResult: QueryObserverResult<TData, TError>,\n) {\n // if the newly created result isn't what the observer is holding as current,\n // then we'll need to update the properties as well\n if (observer.getCurrentResult() !== optimisticResult) {\n return true\n }\n\n // basically, just keep previous properties if nothing changed\n return false\n}\n"],"names":["_client","_classPrivateFieldLooseKey","_currentQuery","_currentQueryInitialState","_currentResult","_currentResultState","_currentResultOptions","_selectError","_selectFn","_selectResult","_lastQueryWithDefinedData","_staleTimeoutId","_refetchIntervalId","_currentRefetchInterval","_trackedProps","_executeFetch","_updateStaleTimeout","_computeRefetchInterval","_updateRefetchInterval","_updateTimers","_clearStaleTimeout","_clearRefetchInterval","_updateQuery","_notify","QueryObserver","Subscribable","constructor","client","options","Object","defineProperty","value","_notify2","_updateQuery2","_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","updateResult","staleTime","nextRefetchInterval","getOptimisticResult","build","result","createResult","shouldAssignObserverCurrentProperties","state","getCurrentResult","trackResult","trackedResult","keys","forEach","key","configurable","enumerable","get","add","getCurrentQuery","fetch","fetchOptimistic","defaultedOptions","isFetchingOptimistic","then","fetchOptions","_fetchOptions$cancelR","cancelRefetch","prevResult","prevResultState","prevResultOptions","queryChange","queryInitialState","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","nextResult","defaultNotifyOptions","shouldNotifyListeners","notifyOnChangeProps","includedProps","throwOnError","some","typedKey","changed","has","onQueryUpdate","promise","catch","noop","isServer","isValidTimeout","time","timeUntilStale","timeout","setTimeout","_ref","refetchInterval","nextInterval","setInterval","refetchIntervalInBackground","focusManager","isFocused","clearTimeout","clearInterval","notifyManager","batch","listener","shouldLoadOnMount","retryOnMount","refetchOnMount","field","suspense","isStaleByTime","optimisticResult"],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { classPrivateFieldLooseBase as _classPrivateFieldLooseBase, classPrivateFieldLooseKey as _classPrivateFieldLooseKey } from './_virtual/_rollupPluginBabelHelpers.
|
|
2
|
-
import { shallowEqualObjects, replaceData, noop, isServer, isValidTimeout, timeUntilStale } from './utils.
|
|
3
|
-
import { notifyManager } from './notifyManager.
|
|
4
|
-
import { focusManager } from './focusManager.
|
|
5
|
-
import { Subscribable } from './subscribable.
|
|
6
|
-
import { canFetch
|
|
1
|
+
import { classPrivateFieldLooseBase as _classPrivateFieldLooseBase, classPrivateFieldLooseKey as _classPrivateFieldLooseKey } from './_virtual/_rollupPluginBabelHelpers.legacy.js';
|
|
2
|
+
import { shallowEqualObjects, replaceData, noop, isServer, isValidTimeout, timeUntilStale } from './utils.legacy.js';
|
|
3
|
+
import { notifyManager } from './notifyManager.legacy.js';
|
|
4
|
+
import { focusManager } from './focusManager.legacy.js';
|
|
5
|
+
import { Subscribable } from './subscribable.legacy.js';
|
|
6
|
+
import { canFetch } from './retryer.legacy.js';
|
|
7
7
|
|
|
8
8
|
var _client = /*#__PURE__*/_classPrivateFieldLooseKey("client");
|
|
9
9
|
var _currentQuery = /*#__PURE__*/_classPrivateFieldLooseKey("currentQuery");
|
|
@@ -11,10 +11,10 @@ var _currentQueryInitialState = /*#__PURE__*/_classPrivateFieldLooseKey("current
|
|
|
11
11
|
var _currentResult = /*#__PURE__*/_classPrivateFieldLooseKey("currentResult");
|
|
12
12
|
var _currentResultState = /*#__PURE__*/_classPrivateFieldLooseKey("currentResultState");
|
|
13
13
|
var _currentResultOptions = /*#__PURE__*/_classPrivateFieldLooseKey("currentResultOptions");
|
|
14
|
-
var _previousQueryResult = /*#__PURE__*/_classPrivateFieldLooseKey("previousQueryResult");
|
|
15
14
|
var _selectError = /*#__PURE__*/_classPrivateFieldLooseKey("selectError");
|
|
16
15
|
var _selectFn = /*#__PURE__*/_classPrivateFieldLooseKey("selectFn");
|
|
17
16
|
var _selectResult = /*#__PURE__*/_classPrivateFieldLooseKey("selectResult");
|
|
17
|
+
var _lastQueryWithDefinedData = /*#__PURE__*/_classPrivateFieldLooseKey("lastQueryWithDefinedData");
|
|
18
18
|
var _staleTimeoutId = /*#__PURE__*/_classPrivateFieldLooseKey("staleTimeoutId");
|
|
19
19
|
var _refetchIntervalId = /*#__PURE__*/_classPrivateFieldLooseKey("refetchIntervalId");
|
|
20
20
|
var _currentRefetchInterval = /*#__PURE__*/_classPrivateFieldLooseKey("currentRefetchInterval");
|
|
@@ -26,7 +26,6 @@ var _updateRefetchInterval = /*#__PURE__*/_classPrivateFieldLooseKey("updateRefe
|
|
|
26
26
|
var _updateTimers = /*#__PURE__*/_classPrivateFieldLooseKey("updateTimers");
|
|
27
27
|
var _clearStaleTimeout = /*#__PURE__*/_classPrivateFieldLooseKey("clearStaleTimeout");
|
|
28
28
|
var _clearRefetchInterval = /*#__PURE__*/_classPrivateFieldLooseKey("clearRefetchInterval");
|
|
29
|
-
var _updateResult = /*#__PURE__*/_classPrivateFieldLooseKey("updateResult");
|
|
30
29
|
var _updateQuery = /*#__PURE__*/_classPrivateFieldLooseKey("updateQuery");
|
|
31
30
|
var _notify = /*#__PURE__*/_classPrivateFieldLooseKey("notify");
|
|
32
31
|
class QueryObserver extends Subscribable {
|
|
@@ -38,9 +37,6 @@ class QueryObserver extends Subscribable {
|
|
|
38
37
|
Object.defineProperty(this, _updateQuery, {
|
|
39
38
|
value: _updateQuery2
|
|
40
39
|
});
|
|
41
|
-
Object.defineProperty(this, _updateResult, {
|
|
42
|
-
value: _updateResult2
|
|
43
|
-
});
|
|
44
40
|
Object.defineProperty(this, _clearRefetchInterval, {
|
|
45
41
|
value: _clearRefetchInterval2
|
|
46
42
|
});
|
|
@@ -86,10 +82,6 @@ class QueryObserver extends Subscribable {
|
|
|
86
82
|
writable: true,
|
|
87
83
|
value: void 0
|
|
88
84
|
});
|
|
89
|
-
Object.defineProperty(this, _previousQueryResult, {
|
|
90
|
-
writable: true,
|
|
91
|
-
value: void 0
|
|
92
|
-
});
|
|
93
85
|
Object.defineProperty(this, _selectError, {
|
|
94
86
|
writable: true,
|
|
95
87
|
value: void 0
|
|
@@ -102,6 +94,12 @@ class QueryObserver extends Subscribable {
|
|
|
102
94
|
writable: true,
|
|
103
95
|
value: void 0
|
|
104
96
|
});
|
|
97
|
+
// This property keeps track of the last query with defined data.
|
|
98
|
+
// It will be used to pass the previous data and query to the placeholder function between renders.
|
|
99
|
+
Object.defineProperty(this, _lastQueryWithDefinedData, {
|
|
100
|
+
writable: true,
|
|
101
|
+
value: void 0
|
|
102
|
+
});
|
|
105
103
|
Object.defineProperty(this, _staleTimeoutId, {
|
|
106
104
|
writable: true,
|
|
107
105
|
value: void 0
|
|
@@ -128,7 +126,7 @@ class QueryObserver extends Subscribable {
|
|
|
128
126
|
this.refetch = this.refetch.bind(this);
|
|
129
127
|
}
|
|
130
128
|
onSubscribe() {
|
|
131
|
-
if (this.listeners.
|
|
129
|
+
if (this.listeners.size === 1) {
|
|
132
130
|
_classPrivateFieldLooseBase(this, _currentQuery)[_currentQuery].addObserver(this);
|
|
133
131
|
if (shouldFetchOnMount(_classPrivateFieldLooseBase(this, _currentQuery)[_currentQuery], this.options)) {
|
|
134
132
|
_classPrivateFieldLooseBase(this, _executeFetch)[_executeFetch]();
|
|
@@ -137,7 +135,7 @@ class QueryObserver extends Subscribable {
|
|
|
137
135
|
}
|
|
138
136
|
}
|
|
139
137
|
onUnsubscribe() {
|
|
140
|
-
if (!this.
|
|
138
|
+
if (!this.hasListeners()) {
|
|
141
139
|
this.destroy();
|
|
142
140
|
}
|
|
143
141
|
}
|
|
@@ -148,7 +146,7 @@ class QueryObserver extends Subscribable {
|
|
|
148
146
|
return shouldFetchOn(_classPrivateFieldLooseBase(this, _currentQuery)[_currentQuery], this.options, this.options.refetchOnWindowFocus);
|
|
149
147
|
}
|
|
150
148
|
destroy() {
|
|
151
|
-
this.listeners =
|
|
149
|
+
this.listeners = new Set();
|
|
152
150
|
_classPrivateFieldLooseBase(this, _clearStaleTimeout)[_clearStaleTimeout]();
|
|
153
151
|
_classPrivateFieldLooseBase(this, _clearRefetchInterval)[_clearRefetchInterval]();
|
|
154
152
|
_classPrivateFieldLooseBase(this, _currentQuery)[_currentQuery].removeObserver(this);
|
|
@@ -181,7 +179,7 @@ class QueryObserver extends Subscribable {
|
|
|
181
179
|
}
|
|
182
180
|
|
|
183
181
|
// Update result
|
|
184
|
-
|
|
182
|
+
this.updateResult(notifyOptions);
|
|
185
183
|
|
|
186
184
|
// Update stale interval if needed
|
|
187
185
|
if (mounted && (_classPrivateFieldLooseBase(this, _currentQuery)[_currentQuery] !== prevQuery || this.options.enabled !== prevOptions.enabled || this.options.staleTime !== prevOptions.staleTime)) {
|
|
@@ -196,7 +194,29 @@ class QueryObserver extends Subscribable {
|
|
|
196
194
|
}
|
|
197
195
|
getOptimisticResult(options) {
|
|
198
196
|
const query = _classPrivateFieldLooseBase(this, _client)[_client].getQueryCache().build(_classPrivateFieldLooseBase(this, _client)[_client], options);
|
|
199
|
-
|
|
197
|
+
const result = this.createResult(query, options);
|
|
198
|
+
if (shouldAssignObserverCurrentProperties(this, result)) {
|
|
199
|
+
// this assigns the optimistic result to the current Observer
|
|
200
|
+
// because if the query function changes, useQuery will be performing
|
|
201
|
+
// an effect where it would fetch again.
|
|
202
|
+
// When the fetch finishes, we perform a deep data cloning in order
|
|
203
|
+
// to reuse objects references. This deep data clone is performed against
|
|
204
|
+
// the `observer.currentResult.data` property
|
|
205
|
+
// When QueryKey changes, we refresh the query and get new `optimistic`
|
|
206
|
+
// result, while we leave the `observer.currentResult`, so when new data
|
|
207
|
+
// arrives, it finds the old `observer.currentResult` which is related
|
|
208
|
+
// to the old QueryKey. Which means that currentResult and selectData are
|
|
209
|
+
// out of sync already.
|
|
210
|
+
// To solve this, we move the cursor of the currentResult everytime
|
|
211
|
+
// an observer reads an optimistic value.
|
|
212
|
+
|
|
213
|
+
// When keeping the previous data, the result doesn't change until new
|
|
214
|
+
// data arrives.
|
|
215
|
+
_classPrivateFieldLooseBase(this, _currentResult)[_currentResult] = result;
|
|
216
|
+
_classPrivateFieldLooseBase(this, _currentResultOptions)[_currentResultOptions] = this.options;
|
|
217
|
+
_classPrivateFieldLooseBase(this, _currentResultState)[_currentResultState] = _classPrivateFieldLooseBase(this, _currentQuery)[_currentQuery].state;
|
|
218
|
+
}
|
|
219
|
+
return result;
|
|
200
220
|
}
|
|
201
221
|
getCurrentResult() {
|
|
202
222
|
return _classPrivateFieldLooseBase(this, _currentResult)[_currentResult];
|
|
@@ -237,7 +257,7 @@ class QueryObserver extends Subscribable {
|
|
|
237
257
|
...fetchOptions,
|
|
238
258
|
cancelRefetch: (_fetchOptions$cancelR = fetchOptions.cancelRefetch) != null ? _fetchOptions$cancelR : true
|
|
239
259
|
}).then(() => {
|
|
240
|
-
|
|
260
|
+
this.updateResult();
|
|
241
261
|
return _classPrivateFieldLooseBase(this, _currentResult)[_currentResult];
|
|
242
262
|
});
|
|
243
263
|
}
|
|
@@ -249,7 +269,6 @@ class QueryObserver extends Subscribable {
|
|
|
249
269
|
const prevResultOptions = _classPrivateFieldLooseBase(this, _currentResultOptions)[_currentResultOptions];
|
|
250
270
|
const queryChange = query !== prevQuery;
|
|
251
271
|
const queryInitialState = queryChange ? query.state : _classPrivateFieldLooseBase(this, _currentQueryInitialState)[_currentQueryInitialState];
|
|
252
|
-
const prevQueryResult = queryChange ? _classPrivateFieldLooseBase(this, _currentResult)[_currentResult] : _classPrivateFieldLooseBase(this, _previousQueryResult)[_previousQueryResult];
|
|
253
272
|
const {
|
|
254
273
|
state
|
|
255
274
|
} = query;
|
|
@@ -308,7 +327,8 @@ class QueryObserver extends Subscribable {
|
|
|
308
327
|
if (prevResult != null && prevResult.isPlaceholderData && options.placeholderData === (prevResultOptions == null ? void 0 : prevResultOptions.placeholderData)) {
|
|
309
328
|
placeholderData = prevResult.data;
|
|
310
329
|
} else {
|
|
311
|
-
|
|
330
|
+
var _classPrivateFieldLoo;
|
|
331
|
+
placeholderData = typeof options.placeholderData === 'function' ? options.placeholderData((_classPrivateFieldLoo = _classPrivateFieldLooseBase(this, _lastQueryWithDefinedData)[_lastQueryWithDefinedData]) == null ? void 0 : _classPrivateFieldLoo.state.data, _classPrivateFieldLooseBase(this, _lastQueryWithDefinedData)[_lastQueryWithDefinedData]) : options.placeholderData;
|
|
312
332
|
if (options.select && typeof placeholderData !== 'undefined') {
|
|
313
333
|
try {
|
|
314
334
|
placeholderData = options.select(placeholderData);
|
|
@@ -362,14 +382,53 @@ class QueryObserver extends Subscribable {
|
|
|
362
382
|
};
|
|
363
383
|
return result;
|
|
364
384
|
}
|
|
365
|
-
|
|
366
|
-
const
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
385
|
+
updateResult(notifyOptions) {
|
|
386
|
+
const prevResult = _classPrivateFieldLooseBase(this, _currentResult)[_currentResult];
|
|
387
|
+
const nextResult = this.createResult(_classPrivateFieldLooseBase(this, _currentQuery)[_currentQuery], this.options);
|
|
388
|
+
_classPrivateFieldLooseBase(this, _currentResultState)[_currentResultState] = _classPrivateFieldLooseBase(this, _currentQuery)[_currentQuery].state;
|
|
389
|
+
_classPrivateFieldLooseBase(this, _currentResultOptions)[_currentResultOptions] = this.options;
|
|
390
|
+
|
|
391
|
+
// Only notify and update result if something has changed
|
|
392
|
+
if (shallowEqualObjects(nextResult, prevResult)) {
|
|
393
|
+
return;
|
|
394
|
+
}
|
|
395
|
+
if (_classPrivateFieldLooseBase(this, _currentResultState)[_currentResultState].data !== undefined) {
|
|
396
|
+
_classPrivateFieldLooseBase(this, _lastQueryWithDefinedData)[_lastQueryWithDefinedData] = _classPrivateFieldLooseBase(this, _currentQuery)[_currentQuery];
|
|
397
|
+
}
|
|
398
|
+
_classPrivateFieldLooseBase(this, _currentResult)[_currentResult] = nextResult;
|
|
399
|
+
|
|
400
|
+
// Determine which callbacks to trigger
|
|
401
|
+
const defaultNotifyOptions = {};
|
|
402
|
+
const shouldNotifyListeners = () => {
|
|
403
|
+
if (!prevResult) {
|
|
404
|
+
return true;
|
|
405
|
+
}
|
|
406
|
+
const {
|
|
407
|
+
notifyOnChangeProps
|
|
408
|
+
} = this.options;
|
|
409
|
+
if (notifyOnChangeProps === 'all' || !notifyOnChangeProps && !_classPrivateFieldLooseBase(this, _trackedProps)[_trackedProps].size) {
|
|
410
|
+
return true;
|
|
411
|
+
}
|
|
412
|
+
const includedProps = new Set(notifyOnChangeProps != null ? notifyOnChangeProps : _classPrivateFieldLooseBase(this, _trackedProps)[_trackedProps]);
|
|
413
|
+
if (this.options.throwOnError) {
|
|
414
|
+
includedProps.add('error');
|
|
415
|
+
}
|
|
416
|
+
return Object.keys(_classPrivateFieldLooseBase(this, _currentResult)[_currentResult]).some(key => {
|
|
417
|
+
const typedKey = key;
|
|
418
|
+
const changed = _classPrivateFieldLooseBase(this, _currentResult)[_currentResult][typedKey] !== prevResult[typedKey];
|
|
419
|
+
return changed && includedProps.has(typedKey);
|
|
420
|
+
});
|
|
421
|
+
};
|
|
422
|
+
if ((notifyOptions == null ? void 0 : notifyOptions.listeners) !== false && shouldNotifyListeners()) {
|
|
423
|
+
defaultNotifyOptions.listeners = true;
|
|
371
424
|
}
|
|
372
|
-
_classPrivateFieldLooseBase(this,
|
|
425
|
+
_classPrivateFieldLooseBase(this, _notify)[_notify]({
|
|
426
|
+
...defaultNotifyOptions,
|
|
427
|
+
...notifyOptions
|
|
428
|
+
});
|
|
429
|
+
}
|
|
430
|
+
onQueryUpdate() {
|
|
431
|
+
this.updateResult();
|
|
373
432
|
if (this.hasListeners()) {
|
|
374
433
|
_classPrivateFieldLooseBase(this, _updateTimers)[_updateTimers]();
|
|
375
434
|
}
|
|
@@ -398,13 +457,13 @@ function _updateStaleTimeout2() {
|
|
|
398
457
|
const timeout = time + 1;
|
|
399
458
|
_classPrivateFieldLooseBase(this, _staleTimeoutId)[_staleTimeoutId] = setTimeout(() => {
|
|
400
459
|
if (!_classPrivateFieldLooseBase(this, _currentResult)[_currentResult].isStale) {
|
|
401
|
-
|
|
460
|
+
this.updateResult();
|
|
402
461
|
}
|
|
403
462
|
}, timeout);
|
|
404
463
|
}
|
|
405
464
|
function _computeRefetchInterval2() {
|
|
406
|
-
var
|
|
407
|
-
return typeof this.options.refetchInterval === 'function' ? this.options.refetchInterval(_classPrivateFieldLooseBase(this, _currentResult)[_currentResult].data, _classPrivateFieldLooseBase(this, _currentQuery)[_currentQuery]) :
|
|
465
|
+
var _ref;
|
|
466
|
+
return (_ref = typeof this.options.refetchInterval === 'function' ? this.options.refetchInterval(_classPrivateFieldLooseBase(this, _currentResult)[_currentResult].data, _classPrivateFieldLooseBase(this, _currentQuery)[_currentQuery]) : this.options.refetchInterval) != null ? _ref : false;
|
|
408
467
|
}
|
|
409
468
|
function _updateRefetchInterval2(nextInterval) {
|
|
410
469
|
_classPrivateFieldLooseBase(this, _clearRefetchInterval)[_clearRefetchInterval]();
|
|
@@ -434,48 +493,6 @@ function _clearRefetchInterval2() {
|
|
|
434
493
|
_classPrivateFieldLooseBase(this, _refetchIntervalId)[_refetchIntervalId] = undefined;
|
|
435
494
|
}
|
|
436
495
|
}
|
|
437
|
-
function _updateResult2(notifyOptions) {
|
|
438
|
-
const prevResult = _classPrivateFieldLooseBase(this, _currentResult)[_currentResult];
|
|
439
|
-
const nextResult = this.createResult(_classPrivateFieldLooseBase(this, _currentQuery)[_currentQuery], this.options);
|
|
440
|
-
_classPrivateFieldLooseBase(this, _currentResultState)[_currentResultState] = _classPrivateFieldLooseBase(this, _currentQuery)[_currentQuery].state;
|
|
441
|
-
_classPrivateFieldLooseBase(this, _currentResultOptions)[_currentResultOptions] = this.options;
|
|
442
|
-
|
|
443
|
-
// Only notify and update result if something has changed
|
|
444
|
-
if (shallowEqualObjects(nextResult, prevResult)) {
|
|
445
|
-
return;
|
|
446
|
-
}
|
|
447
|
-
_classPrivateFieldLooseBase(this, _currentResult)[_currentResult] = nextResult;
|
|
448
|
-
|
|
449
|
-
// Determine which callbacks to trigger
|
|
450
|
-
const defaultNotifyOptions = {};
|
|
451
|
-
const shouldNotifyListeners = () => {
|
|
452
|
-
if (!prevResult) {
|
|
453
|
-
return true;
|
|
454
|
-
}
|
|
455
|
-
const {
|
|
456
|
-
notifyOnChangeProps
|
|
457
|
-
} = this.options;
|
|
458
|
-
if (notifyOnChangeProps === 'all' || !notifyOnChangeProps && !_classPrivateFieldLooseBase(this, _trackedProps)[_trackedProps].size) {
|
|
459
|
-
return true;
|
|
460
|
-
}
|
|
461
|
-
const includedProps = new Set(notifyOnChangeProps != null ? notifyOnChangeProps : _classPrivateFieldLooseBase(this, _trackedProps)[_trackedProps]);
|
|
462
|
-
if (this.options.throwErrors) {
|
|
463
|
-
includedProps.add('error');
|
|
464
|
-
}
|
|
465
|
-
return Object.keys(_classPrivateFieldLooseBase(this, _currentResult)[_currentResult]).some(key => {
|
|
466
|
-
const typedKey = key;
|
|
467
|
-
const changed = _classPrivateFieldLooseBase(this, _currentResult)[_currentResult][typedKey] !== prevResult[typedKey];
|
|
468
|
-
return changed && includedProps.has(typedKey);
|
|
469
|
-
});
|
|
470
|
-
};
|
|
471
|
-
if ((notifyOptions == null ? void 0 : notifyOptions.listeners) !== false && shouldNotifyListeners()) {
|
|
472
|
-
defaultNotifyOptions.listeners = true;
|
|
473
|
-
}
|
|
474
|
-
_classPrivateFieldLooseBase(this, _notify)[_notify]({
|
|
475
|
-
...defaultNotifyOptions,
|
|
476
|
-
...notifyOptions
|
|
477
|
-
});
|
|
478
|
-
}
|
|
479
496
|
function _updateQuery2() {
|
|
480
497
|
const query = _classPrivateFieldLooseBase(this, _client)[_client].getQueryCache().build(_classPrivateFieldLooseBase(this, _client)[_client], this.options);
|
|
481
498
|
if (query === _classPrivateFieldLooseBase(this, _currentQuery)[_currentQuery]) {
|
|
@@ -484,7 +501,6 @@ function _updateQuery2() {
|
|
|
484
501
|
const prevQuery = _classPrivateFieldLooseBase(this, _currentQuery)[_currentQuery];
|
|
485
502
|
_classPrivateFieldLooseBase(this, _currentQuery)[_currentQuery] = query;
|
|
486
503
|
_classPrivateFieldLooseBase(this, _currentQueryInitialState)[_currentQueryInitialState] = query.state;
|
|
487
|
-
_classPrivateFieldLooseBase(this, _previousQueryResult)[_previousQueryResult] = _classPrivateFieldLooseBase(this, _currentResult)[_currentResult];
|
|
488
504
|
if (this.hasListeners()) {
|
|
489
505
|
prevQuery == null ? void 0 : prevQuery.removeObserver(this);
|
|
490
506
|
query.addObserver(this);
|
|
@@ -492,18 +508,7 @@ function _updateQuery2() {
|
|
|
492
508
|
}
|
|
493
509
|
function _notify2(notifyOptions) {
|
|
494
510
|
notifyManager.batch(() => {
|
|
495
|
-
// First trigger the
|
|
496
|
-
if (notifyOptions.onSuccess) {
|
|
497
|
-
var _this$options$onSucce, _this$options, _this$options$onSettl, _this$options2;
|
|
498
|
-
(_this$options$onSucce = (_this$options = this.options).onSuccess) == null ? void 0 : _this$options$onSucce.call(_this$options, _classPrivateFieldLooseBase(this, _currentResult)[_currentResult].data);
|
|
499
|
-
(_this$options$onSettl = (_this$options2 = this.options).onSettled) == null ? void 0 : _this$options$onSettl.call(_this$options2, _classPrivateFieldLooseBase(this, _currentResult)[_currentResult].data, null);
|
|
500
|
-
} else if (notifyOptions.onError) {
|
|
501
|
-
var _this$options$onError, _this$options3, _this$options$onSettl2, _this$options4;
|
|
502
|
-
(_this$options$onError = (_this$options3 = this.options).onError) == null ? void 0 : _this$options$onError.call(_this$options3, _classPrivateFieldLooseBase(this, _currentResult)[_currentResult].error);
|
|
503
|
-
(_this$options$onSettl2 = (_this$options4 = this.options).onSettled) == null ? void 0 : _this$options$onSettl2.call(_this$options4, undefined, _classPrivateFieldLooseBase(this, _currentResult)[_currentResult].error);
|
|
504
|
-
}
|
|
505
|
-
|
|
506
|
-
// Then trigger the listeners
|
|
511
|
+
// First, trigger the listeners
|
|
507
512
|
if (notifyOptions.listeners) {
|
|
508
513
|
this.listeners.forEach(listener => {
|
|
509
514
|
listener(_classPrivateFieldLooseBase(this, _currentResult)[_currentResult]);
|
|
@@ -537,5 +542,18 @@ function isStale(query, options) {
|
|
|
537
542
|
return query.isStaleByTime(options.staleTime);
|
|
538
543
|
}
|
|
539
544
|
|
|
545
|
+
// this function would decide if we will update the observer's 'current'
|
|
546
|
+
// properties after an optimistic reading via getOptimisticResult
|
|
547
|
+
function shouldAssignObserverCurrentProperties(observer, optimisticResult) {
|
|
548
|
+
// if the newly created result isn't what the observer is holding as current,
|
|
549
|
+
// then we'll need to update the properties as well
|
|
550
|
+
if (observer.getCurrentResult() !== optimisticResult) {
|
|
551
|
+
return true;
|
|
552
|
+
}
|
|
553
|
+
|
|
554
|
+
// basically, just keep previous properties if nothing changed
|
|
555
|
+
return false;
|
|
556
|
+
}
|
|
557
|
+
|
|
540
558
|
export { QueryObserver };
|
|
541
|
-
//# sourceMappingURL=queryObserver.
|
|
559
|
+
//# sourceMappingURL=queryObserver.legacy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queryObserver.legacy.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 const result = this.createResult(query, options)\n\n if (shouldAssignObserverCurrentProperties(this, result)) {\n // this assigns the optimistic result to the current Observer\n // because if the query function changes, useQuery will be performing\n // an effect where it would fetch again.\n // When the fetch finishes, we perform a deep data cloning in order\n // to reuse objects references. This deep data clone is performed against\n // the `observer.currentResult.data` property\n // When QueryKey changes, we refresh the query and get new `optimistic`\n // result, while we leave the `observer.currentResult`, so when new data\n // arrives, it finds the old `observer.currentResult` which is related\n // to the old QueryKey. Which means that currentResult and selectData are\n // out of sync already.\n // To solve this, we move the cursor of the currentResult everytime\n // an observer reads an optimistic value.\n\n // When keeping the previous data, the result doesn't change until new\n // data arrives.\n this.#currentResult = result\n this.#currentResultOptions = this.options\n this.#currentResultState = this.#currentQuery.state\n }\n return result\n }\n\n getCurrentResult(): QueryObserverResult<TData, TError> {\n return this.#currentResult\n }\n\n trackResult(\n result: QueryObserverResult<TData, TError>,\n ): QueryObserverResult<TData, TError> {\n const trackedResult = {} as QueryObserverResult<TData, TError>\n\n Object.keys(result).forEach((key) => {\n Object.defineProperty(trackedResult, key, {\n configurable: false,\n enumerable: true,\n get: () => {\n this.#trackedProps.add(key as keyof QueryObserverResult)\n return result[key as keyof QueryObserverResult]\n },\n })\n })\n\n return trackedResult\n }\n\n getCurrentQuery(): Query<TQueryFnData, TError, TQueryData, TQueryKey> {\n return this.#currentQuery\n }\n\n 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\n// this function would decide if we will update the observer's 'current'\n// properties after an optimistic reading via getOptimisticResult\nfunction shouldAssignObserverCurrentProperties<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n observer: QueryObserver<TQueryFnData, TError, TData, TQueryData, TQueryKey>,\n optimisticResult: QueryObserverResult<TData, TError>,\n) {\n // if the newly created result isn't what the observer is holding as current,\n // then we'll need to update the properties as well\n if (observer.getCurrentResult() !== optimisticResult) {\n return true\n }\n\n // basically, just keep previous properties if nothing changed\n return false\n}\n"],"names":["_client","_classPrivateFieldLooseKey","_currentQuery","_currentQueryInitialState","_currentResult","_currentResultState","_currentResultOptions","_selectError","_selectFn","_selectResult","_lastQueryWithDefinedData","_staleTimeoutId","_refetchIntervalId","_currentRefetchInterval","_trackedProps","_executeFetch","_updateStaleTimeout","_computeRefetchInterval","_updateRefetchInterval","_updateTimers","_clearStaleTimeout","_clearRefetchInterval","_updateQuery","_notify","QueryObserver","Subscribable","constructor","client","options","Object","defineProperty","value","_notify2","_updateQuery2","_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","updateResult","staleTime","nextRefetchInterval","getOptimisticResult","build","result","createResult","shouldAssignObserverCurrentProperties","state","getCurrentResult","trackResult","trackedResult","keys","forEach","key","configurable","enumerable","get","add","getCurrentQuery","fetch","fetchOptimistic","defaultedOptions","isFetchingOptimistic","then","fetchOptions","_fetchOptions$cancelR","cancelRefetch","prevResult","prevResultState","prevResultOptions","queryChange","queryInitialState","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","nextResult","defaultNotifyOptions","shouldNotifyListeners","notifyOnChangeProps","includedProps","throwOnError","some","typedKey","changed","has","onQueryUpdate","promise","catch","noop","isServer","isValidTimeout","time","timeUntilStale","timeout","setTimeout","_ref","refetchInterval","nextInterval","setInterval","refetchIntervalInBackground","focusManager","isFocused","clearTimeout","clearInterval","notifyManager","batch","listener","shouldLoadOnMount","retryOnMount","refetchOnMount","field","suspense","isStaleByTime","optimisticResult"],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var utils = require('./utils.cjs');
|
|
2
4
|
|
|
3
5
|
class Removable {
|
|
4
6
|
#gcTimeout;
|
|
@@ -7,7 +9,7 @@ class Removable {
|
|
|
7
9
|
}
|
|
8
10
|
scheduleGc() {
|
|
9
11
|
this.clearGcTimeout();
|
|
10
|
-
if (isValidTimeout(this.gcTime)) {
|
|
12
|
+
if (utils.isValidTimeout(this.gcTime)) {
|
|
11
13
|
this.#gcTimeout = setTimeout(() => {
|
|
12
14
|
this.optionalRemove();
|
|
13
15
|
}, this.gcTime);
|
|
@@ -15,7 +17,7 @@ class Removable {
|
|
|
15
17
|
}
|
|
16
18
|
updateGcTime(newGcTime) {
|
|
17
19
|
// Default to 5 minutes (Infinity for server-side) if no gcTime is set
|
|
18
|
-
this.gcTime = Math.max(this.gcTime || 0, newGcTime ?? (isServer ? Infinity : 5 * 60 * 1000));
|
|
20
|
+
this.gcTime = Math.max(this.gcTime || 0, newGcTime ?? (utils.isServer ? Infinity : 5 * 60 * 1000));
|
|
19
21
|
}
|
|
20
22
|
clearGcTimeout() {
|
|
21
23
|
if (this.#gcTimeout) {
|
|
@@ -25,5 +27,5 @@ class Removable {
|
|
|
25
27
|
}
|
|
26
28
|
}
|
|
27
29
|
|
|
28
|
-
|
|
29
|
-
//# sourceMappingURL=removable.
|
|
30
|
+
exports.Removable = Removable;
|
|
31
|
+
//# sourceMappingURL=removable.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"removable.
|
|
1
|
+
{"version":3,"file":"removable.cjs","sources":["../../src/removable.ts"],"sourcesContent":["import { isServer, isValidTimeout } from './utils'\n\nexport abstract class Removable {\n gcTime!: number\n #gcTimeout?: ReturnType<typeof setTimeout>\n\n destroy(): void {\n this.clearGcTimeout()\n }\n\n protected scheduleGc(): void {\n this.clearGcTimeout()\n\n if (isValidTimeout(this.gcTime)) {\n this.#gcTimeout = setTimeout(() => {\n this.optionalRemove()\n }, this.gcTime)\n }\n }\n\n protected updateGcTime(newGcTime: number | undefined): void {\n // Default to 5 minutes (Infinity for server-side) if no gcTime is set\n this.gcTime = Math.max(\n this.gcTime || 0,\n newGcTime ?? (isServer ? Infinity : 5 * 60 * 1000),\n )\n }\n\n protected clearGcTimeout() {\n if (this.#gcTimeout) {\n clearTimeout(this.#gcTimeout)\n this.#gcTimeout = undefined\n }\n }\n\n protected abstract optionalRemove(): void\n}\n"],"names":["Removable","destroy","clearGcTimeout","scheduleGc","isValidTimeout","gcTime","setTimeout","optionalRemove","updateGcTime","newGcTime","Math","max","isServer","Infinity","clearTimeout","undefined"],"mappings":";;;;AAEO,MAAeA,SAAS,CAAC;AAE9B,EAAA,UAAU,CAAA;AAEVC,EAAAA,OAAOA,GAAS;IACd,IAAI,CAACC,cAAc,EAAE,CAAA;AACvB,GAAA;AAEUC,EAAAA,UAAUA,GAAS;IAC3B,IAAI,CAACD,cAAc,EAAE,CAAA;AAErB,IAAA,IAAIE,oBAAc,CAAC,IAAI,CAACC,MAAM,CAAC,EAAE;AAC/B,MAAA,IAAI,CAAC,UAAU,GAAGC,UAAU,CAAC,MAAM;QACjC,IAAI,CAACC,cAAc,EAAE,CAAA;AACvB,OAAC,EAAE,IAAI,CAACF,MAAM,CAAC,CAAA;AACjB,KAAA;AACF,GAAA;EAEUG,YAAYA,CAACC,SAA6B,EAAQ;AAC1D;IACA,IAAI,CAACJ,MAAM,GAAGK,IAAI,CAACC,GAAG,CACpB,IAAI,CAACN,MAAM,IAAI,CAAC,EAChBI,SAAS,KAAKG,cAAQ,GAAGC,QAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CACnD,CAAC,CAAA;AACH,GAAA;AAEUX,EAAAA,cAAcA,GAAG;AACzB,IAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACnBY,MAAAA,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;AAC7B,MAAA,IAAI,CAAC,UAAU,GAAGC,SAAS,CAAA;AAC7B,KAAA;AACF,GAAA;AAGF;;;;"}
|
package/build/lib/removable.d.ts
CHANGED