@tanstack/query-core 5.13.4 → 5.14.0

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 (75) hide show
  1. package/build/legacy/hydration.d.cts +1 -1
  2. package/build/legacy/hydration.d.ts +1 -1
  3. package/build/legacy/index.d.cts +1 -1
  4. package/build/legacy/index.d.ts +1 -1
  5. package/build/legacy/infiniteQueryBehavior.d.cts +1 -1
  6. package/build/legacy/infiniteQueryBehavior.d.ts +1 -1
  7. package/build/legacy/infiniteQueryObserver.d.cts +1 -1
  8. package/build/legacy/infiniteQueryObserver.d.ts +1 -1
  9. package/build/legacy/mutation.d.cts +1 -1
  10. package/build/legacy/mutation.d.ts +1 -1
  11. package/build/legacy/mutationCache.d.cts +1 -1
  12. package/build/legacy/mutationCache.d.ts +1 -1
  13. package/build/legacy/mutationObserver.cjs +3 -0
  14. package/build/legacy/mutationObserver.cjs.map +1 -1
  15. package/build/legacy/mutationObserver.d.cts +1 -1
  16. package/build/legacy/mutationObserver.d.ts +1 -1
  17. package/build/legacy/mutationObserver.js +4 -1
  18. package/build/legacy/mutationObserver.js.map +1 -1
  19. package/build/legacy/queriesObserver.d.cts +1 -1
  20. package/build/legacy/queriesObserver.d.ts +1 -1
  21. package/build/legacy/query.d.cts +1 -1
  22. package/build/legacy/query.d.ts +1 -1
  23. package/build/legacy/queryCache.d.cts +1 -1
  24. package/build/legacy/queryCache.d.ts +1 -1
  25. package/build/legacy/{queryClient-IOLwanMb.d.ts → queryClient-N0XKecPj.d.ts} +1 -1
  26. package/build/legacy/{queryClient-IoYjXsnV.d.ts → queryClient-UnTFzrI2.d.ts} +1 -1
  27. package/build/legacy/queryClient.d.cts +1 -1
  28. package/build/legacy/queryClient.d.ts +1 -1
  29. package/build/legacy/queryObserver.d.cts +1 -1
  30. package/build/legacy/queryObserver.d.ts +1 -1
  31. package/build/legacy/retryer.d.cts +1 -1
  32. package/build/legacy/retryer.d.ts +1 -1
  33. package/build/legacy/types.d.cts +1 -1
  34. package/build/legacy/types.d.ts +1 -1
  35. package/build/legacy/utils.d.cts +1 -1
  36. package/build/legacy/utils.d.ts +1 -1
  37. package/build/modern/hydration.d.cts +1 -1
  38. package/build/modern/hydration.d.ts +1 -1
  39. package/build/modern/index.d.cts +1 -1
  40. package/build/modern/index.d.ts +1 -1
  41. package/build/modern/infiniteQueryBehavior.d.cts +1 -1
  42. package/build/modern/infiniteQueryBehavior.d.ts +1 -1
  43. package/build/modern/infiniteQueryObserver.d.cts +1 -1
  44. package/build/modern/infiniteQueryObserver.d.ts +1 -1
  45. package/build/modern/mutation.d.cts +1 -1
  46. package/build/modern/mutation.d.ts +1 -1
  47. package/build/modern/mutationCache.d.cts +1 -1
  48. package/build/modern/mutationCache.d.ts +1 -1
  49. package/build/modern/mutationObserver.cjs +3 -0
  50. package/build/modern/mutationObserver.cjs.map +1 -1
  51. package/build/modern/mutationObserver.d.cts +1 -1
  52. package/build/modern/mutationObserver.d.ts +1 -1
  53. package/build/modern/mutationObserver.js +4 -1
  54. package/build/modern/mutationObserver.js.map +1 -1
  55. package/build/modern/queriesObserver.d.cts +1 -1
  56. package/build/modern/queriesObserver.d.ts +1 -1
  57. package/build/modern/query.d.cts +1 -1
  58. package/build/modern/query.d.ts +1 -1
  59. package/build/modern/queryCache.d.cts +1 -1
  60. package/build/modern/queryCache.d.ts +1 -1
  61. package/build/modern/{queryClient-IOLwanMb.d.ts → queryClient-N0XKecPj.d.ts} +1 -1
  62. package/build/modern/{queryClient-IoYjXsnV.d.ts → queryClient-UnTFzrI2.d.ts} +1 -1
  63. package/build/modern/queryClient.d.cts +1 -1
  64. package/build/modern/queryClient.d.ts +1 -1
  65. package/build/modern/queryObserver.d.cts +1 -1
  66. package/build/modern/queryObserver.d.ts +1 -1
  67. package/build/modern/retryer.d.cts +1 -1
  68. package/build/modern/retryer.d.ts +1 -1
  69. package/build/modern/types.d.cts +1 -1
  70. package/build/modern/types.d.ts +1 -1
  71. package/build/modern/utils.d.cts +1 -1
  72. package/build/modern/utils.d.ts +1 -1
  73. package/package.json +1 -1
  74. package/src/mutationObserver.ts +13 -3
  75. package/src/tests/mutationObserver.test.tsx +33 -1
@@ -1,4 +1,4 @@
1
- import { n as Mutation, l as Query, F as QueryOptions, ao as MutationOptions, b as QueryClient, ak as MutationKey, o as MutationState, am as MutationMeta, p as QueryKey, j as QueryState, A as QueryMeta } from './queryClient-IOLwanMb.js';
1
+ import { n as Mutation, l as Query, F as QueryOptions, ao as MutationOptions, b as QueryClient, ak as MutationKey, o as MutationState, am as MutationMeta, p as QueryKey, j as QueryState, A as QueryMeta } from './queryClient-N0XKecPj.js';
2
2
  import './removable.cjs';
3
3
  import './subscribable.cjs';
4
4
 
@@ -1,4 +1,4 @@
1
- import { n as Mutation, l as Query, F as QueryOptions, ao as MutationOptions, b as QueryClient, ak as MutationKey, o as MutationState, am as MutationMeta, p as QueryKey, j as QueryState, A as QueryMeta } from './queryClient-IoYjXsnV.js';
1
+ import { n as Mutation, l as Query, F as QueryOptions, ao as MutationOptions, b as QueryClient, ak as MutationKey, o as MutationState, am as MutationMeta, p as QueryKey, j as QueryState, A as QueryMeta } from './queryClient-UnTFzrI2.js';
2
2
  import './removable.js';
3
3
  import './subscribable.js';
4
4
 
@@ -1,4 +1,4 @@
1
- export { aA as CancelOptions, C as CancelledError, s as DataTag, D as DefaultError, az as DefaultOptions, S as DefaultedInfiniteQueryObserverOptions, L as DefaultedQueryObserverOptions, ai as DefinedInfiniteQueryObserverResult, ab as DefinedQueryObserverResult, X as FetchInfiniteQueryOptions, a2 as FetchNextPageOptions, a3 as FetchPreviousPageOptions, V as FetchQueryOptions, a5 as FetchStatus, y as GetNextPageParamFunction, G as GetPreviousPageParamFunction, z as InfiniteData, ad as InfiniteQueryObserverBaseResult, af as InfiniteQueryObserverLoadingErrorResult, ae as InfiniteQueryObserverLoadingResult, O as InfiniteQueryObserverOptions, ag as InfiniteQueryObserverRefetchErrorResult, aj as InfiniteQueryObserverResult, ah as InfiniteQueryObserverSuccessResult, J as InfiniteQueryPageParamsOptions, I as InitialDataFunction, H as InitialPageParam, a0 as InvalidateOptions, _ as InvalidateQueryFilters, ar as MutateFunction, aq as MutateOptions, n as Mutation, M as MutationCache, e as MutationFilters, an as MutationFunction, ak as MutationKey, am as MutationMeta, d as MutationObserver, as as MutationObserverBaseResult, av as MutationObserverErrorResult, at as MutationObserverIdleResult, au as MutationObserverLoadingResult, ap as MutationObserverOptions, ax as MutationObserverResult, aw as MutationObserverSuccessResult, ao as MutationOptions, o as MutationState, al as MutationStatus, B as NetworkMode, N as NoInfer, aD as NotifyEvent, aC as NotifyEventType, E as NotifyOnChangeProps, P as PlaceholderDataFunction, w as QueriesPlaceholderDataFunction, l as Query, Q as QueryCache, a as QueryCacheNotifyEvent, b as QueryClient, ay as QueryClientConfig, f as QueryFilters, t as QueryFunction, v as QueryFunctionContext, p as QueryKey, x as QueryKeyHashFunction, A as QueryMeta, c as QueryObserver, a6 as QueryObserverBaseResult, a8 as QueryObserverLoadingErrorResult, a7 as QueryObserverLoadingResult, K as QueryObserverOptions, a9 as QueryObserverRefetchErrorResult, ac as QueryObserverResult, aa as QueryObserverSuccessResult, F as QueryOptions, u as QueryPersister, j as QueryState, a4 as QueryStatus, Z as RefetchOptions, $ as RefetchQueryFilters, R as Register, a1 as ResetOptions, Y as ResultOptions, aB as SetDataOptions, T as ThrowOnError, U as Updater, W as WithRequired, q as dataTagSymbol, h as hashKey, g as isCancelledError, i as isServer, k as keepPreviousData, m as matchQuery, r as replaceEqualDeep } from './queryClient-IOLwanMb.js';
1
+ export { aA as CancelOptions, C as CancelledError, s as DataTag, D as DefaultError, az as DefaultOptions, S as DefaultedInfiniteQueryObserverOptions, L as DefaultedQueryObserverOptions, ai as DefinedInfiniteQueryObserverResult, ab as DefinedQueryObserverResult, X as FetchInfiniteQueryOptions, a2 as FetchNextPageOptions, a3 as FetchPreviousPageOptions, V as FetchQueryOptions, a5 as FetchStatus, y as GetNextPageParamFunction, G as GetPreviousPageParamFunction, z as InfiniteData, ad as InfiniteQueryObserverBaseResult, af as InfiniteQueryObserverLoadingErrorResult, ae as InfiniteQueryObserverLoadingResult, O as InfiniteQueryObserverOptions, ag as InfiniteQueryObserverRefetchErrorResult, aj as InfiniteQueryObserverResult, ah as InfiniteQueryObserverSuccessResult, J as InfiniteQueryPageParamsOptions, I as InitialDataFunction, H as InitialPageParam, a0 as InvalidateOptions, _ as InvalidateQueryFilters, ar as MutateFunction, aq as MutateOptions, n as Mutation, M as MutationCache, e as MutationFilters, an as MutationFunction, ak as MutationKey, am as MutationMeta, d as MutationObserver, as as MutationObserverBaseResult, av as MutationObserverErrorResult, at as MutationObserverIdleResult, au as MutationObserverLoadingResult, ap as MutationObserverOptions, ax as MutationObserverResult, aw as MutationObserverSuccessResult, ao as MutationOptions, o as MutationState, al as MutationStatus, B as NetworkMode, N as NoInfer, aD as NotifyEvent, aC as NotifyEventType, E as NotifyOnChangeProps, P as PlaceholderDataFunction, w as QueriesPlaceholderDataFunction, l as Query, Q as QueryCache, a as QueryCacheNotifyEvent, b as QueryClient, ay as QueryClientConfig, f as QueryFilters, t as QueryFunction, v as QueryFunctionContext, p as QueryKey, x as QueryKeyHashFunction, A as QueryMeta, c as QueryObserver, a6 as QueryObserverBaseResult, a8 as QueryObserverLoadingErrorResult, a7 as QueryObserverLoadingResult, K as QueryObserverOptions, a9 as QueryObserverRefetchErrorResult, ac as QueryObserverResult, aa as QueryObserverSuccessResult, F as QueryOptions, u as QueryPersister, j as QueryState, a4 as QueryStatus, Z as RefetchOptions, $ as RefetchQueryFilters, R as Register, a1 as ResetOptions, Y as ResultOptions, aB as SetDataOptions, T as ThrowOnError, U as Updater, W as WithRequired, q as dataTagSymbol, h as hashKey, g as isCancelledError, i as isServer, k as keepPreviousData, m as matchQuery, r as replaceEqualDeep } from './queryClient-N0XKecPj.js';
2
2
  export { QueriesObserver, QueriesObserverOptions } from './queriesObserver.cjs';
3
3
  export { InfiniteQueryObserver } from './infiniteQueryObserver.cjs';
4
4
  export { notifyManager } from './notifyManager.cjs';
