@tanstack/query-core 5.0.0-alpha.49 → 5.0.0-alpha.50

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/build/lib/focusManager.js +15 -31
  2. package/build/lib/focusManager.js.map +1 -1
  3. package/build/lib/hydration.js +4 -7
  4. package/build/lib/hydration.js.map +1 -1
  5. package/build/lib/infiniteQueryBehavior.js +4 -5
  6. package/build/lib/infiniteQueryBehavior.js.map +1 -1
  7. package/build/lib/infiniteQueryObserver.js +2 -3
  8. package/build/lib/infiniteQueryObserver.js.map +1 -1
  9. package/build/lib/mutation.js +102 -127
  10. package/build/lib/mutation.js.map +1 -1
  11. package/build/lib/mutationCache.js +17 -30
  12. package/build/lib/mutationCache.js.map +1 -1
  13. package/build/lib/mutationObserver.js +51 -81
  14. package/build/lib/mutationObserver.js.map +1 -1
  15. package/build/lib/onlineManager.js +14 -29
  16. package/build/lib/onlineManager.js.map +1 -1
  17. package/build/lib/queriesObserver.js +79 -125
  18. package/build/lib/queriesObserver.js.map +1 -1
  19. package/build/lib/query.js +161 -210
  20. package/build/lib/query.js.map +1 -1
  21. package/build/lib/queryCache.js +10 -15
  22. package/build/lib/queryCache.js.map +1 -1
  23. package/build/lib/queryClient.js +61 -98
  24. package/build/lib/queryClient.js.map +1 -1
  25. package/build/lib/queryObserver.js +197 -297
  26. package/build/lib/queryObserver.js.map +1 -1
  27. package/build/lib/removable.js +6 -13
  28. package/build/lib/removable.js.map +1 -1
  29. package/build/lib/retryer.js +14 -15
  30. package/build/lib/retryer.js.map +1 -1
  31. package/build/lib/utils.js +1 -1
  32. package/build/lib/utils.js.map +1 -1
  33. package/package.json +1 -2
  34. package/build/lib/_virtual/_rollupPluginBabelHelpers.js +0 -16
  35. package/build/lib/_virtual/_rollupPluginBabelHelpers.js.map +0 -1
  36. package/build/umd/index.development.js +0 -2691
  37. package/build/umd/index.development.js.map +0 -1
  38. package/build/umd/index.production.js +0 -2
  39. package/build/umd/index.production.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"query.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.indexOf(observer) === -1) {\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.indexOf(observer) !== -1) {\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","indexOf","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
+ {"version":3,"file":"query.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.indexOf(observer) === -1) {\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.indexOf(observer) !== -1) {\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":["Query","Removable","constructor","config","defaultOptions","options","cache","queryKey","queryHash","state","getDefaultState","scheduleGc","meta","#setOptions","updateGcTime","gcTime","optionalRemove","length","fetchStatus","remove","setData","newData","data","replaceData","type","dataUpdatedAt","updatedAt","manual","setState","setStateOptions","cancel","promise","then","noop","catch","Promise","resolve","destroy","silent","reset","isActive","some","observer","enabled","isDisabled","getObserversCount","isStale","isInvalidated","getCurrentResult","isStaleByTime","staleTime","timeUntilStale","onFocus","find","x","shouldFetchOnWindowFocus","refetch","cancelRefetch","continue","onOnline","shouldFetchOnReconnect","addObserver","indexOf","push","clearGcTimeout","notify","query","removeObserver","filter","revert","cancelRetry","invalidate","fetch","fetchOptions","continueRetry","queryFn","process","env","NODE_ENV","Array","isArray","console","error","abortController","AbortController","queryFnContext","addSignalProperty","object","Object","defineProperty","enumerable","get","signal","fetchFn","reject","Error","context","behavior","onFetch","fetchMeta","onError","isCancelledError","onSettled","isFetchingOptimistic","createRetryer","fn","abort","bind","onSuccess","onFail","failureCount","onPause","onContinue","retry","retryDelay","networkMode","#dispatch","action","reducer","fetchFailureCount","fetchFailureReason","canFetch","status","dataUpdateCount","Date","now","revertState","errorUpdateCount","errorUpdatedAt","notifyManager","batch","forEach","onQueryUpdate","initialData","hasData","initialDataUpdatedAt"],"mappings":"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"}
@@ -1,29 +1,24 @@
1
1
  'use strict';
