@tanstack/query-core 5.0.0-alpha.18 → 5.0.0-alpha.19

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.
@@ -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 _lastDefinedQueryData = /*#__PURE__*/_classPrivateFieldLooseKey("lastDefinedQueryData");
18
18
  var _staleTimeoutId = /*#__PURE__*/_classPrivateFieldLooseKey("staleTimeoutId");
19
19
  var _refetchIntervalId = /*#__PURE__*/_classPrivateFieldLooseKey("refetchIntervalId");
20
20
  var _currentRefetchInterval = /*#__PURE__*/_classPrivateFieldLooseKey("currentRefetchInterval");
@@ -30,6 +30,9 @@ var _updateResult = /*#__PURE__*/_classPrivateFieldLooseKey("updateResult");
30
30
  var _updateQuery = /*#__PURE__*/_classPrivateFieldLooseKey("updateQuery");
31
31
  var _notify = /*#__PURE__*/_classPrivateFieldLooseKey("notify");
32
32
  class QueryObserver extends Subscribable {
33
+ // This property keeps track of the last defined query data.
34
+ // It will be used to pass the previous data to the placeholder function between renders.
35
+
33
36
  constructor(client, options) {
34
37
  super();
35
38
  Object.defineProperty(this, _notify, {
@@ -86,10 +89,6 @@ class QueryObserver extends Subscribable {
86
89
  writable: true,
87
90
  value: void 0
88
91
  });
89
- Object.defineProperty(this, _previousQueryResult, {
90
- writable: true,
91
- value: void 0
92
- });
93
92
  Object.defineProperty(this, _selectError, {
94
93
  writable: true,
95
94
  value: void 0
@@ -102,6 +101,10 @@ class QueryObserver extends Subscribable {
102
101
  writable: true,
103
102
  value: void 0
104
103
  });
104
+ Object.defineProperty(this, _lastDefinedQueryData, {
105
+ writable: true,
106
+ value: void 0
107
+ });
105
108
  Object.defineProperty(this, _staleTimeoutId, {
106
109
  writable: true,
107
110
  value: void 0
@@ -249,7 +252,6 @@ class QueryObserver extends Subscribable {
249
252
  const prevResultOptions = _classPrivateFieldLooseBase(this, _currentResultOptions)[_currentResultOptions];
250
253
  const queryChange = query !== prevQuery;
251
254
  const queryInitialState = queryChange ? query.state : _classPrivateFieldLooseBase(this, _currentQueryInitialState)[_currentQueryInitialState];
252
- const prevQueryResult = queryChange ? _classPrivateFieldLooseBase(this, _currentResult)[_currentResult] : _classPrivateFieldLooseBase(this, _previousQueryResult)[_previousQueryResult];
253
255
  const {
254
256
  state
255
257
  } = query;
@@ -308,7 +310,7 @@ class QueryObserver extends Subscribable {
308
310
  if (prevResult != null && prevResult.isPlaceholderData && options.placeholderData === (prevResultOptions == null ? void 0 : prevResultOptions.placeholderData)) {
309
311
  placeholderData = prevResult.data;
310
312
  } else {
311
- placeholderData = typeof options.placeholderData === 'function' ? options.placeholderData(prevQueryResult == null ? void 0 : prevQueryResult.data) : options.placeholderData;
313
+ placeholderData = typeof options.placeholderData === 'function' ? options.placeholderData(_classPrivateFieldLooseBase(this, _lastDefinedQueryData)[_lastDefinedQueryData]) : options.placeholderData;
312
314
  if (options.select && typeof placeholderData !== 'undefined') {
313
315
  try {
314
316
  placeholderData = options.select(placeholderData);
@@ -444,6 +446,9 @@ function _updateResult2(notifyOptions) {
444
446
  if (shallowEqualObjects(nextResult, prevResult)) {
445
447
  return;
446
448
  }
449
+ if (_classPrivateFieldLooseBase(this, _currentResultState)[_currentResultState].data !== undefined) {
450
+ _classPrivateFieldLooseBase(this, _lastDefinedQueryData)[_lastDefinedQueryData] = _classPrivateFieldLooseBase(this, _currentResultState)[_currentResultState].data;
451
+ }
447
452
  _classPrivateFieldLooseBase(this, _currentResult)[_currentResult] = nextResult;
448
453
 
449
454
  // Determine which callbacks to trigger
@@ -484,7 +489,6 @@ function _updateQuery2() {
484
489
  const prevQuery = _classPrivateFieldLooseBase(this, _currentQuery)[_currentQuery];
485
490
  _classPrivateFieldLooseBase(this, _currentQuery)[_currentQuery] = query;
486
491
  _classPrivateFieldLooseBase(this, _currentQueryInitialState)[_currentQueryInitialState] = query.state;
487
- _classPrivateFieldLooseBase(this, _previousQueryResult)[_previousQueryResult] = _classPrivateFieldLooseBase(this, _currentResult)[_currentResult];
488
492
  if (this.hasListeners()) {
489
493
  prevQuery == null ? void 0 : prevQuery.removeObserver(this);
490
494
  query.addObserver(this);
@@ -1 +1 @@
1
- {"version":3,"file":"queryObserver.esm.js","sources":["../../src/queryObserver.ts"],"sourcesContent":["import type { DefaultedQueryObserverOptions, DefaultError } from './types'\nimport {\n isServer,\n isValidTimeout,\n noop,\n replaceData,\n shallowEqualObjects,\n timeUntilStale,\n} from './utils'\nimport { notifyManager } from './notifyManager'\nimport type {\n PlaceholderDataFunction,\n QueryKey,\n QueryObserverBaseResult,\n QueryObserverOptions,\n QueryObserverResult,\n QueryOptions,\n RefetchOptions,\n} from './types'\nimport type { Query, QueryState, Action, FetchOptions } from './query'\nimport type { QueryClient } from './queryClient'\nimport { focusManager } from './focusManager'\nimport { Subscribable } from './subscribable'\nimport { canFetch, isCancelledError } from './retryer'\n\ntype QueryObserverListener<TData, TError> = (\n result: QueryObserverResult<TData, TError>,\n) => void\n\nexport interface NotifyOptions {\n listeners?: boolean\n onError?: boolean\n onSuccess?: 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 #previousQueryResult?: QueryObserverResult<TData, TError>\n #selectError: TError | null\n #selectFn?: (data: TQueryData) => TData\n #selectResult?: TData\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.length === 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.listeners.length) {\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 = []\n this.#clearStaleTimeout()\n this.#clearRefetchInterval()\n this.#currentQuery.removeObserver(this)\n }\n\n setOptions(\n options?: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n notifyOptions?: NotifyOptions,\n ): void {\n const prevOptions = this.options\n const prevQuery = this.#currentQuery\n\n this.options = this.#client.defaultQueryOptions(options)\n\n if (!shallowEqualObjects(prevOptions, this.options)) {\n this.#client.getQueryCache().notify({\n type: 'observerOptionsUpdated',\n query: this.#currentQuery,\n observer: this,\n })\n }\n\n if (\n typeof this.options.enabled !== 'undefined' &&\n typeof this.options.enabled !== 'boolean'\n ) {\n throw new Error('Expected enabled to be a boolean')\n }\n\n // Keep previous query key if the user does not supply one\n if (!this.options.queryKey) {\n this.options.queryKey = prevOptions.queryKey\n }\n\n this.#updateQuery()\n\n const mounted = this.hasListeners()\n\n // Fetch if there are subscribers\n if (\n mounted &&\n shouldFetchOptionally(\n this.#currentQuery,\n prevQuery,\n this.options,\n prevOptions,\n )\n ) {\n this.#executeFetch()\n }\n\n // Update result\n this.#updateResult(notifyOptions)\n\n // Update stale interval if needed\n if (\n mounted &&\n (this.#currentQuery !== prevQuery ||\n this.options.enabled !== prevOptions.enabled ||\n this.options.staleTime !== prevOptions.staleTime)\n ) {\n this.#updateStaleTimeout()\n }\n\n const nextRefetchInterval = this.#computeRefetchInterval()\n\n // Update refetch interval if needed\n if (\n mounted &&\n (this.#currentQuery !== prevQuery ||\n this.options.enabled !== prevOptions.enabled ||\n nextRefetchInterval !== this.#currentRefetchInterval)\n ) {\n this.#updateRefetchInterval(nextRefetchInterval)\n }\n }\n\n getOptimisticResult(\n options: DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): QueryObserverResult<TData, TError> {\n const query = this.#client.getQueryCache().build(this.#client, options)\n\n return this.createResult(query, options)\n }\n\n getCurrentResult(): QueryObserverResult<TData, TError> {\n return this.#currentResult\n }\n\n trackResult(\n result: QueryObserverResult<TData, TError>,\n ): QueryObserverResult<TData, TError> {\n const trackedResult = {} as QueryObserverResult<TData, TError>\n\n Object.keys(result).forEach((key) => {\n Object.defineProperty(trackedResult, key, {\n configurable: false,\n enumerable: true,\n get: () => {\n this.#trackedProps.add(key as keyof QueryObserverResult)\n return result[key as keyof QueryObserverResult]\n },\n })\n })\n\n return trackedResult\n }\n\n getCurrentQuery(): Query<TQueryFnData, TError, TQueryData, TQueryKey> {\n return this.#currentQuery\n }\n\n refetch({ ...options }: RefetchOptions = {}): Promise<\n QueryObserverResult<TData, TError>\n > {\n return this.fetch({\n ...options,\n })\n }\n\n fetchOptimistic(\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): Promise<QueryObserverResult<TData, TError>> {\n const defaultedOptions = this.#client.defaultQueryOptions(options)\n\n const query = this.#client\n .getQueryCache()\n .build(this.#client, defaultedOptions)\n query.isFetchingOptimistic = true\n\n return query.fetch().then(() => this.createResult(query, defaultedOptions))\n }\n\n protected fetch(\n fetchOptions: ObserverFetchOptions,\n ): Promise<QueryObserverResult<TData, TError>> {\n return this.#executeFetch({\n ...fetchOptions,\n cancelRefetch: fetchOptions.cancelRefetch ?? true,\n }).then(() => {\n this.#updateResult()\n return this.#currentResult\n })\n }\n\n #executeFetch(\n fetchOptions?: ObserverFetchOptions,\n ): Promise<TQueryData | undefined> {\n // Make sure we reference the latest query as the current one might have been removed\n this.#updateQuery()\n\n // Fetch\n let promise: Promise<TQueryData | undefined> = this.#currentQuery.fetch(\n this.options as QueryOptions<TQueryFnData, TError, TQueryData, TQueryKey>,\n fetchOptions,\n )\n\n if (!fetchOptions?.throwOnError) {\n promise = promise.catch(noop)\n }\n\n return promise\n }\n\n #updateStaleTimeout(): void {\n this.#clearStaleTimeout()\n\n if (\n isServer ||\n this.#currentResult.isStale ||\n !isValidTimeout(this.options.staleTime)\n ) {\n return\n }\n\n const time = timeUntilStale(\n this.#currentResult.dataUpdatedAt,\n this.options.staleTime,\n )\n\n // The timeout is sometimes triggered 1 ms before the stale time expiration.\n // To mitigate this issue we always add 1 ms to the timeout.\n const timeout = time + 1\n\n this.#staleTimeoutId = setTimeout(() => {\n if (!this.#currentResult.isStale) {\n this.#updateResult()\n }\n }, timeout)\n }\n\n #computeRefetchInterval() {\n return 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 #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 const prevQueryResult = queryChange\n ? this.#currentResult\n : this.#previousQueryResult\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 )(prevQueryResult?.data as TQueryData | undefined)\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(prevResult?.data, placeholderData, options) 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 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.throwErrors) {\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 this.#previousQueryResult = this.#currentResult\n\n if (this.hasListeners()) {\n prevQuery?.removeObserver(this)\n query.addObserver(this)\n }\n }\n\n onQueryUpdate(action: Action<TData, TError>): void {\n const notifyOptions: NotifyOptions = {}\n\n if (action.type === 'success') {\n notifyOptions.onSuccess = !action.manual\n } else if (action.type === 'error' && !isCancelledError(action.error)) {\n notifyOptions.onError = true\n }\n\n this.#updateResult(notifyOptions)\n\n if (this.hasListeners()) {\n this.#updateTimers()\n }\n }\n\n #notify(notifyOptions: NotifyOptions): void {\n notifyManager.batch(() => {\n // First trigger the configuration callbacks\n if (notifyOptions.onSuccess) {\n this.options.onSuccess?.(this.#currentResult.data!)\n this.options.onSettled?.(this.#currentResult.data, null)\n } else if (notifyOptions.onError) {\n this.options.onError?.(this.#currentResult.error!)\n this.options.onSettled?.(undefined, this.#currentResult.error)\n }\n\n // Then trigger the listeners\n if (notifyOptions.listeners) {\n this.listeners.forEach((listener) => {\n listener(this.#currentResult)\n })\n }\n\n // Then the cache listeners\n this.#client.getQueryCache().notify({\n query: this.#currentQuery,\n type: 'observerResultsUpdated',\n })\n })\n }\n}\n\nfunction shouldLoadOnMount(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any>,\n): boolean {\n return (\n options.enabled !== false &&\n !query.state.dataUpdatedAt &&\n !(query.state.status === 'error' && options.retryOnMount === false)\n )\n}\n\nfunction shouldFetchOnMount(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n shouldLoadOnMount(query, options) ||\n (query.state.dataUpdatedAt > 0 &&\n shouldFetchOn(query, options, options.refetchOnMount))\n )\n}\n\nfunction shouldFetchOn(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n field: (typeof options)['refetchOnMount'] &\n (typeof options)['refetchOnWindowFocus'] &\n (typeof options)['refetchOnReconnect'],\n) {\n if (options.enabled !== false) {\n const value = typeof field === 'function' ? field(query) : field\n\n return value === 'always' || (value !== false && isStale(query, options))\n }\n return false\n}\n\nfunction shouldFetchOptionally(\n query: Query<any, any, any, any>,\n prevQuery: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n prevOptions: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n options.enabled !== false &&\n (query !== prevQuery || prevOptions.enabled === false) &&\n (!options.suspense || query.state.status !== 'error') &&\n isStale(query, options)\n )\n}\n\nfunction isStale(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return query.isStaleByTime(options.staleTime)\n}\n"],"names":["QueryObserver","Subscribable","constructor","client","options","undefined","Set","bindMethods","setOptions","refetch","bind","onSubscribe","listeners","length","addObserver","shouldFetchOnMount","onUnsubscribe","destroy","shouldFetchOnReconnect","shouldFetchOn","refetchOnReconnect","shouldFetchOnWindowFocus","refetchOnWindowFocus","removeObserver","notifyOptions","prevOptions","prevQuery","defaultQueryOptions","shallowEqualObjects","getQueryCache","notify","type","query","observer","enabled","Error","queryKey","mounted","hasListeners","shouldFetchOptionally","staleTime","nextRefetchInterval","getOptimisticResult","build","createResult","getCurrentResult","trackResult","result","trackedResult","Object","keys","forEach","key","defineProperty","configurable","enumerable","get","add","getCurrentQuery","fetch","fetchOptimistic","defaultedOptions","isFetchingOptimistic","then","fetchOptions","cancelRefetch","prevResult","prevResultState","prevResultOptions","queryChange","queryInitialState","state","prevQueryResult","error","errorUpdatedAt","fetchStatus","status","isPlaceholderData","data","_optimisticResults","fetchOnMount","fetchOptionally","canFetch","networkMode","dataUpdatedAt","select","replaceData","selectError","placeholderData","Date","now","isFetching","isPending","isError","isLoading","isSuccess","isInitialLoading","failureCount","fetchFailureCount","failureReason","fetchFailureReason","errorUpdateCount","isFetched","dataUpdateCount","isFetchedAfterMount","isRefetching","isLoadingError","isPaused","isRefetchError","isStale","onQueryUpdate","action","onSuccess","manual","isCancelledError","onError","promise","throwOnError","catch","noop","isServer","isValidTimeout","time","timeUntilStale","timeout","setTimeout","refetchInterval","nextInterval","setInterval","refetchIntervalInBackground","focusManager","isFocused","clearTimeout","clearInterval","nextResult","defaultNotifyOptions","shouldNotifyListeners","notifyOnChangeProps","size","includedProps","throwErrors","some","typedKey","changed","has","notifyManager","batch","onSettled","listener","shouldLoadOnMount","retryOnMount","refetchOnMount","field","value","suspense","isStaleByTime"],"mappings":"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"}
1
+ {"version":3,"file":"queryObserver.esm.js","sources":["../../src/queryObserver.ts"],"sourcesContent":["import type { DefaultedQueryObserverOptions, DefaultError } from './types'\nimport {\n isServer,\n isValidTimeout,\n noop,\n replaceData,\n shallowEqualObjects,\n timeUntilStale,\n} from './utils'\nimport { notifyManager } from './notifyManager'\nimport type {\n PlaceholderDataFunction,\n QueryKey,\n QueryObserverBaseResult,\n QueryObserverOptions,\n QueryObserverResult,\n QueryOptions,\n RefetchOptions,\n} from './types'\nimport type { Query, QueryState, Action, FetchOptions } from './query'\nimport type { QueryClient } from './queryClient'\nimport { focusManager } from './focusManager'\nimport { Subscribable } from './subscribable'\nimport { canFetch, isCancelledError } from './retryer'\n\ntype QueryObserverListener<TData, TError> = (\n result: QueryObserverResult<TData, TError>,\n) => void\n\nexport interface NotifyOptions {\n listeners?: boolean\n onError?: boolean\n onSuccess?: 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 defined query data.\n // It will be used to pass the previous data to the placeholder function between renders.\n #lastDefinedQueryData?: TQueryData\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.length === 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.listeners.length) {\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 = []\n this.#clearStaleTimeout()\n this.#clearRefetchInterval()\n this.#currentQuery.removeObserver(this)\n }\n\n setOptions(\n options?: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n notifyOptions?: NotifyOptions,\n ): void {\n const prevOptions = this.options\n const prevQuery = this.#currentQuery\n\n this.options = this.#client.defaultQueryOptions(options)\n\n if (!shallowEqualObjects(prevOptions, this.options)) {\n this.#client.getQueryCache().notify({\n type: 'observerOptionsUpdated',\n query: this.#currentQuery,\n observer: this,\n })\n }\n\n if (\n typeof this.options.enabled !== 'undefined' &&\n typeof this.options.enabled !== 'boolean'\n ) {\n throw new Error('Expected enabled to be a boolean')\n }\n\n // Keep previous query key if the user does not supply one\n if (!this.options.queryKey) {\n this.options.queryKey = prevOptions.queryKey\n }\n\n this.#updateQuery()\n\n const mounted = this.hasListeners()\n\n // Fetch if there are subscribers\n if (\n mounted &&\n shouldFetchOptionally(\n this.#currentQuery,\n prevQuery,\n this.options,\n prevOptions,\n )\n ) {\n this.#executeFetch()\n }\n\n // Update result\n this.#updateResult(notifyOptions)\n\n // Update stale interval if needed\n if (\n mounted &&\n (this.#currentQuery !== prevQuery ||\n this.options.enabled !== prevOptions.enabled ||\n this.options.staleTime !== prevOptions.staleTime)\n ) {\n this.#updateStaleTimeout()\n }\n\n const nextRefetchInterval = this.#computeRefetchInterval()\n\n // Update refetch interval if needed\n if (\n mounted &&\n (this.#currentQuery !== prevQuery ||\n this.options.enabled !== prevOptions.enabled ||\n nextRefetchInterval !== this.#currentRefetchInterval)\n ) {\n this.#updateRefetchInterval(nextRefetchInterval)\n }\n }\n\n getOptimisticResult(\n options: DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): QueryObserverResult<TData, TError> {\n const query = this.#client.getQueryCache().build(this.#client, options)\n\n return this.createResult(query, options)\n }\n\n getCurrentResult(): QueryObserverResult<TData, TError> {\n return this.#currentResult\n }\n\n trackResult(\n result: QueryObserverResult<TData, TError>,\n ): QueryObserverResult<TData, TError> {\n const trackedResult = {} as QueryObserverResult<TData, TError>\n\n Object.keys(result).forEach((key) => {\n Object.defineProperty(trackedResult, key, {\n configurable: false,\n enumerable: true,\n get: () => {\n this.#trackedProps.add(key as keyof QueryObserverResult)\n return result[key as keyof QueryObserverResult]\n },\n })\n })\n\n return trackedResult\n }\n\n getCurrentQuery(): Query<TQueryFnData, TError, TQueryData, TQueryKey> {\n return this.#currentQuery\n }\n\n refetch({ ...options }: RefetchOptions = {}): Promise<\n QueryObserverResult<TData, TError>\n > {\n return this.fetch({\n ...options,\n })\n }\n\n fetchOptimistic(\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): Promise<QueryObserverResult<TData, TError>> {\n const defaultedOptions = this.#client.defaultQueryOptions(options)\n\n const query = this.#client\n .getQueryCache()\n .build(this.#client, defaultedOptions)\n query.isFetchingOptimistic = true\n\n return query.fetch().then(() => this.createResult(query, defaultedOptions))\n }\n\n protected fetch(\n fetchOptions: ObserverFetchOptions,\n ): Promise<QueryObserverResult<TData, TError>> {\n return this.#executeFetch({\n ...fetchOptions,\n cancelRefetch: fetchOptions.cancelRefetch ?? true,\n }).then(() => {\n this.#updateResult()\n return this.#currentResult\n })\n }\n\n #executeFetch(\n fetchOptions?: ObserverFetchOptions,\n ): Promise<TQueryData | undefined> {\n // Make sure we reference the latest query as the current one might have been removed\n this.#updateQuery()\n\n // Fetch\n let promise: Promise<TQueryData | undefined> = this.#currentQuery.fetch(\n this.options as QueryOptions<TQueryFnData, TError, TQueryData, TQueryKey>,\n fetchOptions,\n )\n\n if (!fetchOptions?.throwOnError) {\n promise = promise.catch(noop)\n }\n\n return promise\n }\n\n #updateStaleTimeout(): void {\n this.#clearStaleTimeout()\n\n if (\n isServer ||\n this.#currentResult.isStale ||\n !isValidTimeout(this.options.staleTime)\n ) {\n return\n }\n\n const time = timeUntilStale(\n this.#currentResult.dataUpdatedAt,\n this.options.staleTime,\n )\n\n // The timeout is sometimes triggered 1 ms before the stale time expiration.\n // To mitigate this issue we always add 1 ms to the timeout.\n const timeout = time + 1\n\n this.#staleTimeoutId = setTimeout(() => {\n if (!this.#currentResult.isStale) {\n this.#updateResult()\n }\n }, timeout)\n }\n\n #computeRefetchInterval() {\n return 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 #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 )(this.#lastDefinedQueryData)\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.#lastDefinedQueryData = this.#currentResultState.data\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.throwErrors) {\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(action: Action<TData, TError>): void {\n const notifyOptions: NotifyOptions = {}\n\n if (action.type === 'success') {\n notifyOptions.onSuccess = !action.manual\n } else if (action.type === 'error' && !isCancelledError(action.error)) {\n notifyOptions.onError = true\n }\n\n this.#updateResult(notifyOptions)\n\n if (this.hasListeners()) {\n this.#updateTimers()\n }\n }\n\n #notify(notifyOptions: NotifyOptions): void {\n notifyManager.batch(() => {\n // First trigger the configuration callbacks\n if (notifyOptions.onSuccess) {\n this.options.onSuccess?.(this.#currentResult.data!)\n this.options.onSettled?.(this.#currentResult.data, null)\n } else if (notifyOptions.onError) {\n this.options.onError?.(this.#currentResult.error!)\n this.options.onSettled?.(undefined, this.#currentResult.error)\n }\n\n // Then trigger the listeners\n if (notifyOptions.listeners) {\n this.listeners.forEach((listener) => {\n listener(this.#currentResult)\n })\n }\n\n // Then the cache listeners\n this.#client.getQueryCache().notify({\n query: this.#currentQuery,\n type: 'observerResultsUpdated',\n })\n })\n }\n}\n\nfunction shouldLoadOnMount(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any>,\n): boolean {\n return (\n options.enabled !== false &&\n !query.state.dataUpdatedAt &&\n !(query.state.status === 'error' && options.retryOnMount === false)\n )\n}\n\nfunction shouldFetchOnMount(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n shouldLoadOnMount(query, options) ||\n (query.state.dataUpdatedAt > 0 &&\n shouldFetchOn(query, options, options.refetchOnMount))\n )\n}\n\nfunction shouldFetchOn(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n field: (typeof options)['refetchOnMount'] &\n (typeof options)['refetchOnWindowFocus'] &\n (typeof options)['refetchOnReconnect'],\n) {\n if (options.enabled !== false) {\n const value = typeof field === 'function' ? field(query) : field\n\n return value === 'always' || (value !== false && isStale(query, options))\n }\n return false\n}\n\nfunction shouldFetchOptionally(\n query: Query<any, any, any, any>,\n prevQuery: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n prevOptions: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n options.enabled !== false &&\n (query !== prevQuery || prevOptions.enabled === false) &&\n (!options.suspense || query.state.status !== 'error') &&\n isStale(query, options)\n )\n}\n\nfunction isStale(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return query.isStaleByTime(options.staleTime)\n}\n"],"names":["QueryObserver","Subscribable","constructor","client","options","undefined","Set","bindMethods","setOptions","refetch","bind","onSubscribe","listeners","length","addObserver","shouldFetchOnMount","onUnsubscribe","destroy","shouldFetchOnReconnect","shouldFetchOn","refetchOnReconnect","shouldFetchOnWindowFocus","refetchOnWindowFocus","removeObserver","notifyOptions","prevOptions","prevQuery","defaultQueryOptions","shallowEqualObjects","getQueryCache","notify","type","query","observer","enabled","Error","queryKey","mounted","hasListeners","shouldFetchOptionally","staleTime","nextRefetchInterval","getOptimisticResult","build","createResult","getCurrentResult","trackResult","result","trackedResult","Object","keys","forEach","key","defineProperty","configurable","enumerable","get","add","getCurrentQuery","fetch","fetchOptimistic","defaultedOptions","isFetchingOptimistic","then","fetchOptions","cancelRefetch","prevResult","prevResultState","prevResultOptions","queryChange","queryInitialState","state","error","errorUpdatedAt","fetchStatus","status","isPlaceholderData","data","_optimisticResults","fetchOnMount","fetchOptionally","canFetch","networkMode","dataUpdatedAt","select","replaceData","selectError","placeholderData","Date","now","isFetching","isPending","isError","isLoading","isSuccess","isInitialLoading","failureCount","fetchFailureCount","failureReason","fetchFailureReason","errorUpdateCount","isFetched","dataUpdateCount","isFetchedAfterMount","isRefetching","isLoadingError","isPaused","isRefetchError","isStale","onQueryUpdate","action","onSuccess","manual","isCancelledError","onError","promise","throwOnError","catch","noop","isServer","isValidTimeout","time","timeUntilStale","timeout","setTimeout","refetchInterval","nextInterval","setInterval","refetchIntervalInBackground","focusManager","isFocused","clearTimeout","clearInterval","nextResult","defaultNotifyOptions","shouldNotifyListeners","notifyOnChangeProps","size","includedProps","throwErrors","some","typedKey","changed","has","notifyManager","batch","onSettled","listener","shouldLoadOnMount","retryOnMount","refetchOnMount","field","value","suspense","isStaleByTime"],"mappings":"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"}
@@ -13,10 +13,10 @@ var _currentQueryInitialState = /*#__PURE__*/_rollupPluginBabelHelpers.classPriv
13
13
  var _currentResult = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("currentResult");
14
14
  var _currentResultState = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("currentResultState");
15
15
  var _currentResultOptions = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("currentResultOptions");
16
- var _previousQueryResult = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("previousQueryResult");
17
16
  var _selectError = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("selectError");
18
17
  var _selectFn = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("selectFn");
19
18
  var _selectResult = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("selectResult");
19
+ var _lastDefinedQueryData = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("lastDefinedQueryData");
20
20
  var _staleTimeoutId = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("staleTimeoutId");
21
21
  var _refetchIntervalId = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("refetchIntervalId");
22
22
  var _currentRefetchInterval = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("currentRefetchInterval");
@@ -32,6 +32,9 @@ var _updateResult = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLoos
32
32
  var _updateQuery = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("updateQuery");
33
33
  var _notify = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("notify");
34
34
  class QueryObserver extends subscribable.Subscribable {
35
+ // This property keeps track of the last defined query data.
36
+ // It will be used to pass the previous data to the placeholder function between renders.
37
+
35
38
  constructor(client, options) {
36
39
  super();
37
40
  Object.defineProperty(this, _notify, {
@@ -88,10 +91,6 @@ class QueryObserver extends subscribable.Subscribable {
88
91
  writable: true,
89
92
  value: void 0
90
93
  });
91
- Object.defineProperty(this, _previousQueryResult, {
92
- writable: true,
93
- value: void 0
94
- });
95
94
  Object.defineProperty(this, _selectError, {
96
95
  writable: true,
97
96
  value: void 0
@@ -104,6 +103,10 @@ class QueryObserver extends subscribable.Subscribable {
104
103
  writable: true,
105
104
  value: void 0
106
105
  });
106
+ Object.defineProperty(this, _lastDefinedQueryData, {
107
+ writable: true,
108
+ value: void 0
109
+ });
107
110
  Object.defineProperty(this, _staleTimeoutId, {
108
111
  writable: true,
109
112
  value: void 0
@@ -251,7 +254,6 @@ class QueryObserver extends subscribable.Subscribable {
251
254
  const prevResultOptions = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentResultOptions)[_currentResultOptions];
252
255
  const queryChange = query !== prevQuery;
253
256
  const queryInitialState = queryChange ? query.state : _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentQueryInitialState)[_currentQueryInitialState];
254
- const prevQueryResult = queryChange ? _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentResult)[_currentResult] : _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _previousQueryResult)[_previousQueryResult];
255
257
  const {
256
258
  state
257
259
  } = query;
@@ -310,7 +312,7 @@ class QueryObserver extends subscribable.Subscribable {
310
312
  if (prevResult != null && prevResult.isPlaceholderData && options.placeholderData === (prevResultOptions == null ? void 0 : prevResultOptions.placeholderData)) {
311
313
  placeholderData = prevResult.data;
312
314
  } else {
313
- placeholderData = typeof options.placeholderData === 'function' ? options.placeholderData(prevQueryResult == null ? void 0 : prevQueryResult.data) : options.placeholderData;
315
+ placeholderData = typeof options.placeholderData === 'function' ? options.placeholderData(_rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _lastDefinedQueryData)[_lastDefinedQueryData]) : options.placeholderData;
314
316
  if (options.select && typeof placeholderData !== 'undefined') {
315
317
  try {
316
318
  placeholderData = options.select(placeholderData);
@@ -446,6 +448,9 @@ function _updateResult2(notifyOptions) {
446
448
  if (utils.shallowEqualObjects(nextResult, prevResult)) {
447
449
  return;
448
450
  }
451
+ if (_rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentResultState)[_currentResultState].data !== undefined) {
452
+ _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _lastDefinedQueryData)[_lastDefinedQueryData] = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentResultState)[_currentResultState].data;
453
+ }
449
454
  _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentResult)[_currentResult] = nextResult;
450
455
 
451
456
  // Determine which callbacks to trigger
@@ -486,7 +491,6 @@ function _updateQuery2() {
486
491
  const prevQuery = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentQuery)[_currentQuery];
487
492
  _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentQuery)[_currentQuery] = query;
488
493
  _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentQueryInitialState)[_currentQueryInitialState] = query.state;
489
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _previousQueryResult)[_previousQueryResult] = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentResult)[_currentResult];
490
494
  if (this.hasListeners()) {
491
495
  prevQuery == null ? void 0 : prevQuery.removeObserver(this);
492
496
  query.addObserver(this);