@@ -1,4 +1,4 @@
1
- export { aA as CancelOptions, C as CancelledError, s as DataTag, D as DefaultError, az as DefaultOptions, S as DefaultedInfiniteQueryObserverOptions, L as DefaultedQueryObserverOptions, ai as DefinedInfiniteQueryObserverResult, ab as DefinedQueryObserverResult, X as FetchInfiniteQueryOptions, a2 as FetchNextPageOptions, a3 as FetchPreviousPageOptions, V as FetchQueryOptions, a5 as FetchStatus, y as GetNextPageParamFunction, G as GetPreviousPageParamFunction, z as InfiniteData, ad as InfiniteQueryObserverBaseResult, af as InfiniteQueryObserverLoadingErrorResult, ae as InfiniteQueryObserverLoadingResult, O as InfiniteQueryObserverOptions, ag as InfiniteQueryObserverRefetchErrorResult, aj as InfiniteQueryObserverResult, ah as InfiniteQueryObserverSuccessResult, J as InfiniteQueryPageParamsOptions, I as InitialDataFunction, H as InitialPageParam, a0 as InvalidateOptions, _ as InvalidateQueryFilters, ar as MutateFunction, aq as MutateOptions, n as Mutation, M as MutationCache, e as MutationFilters, an as MutationFunction, ak as MutationKey, am as MutationMeta, d as MutationObserver, as as MutationObserverBaseResult, av as MutationObserverErrorResult, at as MutationObserverIdleResult, au as MutationObserverLoadingResult, ap as MutationObserverOptions, ax as MutationObserverResult, aw as MutationObserverSuccessResult, ao as MutationOptions, o as MutationState, al as MutationStatus, B as NetworkMode, N as NoInfer, aD as NotifyEvent, aC as NotifyEventType, E as NotifyOnChangeProps, P as PlaceholderDataFunction, w as QueriesPlaceholderDataFunction, l as Query, Q as QueryCache, a as QueryCacheNotifyEvent, b as QueryClient, ay as QueryClientConfig, f as QueryFilters, t as QueryFunction, v as QueryFunctionContext, p as QueryKey, x as QueryKeyHashFunction, A as QueryMeta, c as QueryObserver, a6 as QueryObserverBaseResult, a8 as QueryObserverLoadingErrorResult, a7 as QueryObserverLoadingResult, K as QueryObserverOptions, a9 as QueryObserverRefetchErrorResult, ac as QueryObserverResult, aa as QueryObserverSuccessResult, F as QueryOptions, u as QueryPersister, j as QueryState, a4 as QueryStatus, Z as RefetchOptions, $ as RefetchQueryFilters, R as Register, a1 as ResetOptions, Y as ResultOptions, aB as SetDataOptions, T as ThrowOnError, U as Updater, W as WithRequired, q as dataTagSymbol, h as hashKey, g as isCancelledError, i as isServer, k as keepPreviousData, m as matchQuery, r as replaceEqualDeep } from './queryClient-IoYjXsnV.js';
1
+ export { aA as CancelOptions, C as CancelledError, s as DataTag, D as DefaultError, az as DefaultOptions, S as DefaultedInfiniteQueryObserverOptions, L as DefaultedQueryObserverOptions, ai as DefinedInfiniteQueryObserverResult, ab as DefinedQueryObserverResult, X as FetchInfiniteQueryOptions, a2 as FetchNextPageOptions, a3 as FetchPreviousPageOptions, V as FetchQueryOptions, a5 as FetchStatus, y as GetNextPageParamFunction, G as GetPreviousPageParamFunction, z as InfiniteData, ad as InfiniteQueryObserverBaseResult, af as InfiniteQueryObserverLoadingErrorResult, ae as InfiniteQueryObserverLoadingResult, O as InfiniteQueryObserverOptions, ag as InfiniteQueryObserverRefetchErrorResult, aj as InfiniteQueryObserverResult, ah as InfiniteQueryObserverSuccessResult, J as InfiniteQueryPageParamsOptions, I as InitialDataFunction, H as InitialPageParam, a0 as InvalidateOptions, _ as InvalidateQueryFilters, ar as MutateFunction, aq as MutateOptions, n as Mutation, M as MutationCache, e as MutationFilters, an as MutationFunction, ak as MutationKey, am as MutationMeta, d as MutationObserver, as as MutationObserverBaseResult, av as MutationObserverErrorResult, at as MutationObserverIdleResult, au as MutationObserverLoadingResult, ap as MutationObserverOptions, ax as MutationObserverResult, aw as MutationObserverSuccessResult, ao as MutationOptions, o as MutationState, al as MutationStatus, B as NetworkMode, N as NoInfer, aD as NotifyEvent, aC as NotifyEventType, E as NotifyOnChangeProps, P as PlaceholderDataFunction, w as QueriesPlaceholderDataFunction, l as Query, Q as QueryCache, a as QueryCacheNotifyEvent, b as QueryClient, ay as QueryClientConfig, f as QueryFilters, t as QueryFunction, v as QueryFunctionContext, p as QueryKey, x as QueryKeyHashFunction, A as QueryMeta, c as QueryObserver, a6 as QueryObserverBaseResult, a8 as QueryObserverLoadingErrorResult, a7 as QueryObserverLoadingResult, K as QueryObserverOptions, a9 as QueryObserverRefetchErrorResult, ac as QueryObserverResult, aa as QueryObserverSuccessResult, F as QueryOptions, u as QueryPersister, j as QueryState, a4 as QueryStatus, Z as RefetchOptions, $ as RefetchQueryFilters, R as Register, a1 as ResetOptions, Y as ResultOptions, aB as SetDataOptions, T as ThrowOnError, U as Updater, W as WithRequired, q as dataTagSymbol, h as hashKey, g as isCancelledError, i as isServer, k as keepPreviousData, m as matchQuery, r as replaceEqualDeep } from './queryClient-UnTFzrI2.js';
2
2
  export { QueriesObserver, QueriesObserverOptions } from './queriesObserver.js';
3
3
  export { InfiniteQueryObserver } from './infiniteQueryObserver.js';
4
4
  export { notifyManager } from './notifyManager.js';
@@ -1,4 +1,4 @@
1
- import { aE as QueryBehavior, z as InfiniteData, J as InfiniteQueryPageParamsOptions } from './queryClient-IOLwanMb.js';
1
+ import { aE as QueryBehavior, z as InfiniteData, J as InfiniteQueryPageParamsOptions } from './queryClient-N0XKecPj.js';
2
2
  import './removable.cjs';
3
3
  import './subscribable.cjs';
4
4
 
@@ -1,4 +1,4 @@
1
- import { aE as QueryBehavior, z as InfiniteData, J as InfiniteQueryPageParamsOptions } from './queryClient-IoYjXsnV.js';
1
+ import { aE as QueryBehavior, z as InfiniteData, J as InfiniteQueryPageParamsOptions } from './queryClient-UnTFzrI2.js';
2
2
  import './removable.js';
3
3
  import './subscribable.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { D as DefaultError, z as InfiniteData, p as QueryKey, c as QueryObserver, aj as InfiniteQueryObserverResult, aF as ObserverFetchOptions, b as QueryClient, O as InfiniteQueryObserverOptions, aG as NotifyOptions, S as DefaultedInfiniteQueryObserverOptions, a2 as FetchNextPageOptions, a3 as FetchPreviousPageOptions, l as Query } from './queryClient-IOLwanMb.js';
1
+ import { D as DefaultError, z as InfiniteData, p as QueryKey, c as QueryObserver, aj as InfiniteQueryObserverResult, aF as ObserverFetchOptions, b as QueryClient, O as InfiniteQueryObserverOptions, aG as NotifyOptions, S as DefaultedInfiniteQueryObserverOptions, a2 as FetchNextPageOptions, a3 as FetchPreviousPageOptions, l as Query } from './queryClient-N0XKecPj.js';
2
2
  import './removable.cjs';
3
3
  import './subscribable.cjs';
4
4
 
@@ -1,4 +1,4 @@
1
- import { D as DefaultError, z as InfiniteData, p as QueryKey, c as QueryObserver, aj as InfiniteQueryObserverResult, aF as ObserverFetchOptions, b as QueryClient, O as InfiniteQueryObserverOptions, aG as NotifyOptions, S as DefaultedInfiniteQueryObserverOptions, a2 as FetchNextPageOptions, a3 as FetchPreviousPageOptions, l as Query } from './queryClient-IoYjXsnV.js';
1
+ import { D as DefaultError, z as InfiniteData, p as QueryKey, c as QueryObserver, aj as InfiniteQueryObserverResult, aF as ObserverFetchOptions, b as QueryClient, O as InfiniteQueryObserverOptions, aG as NotifyOptions, S as DefaultedInfiniteQueryObserverOptions, a2 as FetchNextPageOptions, a3 as FetchPreviousPageOptions, l as Query } from './queryClient-UnTFzrI2.js';
2
2
  import './removable.js';
3
3
  import './subscribable.js';
4
4
 
@@ -1,3 +1,3 @@
1
1
  import './removable.cjs';
2
- export { aX as Action, n as Mutation, o as MutationState, aY as getDefaultState } from './queryClient-IOLwanMb.js';
2
+ export { aX as Action, n as Mutation, o as MutationState, aY as getDefaultState } from './queryClient-N0XKecPj.js';
3
3
  import './subscribable.cjs';
@@ -1,3 +1,3 @@
1
1
  import './removable.js';
2
- export { aX as Action, n as Mutation, o as MutationState, aY as getDefaultState } from './queryClient-IoYjXsnV.js';
2
+ export { aX as Action, n as Mutation, o as MutationState, aY as getDefaultState } from './queryClient-UnTFzrI2.js';
3
3
  import './subscribable.js';
@@ -1,3 +1,3 @@
1
- export { M as MutationCache } from './queryClient-IOLwanMb.js';
1
+ export { M as MutationCache } from './queryClient-N0XKecPj.js';
2
2
  import './subscribable.cjs';
3
3
  import './removable.cjs';
@@ -1,3 +1,3 @@
1
- export { M as MutationCache } from './queryClient-IoYjXsnV.js';
1
+ export { M as MutationCache } from './queryClient-UnTFzrI2.js';
2
2
  import './subscribable.js';
3
3
  import './removable.js';
@@ -80,6 +80,9 @@ var MutationObserver = class extends import_subscribable.Subscribable {
80
80
  });
81
81
  }
82
82
  (_a = __privateGet(this, _currentMutation)) == null ? void 0 : _a.setOptions(this.options);
83
+ if ((prevOptions == null ? void 0 : prevOptions.mutationKey) && this.options.mutationKey && (0, import_utils.hashKey)(prevOptions.mutationKey) !== (0, import_utils.hashKey)(this.options.mutationKey)) {
84
+ this.reset();
85
+ }
83
86
  }