2
2
 
3
- var _rollupPluginBabelHelpers = require('./_virtual/_rollupPluginBabelHelpers.js');
4
3
  var utils = require('./utils.js');
5
4
  var query = require('./query.js');
6
5
  var notifyManager = require('./notifyManager.js');
7
6
  var subscribable = require('./subscribable.js');
8
7
 
9
8
  // TYPES
10
- var _queries = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("queries");
9
+
11
10
  // CLASS
12
11
 
13
12
  class QueryCache extends subscribable.Subscribable {
13
+ #queries;
14
14
  constructor(config = {}) {
15
15
  super();
16
- Object.defineProperty(this, _queries, {
17
- writable: true,
18
- value: void 0
19
- });
20
16
  this.config = config;
21
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _queries)[_queries] = new Map();
17
+ this.#queries = new Map();
22
18
  }
23
19
  build(client, options, state) {
24
- var _options$queryHash;
25
20
  const queryKey = options.queryKey;
26
- const queryHash = (_options$queryHash = options.queryHash) != null ? _options$queryHash : utils.hashQueryKeyByOptions(queryKey, options);
21
+ const queryHash = options.queryHash ?? utils.hashQueryKeyByOptions(queryKey, options);
27
22
  let query$1 = this.get(queryHash);
28
23
  if (!query$1) {
29
24
  query$1 = new query.Query({
@@ -39,8 +34,8 @@ class QueryCache extends subscribable.Subscribable {
39
34
  return query$1;
40
35
  }
41
36
  add(query) {
42
- if (!_rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _queries)[_queries].has(query.queryHash)) {
43
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _queries)[_queries].set(query.queryHash, query);
37
+ if (!this.#queries.has(query.queryHash)) {
38
+ this.#queries.set(query.queryHash, query);
44
39
  this.notify({
45
40
  type: 'added',
46
41
  query
@@ -48,11 +43,11 @@ class QueryCache extends subscribable.Subscribable {
48
43
  }
49
44
  }
50
45
  remove(query) {
51
- const queryInMap = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _queries)[_queries].get(query.queryHash);
46
+ const queryInMap = this.#queries.get(query.queryHash);
52
47
  if (queryInMap) {
53
48
  query.destroy();
54
49
  if (queryInMap === query) {
55
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _queries)[_queries].delete(query.queryHash);
50
+ this.#queries.delete(query.queryHash);
56
51
  }
57
52
  this.notify({
58
53
  type: 'removed',
@@ -68,10 +63,10 @@ class QueryCache extends subscribable.Subscribable {
68
63
  });
69
64
  }
70
65
  get(queryHash) {
71
- return _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _queries)[_queries].get(queryHash);
66
+ return this.#queries.get(queryHash);
72
67
  }
73
68
  getAll() {
74
- return [..._rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _queries)[_queries].values()];
69
+ return [...this.#queries.values()];
75
70
  }
76
71
  find(filters) {
77
72
  const defaultedFilters = {
@@ -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}\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":["_queries","_classPrivateFieldLooseKey","QueryCache","Subscribable","constructor","config","Object","defineProperty","writable","value","_classPrivateFieldLooseBase","Map","build","client","options","state","_options$queryHash","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","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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"}
@@ -1,6 +1,5 @@
1
1
  'use strict';
2
2
 
3
- var _rollupPluginBabelHelpers = require('./_virtual/_rollupPluginBabelHelpers.js');
4
3
  var utils = require('./utils.js');
5
4
  var queryCache = require('./queryCache.js');
6
5
  var mutationCache = require('./mutationCache.js');
@@ -10,99 +9,66 @@ var notifyManager = require('./notifyManager.js');
10
9
  var infiniteQueryBehavior = require('./infiniteQueryBehavior.js');
11
10
 
12
11
  // TYPES
13
- var _queryCache = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("queryCache");
14
- var _mutationCache = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("mutationCache");
15
- var _defaultOptions = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("defaultOptions");
16
- var _queryDefaults = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("queryDefaults");
17
- var _mutationDefaults = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("mutationDefaults");
18
- var _mountCount = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("mountCount");
19
- var _unsubscribeFocus = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("unsubscribeFocus");
20
- var _unsubscribeOnline = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("unsubscribeOnline");
12
+
21
13
  // CLASS
22
14
 
23
15
  class QueryClient {
16
+ #queryCache;
17
+ #mutationCache;
18
+ #defaultOptions;
19
+ #queryDefaults;
20
+ #mutationDefaults;
21
+ #mountCount;
22
+ #unsubscribeFocus;
23
+ #unsubscribeOnline;
24
24
  constructor(config = {}) {
25
- Object.defineProperty(this, _queryCache, {
26
- writable: true,
27
- value: void 0
28
- });
29
- Object.defineProperty(this, _mutationCache, {
30
- writable: true,
31
- value: void 0
32
- });
33
- Object.defineProperty(this, _defaultOptions, {
34
- writable: true,
35
- value: void 0
36
- });
37
- Object.defineProperty(this, _queryDefaults, {
38
- writable: true,
39
- value: void 0
40
- });
41
- Object.defineProperty(this, _mutationDefaults, {
42
- writable: true,
43
- value: void 0
44
- });
45
- Object.defineProperty(this, _mountCount, {
46
- writable: true,
47
- value: void 0
48
- });
49
- Object.defineProperty(this, _unsubscribeFocus, {
50
- writable: true,
51
- value: void 0
52
- });
53
- Object.defineProperty(this, _unsubscribeOnline, {
54
- writable: true,
55
- value: void 0
56
- });
57
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _queryCache)[_queryCache] = config.queryCache || new queryCache.QueryCache();
58
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _mutationCache)[_mutationCache] = config.mutationCache || new mutationCache.MutationCache();
59
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _defaultOptions)[_defaultOptions] = config.defaultOptions || {};
60
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _queryDefaults)[_queryDefaults] = new Map();
61
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _mutationDefaults)[_mutationDefaults] = new Map();
62
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _mountCount)[_mountCount] = 0;
25
+ this.#queryCache = config.queryCache || new queryCache.QueryCache();
26
+ this.#mutationCache = config.mutationCache || new mutationCache.MutationCache();
27
+ this.#defaultOptions = config.defaultOptions || {};
28
+ this.#queryDefaults = new Map();
29
+ this.#mutationDefaults = new Map();
30
+ this.#mountCount = 0;
63
31
  }
64
32
  mount() {
65
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _mountCount)[_mountCount]++;
66
- if (_rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _mountCount)[_mountCount] !== 1) return;
67
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _unsubscribeFocus)[_unsubscribeFocus] = focusManager.focusManager.subscribe(() => {
33
+ this.#mountCount++;
34
+ if (this.#mountCount !== 1) return;
35
+ this.#unsubscribeFocus = focusManager.focusManager.subscribe(() => {
68
36
  if (focusManager.focusManager.isFocused()) {
69
37
  this.resumePausedMutations();
70
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _queryCache)[_queryCache].onFocus();
38
+ this.#queryCache.onFocus();
71
39
  }
72
40
  });