84
87
  onUnsubscribe() {
85
88
  var _a;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/mutationObserver.ts"],"sourcesContent":["import { getDefaultState } from './mutation'\nimport { notifyManager } from './notifyManager'\nimport { Subscribable } from './subscribable'\nimport { shallowEqualObjects } from './utils'\nimport type { QueryClient } from './queryClient'\nimport type {\n DefaultError,\n MutateOptions,\n MutationObserverOptions,\n MutationObserverResult,\n} from './types'\nimport type { Action, Mutation } from './mutation'\n\n// TYPES\n\ntype MutationObserverListener<TData, TError, TVariables, TContext> = (\n result: MutationObserverResult<TData, TError, TVariables, TContext>,\n) => void\n\n// CLASS\n\nexport class MutationObserver<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> extends Subscribable<\n MutationObserverListener<TData, TError, TVariables, TContext>\n> {\n options!: MutationObserverOptions<TData, TError, TVariables, TContext>\n\n #client: QueryClient\n #currentResult: MutationObserverResult<TData, TError, TVariables, TContext> =\n undefined!\n #currentMutation?: Mutation<TData, TError, TVariables, TContext>\n #mutateOptions?: MutateOptions<TData, TError, TVariables, TContext>\n\n constructor(\n client: QueryClient,\n options: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n super()\n\n this.#client = client\n this.setOptions(options)\n this.bindMethods()\n this.#updateResult()\n }\n\n protected bindMethods(): void {\n this.mutate = this.mutate.bind(this)\n this.reset = this.reset.bind(this)\n }\n\n setOptions(\n options?: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n const prevOptions = this.options\n this.options = this.#client.defaultMutationOptions(options)\n if (!shallowEqualObjects(prevOptions, this.options)) {\n this.#client.getMutationCache().notify({\n type: 'observerOptionsUpdated',\n mutation: this.#currentMutation,\n observer: this,\n })\n }\n this.#currentMutation?.setOptions(this.options)\n }\n\n protected onUnsubscribe(): void {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this)\n }\n }\n\n onMutationUpdate(action: Action<TData, TError, TVariables, TContext>): void {\n this.#updateResult()\n\n this.#notify(action)\n }\n\n getCurrentResult(): MutationObserverResult<\n TData,\n TError,\n TVariables,\n TContext\n > {\n return this.#currentResult\n }\n\n reset(): void {\n // reset needs to remove the observer from the mutation because there is no way to \"get it back\"\n // another mutate call will yield a new mutation!\n this.#currentMutation?.removeObserver(this)\n this.#currentMutation = undefined\n this.#updateResult()\n this.#notify()\n }\n\n mutate(\n variables: TVariables,\n options?: MutateOptions<TData, TError, TVariables, TContext>,\n ): Promise<TData> {\n this.#mutateOptions = options\n\n this.#currentMutation?.removeObserver(this)\n\n this.#currentMutation = this.#client\n .getMutationCache()\n .build(this.#client, this.options)\n\n this.#currentMutation.addObserver(this)\n\n return this.#currentMutation.execute(variables)\n }\n\n #updateResult(): void {\n const state =\n this.#currentMutation?.state ??\n getDefaultState<TData, TError, TVariables, TContext>()\n\n this.#currentResult = {\n ...state,\n isPending: state.status === 'pending',\n isSuccess: state.status === 'success',\n isError: state.status === 'error',\n isIdle: state.status === 'idle',\n mutate: this.mutate,\n reset: this.reset,\n } as MutationObserverResult<TData, TError, TVariables, TContext>\n }\n\n #notify(action?: Action<TData, TError, TVariables, TContext>): void {\n notifyManager.batch(() => {\n // First trigger the mutate callbacks\n if (this.#mutateOptions && this.hasListeners()) {\n if (action?.type === 'success') {\n this.#mutateOptions.onSuccess?.(\n action.data,\n this.#currentResult.variables!,\n this.#currentResult.context!,\n )\n this.#mutateOptions.onSettled?.(\n action.data,\n null,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n } else if (action?.type === 'error') {\n this.#mutateOptions.onError?.(\n action.error,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n this.#mutateOptions.onSettled?.(\n undefined,\n action.error,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n }\n }\n\n // Then trigger the listeners\n this.listeners.forEach((listener) => {\n listener(this.#currentResult)\n })\n })\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/mutationObserver.ts"],"sourcesContent":["import { getDefaultState } from './mutation'\nimport { notifyManager } from './notifyManager'\nimport { Subscribable } from './subscribable'\nimport { hashKey, shallowEqualObjects } from './utils'\nimport type { QueryClient } from './queryClient'\nimport type {\n DefaultError,\n MutateOptions,\n MutationObserverOptions,\n MutationObserverResult,\n} from './types'\nimport type { Action, Mutation } from './mutation'\n\n// TYPES\n\ntype MutationObserverListener<TData, TError, TVariables, TContext> = (\n result: MutationObserverResult<TData, TError, TVariables, TContext>,\n) => void\n\n// CLASS\n\nexport class MutationObserver<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> extends Subscribable<\n MutationObserverListener<TData, TError, TVariables, TContext>\n> {\n options!: MutationObserverOptions<TData, TError, TVariables, TContext>\n\n #client: QueryClient\n #currentResult: MutationObserverResult<TData, TError, TVariables, TContext> =\n undefined!\n #currentMutation?: Mutation<TData, TError, TVariables, TContext>\n #mutateOptions?: MutateOptions<TData, TError, TVariables, TContext>\n\n constructor(\n client: QueryClient,\n options: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n super()\n\n this.#client = client\n this.setOptions(options)\n this.bindMethods()\n this.#updateResult()\n }\n\n protected bindMethods(): void {\n this.mutate = this.mutate.bind(this)\n this.reset = this.reset.bind(this)\n }\n\n setOptions(\n options: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n const prevOptions = this.options as\n | MutationObserverOptions<TData, TError, TVariables, TContext>\n | undefined\n this.options = this.#client.defaultMutationOptions(options)\n if (!shallowEqualObjects(prevOptions, this.options)) {\n this.#client.getMutationCache().notify({\n type: 'observerOptionsUpdated',\n mutation: this.#currentMutation,\n observer: this,\n })\n }\n this.#currentMutation?.setOptions(this.options)\n\n if (\n prevOptions?.mutationKey &&\n this.options.mutationKey &&\n hashKey(prevOptions.mutationKey) !== hashKey(this.options.mutationKey)\n ) {\n this.reset()\n }\n }\n\n protected onUnsubscribe(): void {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this)\n }\n }\n\n onMutationUpdate(action: Action<TData, TError, TVariables, TContext>): void {\n this.#updateResult()\n\n this.#notify(action)\n }\n\n getCurrentResult(): MutationObserverResult<\n TData,\n TError,\n TVariables,\n TContext\n > {\n return this.#currentResult\n }\n\n reset(): void {\n // reset needs to remove the observer from the mutation because there is no way to \"get it back\"\n // another mutate call will yield a new mutation!\n this.#currentMutation?.removeObserver(this)\n this.#currentMutation = undefined\n this.#updateResult()\n this.#notify()\n }\n\n mutate(\n variables: TVariables,\n options?: MutateOptions<TData, TError, TVariables, TContext>,\n ): Promise<TData> {\n this.#mutateOptions = options\n\n this.#currentMutation?.removeObserver(this)\n\n this.#currentMutation = this.#client\n .getMutationCache()\n .build(this.#client, this.options)\n\n this.#currentMutation.addObserver(this)\n\n return this.#currentMutation.execute(variables)\n }\n\n #updateResult(): void {\n const state =\n this.#currentMutation?.state ??\n getDefaultState<TData, TError, TVariables, TContext>()\n\n this.#currentResult = {\n ...state,\n isPending: state.status === 'pending',\n isSuccess: state.status === 'success',\n isError: state.status === 'error',\n isIdle: state.status === 'idle',\n mutate: this.mutate,\n reset: this.reset,\n } as MutationObserverResult<TData, TError, TVariables, TContext>\n }\n\n #notify(action?: Action<TData, TError, TVariables, TContext>): void {\n notifyManager.batch(() => {\n // First trigger the mutate callbacks\n if (this.#mutateOptions && this.hasListeners()) {\n if (action?.type === 'success') {\n this.#mutateOptions.onSuccess?.(\n action.data,\n this.#currentResult.variables!,\n this.#currentResult.context!,\n )\n this.#mutateOptions.onSettled?.(\n action.data,\n null,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n } else if (action?.type === 'error') {\n this.#mutateOptions.onError?.(\n action.error,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n this.#mutateOptions.onSettled?.(\n undefined,\n action.error,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n }\n }\n\n // Then trigger the listeners\n this.listeners.forEach((listener) => {\n listener(this.#currentResult)\n })\n })\n }\n}\n"],"mappings":"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","names":[]}
@@ -1,3 +1,3 @@
1
1
  import './subscribable.cjs';
2
- export { d as MutationObserver } from './queryClient-IOLwanMb.js';
2
+ export { d as MutationObserver } from './queryClient-N0XKecPj.js';
3
3
  import './removable.cjs';
@@ -1,3 +1,3 @@
1
1
  import './subscribable.js';
2
- export { d as MutationObserver } from './queryClient-IoYjXsnV.js';
2
+ export { d as MutationObserver } from './queryClient-UnTFzrI2.js';
3
3
  import './removable.js';
@@ -9,7 +9,7 @@ import {
9
9
  import { getDefaultState } from "./mutation.js";
10
10
  import { notifyManager } from "./notifyManager.js";
11
11
  import { Subscribable } from "./subscribable.js";
12
- import { shallowEqualObjects } from "./utils.js";
12
+ import { hashKey, shallowEqualObjects } from "./utils.js";
13
13
  var _client, _currentResult, _currentMutation, _mutateOptions, _updateResult, updateResult_fn, _notify, notify_fn;
14
14
  var MutationObserver = class extends Subscribable {
15
15
  constructor(client, options) {
@@ -41,6 +41,9 @@ var MutationObserver = class extends Subscribable {
41
41
  });
42
42
  }
43
43
  (_a = __privateGet(this, _currentMutation)) == null ? void 0 : _a.setOptions(this.options);
44
+ if ((prevOptions == null ? void 0 : prevOptions.mutationKey) && this.options.mutationKey && hashKey(prevOptions.mutationKey) !== hashKey(this.options.mutationKey)) {
45
+ this.reset();
46
+ }
44
47
  }
45
48
  onUnsubscribe() {
46
49
  var _a;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/mutationObserver.ts"],"sourcesContent":["import { getDefaultState } from './mutation'\nimport { notifyManager } from './notifyManager'\nimport { Subscribable } from './subscribable'\nimport { shallowEqualObjects } from './utils'\nimport type { QueryClient } from './queryClient'\nimport type {\n DefaultError,\n MutateOptions,\n MutationObserverOptions,\n MutationObserverResult,\n} from './types'\nimport type { Action, Mutation } from './mutation'\n\n// TYPES\n\ntype MutationObserverListener<TData, TError, TVariables, TContext> = (\n result: MutationObserverResult<TData, TError, TVariables, TContext>,\n) => void\n\n// CLASS\n\nexport class MutationObserver<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> extends Subscribable<\n MutationObserverListener<TData, TError, TVariables, TContext>\n> {\n options!: MutationObserverOptions<TData, TError, TVariables, TContext>\n\n #client: QueryClient\n #currentResult: MutationObserverResult<TData, TError, TVariables, TContext> =\n undefined!\n #currentMutation?: Mutation<TData, TError, TVariables, TContext>\n #mutateOptions?: MutateOptions<TData, TError, TVariables, TContext>\n\n constructor(\n client: QueryClient,\n options: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n super()\n\n this.#client = client\n this.setOptions(options)\n this.bindMethods()\n this.#updateResult()\n }\n\n protected bindMethods(): void {\n this.mutate = this.mutate.bind(this)\n this.reset = this.reset.bind(this)\n }\n\n setOptions(\n options?: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n const prevOptions = this.options\n this.options = this.#client.defaultMutationOptions(options)\n if (!shallowEqualObjects(prevOptions, this.options)) {\n this.#client.getMutationCache().notify({\n type: 'observerOptionsUpdated',\n mutation: this.#currentMutation,\n observer: this,\n })\n }\n this.#currentMutation?.setOptions(this.options)\n }\n\n protected onUnsubscribe(): void {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this)\n }\n }\n\n onMutationUpdate(action: Action<TData, TError, TVariables, TContext>): void {\n this.#updateResult()\n\n this.#notify(action)\n }\n\n getCurrentResult(): MutationObserverResult<\n TData,\n TError,\n TVariables,\n TContext\n > {\n return this.#currentResult\n }\n\n reset(): void {\n // reset needs to remove the observer from the mutation because there is no way to \"get it back\"\n // another mutate call will yield a new mutation!\n this.#currentMutation?.removeObserver(this)\n this.#currentMutation = undefined\n this.#updateResult()\n this.#notify()\n }\n\n mutate(\n variables: TVariables,\n options?: MutateOptions<TData, TError, TVariables, TContext>,\n ): Promise<TData> {\n this.#mutateOptions = options\n\n this.#currentMutation?.removeObserver(this)\n\n this.#currentMutation = this.#client\n .getMutationCache()\n .build(this.#client, this.options)\n\n this.#currentMutation.addObserver(this)\n\n return this.#currentMutation.execute(variables)\n }\n\n #updateResult(): void {\n const state =\n this.#currentMutation?.state ??\n getDefaultState<TData, TError, TVariables, TContext>()\n\n this.#currentResult = {\n ...state,\n isPending: state.status === 'pending',\n isSuccess: state.status === 'success',\n isError: state.status === 'error',\n isIdle: state.status === 'idle',\n mutate: this.mutate,\n reset: this.reset,\n } as MutationObserverResult<TData, TError, TVariables, TContext>\n }\n\n #notify(action?: Action<TData, TError, TVariables, TContext>): void {\n notifyManager.batch(() => {\n // First trigger the mutate callbacks\n if (this.#mutateOptions && this.hasListeners()) {\n if (action?.type === 'success') {\n this.#mutateOptions.onSuccess?.(\n action.data,\n this.#currentResult.variables!,\n this.#currentResult.context!,\n )\n this.#mutateOptions.onSettled?.(\n action.data,\n null,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n } else if (action?.type === 'error') {\n this.#mutateOptions.onError?.(\n action.error,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n this.#mutateOptions.onSettled?.(\n undefined,\n action.error,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n }\n }\n\n // Then trigger the listeners\n this.listeners.forEach((listener) => {\n listener(this.#currentResult)\n })\n })\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/mutationObserver.ts"],"sourcesContent":["import { getDefaultState } from './mutation'\nimport { notifyManager } from './notifyManager'\nimport { Subscribable } from './subscribable'\nimport { hashKey, shallowEqualObjects } from './utils'\nimport type { QueryClient } from './queryClient'\nimport type {\n DefaultError,\n MutateOptions,\n MutationObserverOptions,\n MutationObserverResult,\n} from './types'\nimport type { Action, Mutation } from './mutation'\n\n// TYPES\n\ntype MutationObserverListener<TData, TError, TVariables, TContext> = (\n result: MutationObserverResult<TData, TError, TVariables, TContext>,\n) => void\n\n// CLASS\n\nexport class MutationObserver<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> extends Subscribable<\n MutationObserverListener<TData, TError, TVariables, TContext>\n> {\n options!: MutationObserverOptions<TData, TError, TVariables, TContext>\n\n #client: QueryClient\n #currentResult: MutationObserverResult<TData, TError, TVariables, TContext> =\n undefined!\n #currentMutation?: Mutation<TData, TError, TVariables, TContext>\n #mutateOptions?: MutateOptions<TData, TError, TVariables, TContext>\n\n constructor(\n client: QueryClient,\n options: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n super()\n\n this.#client = client\n this.setOptions(options)\n this.bindMethods()\n this.#updateResult()\n }\n\n protected bindMethods(): void {\n this.mutate = this.mutate.bind(this)\n this.reset = this.reset.bind(this)\n }\n\n setOptions(\n options: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n const prevOptions = this.options as\n | MutationObserverOptions<TData, TError, TVariables, TContext>\n | undefined\n this.options = this.#client.defaultMutationOptions(options)\n if (!shallowEqualObjects(prevOptions, this.options)) {\n this.#client.getMutationCache().notify({\n type: 'observerOptionsUpdated',\n mutation: this.#currentMutation,\n observer: this,\n })\n }\n this.#currentMutation?.setOptions(this.options)\n\n if (\n prevOptions?.mutationKey &&\n this.options.mutationKey &&\n hashKey(prevOptions.mutationKey) !== hashKey(this.options.mutationKey)\n ) {\n this.reset()\n }\n }\n\n protected onUnsubscribe(): void {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this)\n }\n }\n\n onMutationUpdate(action: Action<TData, TError, TVariables, TContext>): void {\n this.#updateResult()\n\n this.#notify(action)\n }\n\n getCurrentResult(): MutationObserverResult<\n TData,\n TError,\n TVariables,\n TContext\n > {\n return this.#currentResult\n }\n\n reset(): void {\n // reset needs to remove the observer from the mutation because there is no way to \"get it back\"\n // another mutate call will yield a new mutation!\n this.#currentMutation?.removeObserver(this)\n this.#currentMutation = undefined\n this.#updateResult()\n this.#notify()\n }\n\n mutate(\n variables: TVariables,\n options?: MutateOptions<TData, TError, TVariables, TContext>,\n ): Promise<TData> {\n this.#mutateOptions = options\n\n this.#currentMutation?.removeObserver(this)\n\n this.#currentMutation = this.#client\n .getMutationCache()\n .build(this.#client, this.options)\n\n this.#currentMutation.addObserver(this)\n\n return this.#currentMutation.execute(variables)\n }\n\n #updateResult(): void {\n const state =\n this.#currentMutation?.state ??\n getDefaultState<TData, TError, TVariables, TContext>()\n\n this.#currentResult = {\n ...state,\n isPending: state.status === 'pending',\n isSuccess: state.status === 'success',\n isError: state.status === 'error',\n isIdle: state.status === 'idle',\n mutate: this.mutate,\n reset: this.reset,\n } as MutationObserverResult<TData, TError, TVariables, TContext>\n }\n\n #notify(action?: Action<TData, TError, TVariables, TContext>): void {\n notifyManager.batch(() => {\n // First trigger the mutate callbacks\n if (this.#mutateOptions && this.hasListeners()) {\n if (action?.type === 'success') {\n this.#mutateOptions.onSuccess?.(\n action.data,\n this.#currentResult.variables!,\n this.#currentResult.context!,\n )\n this.#mutateOptions.onSettled?.(\n action.data,\n null,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n } else if (action?.type === 'error') {\n this.#mutateOptions.onError?.(\n action.error,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n this.#mutateOptions.onSettled?.(\n undefined,\n action.error,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n }\n }\n\n // Then trigger the listeners\n this.listeners.forEach((listener) => {\n listener(this.#currentResult)\n })\n })\n }\n}\n"],"mappings":"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","names":[]}
@@ -1,4 +1,4 @@
1
- import { ac as QueryObserverResult, b as QueryClient, K as QueryObserverOptions, aG as NotifyOptions, l as Query, p as QueryKey, c as QueryObserver } from './queryClient-IOLwanMb.js';
1
+ import { ac as QueryObserverResult, b as QueryClient, K as QueryObserverOptions, aG as NotifyOptions, l as Query, p as QueryKey, c as QueryObserver } from './queryClient-N0XKecPj.js';
2
2
  import { Subscribable } from './subscribable.cjs';
3
3
  import './removable.cjs';
4
4
 
@@ -1,4 +1,4 @@
1
- import { ac as QueryObserverResult, b as QueryClient, K as QueryObserverOptions, aG as NotifyOptions, l as Query, p as QueryKey, c as QueryObserver } from './queryClient-IoYjXsnV.js';
1
+ import { ac as QueryObserverResult, b as QueryClient, K as QueryObserverOptions, aG as NotifyOptions, l as Query, p as QueryKey, c as QueryObserver } from './queryClient-UnTFzrI2.js';
2
2
  import { Subscribable } from './subscribable.js';
3
3
  import './removable.js';
4
4
 
@@ -1,3 +1,3 @@
1
1
  import './removable.cjs';
2
- export { b6 as Action, b2 as FetchContext, b3 as FetchDirection, b4 as FetchMeta, b5 as FetchOptions, l as Query, aE as QueryBehavior, j as QueryState, b7 as SetStateOptions } from './queryClient-IOLwanMb.js';
2
+ export { b6 as Action, b2 as FetchContext, b3 as FetchDirection, b4 as FetchMeta, b5 as FetchOptions, l as Query, aE as QueryBehavior, j as QueryState, b7 as SetStateOptions } from './queryClient-N0XKecPj.js';
3
3
  import './subscribable.cjs';
@@ -1,3 +1,3 @@
1
1
  import './removable.js';
2
- export { b6 as Action, b2 as FetchContext, b3 as FetchDirection, b4 as FetchMeta, b5 as FetchOptions, l as Query, aE as QueryBehavior, j as QueryState, b7 as SetStateOptions } from './queryClient-IoYjXsnV.js';
2
+ export { b6 as Action, b2 as FetchContext, b3 as FetchDirection, b4 as FetchMeta, b5 as FetchOptions, l as Query, aE as QueryBehavior, j as QueryState, b7 as SetStateOptions } from './queryClient-UnTFzrI2.js';
3
3
  import './subscribable.js';
@@ -1,3 +1,3 @@
1
- export { Q as QueryCache, a as QueryCacheNotifyEvent, b8 as QueryStore } from './queryClient-IOLwanMb.js';
1
+ export { Q as QueryCache, a as QueryCacheNotifyEvent, b8 as QueryStore } from './queryClient-N0XKecPj.js';
2
2
  import './subscribable.cjs';
3
3
  import './removable.cjs';
@@ -1,3 +1,3 @@
1
- export { Q as QueryCache, a as QueryCacheNotifyEvent, b8 as QueryStore } from './queryClient-IoYjXsnV.js';
1
+ export { Q as QueryCache, a as QueryCacheNotifyEvent, b8 as QueryStore } from './queryClient-UnTFzrI2.js';
2
2
  import './subscribable.js';
3
3
  import './removable.js';
@@ -7,7 +7,7 @@ declare class MutationObserver<TData = unknown, TError = DefaultError, TVariable
7
7
  options: MutationObserverOptions<TData, TError, TVariables, TContext>;
8
8
  constructor(client: QueryClient, options: MutationObserverOptions<TData, TError, TVariables, TContext>);
9
9
  protected bindMethods(): void;
10
- setOptions(options?: MutationObserverOptions<TData, TError, TVariables, TContext>): void;
10
+ setOptions(options: MutationObserverOptions<TData, TError, TVariables, TContext>): void;
11
11
  protected onUnsubscribe(): void;
12
12
  onMutationUpdate(action: Action$1<TData, TError, TVariables, TContext>): void;
13
13
  getCurrentResult(): MutationObserverResult<TData, TError, TVariables, TContext>;
@@ -7,7 +7,7 @@ declare class MutationObserver<TData = unknown, TError = DefaultError, TVariable
7
7
  options: MutationObserverOptions<TData, TError, TVariables, TContext>;
8
8
  constructor(client: QueryClient, options: MutationObserverOptions<TData, TError, TVariables, TContext>);
9
9
  protected bindMethods(): void;
10
- setOptions(options?: MutationObserverOptions<TData, TError, TVariables, TContext>): void;
10
+ setOptions(options: MutationObserverOptions<TData, TError, TVariables, TContext>): void;
11
11
  protected onUnsubscribe(): void;
12
12
  onMutationUpdate(action: Action$1<TData, TError, TVariables, TContext>): void;
13
13
  getCurrentResult(): MutationObserverResult<TData, TError, TVariables, TContext>;
@@ -1,3 +1,3 @@
1
- export { b as QueryClient } from './queryClient-IOLwanMb.js';
1
+ export { b as QueryClient } from './queryClient-N0XKecPj.js';
2
2
  import './removable.cjs';
3
3
  import './subscribable.cjs';
@@ -1,3 +1,3 @@
1
- export { b as QueryClient } from './queryClient-IoYjXsnV.js';
1
+ export { b as QueryClient } from './queryClient-UnTFzrI2.js';
2
2
  import './removable.js';
3
3
  import './subscribable.js';
@@ -1,3 +1,3 @@
1
1
  import './subscribable.cjs';
2
- export { aG as NotifyOptions, aF as ObserverFetchOptions, c as QueryObserver } from './queryClient-IOLwanMb.js';
2
+ export { aG as NotifyOptions, aF as ObserverFetchOptions, c as QueryObserver } from './queryClient-N0XKecPj.js';
3
3
  import './removable.cjs';
@@ -1,3 +1,3 @@
1
1
  import './subscribable.js';
2
- export { aG as NotifyOptions, aF as ObserverFetchOptions, c as QueryObserver } from './queryClient-IoYjXsnV.js';
2
+ export { aG as NotifyOptions, aF as ObserverFetchOptions, c as QueryObserver } from './queryClient-UnTFzrI2.js';
3
3
  import './removable.js';
@@ -1,3 +1,3 @@
1
- export { C as CancelledError, a$ as RetryDelayValue, a_ as RetryValue, aZ as Retryer, b0 as canFetch, b1 as createRetryer, g as isCancelledError } from './queryClient-IOLwanMb.js';
1
+ export { C as CancelledError, a$ as RetryDelayValue, a_ as RetryValue, aZ as Retryer, b0 as canFetch, b1 as createRetryer, g as isCancelledError } from './queryClient-N0XKecPj.js';
2
2
  import './removable.cjs';
3
3
  import './subscribable.cjs';
@@ -1,3 +1,3 @@
1
- export { C as CancelledError, a$ as RetryDelayValue, a_ as RetryValue, aZ as Retryer, b0 as canFetch, b1 as createRetryer, g as isCancelledError } from './queryClient-IoYjXsnV.js';
1
+ export { C as CancelledError, a$ as RetryDelayValue, a_ as RetryValue, aZ as Retryer, b0 as canFetch, b1 as createRetryer, g as isCancelledError } from './queryClient-UnTFzrI2.js';
2
2
  import './removable.js';
3
3
  import './subscribable.js';
@@ -1,3 +1,3 @@
1
- export { aA as CancelOptions, s as DataTag, D as DefaultError, az as DefaultOptions, S as DefaultedInfiniteQueryObserverOptions, L as DefaultedQueryObserverOptions, ai as DefinedInfiniteQueryObserverResult, ab as DefinedQueryObserverResult, X as FetchInfiniteQueryOptions, a2 as FetchNextPageOptions, a3 as FetchPreviousPageOptions, V as FetchQueryOptions, a5 as FetchStatus, y as GetNextPageParamFunction, G as GetPreviousPageParamFunction, z as InfiniteData, ad as InfiniteQueryObserverBaseResult, af as InfiniteQueryObserverLoadingErrorResult, ae as InfiniteQueryObserverLoadingResult, O as InfiniteQueryObserverOptions, ag as InfiniteQueryObserverRefetchErrorResult, aj as InfiniteQueryObserverResult, ah as InfiniteQueryObserverSuccessResult, J as InfiniteQueryPageParamsOptions, I as InitialDataFunction, H as InitialPageParam, a0 as InvalidateOptions, _ as InvalidateQueryFilters, ar as MutateFunction, aq as MutateOptions, an as MutationFunction, ak as MutationKey, am as MutationMeta, as as MutationObserverBaseResult, av as MutationObserverErrorResult, at as MutationObserverIdleResult, au as MutationObserverLoadingResult, ap as MutationObserverOptions, ax as MutationObserverResult, aw as MutationObserverSuccessResult, ao as MutationOptions, al as MutationStatus, B as NetworkMode, N as NoInfer, aD as NotifyEvent, aC as NotifyEventType, E as NotifyOnChangeProps, P as PlaceholderDataFunction, w as QueriesPlaceholderDataFunction, ay as QueryClientConfig, t as QueryFunction, v as QueryFunctionContext, p as QueryKey, x as QueryKeyHashFunction, A as QueryMeta, a6 as QueryObserverBaseResult, a8 as QueryObserverLoadingErrorResult, a7 as QueryObserverLoadingResult, K as QueryObserverOptions, a9 as QueryObserverRefetchErrorResult, ac as QueryObserverResult, aa as QueryObserverSuccessResult, F as QueryOptions, u as QueryPersister, a4 as QueryStatus, Z as RefetchOptions, $ as RefetchQueryFilters, R as Register, a1 as ResetOptions, Y as ResultOptions, aB as SetDataOptions, T as ThrowOnError, W as WithRequired, q as dataTagSymbol } from './queryClient-IOLwanMb.js';
1
+ export { aA as CancelOptions, s as DataTag, D as DefaultError, az as DefaultOptions, S as DefaultedInfiniteQueryObserverOptions, L as DefaultedQueryObserverOptions, ai as DefinedInfiniteQueryObserverResult, ab as DefinedQueryObserverResult, X as FetchInfiniteQueryOptions, a2 as FetchNextPageOptions, a3 as FetchPreviousPageOptions, V as FetchQueryOptions, a5 as FetchStatus, y as GetNextPageParamFunction, G as GetPreviousPageParamFunction, z as InfiniteData, ad as InfiniteQueryObserverBaseResult, af as InfiniteQueryObserverLoadingErrorResult, ae as InfiniteQueryObserverLoadingResult, O as InfiniteQueryObserverOptions, ag as InfiniteQueryObserverRefetchErrorResult, aj as InfiniteQueryObserverResult, ah as InfiniteQueryObserverSuccessResult, J as InfiniteQueryPageParamsOptions, I as InitialDataFunction, H as InitialPageParam, a0 as InvalidateOptions, _ as InvalidateQueryFilters, ar as MutateFunction, aq as MutateOptions, an as MutationFunction, ak as MutationKey, am as MutationMeta, as as MutationObserverBaseResult, av as MutationObserverErrorResult, at as MutationObserverIdleResult, au as MutationObserverLoadingResult, ap as MutationObserverOptions, ax as MutationObserverResult, aw as MutationObserverSuccessResult, ao as MutationOptions, al as MutationStatus, B as NetworkMode, N as NoInfer, aD as NotifyEvent, aC as NotifyEventType, E as NotifyOnChangeProps, P as PlaceholderDataFunction, w as QueriesPlaceholderDataFunction, ay as QueryClientConfig, t as QueryFunction, v as QueryFunctionContext, p as QueryKey, x as QueryKeyHashFunction, A as QueryMeta, a6 as QueryObserverBaseResult, a8 as QueryObserverLoadingErrorResult, a7 as QueryObserverLoadingResult, K as QueryObserverOptions, a9 as QueryObserverRefetchErrorResult, ac as QueryObserverResult, aa as QueryObserverSuccessResult, F as QueryOptions, u as QueryPersister, a4 as QueryStatus, Z as RefetchOptions, $ as RefetchQueryFilters, R as Register, a1 as ResetOptions, Y as ResultOptions, aB as SetDataOptions, T as ThrowOnError, W as WithRequired, q as dataTagSymbol } from './queryClient-N0XKecPj.js';
2
2
  import './removable.cjs';
3
3
  import './subscribable.cjs';
@@ -1,3 +1,3 @@
1
- export { aA as CancelOptions, s as DataTag, D as DefaultError, az as DefaultOptions, S as DefaultedInfiniteQueryObserverOptions, L as DefaultedQueryObserverOptions, ai as DefinedInfiniteQueryObserverResult, ab as DefinedQueryObserverResult, X as FetchInfiniteQueryOptions, a2 as FetchNextPageOptions, a3 as FetchPreviousPageOptions, V as FetchQueryOptions, a5 as FetchStatus, y as GetNextPageParamFunction, G as GetPreviousPageParamFunction, z as InfiniteData, ad as InfiniteQueryObserverBaseResult, af as InfiniteQueryObserverLoadingErrorResult, ae as InfiniteQueryObserverLoadingResult, O as InfiniteQueryObserverOptions, ag as InfiniteQueryObserverRefetchErrorResult, aj as InfiniteQueryObserverResult, ah as InfiniteQueryObserverSuccessResult, J as InfiniteQueryPageParamsOptions, I as InitialDataFunction, H as InitialPageParam, a0 as InvalidateOptions, _ as InvalidateQueryFilters, ar as MutateFunction, aq as MutateOptions, an as MutationFunction, ak as MutationKey, am as MutationMeta, as as MutationObserverBaseResult, av as MutationObserverErrorResult, at as MutationObserverIdleResult, au as MutationObserverLoadingResult, ap as MutationObserverOptions, ax as MutationObserverResult, aw as MutationObserverSuccessResult, ao as MutationOptions, al as MutationStatus, B as NetworkMode, N as NoInfer, aD as NotifyEvent, aC as NotifyEventType, E as NotifyOnChangeProps, P as PlaceholderDataFunction, w as QueriesPlaceholderDataFunction, ay as QueryClientConfig, t as QueryFunction, v as QueryFunctionContext, p as QueryKey, x as QueryKeyHashFunction, A as QueryMeta, a6 as QueryObserverBaseResult, a8 as QueryObserverLoadingErrorResult, a7 as QueryObserverLoadingResult, K as QueryObserverOptions, a9 as QueryObserverRefetchErrorResult, ac as QueryObserverResult, aa as QueryObserverSuccessResult, F as QueryOptions, u as QueryPersister, a4 as QueryStatus, Z as RefetchOptions, $ as RefetchQueryFilters, R as Register, a1 as ResetOptions, Y as ResultOptions, aB as SetDataOptions, T as ThrowOnError, W as WithRequired, q as dataTagSymbol } from './queryClient-IoYjXsnV.js';
1
+ export { aA as CancelOptions, s as DataTag, D as DefaultError, az as DefaultOptions, S as DefaultedInfiniteQueryObserverOptions, L as DefaultedQueryObserverOptions, ai as DefinedInfiniteQueryObserverResult, ab as DefinedQueryObserverResult, X as FetchInfiniteQueryOptions, a2 as FetchNextPageOptions, a3 as FetchPreviousPageOptions, V as FetchQueryOptions, a5 as FetchStatus, y as GetNextPageParamFunction, G as GetPreviousPageParamFunction, z as InfiniteData, ad as InfiniteQueryObserverBaseResult, af as InfiniteQueryObserverLoadingErrorResult, ae as InfiniteQueryObserverLoadingResult, O as InfiniteQueryObserverOptions, ag as InfiniteQueryObserverRefetchErrorResult, aj as InfiniteQueryObserverResult, ah as InfiniteQueryObserverSuccessResult, J as InfiniteQueryPageParamsOptions, I as InitialDataFunction, H as InitialPageParam, a0 as InvalidateOptions, _ as InvalidateQueryFilters, ar as MutateFunction, aq as MutateOptions, an as MutationFunction, ak as MutationKey, am as MutationMeta, as as MutationObserverBaseResult, av as MutationObserverErrorResult, at as MutationObserverIdleResult, au as MutationObserverLoadingResult, ap as MutationObserverOptions, ax as MutationObserverResult, aw as MutationObserverSuccessResult, ao as MutationOptions, al as MutationStatus, B as NetworkMode, N as NoInfer, aD as NotifyEvent, aC as NotifyEventType, E as NotifyOnChangeProps, P as PlaceholderDataFunction, w as QueriesPlaceholderDataFunction, ay as QueryClientConfig, t as QueryFunction, v as QueryFunctionContext, p as QueryKey, x as QueryKeyHashFunction, A as QueryMeta, a6 as QueryObserverBaseResult, a8 as QueryObserverLoadingErrorResult, a7 as QueryObserverLoadingResult, K as QueryObserverOptions, a9 as QueryObserverRefetchErrorResult, ac as QueryObserverResult, aa as QueryObserverSuccessResult, F as QueryOptions, u as QueryPersister, a4 as QueryStatus, Z as RefetchOptions, $ as RefetchQueryFilters, R as Register, a1 as ResetOptions, Y as ResultOptions, aB as SetDataOptions, T as ThrowOnError, W as WithRequired, q as dataTagSymbol } from './queryClient-UnTFzrI2.js';
2
2
  import './removable.js';
3
3
  import './subscribable.js';
@@ -1,3 +1,3 @@
1
- export { e as MutationFilters, f as QueryFilters, aH as QueryTypeFilter, U as Updater, aV as addToEnd, aW as addToStart, aJ as functionalUpdate, h as hashKey, aN as hashQueryKeyByOptions, aQ as isPlainArray, aR as isPlainObject, i as isServer, aK as isValidTimeout, k as keepPreviousData, aM as matchMutation, m as matchQuery, aI as noop, aO as partialMatchKey, aU as replaceData, r as replaceEqualDeep, aT as scheduleMicrotask, aP as shallowEqualObjects, aS as sleep, aL as timeUntilStale } from './queryClient-IOLwanMb.js';
1
+ export { e as MutationFilters, f as QueryFilters, aH as QueryTypeFilter, U as Updater, aV as addToEnd, aW as addToStart, aJ as functionalUpdate, h as hashKey, aN as hashQueryKeyByOptions, aQ as isPlainArray, aR as isPlainObject, i as isServer, aK as isValidTimeout, k as keepPreviousData, aM as matchMutation, m as matchQuery, aI as noop, aO as partialMatchKey, aU as replaceData, r as replaceEqualDeep, aT as scheduleMicrotask, aP as shallowEqualObjects, aS as sleep, aL as timeUntilStale } from './queryClient-N0XKecPj.js';
2
2
  import './removable.cjs';
3
3
  import './subscribable.cjs';
@@ -1,3 +1,3 @@
1
- export { e as MutationFilters, f as QueryFilters, aH as QueryTypeFilter, U as Updater, aV as addToEnd, aW as addToStart, aJ as functionalUpdate, h as hashKey, aN as hashQueryKeyByOptions, aQ as isPlainArray, aR as isPlainObject, i as isServer, aK as isValidTimeout, k as keepPreviousData, aM as matchMutation, m as matchQuery, aI as noop, aO as partialMatchKey, aU as replaceData, r as replaceEqualDeep, aT as scheduleMicrotask, aP as shallowEqualObjects, aS as sleep, aL as timeUntilStale } from './queryClient-IoYjXsnV.js';
1
+ export { e as MutationFilters, f as QueryFilters, aH as QueryTypeFilter, U as Updater, aV as addToEnd, aW as addToStart, aJ as functionalUpdate, h as hashKey, aN as hashQueryKeyByOptions, aQ as isPlainArray, aR as isPlainObject, i as isServer, aK as isValidTimeout, k as keepPreviousData, aM as matchMutation, m as matchQuery, aI as noop, aO as partialMatchKey, aU as replaceData, r as replaceEqualDeep, aT as scheduleMicrotask, aP as shallowEqualObjects, aS as sleep, aL as timeUntilStale } from './queryClient-UnTFzrI2.js';
2
2
  import './removable.js';
3
3
  import './subscribable.js';
@@ -1,4 +1,4 @@
1
- import { n as Mutation, l as Query, F as QueryOptions, ao as MutationOptions, b as QueryClient, ak as MutationKey, o as MutationState, am as MutationMeta, p as QueryKey, j as QueryState, A as QueryMeta } from './queryClient-IOLwanMb.js';
1
+ import { n as Mutation, l as Query, F as QueryOptions, ao as MutationOptions, b as QueryClient, ak as MutationKey, o as MutationState, am as MutationMeta, p as QueryKey, j as QueryState, A as QueryMeta } from './queryClient-N0XKecPj.js';
2
2
  import './removable.cjs';
3
3
  import './subscribable.cjs';
4
4
 
@@ -1,4 +1,4 @@
1
- import { n as Mutation, l as Query, F as QueryOptions, ao as MutationOptions, b as QueryClient, ak as MutationKey, o as MutationState, am as MutationMeta, p as QueryKey, j as QueryState, A as QueryMeta } from './queryClient-IoYjXsnV.js';
1
+ import { n as Mutation, l as Query, F as QueryOptions, ao as MutationOptions, b as QueryClient, ak as MutationKey, o as MutationState, am as MutationMeta, p as QueryKey, j as QueryState, A as QueryMeta } from './queryClient-UnTFzrI2.js';
2
2
  import './removable.js';
3
3
  import './subscribable.js';
4
4
 
@@ -1,4 +1,4 @@
1
- export { aA as CancelOptions, C as CancelledError, s as DataTag, D as DefaultError, az as DefaultOptions, S as DefaultedInfiniteQueryObserverOptions, L as DefaultedQueryObserverOptions, ai as DefinedInfiniteQueryObserverResult, ab as DefinedQueryObserverResult, X as FetchInfiniteQueryOptions, a2 as FetchNextPageOptions, a3 as FetchPreviousPageOptions, V as FetchQueryOptions, a5 as FetchStatus, y as GetNextPageParamFunction, G as GetPreviousPageParamFunction, z as InfiniteData, ad as InfiniteQueryObserverBaseResult, af as InfiniteQueryObserverLoadingErrorResult, ae as InfiniteQueryObserverLoadingResult, O as InfiniteQueryObserverOptions, ag as InfiniteQueryObserverRefetchErrorResult, aj as InfiniteQueryObserverResult, ah as InfiniteQueryObserverSuccessResult, J as InfiniteQueryPageParamsOptions, I as InitialDataFunction, H as InitialPageParam, a0 as InvalidateOptions, _ as InvalidateQueryFilters, ar as MutateFunction, aq as MutateOptions, n as Mutation, M as MutationCache, e as MutationFilters, an as MutationFunction, ak as MutationKey, am as MutationMeta, d as MutationObserver, as as MutationObserverBaseResult, av as MutationObserverErrorResult, at as MutationObserverIdleResult, au as MutationObserverLoadingResult, ap as MutationObserverOptions, ax as MutationObserverResult, aw as MutationObserverSuccessResult, ao as MutationOptions, o as MutationState, al as MutationStatus, B as NetworkMode, N as NoInfer, aD as NotifyEvent, aC as NotifyEventType, E as NotifyOnChangeProps, P as PlaceholderDataFunction, w as QueriesPlaceholderDataFunction, l as Query, Q as QueryCache, a as QueryCacheNotifyEvent, b as QueryClient, ay as QueryClientConfig, f as QueryFilters, t as QueryFunction, v as QueryFunctionContext, p as QueryKey, x as QueryKeyHashFunction, A as QueryMeta, c as QueryObserver, a6 as QueryObserverBaseResult, a8 as QueryObserverLoadingErrorResult, a7 as QueryObserverLoadingResult, K as QueryObserverOptions, a9 as QueryObserverRefetchErrorResult, ac as QueryObserverResult, aa as QueryObserverSuccessResult, F as QueryOptions, u as QueryPersister, j as QueryState, a4 as QueryStatus, Z as RefetchOptions, $ as RefetchQueryFilters, R as Register, a1 as ResetOptions, Y as ResultOptions, aB as SetDataOptions, T as ThrowOnError, U as Updater, W as WithRequired, q as dataTagSymbol, h as hashKey, g as isCancelledError, i as isServer, k as keepPreviousData, m as matchQuery, r as replaceEqualDeep } from './queryClient-IOLwanMb.js';
1
+ export { aA as CancelOptions, C as CancelledError, s as DataTag, D as DefaultError, az as DefaultOptions, S as DefaultedInfiniteQueryObserverOptions, L as DefaultedQueryObserverOptions, ai as DefinedInfiniteQueryObserverResult, ab as DefinedQueryObserverResult, X as FetchInfiniteQueryOptions, a2 as FetchNextPageOptions, a3 as FetchPreviousPageOptions, V as FetchQueryOptions, a5 as FetchStatus, y as GetNextPageParamFunction, G as GetPreviousPageParamFunction, z as InfiniteData, ad as InfiniteQueryObserverBaseResult, af as InfiniteQueryObserverLoadingErrorResult, ae as InfiniteQueryObserverLoadingResult, O as InfiniteQueryObserverOptions, ag as InfiniteQueryObserverRefetchErrorResult, aj as InfiniteQueryObserverResult, ah as InfiniteQueryObserverSuccessResult, J as InfiniteQueryPageParamsOptions, I as InitialDataFunction, H as InitialPageParam, a0 as InvalidateOptions, _ as InvalidateQueryFilters, ar as MutateFunction, aq as MutateOptions, n as Mutation, M as MutationCache, e as MutationFilters, an as MutationFunction, ak as MutationKey, am as MutationMeta, d as MutationObserver, as as MutationObserverBaseResult, av as MutationObserverErrorResult, at as MutationObserverIdleResult, au as MutationObserverLoadingResult, ap as MutationObserverOptions, ax as MutationObserverResult, aw as MutationObserverSuccessResult, ao as MutationOptions, o as MutationState, al as MutationStatus, B as NetworkMode, N as NoInfer, aD as NotifyEvent, aC as NotifyEventType, E as NotifyOnChangeProps, P as PlaceholderDataFunction, w as QueriesPlaceholderDataFunction, l as Query, Q as QueryCache, a as QueryCacheNotifyEvent, b as QueryClient, ay as QueryClientConfig, f as QueryFilters, t as QueryFunction, v as QueryFunctionContext, p as QueryKey, x as QueryKeyHashFunction, A as QueryMeta, c as QueryObserver, a6 as QueryObserverBaseResult, a8 as QueryObserverLoadingErrorResult, a7 as QueryObserverLoadingResult, K as QueryObserverOptions, a9 as QueryObserverRefetchErrorResult, ac as QueryObserverResult, aa as QueryObserverSuccessResult, F as QueryOptions, u as QueryPersister, j as QueryState, a4 as QueryStatus, Z as RefetchOptions, $ as RefetchQueryFilters, R as Register, a1 as ResetOptions, Y as ResultOptions, aB as SetDataOptions, T as ThrowOnError, U as Updater, W as WithRequired, q as dataTagSymbol, h as hashKey, g as isCancelledError, i as isServer, k as keepPreviousData, m as matchQuery, r as replaceEqualDeep } from './queryClient-N0XKecPj.js';
2
2
  export { QueriesObserver, QueriesObserverOptions } from './queriesObserver.cjs';
3
3
  export { InfiniteQueryObserver } from './infiniteQueryObserver.cjs';
4
4
  export { notifyManager } from './notifyManager.cjs';
@@ -1,4 +1,4 @@
1
- export { aA as CancelOptions, C as CancelledError, s as DataTag, D as DefaultError, az as DefaultOptions, S as DefaultedInfiniteQueryObserverOptions, L as DefaultedQueryObserverOptions, ai as DefinedInfiniteQueryObserverResult, ab as DefinedQueryObserverResult, X as FetchInfiniteQueryOptions, a2 as FetchNextPageOptions, a3 as FetchPreviousPageOptions, V as FetchQueryOptions, a5 as FetchStatus, y as GetNextPageParamFunction, G as GetPreviousPageParamFunction, z as InfiniteData, ad as InfiniteQueryObserverBaseResult, af as InfiniteQueryObserverLoadingErrorResult, ae as InfiniteQueryObserverLoadingResult, O as InfiniteQueryObserverOptions, ag as InfiniteQueryObserverRefetchErrorResult, aj as InfiniteQueryObserverResult, ah as InfiniteQueryObserverSuccessResult, J as InfiniteQueryPageParamsOptions, I as InitialDataFunction, H as InitialPageParam, a0 as InvalidateOptions, _ as InvalidateQueryFilters, ar as MutateFunction, aq as MutateOptions, n as Mutation, M as MutationCache, e as MutationFilters, an as MutationFunction, ak as MutationKey, am as MutationMeta, d as MutationObserver, as as MutationObserverBaseResult, av as MutationObserverErrorResult, at as MutationObserverIdleResult, au as MutationObserverLoadingResult, ap as MutationObserverOptions, ax as MutationObserverResult, aw as MutationObserverSuccessResult, ao as MutationOptions, o as MutationState, al as MutationStatus, B as NetworkMode, N as NoInfer, aD as NotifyEvent, aC as NotifyEventType, E as NotifyOnChangeProps, P as PlaceholderDataFunction, w as QueriesPlaceholderDataFunction, l as Query, Q as QueryCache, a as QueryCacheNotifyEvent, b as QueryClient, ay as QueryClientConfig, f as QueryFilters, t as QueryFunction, v as QueryFunctionContext, p as QueryKey, x as QueryKeyHashFunction, A as QueryMeta, c as QueryObserver, a6 as QueryObserverBaseResult, a8 as QueryObserverLoadingErrorResult, a7 as QueryObserverLoadingResult, K as QueryObserverOptions, a9 as QueryObserverRefetchErrorResult, ac as QueryObserverResult, aa as QueryObserverSuccessResult, F as QueryOptions, u as QueryPersister, j as QueryState, a4 as QueryStatus, Z as RefetchOptions, $ as RefetchQueryFilters, R as Register, a1 as ResetOptions, Y as ResultOptions, aB as SetDataOptions, T as ThrowOnError, U as Updater, W as WithRequired, q as dataTagSymbol, h as hashKey, g as isCancelledError, i as isServer, k as keepPreviousData, m as matchQuery, r as replaceEqualDeep } from './queryClient-IoYjXsnV.js';
1
+ export { aA as CancelOptions, C as CancelledError, s as DataTag, D as DefaultError, az as DefaultOptions, S as DefaultedInfiniteQueryObserverOptions, L as DefaultedQueryObserverOptions, ai as DefinedInfiniteQueryObserverResult, ab as DefinedQueryObserverResult, X as FetchInfiniteQueryOptions, a2 as FetchNextPageOptions, a3 as FetchPreviousPageOptions, V as FetchQueryOptions, a5 as FetchStatus, y as GetNextPageParamFunction, G as GetPreviousPageParamFunction, z as InfiniteData, ad as InfiniteQueryObserverBaseResult, af as InfiniteQueryObserverLoadingErrorResult, ae as InfiniteQueryObserverLoadingResult, O as InfiniteQueryObserverOptions, ag as InfiniteQueryObserverRefetchErrorResult, aj as InfiniteQueryObserverResult, ah as InfiniteQueryObserverSuccessResult, J as InfiniteQueryPageParamsOptions, I as InitialDataFunction, H as InitialPageParam, a0 as InvalidateOptions, _ as InvalidateQueryFilters, ar as MutateFunction, aq as MutateOptions, n as Mutation, M as MutationCache, e as MutationFilters, an as MutationFunction, ak as MutationKey, am as MutationMeta, d as MutationObserver, as as MutationObserverBaseResult, av as MutationObserverErrorResult, at as MutationObserverIdleResult, au as MutationObserverLoadingResult, ap as MutationObserverOptions, ax as MutationObserverResult, aw as MutationObserverSuccessResult, ao as MutationOptions, o as MutationState, al as MutationStatus, B as NetworkMode, N as NoInfer, aD as NotifyEvent, aC as NotifyEventType, E as NotifyOnChangeProps, P as PlaceholderDataFunction, w as QueriesPlaceholderDataFunction, l as Query, Q as QueryCache, a as QueryCacheNotifyEvent, b as QueryClient, ay as QueryClientConfig, f as QueryFilters, t as QueryFunction, v as QueryFunctionContext, p as QueryKey, x as QueryKeyHashFunction, A as QueryMeta, c as QueryObserver, a6 as QueryObserverBaseResult, a8 as QueryObserverLoadingErrorResult, a7 as QueryObserverLoadingResult, K as QueryObserverOptions, a9 as QueryObserverRefetchErrorResult, ac as QueryObserverResult, aa as QueryObserverSuccessResult, F as QueryOptions, u as QueryPersister, j as QueryState, a4 as QueryStatus, Z as RefetchOptions, $ as RefetchQueryFilters, R as Register, a1 as ResetOptions, Y as ResultOptions, aB as SetDataOptions, T as ThrowOnError, U as Updater, W as WithRequired, q as dataTagSymbol, h as hashKey, g as isCancelledError, i as isServer, k as keepPreviousData, m as matchQuery, r as replaceEqualDeep } from './queryClient-UnTFzrI2.js';
2
2
  export { QueriesObserver, QueriesObserverOptions } from './queriesObserver.js';
3
3
  export { InfiniteQueryObserver } from './infiniteQueryObserver.js';
4
4
  export { notifyManager } from './notifyManager.js';
@@ -1,4 +1,4 @@
1
- import { aE as QueryBehavior, z as InfiniteData, J as InfiniteQueryPageParamsOptions } from './queryClient-IOLwanMb.js';
1
+ import { aE as QueryBehavior, z as InfiniteData, J as InfiniteQueryPageParamsOptions } from './queryClient-N0XKecPj.js';
2
2
  import './removable.cjs';
3
3
  import './subscribable.cjs';
4
4
 
@@ -1,4 +1,4 @@
1
- import { aE as QueryBehavior, z as InfiniteData, J as InfiniteQueryPageParamsOptions } from './queryClient-IoYjXsnV.js';
1
+ import { aE as QueryBehavior, z as InfiniteData, J as InfiniteQueryPageParamsOptions } from './queryClient-UnTFzrI2.js';
2
2
  import './removable.js';
3
3
  import './subscribable.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { D as DefaultError, z as InfiniteData, p as QueryKey, c as QueryObserver, aj as InfiniteQueryObserverResult, aF as ObserverFetchOptions, b as QueryClient, O as InfiniteQueryObserverOptions, aG as NotifyOptions, S as DefaultedInfiniteQueryObserverOptions, a2 as FetchNextPageOptions, a3 as FetchPreviousPageOptions, l as Query } from './queryClient-IOLwanMb.js';
1
+ import { D as DefaultError, z as InfiniteData, p as QueryKey, c as QueryObserver, aj as InfiniteQueryObserverResult, aF as ObserverFetchOptions, b as QueryClient, O as InfiniteQueryObserverOptions, aG as NotifyOptions, S as DefaultedInfiniteQueryObserverOptions, a2 as FetchNextPageOptions, a3 as FetchPreviousPageOptions, l as Query } from './queryClient-N0XKecPj.js';
2
2
  import './removable.cjs';
3
3
  import './subscribable.cjs';
4
4
 
@@ -1,4 +1,4 @@
1
- import { D as DefaultError, z as InfiniteData, p as QueryKey, c as QueryObserver, aj as InfiniteQueryObserverResult, aF as ObserverFetchOptions, b as QueryClient, O as InfiniteQueryObserverOptions, aG as NotifyOptions, S as DefaultedInfiniteQueryObserverOptions, a2 as FetchNextPageOptions, a3 as FetchPreviousPageOptions, l as Query } from './queryClient-IoYjXsnV.js';
1
+ import { D as DefaultError, z as InfiniteData, p as QueryKey, c as QueryObserver, aj as InfiniteQueryObserverResult, aF as ObserverFetchOptions, b as QueryClient, O as InfiniteQueryObserverOptions, aG as NotifyOptions, S as DefaultedInfiniteQueryObserverOptions, a2 as FetchNextPageOptions, a3 as FetchPreviousPageOptions, l as Query } from './queryClient-UnTFzrI2.js';
2
2
  import './removable.js';
3
3
  import './subscribable.js';
4
4
 
@@ -1,3 +1,3 @@
1
1
  import './removable.cjs';
2
- export { aX as Action, n as Mutation, o as MutationState, aY as getDefaultState } from './queryClient-IOLwanMb.js';
2
+ export { aX as Action, n as Mutation, o as MutationState, aY as getDefaultState } from './queryClient-N0XKecPj.js';
3
3
  import './subscribable.cjs';
@@ -1,3 +1,3 @@
1
1
  import './removable.js';
2
- export { aX as Action, n as Mutation, o as MutationState, aY as getDefaultState } from './queryClient-IoYjXsnV.js';
2
+ export { aX as Action, n as Mutation, o as MutationState, aY as getDefaultState } from './queryClient-UnTFzrI2.js';
3
3
  import './subscribable.js';
@@ -1,3 +1,3 @@
1
- export { M as MutationCache } from './queryClient-IOLwanMb.js';
1
+ export { M as MutationCache } from './queryClient-N0XKecPj.js';
2
2
  import './subscribable.cjs';
3
3
  import './removable.cjs';
@@ -1,3 +1,3 @@
1
- export { M as MutationCache } from './queryClient-IoYjXsnV.js';
1
+ export { M as MutationCache } from './queryClient-UnTFzrI2.js';
2
2
  import './subscribable.js';
3
3
  import './removable.js';
@@ -55,6 +55,9 @@ var MutationObserver = class extends import_subscribable.Subscribable {
55
55
  });
56
56
  }
57
57
  this.#currentMutation?.setOptions(this.options);
58
+ if (prevOptions?.mutationKey && this.options.mutationKey && (0, import_utils.hashKey)(prevOptions.mutationKey) !== (0, import_utils.hashKey)(this.options.mutationKey)) {
59
+ this.reset();
60
+ }
58
61
  }
59
62
  onUnsubscribe() {
60
63
  if (!this.hasListeners()) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/mutationObserver.ts"],"sourcesContent":["import { getDefaultState } from './mutation'\nimport { notifyManager } from './notifyManager'\nimport { Subscribable } from './subscribable'\nimport { shallowEqualObjects } from './utils'\nimport type { QueryClient } from './queryClient'\nimport type {\n DefaultError,\n MutateOptions,\n MutationObserverOptions,\n MutationObserverResult,\n} from './types'\nimport type { Action, Mutation } from './mutation'\n\n// TYPES\n\ntype MutationObserverListener<TData, TError, TVariables, TContext> = (\n result: MutationObserverResult<TData, TError, TVariables, TContext>,\n) => void\n\n// CLASS\n\nexport class MutationObserver<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> extends Subscribable<\n MutationObserverListener<TData, TError, TVariables, TContext>\n> {\n options!: MutationObserverOptions<TData, TError, TVariables, TContext>\n\n #client: QueryClient\n #currentResult: MutationObserverResult<TData, TError, TVariables, TContext> =\n undefined!\n #currentMutation?: Mutation<TData, TError, TVariables, TContext>\n #mutateOptions?: MutateOptions<TData, TError, TVariables, TContext>\n\n constructor(\n client: QueryClient,\n options: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n super()\n\n this.#client = client\n this.setOptions(options)\n this.bindMethods()\n this.#updateResult()\n }\n\n protected bindMethods(): void {\n this.mutate = this.mutate.bind(this)\n this.reset = this.reset.bind(this)\n }\n\n setOptions(\n options?: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n const prevOptions = this.options\n this.options = this.#client.defaultMutationOptions(options)\n if (!shallowEqualObjects(prevOptions, this.options)) {\n this.#client.getMutationCache().notify({\n type: 'observerOptionsUpdated',\n mutation: this.#currentMutation,\n observer: this,\n })\n }\n this.#currentMutation?.setOptions(this.options)\n }\n\n protected onUnsubscribe(): void {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this)\n }\n }\n\n onMutationUpdate(action: Action<TData, TError, TVariables, TContext>): void {\n this.#updateResult()\n\n this.#notify(action)\n }\n\n getCurrentResult(): MutationObserverResult<\n TData,\n TError,\n TVariables,\n TContext\n > {\n return this.#currentResult\n }\n\n reset(): void {\n // reset needs to remove the observer from the mutation because there is no way to \"get it back\"\n // another mutate call will yield a new mutation!\n this.#currentMutation?.removeObserver(this)\n this.#currentMutation = undefined\n this.#updateResult()\n this.#notify()\n }\n\n mutate(\n variables: TVariables,\n options?: MutateOptions<TData, TError, TVariables, TContext>,\n ): Promise<TData> {\n this.#mutateOptions = options\n\n this.#currentMutation?.removeObserver(this)\n\n this.#currentMutation = this.#client\n .getMutationCache()\n .build(this.#client, this.options)\n\n this.#currentMutation.addObserver(this)\n\n return this.#currentMutation.execute(variables)\n }\n\n #updateResult(): void {\n const state =\n this.#currentMutation?.state ??\n getDefaultState<TData, TError, TVariables, TContext>()\n\n this.#currentResult = {\n ...state,\n isPending: state.status === 'pending',\n isSuccess: state.status === 'success',\n isError: state.status === 'error',\n isIdle: state.status === 'idle',\n mutate: this.mutate,\n reset: this.reset,\n } as MutationObserverResult<TData, TError, TVariables, TContext>\n }\n\n #notify(action?: Action<TData, TError, TVariables, TContext>): void {\n notifyManager.batch(() => {\n // First trigger the mutate callbacks\n if (this.#mutateOptions && this.hasListeners()) {\n if (action?.type === 'success') {\n this.#mutateOptions.onSuccess?.(\n action.data,\n this.#currentResult.variables!,\n this.#currentResult.context!,\n )\n this.#mutateOptions.onSettled?.(\n action.data,\n null,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n } else if (action?.type === 'error') {\n this.#mutateOptions.onError?.(\n action.error,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n this.#mutateOptions.onSettled?.(\n undefined,\n action.error,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n }\n }\n\n // Then trigger the listeners\n this.listeners.forEach((listener) => {\n listener(this.#currentResult)\n })\n })\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/mutationObserver.ts"],"sourcesContent":["import { getDefaultState } from './mutation'\nimport { notifyManager } from './notifyManager'\nimport { Subscribable } from './subscribable'\nimport { hashKey, shallowEqualObjects } from './utils'\nimport type { QueryClient } from './queryClient'\nimport type {\n DefaultError,\n MutateOptions,\n MutationObserverOptions,\n MutationObserverResult,\n} from './types'\nimport type { Action, Mutation } from './mutation'\n\n// TYPES\n\ntype MutationObserverListener<TData, TError, TVariables, TContext> = (\n result: MutationObserverResult<TData, TError, TVariables, TContext>,\n) => void\n\n// CLASS\n\nexport class MutationObserver<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> extends Subscribable<\n MutationObserverListener<TData, TError, TVariables, TContext>\n> {\n options!: MutationObserverOptions<TData, TError, TVariables, TContext>\n\n #client: QueryClient\n #currentResult: MutationObserverResult<TData, TError, TVariables, TContext> =\n undefined!\n #currentMutation?: Mutation<TData, TError, TVariables, TContext>\n #mutateOptions?: MutateOptions<TData, TError, TVariables, TContext>\n\n constructor(\n client: QueryClient,\n options: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n super()\n\n this.#client = client\n this.setOptions(options)\n this.bindMethods()\n this.#updateResult()\n }\n\n protected bindMethods(): void {\n this.mutate = this.mutate.bind(this)\n this.reset = this.reset.bind(this)\n }\n\n setOptions(\n options: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n const prevOptions = this.options as\n | MutationObserverOptions<TData, TError, TVariables, TContext>\n | undefined\n this.options = this.#client.defaultMutationOptions(options)\n if (!shallowEqualObjects(prevOptions, this.options)) {\n this.#client.getMutationCache().notify({\n type: 'observerOptionsUpdated',\n mutation: this.#currentMutation,\n observer: this,\n })\n }\n this.#currentMutation?.setOptions(this.options)\n\n if (\n prevOptions?.mutationKey &&\n this.options.mutationKey &&\n hashKey(prevOptions.mutationKey) !== hashKey(this.options.mutationKey)\n ) {\n this.reset()\n }\n }\n\n protected onUnsubscribe(): void {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this)\n }\n }\n\n onMutationUpdate(action: Action<TData, TError, TVariables, TContext>): void {\n this.#updateResult()\n\n this.#notify(action)\n }\n\n getCurrentResult(): MutationObserverResult<\n TData,\n TError,\n TVariables,\n TContext\n > {\n return this.#currentResult\n }\n\n reset(): void {\n // reset needs to remove the observer from the mutation because there is no way to \"get it back\"\n // another mutate call will yield a new mutation!\n this.#currentMutation?.removeObserver(this)\n this.#currentMutation = undefined\n this.#updateResult()\n this.#notify()\n }\n\n mutate(\n variables: TVariables,\n options?: MutateOptions<TData, TError, TVariables, TContext>,\n ): Promise<TData> {\n this.#mutateOptions = options\n\n this.#currentMutation?.removeObserver(this)\n\n this.#currentMutation = this.#client\n .getMutationCache()\n .build(this.#client, this.options)\n\n this.#currentMutation.addObserver(this)\n\n return this.#currentMutation.execute(variables)\n }\n\n #updateResult(): void {\n const state =\n this.#currentMutation?.state ??\n getDefaultState<TData, TError, TVariables, TContext>()\n\n this.#currentResult = {\n ...state,\n isPending: state.status === 'pending',\n isSuccess: state.status === 'success',\n isError: state.status === 'error',\n isIdle: state.status === 'idle',\n mutate: this.mutate,\n reset: this.reset,\n } as MutationObserverResult<TData, TError, TVariables, TContext>\n }\n\n #notify(action?: Action<TData, TError, TVariables, TContext>): void {\n notifyManager.batch(() => {\n // First trigger the mutate callbacks\n if (this.#mutateOptions && this.hasListeners()) {\n if (action?.type === 'success') {\n this.#mutateOptions.onSuccess?.(\n action.data,\n this.#currentResult.variables!,\n this.#currentResult.context!,\n )\n this.#mutateOptions.onSettled?.(\n action.data,\n null,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n } else if (action?.type === 'error') {\n this.#mutateOptions.onError?.(\n action.error,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n this.#mutateOptions.onSettled?.(\n undefined,\n action.error,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n }\n }\n\n // Then trigger the listeners\n this.listeners.forEach((listener) => {\n listener(this.#currentResult)\n })\n })\n }\n}\n"],"mappings":"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","names":[]}
@@ -1,3 +1,3 @@
1
1
  import './subscribable.cjs';
2
- export { d as MutationObserver } from './queryClient-IOLwanMb.js';
2
+ export { d as MutationObserver } from './queryClient-N0XKecPj.js';
3
3
  import './removable.cjs';
@@ -1,3 +1,3 @@
1
1
  import './subscribable.js';
2
- export { d as MutationObserver } from './queryClient-IoYjXsnV.js';
2
+ export { d as MutationObserver } from './queryClient-UnTFzrI2.js';
3
3
  import './removable.js';
@@ -2,7 +2,7 @@
2
2
  import { getDefaultState } from "./mutation.js";
3
3
  import { notifyManager } from "./notifyManager.js";
4
4
  import { Subscribable } from "./subscribable.js";
5
- import { shallowEqualObjects } from "./utils.js";
5
+ import { hashKey, shallowEqualObjects } from "./utils.js";
6
6
  var MutationObserver = class extends Subscribable {
7
7
  constructor(client, options) {
8
8
  super();
@@ -31,6 +31,9 @@ var MutationObserver = class extends Subscribable {
31
31
  });
32
32
  }
33
33
  this.#currentMutation?.setOptions(this.options);
34
+ if (prevOptions?.mutationKey && this.options.mutationKey && hashKey(prevOptions.mutationKey) !== hashKey(this.options.mutationKey)) {
35
+ this.reset();
36
+ }
34
37
  }