73
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _unsubscribeOnline)[_unsubscribeOnline] = onlineManager.onlineManager.subscribe(() => {
41
+ this.#unsubscribeOnline = onlineManager.onlineManager.subscribe(() => {
74
42
  if (onlineManager.onlineManager.isOnline()) {
75
43
  this.resumePausedMutations();
76
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _queryCache)[_queryCache].onOnline();
44
+ this.#queryCache.onOnline();
77
45
  }
78
46
  });
79
47
  }
80
48
  unmount() {
81
- var _classPrivateFieldLoo, _classPrivateFieldLoo2, _classPrivateFieldLoo3, _classPrivateFieldLoo4;
82
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _mountCount)[_mountCount]--;
83
- if (_rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _mountCount)[_mountCount] !== 0) return;
84
- (_classPrivateFieldLoo = (_classPrivateFieldLoo2 = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _unsubscribeFocus))[_unsubscribeFocus]) == null ? void 0 : _classPrivateFieldLoo.call(_classPrivateFieldLoo2);
85
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _unsubscribeFocus)[_unsubscribeFocus] = undefined;
86
- (_classPrivateFieldLoo3 = (_classPrivateFieldLoo4 = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _unsubscribeOnline))[_unsubscribeOnline]) == null ? void 0 : _classPrivateFieldLoo3.call(_classPrivateFieldLoo4);
87
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _unsubscribeOnline)[_unsubscribeOnline] = undefined;
49
+ this.#mountCount--;
50
+ if (this.#mountCount !== 0) return;
51
+ this.#unsubscribeFocus?.();
52
+ this.#unsubscribeFocus = undefined;
53
+ this.#unsubscribeOnline?.();
54
+ this.#unsubscribeOnline = undefined;
88
55
  }