35
38
  onUnsubscribe() {
36
39
  if (!this.hasListeners()) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/mutationObserver.ts"],"sourcesContent":["import { getDefaultState } from './mutation'\nimport { notifyManager } from './notifyManager'\nimport { Subscribable } from './subscribable'\nimport { shallowEqualObjects } from './utils'\nimport type { QueryClient } from './queryClient'\nimport type {\n DefaultError,\n MutateOptions,\n MutationObserverOptions,\n MutationObserverResult,\n} from './types'\nimport type { Action, Mutation } from './mutation'\n\n// TYPES\n\ntype MutationObserverListener<TData, TError, TVariables, TContext> = (\n result: MutationObserverResult<TData, TError, TVariables, TContext>,\n) => void\n\n// CLASS\n\nexport class MutationObserver<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> extends Subscribable<\n MutationObserverListener<TData, TError, TVariables, TContext>\n> {\n options!: MutationObserverOptions<TData, TError, TVariables, TContext>\n\n #client: QueryClient\n #currentResult: MutationObserverResult<TData, TError, TVariables, TContext> =\n undefined!\n #currentMutation?: Mutation<TData, TError, TVariables, TContext>\n #mutateOptions?: MutateOptions<TData, TError, TVariables, TContext>\n\n constructor(\n client: QueryClient,\n options: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n super()\n\n this.#client = client\n this.setOptions(options)\n this.bindMethods()\n this.#updateResult()\n }\n\n protected bindMethods(): void {\n this.mutate = this.mutate.bind(this)\n this.reset = this.reset.bind(this)\n }\n\n setOptions(\n options?: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n const prevOptions = this.options\n this.options = this.#client.defaultMutationOptions(options)\n if (!shallowEqualObjects(prevOptions, this.options)) {\n this.#client.getMutationCache().notify({\n type: 'observerOptionsUpdated',\n mutation: this.#currentMutation,\n observer: this,\n })\n }\n this.#currentMutation?.setOptions(this.options)\n }\n\n protected onUnsubscribe(): void {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this)\n }\n }\n\n onMutationUpdate(action: Action<TData, TError, TVariables, TContext>): void {\n this.#updateResult()\n\n this.#notify(action)\n }\n\n getCurrentResult(): MutationObserverResult<\n TData,\n TError,\n TVariables,\n TContext\n > {\n return this.#currentResult\n }\n\n reset(): void {\n // reset needs to remove the observer from the mutation because there is no way to \"get it back\"\n // another mutate call will yield a new mutation!\n this.#currentMutation?.removeObserver(this)\n this.#currentMutation = undefined\n this.#updateResult()\n this.#notify()\n }\n\n mutate(\n variables: TVariables,\n options?: MutateOptions<TData, TError, TVariables, TContext>,\n ): Promise<TData> {\n this.#mutateOptions = options\n\n this.#currentMutation?.removeObserver(this)\n\n this.#currentMutation = this.#client\n .getMutationCache()\n .build(this.#client, this.options)\n\n this.#currentMutation.addObserver(this)\n\n return this.#currentMutation.execute(variables)\n }\n\n #updateResult(): void {\n const state =\n this.#currentMutation?.state ??\n getDefaultState<TData, TError, TVariables, TContext>()\n\n this.#currentResult = {\n ...state,\n isPending: state.status === 'pending',\n isSuccess: state.status === 'success',\n isError: state.status === 'error',\n isIdle: state.status === 'idle',\n mutate: this.mutate,\n reset: this.reset,\n } as MutationObserverResult<TData, TError, TVariables, TContext>\n }\n\n #notify(action?: Action<TData, TError, TVariables, TContext>): void {\n notifyManager.batch(() => {\n // First trigger the mutate callbacks\n if (this.#mutateOptions && this.hasListeners()) {\n if (action?.type === 'success') {\n this.#mutateOptions.onSuccess?.(\n action.data,\n this.#currentResult.variables!,\n this.#currentResult.context!,\n )\n this.#mutateOptions.onSettled?.(\n action.data,\n null,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n } else if (action?.type === 'error') {\n this.#mutateOptions.onError?.(\n action.error,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n this.#mutateOptions.onSettled?.(\n undefined,\n action.error,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n }\n }\n\n // Then trigger the listeners\n this.listeners.forEach((listener) => {\n listener(this.#currentResult)\n })\n })\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/mutationObserver.ts"],"sourcesContent":["import { getDefaultState } from './mutation'\nimport { notifyManager } from './notifyManager'\nimport { Subscribable } from './subscribable'\nimport { hashKey, shallowEqualObjects } from './utils'\nimport type { QueryClient } from './queryClient'\nimport type {\n DefaultError,\n MutateOptions,\n MutationObserverOptions,\n MutationObserverResult,\n} from './types'\nimport type { Action, Mutation } from './mutation'\n\n// TYPES\n\ntype MutationObserverListener<TData, TError, TVariables, TContext> = (\n result: MutationObserverResult<TData, TError, TVariables, TContext>,\n) => void\n\n// CLASS\n\nexport class MutationObserver<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> extends Subscribable<\n MutationObserverListener<TData, TError, TVariables, TContext>\n> {\n options!: MutationObserverOptions<TData, TError, TVariables, TContext>\n\n #client: QueryClient\n #currentResult: MutationObserverResult<TData, TError, TVariables, TContext> =\n undefined!\n #currentMutation?: Mutation<TData, TError, TVariables, TContext>\n #mutateOptions?: MutateOptions<TData, TError, TVariables, TContext>\n\n constructor(\n client: QueryClient,\n options: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n super()\n\n this.#client = client\n this.setOptions(options)\n this.bindMethods()\n this.#updateResult()\n }\n\n protected bindMethods(): void {\n this.mutate = this.mutate.bind(this)\n this.reset = this.reset.bind(this)\n }\n\n setOptions(\n options: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n const prevOptions = this.options as\n | MutationObserverOptions<TData, TError, TVariables, TContext>\n | undefined\n this.options = this.#client.defaultMutationOptions(options)\n if (!shallowEqualObjects(prevOptions, this.options)) {\n this.#client.getMutationCache().notify({\n type: 'observerOptionsUpdated',\n mutation: this.#currentMutation,\n observer: this,\n })\n }\n this.#currentMutation?.setOptions(this.options)\n\n if (\n prevOptions?.mutationKey &&\n this.options.mutationKey &&\n hashKey(prevOptions.mutationKey) !== hashKey(this.options.mutationKey)\n ) {\n this.reset()\n }\n }\n\n protected onUnsubscribe(): void {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this)\n }\n }\n\n onMutationUpdate(action: Action<TData, TError, TVariables, TContext>): void {\n this.#updateResult()\n\n this.#notify(action)\n }\n\n getCurrentResult(): MutationObserverResult<\n TData,\n TError,\n TVariables,\n TContext\n > {\n return this.#currentResult\n }\n\n reset(): void {\n // reset needs to remove the observer from the mutation because there is no way to \"get it back\"\n // another mutate call will yield a new mutation!\n this.#currentMutation?.removeObserver(this)\n this.#currentMutation = undefined\n this.#updateResult()\n this.#notify()\n }\n\n mutate(\n variables: TVariables,\n options?: MutateOptions<TData, TError, TVariables, TContext>,\n ): Promise<TData> {\n this.#mutateOptions = options\n\n this.#currentMutation?.removeObserver(this)\n\n this.#currentMutation = this.#client\n .getMutationCache()\n .build(this.#client, this.options)\n\n this.#currentMutation.addObserver(this)\n\n return this.#currentMutation.execute(variables)\n }\n\n #updateResult(): void {\n const state =\n this.#currentMutation?.state ??\n getDefaultState<TData, TError, TVariables, TContext>()\n\n this.#currentResult = {\n ...state,\n isPending: state.status === 'pending',\n isSuccess: state.status === 'success',\n isError: state.status === 'error',\n isIdle: state.status === 'idle',\n mutate: this.mutate,\n reset: this.reset,\n } as MutationObserverResult<TData, TError, TVariables, TContext>\n }\n\n #notify(action?: Action<TData, TError, TVariables, TContext>): void {\n notifyManager.batch(() => {\n // First trigger the mutate callbacks\n if (this.#mutateOptions && this.hasListeners()) {\n if (action?.type === 'success') {\n this.#mutateOptions.onSuccess?.(\n action.data,\n this.#currentResult.variables!,\n this.#currentResult.context!,\n )\n this.#mutateOptions.onSettled?.(\n action.data,\n null,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n } else if (action?.type === 'error') {\n this.#mutateOptions.onError?.(\n action.error,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n this.#mutateOptions.onSettled?.(\n undefined,\n action.error,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n }\n }\n\n // Then trigger the listeners\n this.listeners.forEach((listener) => {\n listener(this.#currentResult)\n })\n })\n }\n}\n"],"mappings":"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","names":[]}
@@ -1,4 +1,4 @@
1
- import { ac as QueryObserverResult, b as QueryClient, K as QueryObserverOptions, aG as NotifyOptions, l as Query, p as QueryKey, c as QueryObserver } from './queryClient-IOLwanMb.js';
1
+ import { ac as QueryObserverResult, b as QueryClient, K as QueryObserverOptions, aG as NotifyOptions, l as Query, p as QueryKey, c as QueryObserver } from './queryClient-N0XKecPj.js';
2
2
  import { Subscribable } from './subscribable.cjs';
3
3
  import './removable.cjs';
4
4
 
@@ -1,4 +1,4 @@
1
- import { ac as QueryObserverResult, b as QueryClient, K as QueryObserverOptions, aG as NotifyOptions, l as Query, p as QueryKey, c as QueryObserver } from './queryClient-IoYjXsnV.js';
1
+ import { ac as QueryObserverResult, b as QueryClient, K as QueryObserverOptions, aG as NotifyOptions, l as Query, p as QueryKey, c as QueryObserver } from './queryClient-UnTFzrI2.js';
2
2
  import { Subscribable } from './subscribable.js';
3
3
  import './removable.js';
4
4
 
@@ -1,3 +1,3 @@
1
1
  import './removable.cjs';
2
- export { b6 as Action, b2 as FetchContext, b3 as FetchDirection, b4 as FetchMeta, b5 as FetchOptions, l as Query, aE as QueryBehavior, j as QueryState, b7 as SetStateOptions } from './queryClient-IOLwanMb.js';
2
+ export { b6 as Action, b2 as FetchContext, b3 as FetchDirection, b4 as FetchMeta, b5 as FetchOptions, l as Query, aE as QueryBehavior, j as QueryState, b7 as SetStateOptions } from './queryClient-N0XKecPj.js';
3
3
  import './subscribable.cjs';
@@ -1,3 +1,3 @@
1
1
  import './removable.js';
2
- export { b6 as Action, b2 as FetchContext, b3 as FetchDirection, b4 as FetchMeta, b5 as FetchOptions, l as Query, aE as QueryBehavior, j as QueryState, b7 as SetStateOptions } from './queryClient-IoYjXsnV.js';
2
+ export { b6 as Action, b2 as FetchContext, b3 as FetchDirection, b4 as FetchMeta, b5 as FetchOptions, l as Query, aE as QueryBehavior, j as QueryState, b7 as SetStateOptions } from './queryClient-UnTFzrI2.js';
3
3
  import './subscribable.js';
@@ -1,3 +1,3 @@
1
- export { Q as QueryCache, a as QueryCacheNotifyEvent, b8 as QueryStore } from './queryClient-IOLwanMb.js';
1
+ export { Q as QueryCache, a as QueryCacheNotifyEvent, b8 as QueryStore } from './queryClient-N0XKecPj.js';
2
2
  import './subscribable.cjs';
3
3
  import './removable.cjs';
@@ -1,3 +1,3 @@
1
- export { Q as QueryCache, a as QueryCacheNotifyEvent, b8 as QueryStore } from './queryClient-IoYjXsnV.js';
1
+ export { Q as QueryCache, a as QueryCacheNotifyEvent, b8 as QueryStore } from './queryClient-UnTFzrI2.js';
2
2
  import './subscribable.js';
3
3
  import './removable.js';
@@ -7,7 +7,7 @@ declare class MutationObserver<TData = unknown, TError = DefaultError, TVariable
7
7
  options: MutationObserverOptions<TData, TError, TVariables, TContext>;
8
8
  constructor(client: QueryClient, options: MutationObserverOptions<TData, TError, TVariables, TContext>);
9
9
  protected bindMethods(): void;
10
- setOptions(options?: MutationObserverOptions<TData, TError, TVariables, TContext>): void;
10
+ setOptions(options: MutationObserverOptions<TData, TError, TVariables, TContext>): void;
11
11
  protected onUnsubscribe(): void;
12
12
  onMutationUpdate(action: Action$1<TData, TError, TVariables, TContext>): void;
13
13
  getCurrentResult(): MutationObserverResult<TData, TError, TVariables, TContext>;
@@ -7,7 +7,7 @@ declare class MutationObserver<TData = unknown, TError = DefaultError, TVariable
7
7
  options: MutationObserverOptions<TData, TError, TVariables, TContext>;
8
8
  constructor(client: QueryClient, options: MutationObserverOptions<TData, TError, TVariables, TContext>);
9
9
  protected bindMethods(): void;
10
- setOptions(options?: MutationObserverOptions<TData, TError, TVariables, TContext>): void;
10
+ setOptions(options: MutationObserverOptions<TData, TError, TVariables, TContext>): void;
11
11
  protected onUnsubscribe(): void;
12
12
  onMutationUpdate(action: Action$1<TData, TError, TVariables, TContext>): void;
13
13
  getCurrentResult(): MutationObserverResult<TData, TError, TVariables, TContext>;
@@ -1,3 +1,3 @@
1
- export { b as QueryClient } from './queryClient-IOLwanMb.js';
1
+ export { b as QueryClient } from './queryClient-N0XKecPj.js';
2
2
  import './removable.cjs';
3
3
  import './subscribable.cjs';
@@ -1,3 +1,3 @@
1
- export { b as QueryClient } from './queryClient-IoYjXsnV.js';
1
+ export { b as QueryClient } from './queryClient-UnTFzrI2.js';
2
2
  import './removable.js';
3
3
  import './subscribable.js';
@@ -1,3 +1,3 @@
1
1
  import './subscribable.cjs';
2
- export { aG as NotifyOptions, aF as ObserverFetchOptions, c as QueryObserver } from './queryClient-IOLwanMb.js';
2
+ export { aG as NotifyOptions, aF as ObserverFetchOptions, c as QueryObserver } from './queryClient-N0XKecPj.js';
3
3
  import './removable.cjs';
@@ -1,3 +1,3 @@
1
1
  import './subscribable.js';
2
- export { aG as NotifyOptions, aF as ObserverFetchOptions, c as QueryObserver } from './queryClient-IoYjXsnV.js';
2
+ export { aG as NotifyOptions, aF as ObserverFetchOptions, c as QueryObserver } from './queryClient-UnTFzrI2.js';
3
3
  import './removable.js';
@@ -1,3 +1,3 @@
1
- export { C as CancelledError, a$ as RetryDelayValue, a_ as RetryValue, aZ as Retryer, b0 as canFetch, b1 as createRetryer, g as isCancelledError } from './queryClient-IOLwanMb.js';
1
+ export { C as CancelledError, a$ as RetryDelayValue, a_ as RetryValue, aZ as Retryer, b0 as canFetch, b1 as createRetryer, g as isCancelledError } from './queryClient-N0XKecPj.js';
2
2
  import './removable.cjs';
3
3
  import './subscribable.cjs';
@@ -1,3 +1,3 @@
1
- export { C as CancelledError, a$ as RetryDelayValue, a_ as RetryValue, aZ as Retryer, b0 as canFetch, b1 as createRetryer, g as isCancelledError } from './queryClient-IoYjXsnV.js';
1
+ export { C as CancelledError, a$ as RetryDelayValue, a_ as RetryValue, aZ as Retryer, b0 as canFetch, b1 as createRetryer, g as isCancelledError } from './queryClient-UnTFzrI2.js';
2
2
  import './removable.js';
3
3
  import './subscribable.js';
@@ -1,3 +1,3 @@
1
- export { aA as CancelOptions, s as DataTag, D as DefaultError, az as DefaultOptions, S as DefaultedInfiniteQueryObserverOptions, L as DefaultedQueryObserverOptions, ai as DefinedInfiniteQueryObserverResult, ab as DefinedQueryObserverResult, X as FetchInfiniteQueryOptions, a2 as FetchNextPageOptions, a3 as FetchPreviousPageOptions, V as FetchQueryOptions, a5 as FetchStatus, y as GetNextPageParamFunction, G as GetPreviousPageParamFunction, z as InfiniteData, ad as InfiniteQueryObserverBaseResult, af as InfiniteQueryObserverLoadingErrorResult, ae as InfiniteQueryObserverLoadingResult, O as InfiniteQueryObserverOptions, ag as InfiniteQueryObserverRefetchErrorResult, aj as InfiniteQueryObserverResult, ah as InfiniteQueryObserverSuccessResult, J as InfiniteQueryPageParamsOptions, I as InitialDataFunction, H as InitialPageParam, a0 as InvalidateOptions, _ as InvalidateQueryFilters, ar as MutateFunction, aq as MutateOptions, an as MutationFunction, ak as MutationKey, am as MutationMeta, as as MutationObserverBaseResult, av as MutationObserverErrorResult, at as MutationObserverIdleResult, au as MutationObserverLoadingResult, ap as MutationObserverOptions, ax as MutationObserverResult, aw as MutationObserverSuccessResult, ao as MutationOptions, al as MutationStatus, B as NetworkMode, N as NoInfer, aD as NotifyEvent, aC as NotifyEventType, E as NotifyOnChangeProps, P as PlaceholderDataFunction, w as QueriesPlaceholderDataFunction, ay as QueryClientConfig, t as QueryFunction, v as QueryFunctionContext, p as QueryKey, x as QueryKeyHashFunction, A as QueryMeta, a6 as QueryObserverBaseResult, a8 as QueryObserverLoadingErrorResult, a7 as QueryObserverLoadingResult, K as QueryObserverOptions, a9 as QueryObserverRefetchErrorResult, ac as QueryObserverResult, aa as QueryObserverSuccessResult, F as QueryOptions, u as QueryPersister, a4 as QueryStatus, Z as RefetchOptions, $ as RefetchQueryFilters, R as Register, a1 as ResetOptions, Y as ResultOptions, aB as SetDataOptions, T as ThrowOnError, W as WithRequired, q as dataTagSymbol } from './queryClient-IOLwanMb.js';
1
+ export { aA as CancelOptions, s as DataTag, D as DefaultError, az as DefaultOptions, S as DefaultedInfiniteQueryObserverOptions, L as DefaultedQueryObserverOptions, ai as DefinedInfiniteQueryObserverResult, ab as DefinedQueryObserverResult, X as FetchInfiniteQueryOptions, a2 as FetchNextPageOptions, a3 as FetchPreviousPageOptions, V as FetchQueryOptions, a5 as FetchStatus, y as GetNextPageParamFunction, G as GetPreviousPageParamFunction, z as InfiniteData, ad as InfiniteQueryObserverBaseResult, af as InfiniteQueryObserverLoadingErrorResult, ae as InfiniteQueryObserverLoadingResult, O as InfiniteQueryObserverOptions, ag as InfiniteQueryObserverRefetchErrorResult, aj as InfiniteQueryObserverResult, ah as InfiniteQueryObserverSuccessResult, J as InfiniteQueryPageParamsOptions, I as InitialDataFunction, H as InitialPageParam, a0 as InvalidateOptions, _ as InvalidateQueryFilters, ar as MutateFunction, aq as MutateOptions, an as MutationFunction, ak as MutationKey, am as MutationMeta, as as MutationObserverBaseResult, av as MutationObserverErrorResult, at as MutationObserverIdleResult, au as MutationObserverLoadingResult, ap as MutationObserverOptions, ax as MutationObserverResult, aw as MutationObserverSuccessResult, ao as MutationOptions, al as MutationStatus, B as NetworkMode, N as NoInfer, aD as NotifyEvent, aC as NotifyEventType, E as NotifyOnChangeProps, P as PlaceholderDataFunction, w as QueriesPlaceholderDataFunction, ay as QueryClientConfig, t as QueryFunction, v as QueryFunctionContext, p as QueryKey, x as QueryKeyHashFunction, A as QueryMeta, a6 as QueryObserverBaseResult, a8 as QueryObserverLoadingErrorResult, a7 as QueryObserverLoadingResult, K as QueryObserverOptions, a9 as QueryObserverRefetchErrorResult, ac as QueryObserverResult, aa as QueryObserverSuccessResult, F as QueryOptions, u as QueryPersister, a4 as QueryStatus, Z as RefetchOptions, $ as RefetchQueryFilters, R as Register, a1 as ResetOptions, Y as ResultOptions, aB as SetDataOptions, T as ThrowOnError, W as WithRequired, q as dataTagSymbol } from './queryClient-N0XKecPj.js';
2
2
  import './removable.cjs';
3
3
  import './subscribable.cjs';
@@ -1,3 +1,3 @@
1
- export { aA as CancelOptions, s as DataTag, D as DefaultError, az as DefaultOptions, S as DefaultedInfiniteQueryObserverOptions, L as DefaultedQueryObserverOptions, ai as DefinedInfiniteQueryObserverResult, ab as DefinedQueryObserverResult, X as FetchInfiniteQueryOptions, a2 as FetchNextPageOptions, a3 as FetchPreviousPageOptions, V as FetchQueryOptions, a5 as FetchStatus, y as GetNextPageParamFunction, G as GetPreviousPageParamFunction, z as InfiniteData, ad as InfiniteQueryObserverBaseResult, af as InfiniteQueryObserverLoadingErrorResult, ae as InfiniteQueryObserverLoadingResult, O as InfiniteQueryObserverOptions, ag as InfiniteQueryObserverRefetchErrorResult, aj as InfiniteQueryObserverResult, ah as InfiniteQueryObserverSuccessResult, J as InfiniteQueryPageParamsOptions, I as InitialDataFunction, H as InitialPageParam, a0 as InvalidateOptions, _ as InvalidateQueryFilters, ar as MutateFunction, aq as MutateOptions, an as MutationFunction, ak as MutationKey, am as MutationMeta, as as MutationObserverBaseResult, av as MutationObserverErrorResult, at as MutationObserverIdleResult, au as MutationObserverLoadingResult, ap as MutationObserverOptions, ax as MutationObserverResult, aw as MutationObserverSuccessResult, ao as MutationOptions, al as MutationStatus, B as NetworkMode, N as NoInfer, aD as NotifyEvent, aC as NotifyEventType, E as NotifyOnChangeProps, P as PlaceholderDataFunction, w as QueriesPlaceholderDataFunction, ay as QueryClientConfig, t as QueryFunction, v as QueryFunctionContext, p as QueryKey, x as QueryKeyHashFunction, A as QueryMeta, a6 as QueryObserverBaseResult, a8 as QueryObserverLoadingErrorResult, a7 as QueryObserverLoadingResult, K as QueryObserverOptions, a9 as QueryObserverRefetchErrorResult, ac as QueryObserverResult, aa as QueryObserverSuccessResult, F as QueryOptions, u as QueryPersister, a4 as QueryStatus, Z as RefetchOptions, $ as RefetchQueryFilters, R as Register, a1 as ResetOptions, Y as ResultOptions, aB as SetDataOptions, T as ThrowOnError, W as WithRequired, q as dataTagSymbol } from './queryClient-IoYjXsnV.js';
1
+ export { aA as CancelOptions, s as DataTag, D as DefaultError, az as DefaultOptions, S as DefaultedInfiniteQueryObserverOptions, L as DefaultedQueryObserverOptions, ai as DefinedInfiniteQueryObserverResult, ab as DefinedQueryObserverResult, X as FetchInfiniteQueryOptions, a2 as FetchNextPageOptions, a3 as FetchPreviousPageOptions, V as FetchQueryOptions, a5 as FetchStatus, y as GetNextPageParamFunction, G as GetPreviousPageParamFunction, z as InfiniteData, ad as InfiniteQueryObserverBaseResult, af as InfiniteQueryObserverLoadingErrorResult, ae as InfiniteQueryObserverLoadingResult, O as InfiniteQueryObserverOptions, ag as InfiniteQueryObserverRefetchErrorResult, aj as InfiniteQueryObserverResult, ah as InfiniteQueryObserverSuccessResult, J as InfiniteQueryPageParamsOptions, I as InitialDataFunction, H as InitialPageParam, a0 as InvalidateOptions, _ as InvalidateQueryFilters, ar as MutateFunction, aq as MutateOptions, an as MutationFunction, ak as MutationKey, am as MutationMeta, as as MutationObserverBaseResult, av as MutationObserverErrorResult, at as MutationObserverIdleResult, au as MutationObserverLoadingResult, ap as MutationObserverOptions, ax as MutationObserverResult, aw as MutationObserverSuccessResult, ao as MutationOptions, al as MutationStatus, B as NetworkMode, N as NoInfer, aD as NotifyEvent, aC as NotifyEventType, E as NotifyOnChangeProps, P as PlaceholderDataFunction, w as QueriesPlaceholderDataFunction, ay as QueryClientConfig, t as QueryFunction, v as QueryFunctionContext, p as QueryKey, x as QueryKeyHashFunction, A as QueryMeta, a6 as QueryObserverBaseResult, a8 as QueryObserverLoadingErrorResult, a7 as QueryObserverLoadingResult, K as QueryObserverOptions, a9 as QueryObserverRefetchErrorResult, ac as QueryObserverResult, aa as QueryObserverSuccessResult, F as QueryOptions, u as QueryPersister, a4 as QueryStatus, Z as RefetchOptions, $ as RefetchQueryFilters, R as Register, a1 as ResetOptions, Y as ResultOptions, aB as SetDataOptions, T as ThrowOnError, W as WithRequired, q as dataTagSymbol } from './queryClient-UnTFzrI2.js';
2
2
  import './removable.js';
3
3
  import './subscribable.js';
@@ -1,3 +1,3 @@
1
- export { e as MutationFilters, f as QueryFilters, aH as QueryTypeFilter, U as Updater, aV as addToEnd, aW as addToStart, aJ as functionalUpdate, h as hashKey, aN as hashQueryKeyByOptions, aQ as isPlainArray, aR as isPlainObject, i as isServer, aK as isValidTimeout, k as keepPreviousData, aM as matchMutation, m as matchQuery, aI as noop, aO as partialMatchKey, aU as replaceData, r as replaceEqualDeep, aT as scheduleMicrotask, aP as shallowEqualObjects, aS as sleep, aL as timeUntilStale } from './queryClient-IOLwanMb.js';
1
+ export { e as MutationFilters, f as QueryFilters, aH as QueryTypeFilter, U as Updater, aV as addToEnd, aW as addToStart, aJ as functionalUpdate, h as hashKey, aN as hashQueryKeyByOptions, aQ as isPlainArray, aR as isPlainObject, i as isServer, aK as isValidTimeout, k as keepPreviousData, aM as matchMutation, m as matchQuery, aI as noop, aO as partialMatchKey, aU as replaceData, r as replaceEqualDeep, aT as scheduleMicrotask, aP as shallowEqualObjects, aS as sleep, aL as timeUntilStale } from './queryClient-N0XKecPj.js';
2
2
  import './removable.cjs';
3
3
  import './subscribable.cjs';
@@ -1,3 +1,3 @@
1
- export { e as MutationFilters, f as QueryFilters, aH as QueryTypeFilter, U as Updater, aV as addToEnd, aW as addToStart, aJ as functionalUpdate, h as hashKey, aN as hashQueryKeyByOptions, aQ as isPlainArray, aR as isPlainObject, i as isServer, aK as isValidTimeout, k as keepPreviousData, aM as matchMutation, m as matchQuery, aI as noop, aO as partialMatchKey, aU as replaceData, r as replaceEqualDeep, aT as scheduleMicrotask, aP as shallowEqualObjects, aS as sleep, aL as timeUntilStale } from './queryClient-IoYjXsnV.js';
1
+ export { e as MutationFilters, f as QueryFilters, aH as QueryTypeFilter, U as Updater, aV as addToEnd, aW as addToStart, aJ as functionalUpdate, h as hashKey, aN as hashQueryKeyByOptions, aQ as isPlainArray, aR as isPlainObject, i as isServer, aK as isValidTimeout, k as keepPreviousData, aM as matchMutation, m as matchQuery, aI as noop, aO as partialMatchKey, aU as replaceData, r as replaceEqualDeep, aT as scheduleMicrotask, aP as shallowEqualObjects, aS as sleep, aL as timeUntilStale } from './queryClient-UnTFzrI2.js';
2
2
  import './removable.js';
3
3
  import './subscribable.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tanstack/query-core",
3
- "version": "5.13.4",
3
+ "version": "5.14.0",
4
4
  "description": "The framework agnostic core that powers TanStack Query",
5
5
  "author": "tannerlinsley",
6
6
  "license": "MIT",
@@ -1,7 +1,7 @@
1
1
  import { getDefaultState } from './mutation'
2
2
  import { notifyManager } from './notifyManager'
3
3
  import { Subscribable } from './subscribable'
4
- import { shallowEqualObjects } from './utils'
4
+ import { hashKey, shallowEqualObjects } from './utils'
5
5
  import type { QueryClient } from './queryClient'
6
6
  import type {
7
7
  DefaultError,
@@ -53,9 +53,11 @@ export class MutationObserver<
53
53
  }
54
54
 
55
55
  setOptions(
56
- options?: MutationObserverOptions<TData, TError, TVariables, TContext>,
56
+ options: MutationObserverOptions<TData, TError, TVariables, TContext>,
57
57
  ) {
58
- const prevOptions = this.options
58
+ const prevOptions = this.options as
59
+ | MutationObserverOptions<TData, TError, TVariables, TContext>
60
+ | undefined
59
61
  this.options = this.#client.defaultMutationOptions(options)
60
62
  if (!shallowEqualObjects(prevOptions, this.options)) {
61
63
  this.#client.getMutationCache().notify({
@@ -65,6 +67,14 @@ export class MutationObserver<
65
67
  })
66
68
  }