89
56
  isFetching(filters) {
90
- return _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _queryCache)[_queryCache].findAll({
57
+ return this.#queryCache.findAll({
91
58
  ...filters,
92
59
  fetchStatus: 'fetching'
93
60
  }).length;
94
61
  }
95
62
  isMutating(filters) {
96
- return _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _mutationCache)[_mutationCache].findAll({
63
+ return this.#mutationCache.findAll({
97
64
  ...filters,
98
65
  status: 'pending'
99
66
  }).length;
100
67
  }
101
68
  getQueryData(queryKey) {
102
- var _classPrivateFieldLoo5;
103
- return (_classPrivateFieldLoo5 = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _queryCache)[_queryCache].find({
69
+ return this.#queryCache.find({
104
70
  queryKey
105
- })) == null ? void 0 : _classPrivateFieldLoo5.state.data;
71
+ })?.state.data;
106
72
  }
107
73
  ensureQueryData(options) {
108
74
  const cachedData = this.getQueryData(options.queryKey);
@@ -118,10 +84,10 @@ class QueryClient {
118
84
  });
119
85
  }
120
86
  setQueryData(queryKey, updater, options) {
121
- const query = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _queryCache)[_queryCache].find({
87
+ const query = this.#queryCache.find({
122
88
  queryKey
123
89
  });
124
- const prevData = query == null ? void 0 : query.state.data;
90
+ const prevData = query?.state.data;
125
91
  const data = utils.functionalUpdate(updater, prevData);
126
92
  if (typeof data === 'undefined') {
127
93
  return undefined;
@@ -129,7 +95,7 @@ class QueryClient {
129
95
  const defaultedOptions = this.defaultQueryOptions({
130
96
  queryKey
131
97
  });
132
- return _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _queryCache)[_queryCache].build(this, defaultedOptions).setData(data, {
98
+ return this.#queryCache.build(this, defaultedOptions).setData(data, {
133
99
  ...options,
134
100
  manual: true
135
101
  });
@@ -140,13 +106,12 @@ class QueryClient {
140
106
  }) => [queryKey, this.setQueryData(queryKey, updater, options)]));
141
107
  }
142
108
  getQueryState(queryKey) {
143
- var _classPrivateFieldLoo6;
144
- return (_classPrivateFieldLoo6 = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _queryCache)[_queryCache].find({
109
+ return this.#queryCache.find({
145
110
  queryKey
146
- })) == null ? void 0 : _classPrivateFieldLoo6.state;
111
+ })?.state;
147
112
  }
148
113
  removeQueries(filters) {
149
- const queryCache = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _queryCache)[_queryCache];
114
+ const queryCache = this.#queryCache;
150
115
  notifyManager.notifyManager.batch(() => {
151
116
  queryCache.findAll(filters).forEach(query => {
152
117
  queryCache.remove(query);
@@ -154,7 +119,7 @@ class QueryClient {
154
119
  });
155
120
  }
156
121
  resetQueries(filters, options) {
157
- const queryCache = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _queryCache)[_queryCache];
122
+ const queryCache = this.#queryCache;
158
123
  const refetchFilters = {
159
124
  type: 'active',
160
125
  ...filters
@@ -171,13 +136,12 @@ class QueryClient {
171
136
  revert: true,
172
137
  ...cancelOptions
173
138
  };
174
- const promises = notifyManager.notifyManager.batch(() => _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _queryCache)[_queryCache].findAll(filters).map(query => query.cancel(defaultedCancelOptions)));
139
+ const promises = notifyManager.notifyManager.batch(() => this.#queryCache.findAll(filters).map(query => query.cancel(defaultedCancelOptions)));
175
140
  return Promise.all(promises).then(utils.noop).catch(utils.noop);
176
141
  }
177
142
  invalidateQueries(filters = {}, options = {}) {
178
143
  return notifyManager.notifyManager.batch(() => {
179
- var _ref, _filters$refetchType;
180
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _queryCache)[_queryCache].findAll(filters).forEach(query => {
144
+ this.#queryCache.findAll(filters).forEach(query => {
181
145
  query.invalidate();
182
146
  });
183
147
  if (filters.refetchType === 'none') {
@@ -185,18 +149,17 @@ class QueryClient {
185
149
  }
186
150
  const refetchFilters = {
187
151
  ...filters,
188
- type: (_ref = (_filters$refetchType = filters.refetchType) != null ? _filters$refetchType : filters.type) != null ? _ref : 'active'
152
+ type: filters.refetchType ?? filters.type ?? 'active'
189
153
  };
190
154
  return this.refetchQueries(refetchFilters, options);
191
155
  });
192
156
  }
193
157
  refetchQueries(filters = {}, options) {
194
- var _options$cancelRefetc;
195
158
  const fetchOptions = {
196
159
  ...options,
197
- cancelRefetch: (_options$cancelRefetc = options == null ? void 0 : options.cancelRefetch) != null ? _options$cancelRefetc : true
160
+ cancelRefetch: options?.cancelRefetch ?? true
198
161
  };
199
- const promises = notifyManager.notifyManager.batch(() => _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _queryCache)[_queryCache].findAll(filters).filter(query => !query.isDisabled()).map(query => {
162
+ const promises = notifyManager.notifyManager.batch(() => this.#queryCache.findAll(filters).filter(query => !query.isDisabled()).map(query => {
200
163
  let promise = query.fetch(undefined, fetchOptions);
201
164
  if (!fetchOptions.throwOnError) {
202
165
  promise = promise.catch(utils.noop);
@@ -212,7 +175,7 @@ class QueryClient {
212
175
  if (typeof defaultedOptions.retry === 'undefined') {
213
176
  defaultedOptions.retry = false;
214
177
  }
215
- const query = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _queryCache)[_queryCache].build(this, defaultedOptions);
178
+ const query = this.#queryCache.build(this, defaultedOptions);
216
179
  return query.isStaleByTime(defaultedOptions.staleTime) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data);
217
180
  }
218
181
  prefetchQuery(options) {
@@ -226,28 +189,28 @@ class QueryClient {
226
189
  return this.fetchInfiniteQuery(options).then(utils.noop).catch(utils.noop);
227
190
  }
228
191
  resumePausedMutations() {
229
- return _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _mutationCache)[_mutationCache].resumePausedMutations();
192
+ return this.#mutationCache.resumePausedMutations();
230
193
  }
231
194
  getQueryCache() {
232
- return _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _queryCache)[_queryCache];
195
+ return this.#queryCache;
233
196
  }
234
197
  getMutationCache() {
235
- return _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _mutationCache)[_mutationCache];
198
+ return this.#mutationCache;
236
199
  }
237
200
  getDefaultOptions() {
238
- return _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _defaultOptions)[_defaultOptions];
201
+ return this.#defaultOptions;
239
202
  }
240
203
  setDefaultOptions(options) {
241
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _defaultOptions)[_defaultOptions] = options;
204
+ this.#defaultOptions = options;
242
205
  }
243
206
  setQueryDefaults(queryKey, options) {
244
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _queryDefaults)[_queryDefaults].set(utils.hashKey(queryKey), {
207
+ this.#queryDefaults.set(utils.hashKey(queryKey), {
245
208
  queryKey,
246
209
  defaultOptions: options
247
210
  });
248
211
  }