67
69
  this.#currentMutation?.setOptions(this.options)
70
+
71
+ if (
72
+ prevOptions?.mutationKey &&
73
+ this.options.mutationKey &&
74
+ hashKey(prevOptions.mutationKey) !== hashKey(this.options.mutationKey)
75
+ ) {
76
+ this.reset()
77
+ }
68
78
  }
69
79
 
70
80
  protected onUnsubscribe(): void {
@@ -1,7 +1,7 @@
1
1
  import { afterEach, beforeEach, describe, expect, test, vi } from 'vitest'
2
2
  import { waitFor } from '@testing-library/react'
3
3
  import { MutationObserver } from '..'
4
- import { createQueryClient, sleep } from './utils'
4
+ import { createQueryClient, queryKey, sleep } from './utils'
5
5
  import type { QueryClient } from '..'
6
6
 
7
7
  describe('mutationObserver', () => {
@@ -94,4 +94,36 @@ describe('mutationObserver', () => {
94
94
 
95
95
  unsubscribe()
96
96
  })
97
+
98
+ test('changing mutation keys should reset the observer', async () => {
99
+ const key = queryKey()
100
+ const mutation = new MutationObserver(queryClient, {
101
+ mutationKey: [...key, '1'],
102
+ mutationFn: async (text: string) => {
103
+ await sleep(5)
104
+ return text
105
+ },
106
+ })
107
+
108
+ const subscriptionHandler = vi.fn()
109
+
110
+ const unsubscribe = mutation.subscribe(subscriptionHandler)
111
+
112
+ await mutation.mutate('input')
113
+
114
+ expect(mutation.getCurrentResult()).toMatchObject({
115
+ status: 'success',
116
+ data: 'input',
117
+ })
118
+
119
+ mutation.setOptions({
120
+ mutationKey: [...key, '2'],
121
+ })
122
+
123
+ expect(mutation.getCurrentResult()).toMatchObject({
124
+ status: 'idle',
125
+ })
126
+
127
+ unsubscribe()
128
+ })
97
129
  })