249
212
  getQueryDefaults(queryKey) {
250
- const defaults = [..._rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _queryDefaults)[_queryDefaults].values()];
213
+ const defaults = [...this.#queryDefaults.values()];
251
214
  let result = {};
252
215
  defaults.forEach(queryDefault => {
253
216
  if (utils.partialMatchKey(queryKey, queryDefault.queryKey)) {
@@ -260,13 +223,13 @@ class QueryClient {
260
223
  return result;
261
224
  }
262
225
  setMutationDefaults(mutationKey, options) {
263
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _mutationDefaults)[_mutationDefaults].set(utils.hashKey(mutationKey), {
226
+ this.#mutationDefaults.set(utils.hashKey(mutationKey), {
264
227
  mutationKey,
265
228
  defaultOptions: options
266
229
  });
267
230
  }
268
231
  getMutationDefaults(mutationKey) {
269
- const defaults = [..._rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _mutationDefaults)[_mutationDefaults].values()];
232
+ const defaults = [...this.#mutationDefaults.values()];
270
233
  let result = {};
271
234
  defaults.forEach(queryDefault => {
272
235
  if (utils.partialMatchKey(mutationKey, queryDefault.mutationKey)) {
@@ -279,12 +242,12 @@ class QueryClient {
279
242
  return result;
280
243
  }
281
244
  defaultQueryOptions(options) {
282
- if (options != null && options._defaulted) {
245
+ if (options?._defaulted) {
283
246
  return options;
284
247
  }
285
248
  const defaultedOptions = {
286
- ..._rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _defaultOptions)[_defaultOptions].queries,
287
- ...((options == null ? void 0 : options.queryKey) && this.getQueryDefaults(options.queryKey)),
249
+ ...this.#defaultOptions.queries,
250
+ ...(options?.queryKey && this.getQueryDefaults(options.queryKey)),
288
251
  ...options,
289
252
  _defaulted: true
290
253
  };
@@ -302,19 +265,19 @@ class QueryClient {
302
265
  return defaultedOptions;
303
266
  }
304
267
  defaultMutationOptions(options) {
305
- if (options != null && options._defaulted) {
268
+ if (options?._defaulted) {
306
269
  return options;
307
270
  }
308
271
  return {
309
- ..._rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _defaultOptions)[_defaultOptions].mutations,
310
- ...((options == null ? void 0 : options.mutationKey) && this.getMutationDefaults(options.mutationKey)),
272
+ ...this.#defaultOptions.mutations,
273
+ ...(options?.mutationKey && this.getMutationDefaults(options.mutationKey)),
311
274
  ...options,
312
275
  _defaulted: true
313
276
  };
314
277
  }
315
278
  clear() {
316
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _queryCache)[_queryCache].clear();
317
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _mutationCache)[_mutationCache].clear();
279
+ this.#queryCache.clear();
280
+ this.#mutationCache.clear();
318
281
  }
319
282
  }
320
283