@tanstack/query-core 5.62.8 → 5.62.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/legacy/{hydration-DiTAi-4H.d.ts → hydration-ClXcjjG9.d.ts} +2 -0
- package/build/legacy/{hydration-BWO9yDiJ.d.cts → hydration-DWTP6RQt.d.cts} +2 -0
- package/build/legacy/hydration.d.cts +1 -1
- package/build/legacy/hydration.d.ts +1 -1
- package/build/legacy/index.d.cts +1 -1
- package/build/legacy/index.d.ts +1 -1
- package/build/legacy/infiniteQueryBehavior.d.cts +1 -1
- package/build/legacy/infiniteQueryBehavior.d.ts +1 -1
- package/build/legacy/infiniteQueryObserver.d.cts +1 -1
- package/build/legacy/infiniteQueryObserver.d.ts +1 -1
- package/build/legacy/mutation.d.cts +1 -1
- package/build/legacy/mutation.d.ts +1 -1
- package/build/legacy/mutationCache.cjs +51 -24
- package/build/legacy/mutationCache.cjs.map +1 -1
- package/build/legacy/mutationCache.d.cts +1 -1
- package/build/legacy/mutationCache.d.ts +1 -1
- package/build/legacy/mutationCache.js +51 -24
- package/build/legacy/mutationCache.js.map +1 -1
- package/build/legacy/mutationObserver.d.cts +1 -1
- package/build/legacy/mutationObserver.d.ts +1 -1
- package/build/legacy/queriesObserver.d.cts +1 -1
- package/build/legacy/queriesObserver.d.ts +1 -1
- package/build/legacy/query.d.cts +1 -1
- package/build/legacy/query.d.ts +1 -1
- package/build/legacy/queryCache.d.cts +1 -1
- package/build/legacy/queryCache.d.ts +1 -1
- package/build/legacy/queryClient.d.cts +1 -1
- package/build/legacy/queryClient.d.ts +1 -1
- package/build/legacy/queryObserver.d.cts +1 -1
- package/build/legacy/queryObserver.d.ts +1 -1
- package/build/legacy/retryer.d.cts +1 -1
- package/build/legacy/retryer.d.ts +1 -1
- package/build/legacy/types.cjs +18 -0
- package/build/legacy/types.cjs.map +1 -1
- package/build/legacy/types.d.cts +1 -1
- package/build/legacy/types.d.ts +1 -1
- package/build/legacy/types.js +11 -0
- package/build/legacy/types.js.map +1 -1
- package/build/legacy/utils.d.cts +1 -1
- package/build/legacy/utils.d.ts +1 -1
- package/build/modern/{hydration-DiTAi-4H.d.ts → hydration-ClXcjjG9.d.ts} +2 -0
- package/build/modern/{hydration-BWO9yDiJ.d.cts → hydration-DWTP6RQt.d.cts} +2 -0
- package/build/modern/hydration.d.cts +1 -1
- package/build/modern/hydration.d.ts +1 -1
- package/build/modern/index.d.cts +1 -1
- package/build/modern/index.d.ts +1 -1
- package/build/modern/infiniteQueryBehavior.d.cts +1 -1
- package/build/modern/infiniteQueryBehavior.d.ts +1 -1
- package/build/modern/infiniteQueryObserver.d.cts +1 -1
- package/build/modern/infiniteQueryObserver.d.ts +1 -1
- package/build/modern/mutation.d.cts +1 -1
- package/build/modern/mutation.d.ts +1 -1
- package/build/modern/mutationCache.cjs +49 -21
- package/build/modern/mutationCache.cjs.map +1 -1
- package/build/modern/mutationCache.d.cts +1 -1
- package/build/modern/mutationCache.d.ts +1 -1
- package/build/modern/mutationCache.js +49 -21
- package/build/modern/mutationCache.js.map +1 -1
- package/build/modern/mutationObserver.d.cts +1 -1
- package/build/modern/mutationObserver.d.ts +1 -1
- package/build/modern/queriesObserver.d.cts +1 -1
- package/build/modern/queriesObserver.d.ts +1 -1
- package/build/modern/query.d.cts +1 -1
- package/build/modern/query.d.ts +1 -1
- package/build/modern/queryCache.d.cts +1 -1
- package/build/modern/queryCache.d.ts +1 -1
- package/build/modern/queryClient.d.cts +1 -1
- package/build/modern/queryClient.d.ts +1 -1
- package/build/modern/queryObserver.d.cts +1 -1
- package/build/modern/queryObserver.d.ts +1 -1
- package/build/modern/retryer.d.cts +1 -1
- package/build/modern/retryer.d.ts +1 -1
- package/build/modern/types.cjs +18 -0
- package/build/modern/types.cjs.map +1 -1
- package/build/modern/types.d.cts +1 -1
- package/build/modern/types.d.ts +1 -1
- package/build/modern/types.js +9 -0
- package/build/modern/types.js.map +1 -1
- package/build/modern/utils.d.cts +1 -1
- package/build/modern/utils.d.ts +1 -1
- package/package.json +1 -1
- package/src/mutationCache.ts +58 -31
- package/src/types.ts +5 -3
|
@@ -516,7 +516,9 @@ type DefaultError = Register extends {
|
|
|
516
516
|
} ? TError : Error;
|
|
517
517
|
type QueryKey = ReadonlyArray<unknown>;
|
|
518
518
|
declare const dataTagSymbol: unique symbol;
|
|
519
|
+
type dataTagSymbol = typeof dataTagSymbol;
|
|
519
520
|
declare const dataTagErrorSymbol: unique symbol;
|
|
521
|
+
type dataTagErrorSymbol = typeof dataTagErrorSymbol;
|
|
520
522
|
declare const unsetMarker: unique symbol;
|
|
521
523
|
type UnsetMarker = typeof unsetMarker;
|
|
522
524
|
type AnyDataTag = {
|
|
@@ -516,7 +516,9 @@ type DefaultError = Register extends {
|
|
|
516
516
|
} ? TError : Error;
|
|
517
517
|
type QueryKey = ReadonlyArray<unknown>;
|
|
518
518
|
declare const dataTagSymbol: unique symbol;
|
|
519
|
+
type dataTagSymbol = typeof dataTagSymbol;
|
|
519
520
|
declare const dataTagErrorSymbol: unique symbol;
|
|
521
|
+
type dataTagErrorSymbol = typeof dataTagErrorSymbol;
|
|
520
522
|
declare const unsetMarker: unique symbol;
|
|
521
523
|
type UnsetMarker = typeof unsetMarker;
|
|
522
524
|
type AnyDataTag = {
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { D as DehydrateOptions, x as DehydratedState, H as HydrateOptions, q as defaultShouldDehydrateMutation, p as defaultShouldDehydrateQuery, n as dehydrate, o as hydrate } from './hydration-
|
|
1
|
+
export { D as DehydrateOptions, x as DehydratedState, H as HydrateOptions, q as defaultShouldDehydrateMutation, p as defaultShouldDehydrateQuery, n as dehydrate, o as hydrate } from './hydration-DWTP6RQt.cjs';
|
|
2
2
|
import './removable.cjs';
|
|
3
3
|
import './subscribable.cjs';
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { D as DehydrateOptions, x as DehydratedState, H as HydrateOptions, q as defaultShouldDehydrateMutation, p as defaultShouldDehydrateQuery, n as dehydrate, o as hydrate } from './hydration-
|
|
1
|
+
export { D as DehydrateOptions, x as DehydratedState, H as HydrateOptions, q as defaultShouldDehydrateMutation, p as defaultShouldDehydrateQuery, n as dehydrate, o as hydrate } from './hydration-ClXcjjG9.js';
|
|
2
2
|
import './removable.js';
|
|
3
3
|
import './subscribable.js';
|
package/build/legacy/index.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { I as AnyDataTag, aZ as CancelOptions, C as CancelledError, J as DataTag, z as DefaultError, aY as DefaultOptions, ad as DefaultedInfiniteQueryObserverOptions, ab as DefaultedQueryObserverOptions, aG as DefinedInfiniteQueryObserverResult, ay as DefinedQueryObserverResult, D as DehydrateOptions, x as DehydratedState, P as Enabled, ag as EnsureInfiniteQueryDataOptions, af as EnsureQueryDataOptions, ah as FetchInfiniteQueryOptions, ao as FetchNextPageOptions, ap as FetchPreviousPageOptions, ae as FetchQueryOptions, ar as FetchStatus, $ as GetNextPageParamFunction, _ as GetPreviousPageParamFunction, H as HydrateOptions, a0 as InfiniteData, aA as InfiniteQueryObserverBaseResult, aD as InfiniteQueryObserverLoadingErrorResult, aC as InfiniteQueryObserverLoadingResult, ac as InfiniteQueryObserverOptions, aB as InfiniteQueryObserverPendingResult, aE as InfiniteQueryObserverRefetchErrorResult, aH as InfiniteQueryObserverResult, aF as InfiniteQueryObserverSuccessResult, a6 as InfiniteQueryPageParamsOptions, W as InitialDataFunction, a5 as InitialPageParam, am as InvalidateOptions, ak as InvalidateQueryFilters, aQ as MutateFunction, aP as MutateOptions, w as Mutation, M as MutationCache, d as MutationCacheNotifyEvent, g as MutationFilters, aM as MutationFunction, aI as MutationKey, aL as MutationMeta, e as MutationObserver, aR as MutationObserverBaseResult, aU as MutationObserverErrorResult, aS as MutationObserverIdleResult, aT as MutationObserverLoadingResult, aO as MutationObserverOptions, aW as MutationObserverResult, aV as MutationObserverSuccessResult, aN as MutationOptions, aK as MutationScope, v as MutationState, aJ as MutationStatus, a2 as NetworkMode, N as NoInfer, b0 as NotifyEvent, a$ as NotifyEventType, a3 as NotifyOnChangeProps, O as OmitKeyof, aa as Optional, y as Override, X as PlaceholderDataFunction, Y as QueriesPlaceholderDataFunction, u as Query, Q as QueryCache, a as QueryCacheNotifyEvent, b as QueryClient, aX as QueryClientConfig, j as QueryFilters, K as QueryFunction, V as QueryFunctionContext, A as QueryKey, Z as QueryKeyHashFunction, a1 as QueryMeta, c as QueryObserver, as as QueryObserverBaseResult, av as QueryObserverLoadingErrorResult, au as QueryObserverLoadingResult, a8 as QueryObserverOptions, at as QueryObserverPendingResult, aw as QueryObserverRefetchErrorResult, az as QueryObserverResult, ax as QueryObserverSuccessResult, a4 as QueryOptions, T as QueryPersister, t as QueryState, aq as QueryStatus, aj as RefetchOptions, al as RefetchQueryFilters, R as Register, an as ResetOptions, ai as ResultOptions, a_ as SetDataOptions, S as SkipToken, L as StaleTime, a7 as ThrowOnError, G as UnsetMarker, U as Updater, a9 as WithRequired, E as dataTagErrorSymbol, B as dataTagSymbol, q as defaultShouldDehydrateMutation, p as defaultShouldDehydrateQuery, n as dehydrate, h as hashKey, o as hydrate, l as isCancelledError, i as isServer, k as keepPreviousData, f as matchMutation, m as matchQuery, r as replaceEqualDeep, s as skipToken, F as unsetMarker } from './hydration-
|
|
1
|
+
export { I as AnyDataTag, aZ as CancelOptions, C as CancelledError, J as DataTag, z as DefaultError, aY as DefaultOptions, ad as DefaultedInfiniteQueryObserverOptions, ab as DefaultedQueryObserverOptions, aG as DefinedInfiniteQueryObserverResult, ay as DefinedQueryObserverResult, D as DehydrateOptions, x as DehydratedState, P as Enabled, ag as EnsureInfiniteQueryDataOptions, af as EnsureQueryDataOptions, ah as FetchInfiniteQueryOptions, ao as FetchNextPageOptions, ap as FetchPreviousPageOptions, ae as FetchQueryOptions, ar as FetchStatus, $ as GetNextPageParamFunction, _ as GetPreviousPageParamFunction, H as HydrateOptions, a0 as InfiniteData, aA as InfiniteQueryObserverBaseResult, aD as InfiniteQueryObserverLoadingErrorResult, aC as InfiniteQueryObserverLoadingResult, ac as InfiniteQueryObserverOptions, aB as InfiniteQueryObserverPendingResult, aE as InfiniteQueryObserverRefetchErrorResult, aH as InfiniteQueryObserverResult, aF as InfiniteQueryObserverSuccessResult, a6 as InfiniteQueryPageParamsOptions, W as InitialDataFunction, a5 as InitialPageParam, am as InvalidateOptions, ak as InvalidateQueryFilters, aQ as MutateFunction, aP as MutateOptions, w as Mutation, M as MutationCache, d as MutationCacheNotifyEvent, g as MutationFilters, aM as MutationFunction, aI as MutationKey, aL as MutationMeta, e as MutationObserver, aR as MutationObserverBaseResult, aU as MutationObserverErrorResult, aS as MutationObserverIdleResult, aT as MutationObserverLoadingResult, aO as MutationObserverOptions, aW as MutationObserverResult, aV as MutationObserverSuccessResult, aN as MutationOptions, aK as MutationScope, v as MutationState, aJ as MutationStatus, a2 as NetworkMode, N as NoInfer, b0 as NotifyEvent, a$ as NotifyEventType, a3 as NotifyOnChangeProps, O as OmitKeyof, aa as Optional, y as Override, X as PlaceholderDataFunction, Y as QueriesPlaceholderDataFunction, u as Query, Q as QueryCache, a as QueryCacheNotifyEvent, b as QueryClient, aX as QueryClientConfig, j as QueryFilters, K as QueryFunction, V as QueryFunctionContext, A as QueryKey, Z as QueryKeyHashFunction, a1 as QueryMeta, c as QueryObserver, as as QueryObserverBaseResult, av as QueryObserverLoadingErrorResult, au as QueryObserverLoadingResult, a8 as QueryObserverOptions, at as QueryObserverPendingResult, aw as QueryObserverRefetchErrorResult, az as QueryObserverResult, ax as QueryObserverSuccessResult, a4 as QueryOptions, T as QueryPersister, t as QueryState, aq as QueryStatus, aj as RefetchOptions, al as RefetchQueryFilters, R as Register, an as ResetOptions, ai as ResultOptions, a_ as SetDataOptions, S as SkipToken, L as StaleTime, a7 as ThrowOnError, G as UnsetMarker, U as Updater, a9 as WithRequired, E as dataTagErrorSymbol, B as dataTagSymbol, q as defaultShouldDehydrateMutation, p as defaultShouldDehydrateQuery, n as dehydrate, h as hashKey, o as hydrate, l as isCancelledError, i as isServer, k as keepPreviousData, f as matchMutation, m as matchQuery, r as replaceEqualDeep, s as skipToken, F as unsetMarker } from './hydration-DWTP6RQt.cjs';
|
|
2
2
|
export { QueriesObserver, QueriesObserverOptions } from './queriesObserver.cjs';
|
|
3
3
|
export { InfiniteQueryObserver } from './infiniteQueryObserver.cjs';
|
|
4
4
|
export { notifyManager } from './notifyManager.cjs';
|
package/build/legacy/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { I as AnyDataTag, aZ as CancelOptions, C as CancelledError, J as DataTag, z as DefaultError, aY as DefaultOptions, ad as DefaultedInfiniteQueryObserverOptions, ab as DefaultedQueryObserverOptions, aG as DefinedInfiniteQueryObserverResult, ay as DefinedQueryObserverResult, D as DehydrateOptions, x as DehydratedState, P as Enabled, ag as EnsureInfiniteQueryDataOptions, af as EnsureQueryDataOptions, ah as FetchInfiniteQueryOptions, ao as FetchNextPageOptions, ap as FetchPreviousPageOptions, ae as FetchQueryOptions, ar as FetchStatus, $ as GetNextPageParamFunction, _ as GetPreviousPageParamFunction, H as HydrateOptions, a0 as InfiniteData, aA as InfiniteQueryObserverBaseResult, aD as InfiniteQueryObserverLoadingErrorResult, aC as InfiniteQueryObserverLoadingResult, ac as InfiniteQueryObserverOptions, aB as InfiniteQueryObserverPendingResult, aE as InfiniteQueryObserverRefetchErrorResult, aH as InfiniteQueryObserverResult, aF as InfiniteQueryObserverSuccessResult, a6 as InfiniteQueryPageParamsOptions, W as InitialDataFunction, a5 as InitialPageParam, am as InvalidateOptions, ak as InvalidateQueryFilters, aQ as MutateFunction, aP as MutateOptions, w as Mutation, M as MutationCache, d as MutationCacheNotifyEvent, g as MutationFilters, aM as MutationFunction, aI as MutationKey, aL as MutationMeta, e as MutationObserver, aR as MutationObserverBaseResult, aU as MutationObserverErrorResult, aS as MutationObserverIdleResult, aT as MutationObserverLoadingResult, aO as MutationObserverOptions, aW as MutationObserverResult, aV as MutationObserverSuccessResult, aN as MutationOptions, aK as MutationScope, v as MutationState, aJ as MutationStatus, a2 as NetworkMode, N as NoInfer, b0 as NotifyEvent, a$ as NotifyEventType, a3 as NotifyOnChangeProps, O as OmitKeyof, aa as Optional, y as Override, X as PlaceholderDataFunction, Y as QueriesPlaceholderDataFunction, u as Query, Q as QueryCache, a as QueryCacheNotifyEvent, b as QueryClient, aX as QueryClientConfig, j as QueryFilters, K as QueryFunction, V as QueryFunctionContext, A as QueryKey, Z as QueryKeyHashFunction, a1 as QueryMeta, c as QueryObserver, as as QueryObserverBaseResult, av as QueryObserverLoadingErrorResult, au as QueryObserverLoadingResult, a8 as QueryObserverOptions, at as QueryObserverPendingResult, aw as QueryObserverRefetchErrorResult, az as QueryObserverResult, ax as QueryObserverSuccessResult, a4 as QueryOptions, T as QueryPersister, t as QueryState, aq as QueryStatus, aj as RefetchOptions, al as RefetchQueryFilters, R as Register, an as ResetOptions, ai as ResultOptions, a_ as SetDataOptions, S as SkipToken, L as StaleTime, a7 as ThrowOnError, G as UnsetMarker, U as Updater, a9 as WithRequired, E as dataTagErrorSymbol, B as dataTagSymbol, q as defaultShouldDehydrateMutation, p as defaultShouldDehydrateQuery, n as dehydrate, h as hashKey, o as hydrate, l as isCancelledError, i as isServer, k as keepPreviousData, f as matchMutation, m as matchQuery, r as replaceEqualDeep, s as skipToken, F as unsetMarker } from './hydration-
|
|
1
|
+
export { I as AnyDataTag, aZ as CancelOptions, C as CancelledError, J as DataTag, z as DefaultError, aY as DefaultOptions, ad as DefaultedInfiniteQueryObserverOptions, ab as DefaultedQueryObserverOptions, aG as DefinedInfiniteQueryObserverResult, ay as DefinedQueryObserverResult, D as DehydrateOptions, x as DehydratedState, P as Enabled, ag as EnsureInfiniteQueryDataOptions, af as EnsureQueryDataOptions, ah as FetchInfiniteQueryOptions, ao as FetchNextPageOptions, ap as FetchPreviousPageOptions, ae as FetchQueryOptions, ar as FetchStatus, $ as GetNextPageParamFunction, _ as GetPreviousPageParamFunction, H as HydrateOptions, a0 as InfiniteData, aA as InfiniteQueryObserverBaseResult, aD as InfiniteQueryObserverLoadingErrorResult, aC as InfiniteQueryObserverLoadingResult, ac as InfiniteQueryObserverOptions, aB as InfiniteQueryObserverPendingResult, aE as InfiniteQueryObserverRefetchErrorResult, aH as InfiniteQueryObserverResult, aF as InfiniteQueryObserverSuccessResult, a6 as InfiniteQueryPageParamsOptions, W as InitialDataFunction, a5 as InitialPageParam, am as InvalidateOptions, ak as InvalidateQueryFilters, aQ as MutateFunction, aP as MutateOptions, w as Mutation, M as MutationCache, d as MutationCacheNotifyEvent, g as MutationFilters, aM as MutationFunction, aI as MutationKey, aL as MutationMeta, e as MutationObserver, aR as MutationObserverBaseResult, aU as MutationObserverErrorResult, aS as MutationObserverIdleResult, aT as MutationObserverLoadingResult, aO as MutationObserverOptions, aW as MutationObserverResult, aV as MutationObserverSuccessResult, aN as MutationOptions, aK as MutationScope, v as MutationState, aJ as MutationStatus, a2 as NetworkMode, N as NoInfer, b0 as NotifyEvent, a$ as NotifyEventType, a3 as NotifyOnChangeProps, O as OmitKeyof, aa as Optional, y as Override, X as PlaceholderDataFunction, Y as QueriesPlaceholderDataFunction, u as Query, Q as QueryCache, a as QueryCacheNotifyEvent, b as QueryClient, aX as QueryClientConfig, j as QueryFilters, K as QueryFunction, V as QueryFunctionContext, A as QueryKey, Z as QueryKeyHashFunction, a1 as QueryMeta, c as QueryObserver, as as QueryObserverBaseResult, av as QueryObserverLoadingErrorResult, au as QueryObserverLoadingResult, a8 as QueryObserverOptions, at as QueryObserverPendingResult, aw as QueryObserverRefetchErrorResult, az as QueryObserverResult, ax as QueryObserverSuccessResult, a4 as QueryOptions, T as QueryPersister, t as QueryState, aq as QueryStatus, aj as RefetchOptions, al as RefetchQueryFilters, R as Register, an as ResetOptions, ai as ResultOptions, a_ as SetDataOptions, S as SkipToken, L as StaleTime, a7 as ThrowOnError, G as UnsetMarker, U as Updater, a9 as WithRequired, E as dataTagErrorSymbol, B as dataTagSymbol, q as defaultShouldDehydrateMutation, p as defaultShouldDehydrateQuery, n as dehydrate, h as hashKey, o as hydrate, l as isCancelledError, i as isServer, k as keepPreviousData, f as matchMutation, m as matchQuery, r as replaceEqualDeep, s as skipToken, F as unsetMarker } from './hydration-ClXcjjG9.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 { b1 as QueryBehavior, a0 as InfiniteData, a6 as InfiniteQueryPageParamsOptions } from './hydration-
|
|
1
|
+
import { b1 as QueryBehavior, a0 as InfiniteData, a6 as InfiniteQueryPageParamsOptions } from './hydration-DWTP6RQt.cjs';
|
|
2
2
|
import './removable.cjs';
|
|
3
3
|
import './subscribable.cjs';
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { b1 as QueryBehavior, a0 as InfiniteData, a6 as InfiniteQueryPageParamsOptions } from './hydration-
|
|
1
|
+
import { b1 as QueryBehavior, a0 as InfiniteData, a6 as InfiniteQueryPageParamsOptions } from './hydration-ClXcjjG9.js';
|
|
2
2
|
import './removable.js';
|
|
3
3
|
import './subscribable.js';
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { z as DefaultError, a0 as InfiniteData, A as QueryKey, c as QueryObserver, aH as InfiniteQueryObserverResult, b as QueryClient, ac as InfiniteQueryObserverOptions, b2 as NotifyOptions, ad as DefaultedInfiniteQueryObserverOptions, ao as FetchNextPageOptions, ap as FetchPreviousPageOptions, u as Query } from './hydration-
|
|
1
|
+
import { z as DefaultError, a0 as InfiniteData, A as QueryKey, c as QueryObserver, aH as InfiniteQueryObserverResult, b as QueryClient, ac as InfiniteQueryObserverOptions, b2 as NotifyOptions, ad as DefaultedInfiniteQueryObserverOptions, ao as FetchNextPageOptions, ap as FetchPreviousPageOptions, u as Query } from './hydration-DWTP6RQt.cjs';
|
|
2
2
|
import { Subscribable } from './subscribable.cjs';
|
|
3
3
|
import './removable.cjs';
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { z as DefaultError, a0 as InfiniteData, A as QueryKey, c as QueryObserver, aH as InfiniteQueryObserverResult, b as QueryClient, ac as InfiniteQueryObserverOptions, b2 as NotifyOptions, ad as DefaultedInfiniteQueryObserverOptions, ao as FetchNextPageOptions, ap as FetchPreviousPageOptions, u as Query } from './hydration-
|
|
1
|
+
import { z as DefaultError, a0 as InfiniteData, A as QueryKey, c as QueryObserver, aH as InfiniteQueryObserverResult, b as QueryClient, ac as InfiniteQueryObserverOptions, b2 as NotifyOptions, ad as DefaultedInfiniteQueryObserverOptions, ao as FetchNextPageOptions, ap as FetchPreviousPageOptions, u as Query } from './hydration-ClXcjjG9.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 { bs as Action, w as Mutation, v as MutationState, bt as getDefaultState } from './hydration-
|
|
2
|
+
export { bs as Action, w as Mutation, v as MutationState, bt as getDefaultState } from './hydration-DWTP6RQt.cjs';
|
|
3
3
|
import './subscribable.cjs';
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import './removable.js';
|
|
2
|
-
export { bs as Action, w as Mutation, v as MutationState, bt as getDefaultState } from './hydration-
|
|
2
|
+
export { bs as Action, w as Mutation, v as MutationState, bt as getDefaultState } from './hydration-ClXcjjG9.js';
|
|
3
3
|
import './subscribable.js';
|
|
@@ -53,15 +53,17 @@ var import_notifyManager = require("./notifyManager.cjs");
|
|
|
53
53
|
var import_mutation = require("./mutation.cjs");
|
|
54
54
|
var import_utils = require("./utils.cjs");
|
|
55
55
|
var import_subscribable = require("./subscribable.cjs");
|
|
56
|
-
var _mutations, _mutationId;
|
|
56
|
+
var _mutations, _scopes, _mutationId;
|
|
57
57
|
var MutationCache = class extends import_subscribable.Subscribable {
|
|
58
58
|
constructor(config = {}) {
|
|
59
59
|
super();
|
|
60
60
|
this.config = config;
|
|
61
61
|
__privateAdd(this, _mutations, void 0);
|
|
62
|
+
__privateAdd(this, _scopes, void 0);
|
|
62
63
|
__privateAdd(this, _mutationId, void 0);
|
|
63
|
-
__privateSet(this, _mutations, /* @__PURE__ */ new
|
|
64
|
-
__privateSet(this,
|
|
64
|
+
__privateSet(this, _mutations, /* @__PURE__ */ new Set());
|
|
65
|
+
__privateSet(this, _scopes, /* @__PURE__ */ new Map());
|
|
66
|
+
__privateSet(this, _mutationId, 0);
|
|
65
67
|
}
|
|
66
68
|
build(client, options, state) {
|
|
67
69
|
const mutation = new import_mutation.Mutation({
|
|
@@ -74,46 +76,70 @@ var MutationCache = class extends import_subscribable.Subscribable {
|
|
|
74
76
|
return mutation;
|
|
75
77
|
}
|
|
76
78
|
add(mutation) {
|
|
79
|
+
__privateGet(this, _mutations).add(mutation);
|
|
77
80
|
const scope = scopeFor(mutation);
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
+
if (typeof scope === "string") {
|
|
82
|
+
const scopedMutations = __privateGet(this, _scopes).get(scope);
|
|
83
|
+
if (scopedMutations) {
|
|
84
|
+
scopedMutations.push(mutation);
|
|
85
|
+
} else {
|
|
86
|
+
__privateGet(this, _scopes).set(scope, [mutation]);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
81
89
|
this.notify({ type: "added", mutation });
|
|
82
90
|
}
|
|
83
91
|
remove(mutation) {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
92
|
+
if (__privateGet(this, _mutations).delete(mutation)) {
|
|
93
|
+
const scope = scopeFor(mutation);
|
|
94
|
+
if (typeof scope === "string") {
|
|
95
|
+
const scopedMutations = __privateGet(this, _scopes).get(scope);
|
|
96
|
+
if (scopedMutations) {
|
|
97
|
+
if (scopedMutations.length > 1) {
|
|
98
|
+
const index = scopedMutations.indexOf(mutation);
|
|
99
|
+
if (index !== -1) {
|
|
100
|
+
scopedMutations.splice(index, 1);
|
|
101
|
+
}
|
|
102
|
+
} else if (scopedMutations[0] === mutation) {
|
|
103
|
+
__privateGet(this, _scopes).delete(scope);
|
|
104
|
+
}
|
|
93
105
|
}
|
|
94
106
|
}
|
|
95
107
|
}
|
|
96
108
|
this.notify({ type: "removed", mutation });
|
|
97
109
|
}
|
|
98
110
|
canRun(mutation) {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
111
|
+
const scope = scopeFor(mutation);
|
|
112
|
+
if (typeof scope === "string") {
|
|
113
|
+
const mutationsWithSameScope = __privateGet(this, _scopes).get(scope);
|
|
114
|
+
const firstPendingMutation = mutationsWithSameScope == null ? void 0 : mutationsWithSameScope.find(
|
|
115
|
+
(m) => m.state.status === "pending"
|
|
116
|
+
);
|
|
117
|
+
return !firstPendingMutation || firstPendingMutation === mutation;
|
|
118
|
+
} else {
|
|
119
|
+
return true;
|
|
120
|
+
}
|
|
102
121
|
}
|
|
103
122
|
runNext(mutation) {
|
|
104
123
|
var _a;
|
|
105
|
-
const
|
|
106
|
-
|
|
124
|
+
const scope = scopeFor(mutation);
|
|
125
|
+
if (typeof scope === "string") {
|
|
126
|
+
const foundMutation = (_a = __privateGet(this, _scopes).get(scope)) == null ? void 0 : _a.find((m) => m !== mutation && m.state.isPaused);
|
|
127
|
+
return (foundMutation == null ? void 0 : foundMutation.continue()) ?? Promise.resolve();
|
|
128
|
+
} else {
|
|
129
|
+
return Promise.resolve();
|
|
130
|
+
}
|
|
107
131
|
}
|
|
108
132
|
clear() {
|
|
109
133
|
import_notifyManager.notifyManager.batch(() => {
|
|
110
|
-
this
|
|
111
|
-
this.
|
|
134
|
+
__privateGet(this, _mutations).forEach((mutation) => {
|
|
135
|
+
this.notify({ type: "removed", mutation });
|
|
112
136
|
});
|
|
137
|
+
__privateGet(this, _mutations).clear();
|
|
138
|
+
__privateGet(this, _scopes).clear();
|
|
113
139
|
});
|
|
114
140
|
}
|
|
115
141
|
getAll() {
|
|
116
|
-
return
|
|
142
|
+
return Array.from(__privateGet(this, _mutations));
|
|
117
143
|
}
|
|
118
144
|
find(filters) {
|
|
119
145
|
const defaultedFilters = { exact: true, ...filters };
|
|
@@ -141,10 +167,11 @@ var MutationCache = class extends import_subscribable.Subscribable {
|
|
|
141
167
|
}
|
|
142
168
|
};
|
|
143
169
|
_mutations = new WeakMap();
|
|
170
|
+
_scopes = new WeakMap();
|
|
144
171
|
_mutationId = new WeakMap();
|
|
145
172
|
function scopeFor(mutation) {
|
|
146
173
|
var _a;
|
|
147
|
-
return (
|
|
174
|
+
return (_a = mutation.options.scope) == null ? void 0 : _a.id;
|
|
148
175
|
}
|
|
149
176
|
// Annotate the CommonJS export names for ESM import in node:
|
|
150
177
|
0 && (module.exports = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/mutationCache.ts"],"sourcesContent":["import { notifyManager } from './notifyManager'\nimport { Mutation } from './mutation'\nimport { matchMutation, noop } from './utils'\nimport { Subscribable } from './subscribable'\nimport type { MutationObserver } from './mutationObserver'\nimport type { DefaultError, MutationOptions, NotifyEvent } from './types'\nimport type { QueryClient } from './queryClient'\nimport type { Action, MutationState } from './mutation'\nimport type { MutationFilters } from './utils'\n\n// TYPES\n\ninterface MutationCacheConfig {\n onError?: (\n error: DefaultError,\n variables: unknown,\n context: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n onSuccess?: (\n data: unknown,\n variables: unknown,\n context: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n onMutate?: (\n variables: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n onSettled?: (\n data: unknown | undefined,\n error: DefaultError | null,\n variables: unknown,\n context: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n}\n\ninterface NotifyEventMutationAdded extends NotifyEvent {\n type: 'added'\n mutation: Mutation<any, any, any, any>\n}\ninterface NotifyEventMutationRemoved extends NotifyEvent {\n type: 'removed'\n mutation: Mutation<any, any, any, any>\n}\n\ninterface NotifyEventMutationObserverAdded extends NotifyEvent {\n type: 'observerAdded'\n mutation: Mutation<any, any, any, any>\n observer: MutationObserver<any, any, any>\n}\n\ninterface NotifyEventMutationObserverRemoved extends NotifyEvent {\n type: 'observerRemoved'\n mutation: Mutation<any, any, any, any>\n observer: MutationObserver<any, any, any>\n}\n\ninterface NotifyEventMutationObserverOptionsUpdated extends NotifyEvent {\n type: 'observerOptionsUpdated'\n mutation?: Mutation<any, any, any, any>\n observer: MutationObserver<any, any, any, any>\n}\n\ninterface NotifyEventMutationUpdated extends NotifyEvent {\n type: 'updated'\n mutation: Mutation<any, any, any, any>\n action: Action<any, any, any, any>\n}\n\nexport type MutationCacheNotifyEvent =\n | NotifyEventMutationAdded\n | NotifyEventMutationRemoved\n | NotifyEventMutationObserverAdded\n | NotifyEventMutationObserverRemoved\n | NotifyEventMutationObserverOptionsUpdated\n | NotifyEventMutationUpdated\n\ntype MutationCacheListener = (event: MutationCacheNotifyEvent) => void\n\n// CLASS\n\nexport class MutationCache extends Subscribable<MutationCacheListener> {\n #mutations: Map<string, Array<Mutation<any, any, any, any>>>\n #mutationId: number\n\n constructor(public config: MutationCacheConfig = {}) {\n super()\n this.#mutations = new Map()\n this.#mutationId = Date.now()\n }\n\n build<TData, TError, TVariables, TContext>(\n client: QueryClient,\n options: MutationOptions<TData, TError, TVariables, TContext>,\n state?: MutationState<TData, TError, TVariables, TContext>,\n ): Mutation<TData, TError, TVariables, TContext> {\n const mutation = new Mutation({\n mutationCache: this,\n mutationId: ++this.#mutationId,\n options: client.defaultMutationOptions(options),\n state,\n })\n\n this.add(mutation)\n\n return mutation\n }\n\n add(mutation: Mutation<any, any, any, any>): void {\n const scope = scopeFor(mutation)\n const mutations = this.#mutations.get(scope) ?? []\n mutations.push(mutation)\n this.#mutations.set(scope, mutations)\n this.notify({ type: 'added', mutation })\n }\n\n remove(mutation: Mutation<any, any, any, any>): void {\n const scope = scopeFor(mutation)\n if (this.#mutations.has(scope)) {\n const mutations = this.#mutations\n .get(scope)\n ?.filter((x) => x !== mutation)\n if (mutations) {\n if (mutations.length === 0) {\n this.#mutations.delete(scope)\n } else {\n this.#mutations.set(scope, mutations)\n }\n }\n }\n\n this.notify({ type: 'removed', mutation })\n }\n\n canRun(mutation: Mutation<any, any, any, any>): boolean {\n const firstPendingMutation = this.#mutations\n .get(scopeFor(mutation))\n ?.find((m) => m.state.status === 'pending')\n\n // we can run if there is no current pending mutation (start use-case)\n // or if WE are the first pending mutation (continue use-case)\n return !firstPendingMutation || firstPendingMutation === mutation\n }\n\n runNext(mutation: Mutation<any, any, any, any>): Promise<unknown> {\n const foundMutation = this.#mutations\n .get(scopeFor(mutation))\n ?.find((m) => m !== mutation && m.state.isPaused)\n\n return foundMutation?.continue() ?? Promise.resolve()\n }\n\n clear(): void {\n notifyManager.batch(() => {\n this.getAll().forEach((mutation) => {\n this.remove(mutation)\n })\n })\n }\n\n getAll(): Array<Mutation> {\n return [...this.#mutations.values()].flat()\n }\n\n find<\n TData = unknown,\n TError = DefaultError,\n TVariables = any,\n TContext = unknown,\n >(\n filters: MutationFilters,\n ): Mutation<TData, TError, TVariables, TContext> | undefined {\n const defaultedFilters = { exact: true, ...filters }\n\n return this.getAll().find((mutation) =>\n matchMutation(defaultedFilters, mutation),\n ) as Mutation<TData, TError, TVariables, TContext> | undefined\n }\n\n findAll(filters: MutationFilters = {}): Array<Mutation> {\n return this.getAll().filter((mutation) => matchMutation(filters, mutation))\n }\n\n notify(event: MutationCacheNotifyEvent) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event)\n })\n })\n }\n\n resumePausedMutations(): Promise<unknown> {\n const pausedMutations = this.getAll().filter((x) => x.state.isPaused)\n\n return notifyManager.batch(() =>\n Promise.all(\n pausedMutations.map((mutation) => mutation.continue().catch(noop)),\n ),\n )\n }\n}\n\nfunction scopeFor(mutation: Mutation<any, any, any, any>) {\n return mutation.options.scope?.id ?? String(mutation.mutationId)\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/mutationCache.ts"],"sourcesContent":["import { notifyManager } from './notifyManager'\nimport { Mutation } from './mutation'\nimport { matchMutation, noop } from './utils'\nimport { Subscribable } from './subscribable'\nimport type { MutationObserver } from './mutationObserver'\nimport type { DefaultError, MutationOptions, NotifyEvent } from './types'\nimport type { QueryClient } from './queryClient'\nimport type { Action, MutationState } from './mutation'\nimport type { MutationFilters } from './utils'\n\n// TYPES\n\ninterface MutationCacheConfig {\n onError?: (\n error: DefaultError,\n variables: unknown,\n context: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n onSuccess?: (\n data: unknown,\n variables: unknown,\n context: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n onMutate?: (\n variables: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n onSettled?: (\n data: unknown | undefined,\n error: DefaultError | null,\n variables: unknown,\n context: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n}\n\ninterface NotifyEventMutationAdded extends NotifyEvent {\n type: 'added'\n mutation: Mutation<any, any, any, any>\n}\ninterface NotifyEventMutationRemoved extends NotifyEvent {\n type: 'removed'\n mutation: Mutation<any, any, any, any>\n}\n\ninterface NotifyEventMutationObserverAdded extends NotifyEvent {\n type: 'observerAdded'\n mutation: Mutation<any, any, any, any>\n observer: MutationObserver<any, any, any>\n}\n\ninterface NotifyEventMutationObserverRemoved extends NotifyEvent {\n type: 'observerRemoved'\n mutation: Mutation<any, any, any, any>\n observer: MutationObserver<any, any, any>\n}\n\ninterface NotifyEventMutationObserverOptionsUpdated extends NotifyEvent {\n type: 'observerOptionsUpdated'\n mutation?: Mutation<any, any, any, any>\n observer: MutationObserver<any, any, any, any>\n}\n\ninterface NotifyEventMutationUpdated extends NotifyEvent {\n type: 'updated'\n mutation: Mutation<any, any, any, any>\n action: Action<any, any, any, any>\n}\n\nexport type MutationCacheNotifyEvent =\n | NotifyEventMutationAdded\n | NotifyEventMutationRemoved\n | NotifyEventMutationObserverAdded\n | NotifyEventMutationObserverRemoved\n | NotifyEventMutationObserverOptionsUpdated\n | NotifyEventMutationUpdated\n\ntype MutationCacheListener = (event: MutationCacheNotifyEvent) => void\n\n// CLASS\n\nexport class MutationCache extends Subscribable<MutationCacheListener> {\n #mutations: Set<Mutation<any, any, any, any>>\n #scopes: Map<string, Array<Mutation<any, any, any, any>>>\n #mutationId: number\n\n constructor(public config: MutationCacheConfig = {}) {\n super()\n this.#mutations = new Set()\n this.#scopes = new Map()\n this.#mutationId = 0\n }\n\n build<TData, TError, TVariables, TContext>(\n client: QueryClient,\n options: MutationOptions<TData, TError, TVariables, TContext>,\n state?: MutationState<TData, TError, TVariables, TContext>,\n ): Mutation<TData, TError, TVariables, TContext> {\n const mutation = new Mutation({\n mutationCache: this,\n mutationId: ++this.#mutationId,\n options: client.defaultMutationOptions(options),\n state,\n })\n\n this.add(mutation)\n\n return mutation\n }\n\n add(mutation: Mutation<any, any, any, any>): void {\n this.#mutations.add(mutation)\n const scope = scopeFor(mutation)\n if (typeof scope === 'string') {\n const scopedMutations = this.#scopes.get(scope)\n if (scopedMutations) {\n scopedMutations.push(mutation)\n } else {\n this.#scopes.set(scope, [mutation])\n }\n }\n this.notify({ type: 'added', mutation })\n }\n\n remove(mutation: Mutation<any, any, any, any>): void {\n if (this.#mutations.delete(mutation)) {\n const scope = scopeFor(mutation)\n if (typeof scope === 'string') {\n const scopedMutations = this.#scopes.get(scope)\n if (scopedMutations) {\n if (scopedMutations.length > 1) {\n const index = scopedMutations.indexOf(mutation)\n if (index !== -1) {\n scopedMutations.splice(index, 1)\n }\n } else if (scopedMutations[0] === mutation) {\n this.#scopes.delete(scope)\n }\n }\n }\n }\n\n // Currently we notify the removal even if the mutation was already removed.\n // Consider making this an error or not notifying of the removal depending on the desired semantics.\n this.notify({ type: 'removed', mutation })\n }\n\n canRun(mutation: Mutation<any, any, any, any>): boolean {\n const scope = scopeFor(mutation)\n if (typeof scope === 'string') {\n const mutationsWithSameScope = this.#scopes.get(scope)\n const firstPendingMutation = mutationsWithSameScope?.find(\n (m) => m.state.status === 'pending',\n )\n // we can run if there is no current pending mutation (start use-case)\n // or if WE are the first pending mutation (continue use-case)\n return !firstPendingMutation || firstPendingMutation === mutation\n } else {\n // For unscoped mutations there are never any pending mutations in front of the\n // current mutation\n return true\n }\n }\n\n runNext(mutation: Mutation<any, any, any, any>): Promise<unknown> {\n const scope = scopeFor(mutation)\n if (typeof scope === 'string') {\n const foundMutation = this.#scopes\n .get(scope)\n ?.find((m) => m !== mutation && m.state.isPaused)\n\n return foundMutation?.continue() ?? Promise.resolve()\n } else {\n return Promise.resolve()\n }\n }\n\n clear(): void {\n notifyManager.batch(() => {\n this.#mutations.forEach((mutation) => {\n this.notify({ type: 'removed', mutation })\n })\n this.#mutations.clear()\n this.#scopes.clear()\n })\n }\n\n getAll(): Array<Mutation> {\n return Array.from(this.#mutations)\n }\n\n find<\n TData = unknown,\n TError = DefaultError,\n TVariables = any,\n TContext = unknown,\n >(\n filters: MutationFilters,\n ): Mutation<TData, TError, TVariables, TContext> | undefined {\n const defaultedFilters = { exact: true, ...filters }\n\n return this.getAll().find((mutation) =>\n matchMutation(defaultedFilters, mutation),\n ) as Mutation<TData, TError, TVariables, TContext> | undefined\n }\n\n findAll(filters: MutationFilters = {}): Array<Mutation> {\n return this.getAll().filter((mutation) => matchMutation(filters, mutation))\n }\n\n notify(event: MutationCacheNotifyEvent) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event)\n })\n })\n }\n\n resumePausedMutations(): Promise<unknown> {\n const pausedMutations = this.getAll().filter((x) => x.state.isPaused)\n\n return notifyManager.batch(() =>\n Promise.all(\n pausedMutations.map((mutation) => mutation.continue().catch(noop)),\n ),\n )\n }\n}\n\nfunction scopeFor(mutation: Mutation<any, any, any, any>) {\n return mutation.options.scope?.id\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAA8B;AAC9B,sBAAyB;AACzB,mBAAoC;AACpC,0BAA6B;AAH7B;AAmFO,IAAM,gBAAN,cAA4B,iCAAoC;AAAA,EAKrE,YAAmB,SAA8B,CAAC,GAAG;AACnD,UAAM;AADW;AAJnB;AACA;AACA;AAIE,uBAAK,YAAa,oBAAI,IAAI;AAC1B,uBAAK,SAAU,oBAAI,IAAI;AACvB,uBAAK,aAAc;AAAA,EACrB;AAAA,EAEA,MACE,QACA,SACA,OAC+C;AAC/C,UAAM,WAAW,IAAI,yBAAS;AAAA,MAC5B,eAAe;AAAA,MACf,YAAmB,EAAL,uBAAK,aAAL;AAAA,MACd,SAAS,OAAO,uBAAuB,OAAO;AAAA,MAC9C;AAAA,IACF,CAAC;AAED,SAAK,IAAI,QAAQ;AAEjB,WAAO;AAAA,EACT;AAAA,EAEA,IAAI,UAA8C;AAChD,uBAAK,YAAW,IAAI,QAAQ;AAC5B,UAAM,QAAQ,SAAS,QAAQ;AAC/B,QAAI,OAAO,UAAU,UAAU;AAC7B,YAAM,kBAAkB,mBAAK,SAAQ,IAAI,KAAK;AAC9C,UAAI,iBAAiB;AACnB,wBAAgB,KAAK,QAAQ;AAAA,MAC/B,OAAO;AACL,2BAAK,SAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;AAAA,MACpC;AAAA,IACF;AACA,SAAK,OAAO,EAAE,MAAM,SAAS,SAAS,CAAC;AAAA,EACzC;AAAA,EAEA,OAAO,UAA8C;AACnD,QAAI,mBAAK,YAAW,OAAO,QAAQ,GAAG;AACpC,YAAM,QAAQ,SAAS,QAAQ;AAC/B,UAAI,OAAO,UAAU,UAAU;AAC7B,cAAM,kBAAkB,mBAAK,SAAQ,IAAI,KAAK;AAC9C,YAAI,iBAAiB;AACnB,cAAI,gBAAgB,SAAS,GAAG;AAC9B,kBAAM,QAAQ,gBAAgB,QAAQ,QAAQ;AAC9C,gBAAI,UAAU,IAAI;AAChB,8BAAgB,OAAO,OAAO,CAAC;AAAA,YACjC;AAAA,UACF,WAAW,gBAAgB,CAAC,MAAM,UAAU;AAC1C,+BAAK,SAAQ,OAAO,KAAK;AAAA,UAC3B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAIA,SAAK,OAAO,EAAE,MAAM,WAAW,SAAS,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,UAAiD;AACtD,UAAM,QAAQ,SAAS,QAAQ;AAC/B,QAAI,OAAO,UAAU,UAAU;AAC7B,YAAM,yBAAyB,mBAAK,SAAQ,IAAI,KAAK;AACrD,YAAM,uBAAuB,iEAAwB;AAAA,QACnD,CAAC,MAAM,EAAE,MAAM,WAAW;AAAA;AAI5B,aAAO,CAAC,wBAAwB,yBAAyB;AAAA,IAC3D,OAAO;AAGL,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EAEA,QAAQ,UAA0D;AAtKpE;AAuKI,UAAM,QAAQ,SAAS,QAAQ;AAC/B,QAAI,OAAO,UAAU,UAAU;AAC7B,YAAM,iBAAgB,wBAAK,SACxB,IAAI,KAAK,MADU,mBAElB,KAAK,CAAC,MAAM,MAAM,YAAY,EAAE,MAAM;AAE1C,cAAO,+CAAe,eAAc,QAAQ,QAAQ;AAAA,IACtD,OAAO;AACL,aAAO,QAAQ,QAAQ;AAAA,IACzB;AAAA,EACF;AAAA,EAEA,QAAc;AACZ,uCAAc,MAAM,MAAM;AACxB,yBAAK,YAAW,QAAQ,CAAC,aAAa;AACpC,aAAK,OAAO,EAAE,MAAM,WAAW,SAAS,CAAC;AAAA,MAC3C,CAAC;AACD,yBAAK,YAAW,MAAM;AACtB,yBAAK,SAAQ,MAAM;AAAA,IACrB,CAAC;AAAA,EACH;AAAA,EAEA,SAA0B;AACxB,WAAO,MAAM,KAAK,mBAAK,WAAU;AAAA,EACnC;AAAA,EAEA,KAME,SAC2D;AAC3D,UAAM,mBAAmB,EAAE,OAAO,MAAM,GAAG,QAAQ;AAEnD,WAAO,KAAK,OAAO,EAAE;AAAA,MAAK,CAAC,iBACzB,4BAAc,kBAAkB,QAAQ;AAAA,IAC1C;AAAA,EACF;AAAA,EAEA,QAAQ,UAA2B,CAAC,GAAoB;AACtD,WAAO,KAAK,OAAO,EAAE,OAAO,CAAC,iBAAa,4BAAc,SAAS,QAAQ,CAAC;AAAA,EAC5E;AAAA,EAEA,OAAO,OAAiC;AACtC,uCAAc,MAAM,MAAM;AACxB,WAAK,UAAU,QAAQ,CAAC,aAAa;AACnC,iBAAS,KAAK;AAAA,MAChB,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAAA,EAEA,wBAA0C;AACxC,UAAM,kBAAkB,KAAK,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,QAAQ;AAEpE,WAAO,mCAAc;AAAA,MAAM,MACzB,QAAQ;AAAA,QACN,gBAAgB,IAAI,CAAC,aAAa,SAAS,SAAS,EAAE,MAAM,iBAAI,CAAC;AAAA,MACnE;AAAA,IACF;AAAA,EACF;AACF;AAjJE;AACA;AACA;AAiJF,SAAS,SAAS,UAAwC;AAvO1D;AAwOE,UAAO,cAAS,QAAQ,UAAjB,mBAAwB;AACjC;","names":[]}
|
|
@@ -10,15 +10,17 @@ import { notifyManager } from "./notifyManager.js";
|
|
|
10
10
|
import { Mutation } from "./mutation.js";
|
|
11
11
|
import { matchMutation, noop } from "./utils.js";
|
|
12
12
|
import { Subscribable } from "./subscribable.js";
|
|
13
|
-
var _mutations, _mutationId;
|
|
13
|
+
var _mutations, _scopes, _mutationId;
|
|
14
14
|
var MutationCache = class extends Subscribable {
|
|
15
15
|
constructor(config = {}) {
|
|
16
16
|
super();
|
|
17
17
|
this.config = config;
|
|
18
18
|
__privateAdd(this, _mutations, void 0);
|
|
19
|
+
__privateAdd(this, _scopes, void 0);
|
|
19
20
|
__privateAdd(this, _mutationId, void 0);
|
|
20
|
-
__privateSet(this, _mutations, /* @__PURE__ */ new
|
|
21
|
-
__privateSet(this,
|
|
21
|
+
__privateSet(this, _mutations, /* @__PURE__ */ new Set());
|
|
22
|
+
__privateSet(this, _scopes, /* @__PURE__ */ new Map());
|
|
23
|
+
__privateSet(this, _mutationId, 0);
|
|
22
24
|
}
|
|
23
25
|
build(client, options, state) {
|
|
24
26
|
const mutation = new Mutation({
|
|
@@ -31,46 +33,70 @@ var MutationCache = class extends Subscribable {
|
|
|
31
33
|
return mutation;
|
|
32
34
|
}
|
|
33
35
|
add(mutation) {
|
|
36
|
+
__privateGet(this, _mutations).add(mutation);
|
|
34
37
|
const scope = scopeFor(mutation);
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
+
if (typeof scope === "string") {
|
|
39
|
+
const scopedMutations = __privateGet(this, _scopes).get(scope);
|
|
40
|
+
if (scopedMutations) {
|
|
41
|
+
scopedMutations.push(mutation);
|
|
42
|
+
} else {
|
|
43
|
+
__privateGet(this, _scopes).set(scope, [mutation]);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
38
46
|
this.notify({ type: "added", mutation });
|
|
39
47
|
}
|
|
40
48
|
remove(mutation) {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
49
|
+
if (__privateGet(this, _mutations).delete(mutation)) {
|
|
50
|
+
const scope = scopeFor(mutation);
|
|
51
|
+
if (typeof scope === "string") {
|
|
52
|
+
const scopedMutations = __privateGet(this, _scopes).get(scope);
|
|
53
|
+
if (scopedMutations) {
|
|
54
|
+
if (scopedMutations.length > 1) {
|
|
55
|
+
const index = scopedMutations.indexOf(mutation);
|
|
56
|
+
if (index !== -1) {
|
|
57
|
+
scopedMutations.splice(index, 1);
|
|
58
|
+
}
|
|
59
|
+
} else if (scopedMutations[0] === mutation) {
|
|
60
|
+
__privateGet(this, _scopes).delete(scope);
|
|
61
|
+
}
|
|
50
62
|
}
|
|
51
63
|
}
|
|
52
64
|
}
|
|
53
65
|
this.notify({ type: "removed", mutation });
|
|
54
66
|
}
|
|
55
67
|
canRun(mutation) {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
68
|
+
const scope = scopeFor(mutation);
|
|
69
|
+
if (typeof scope === "string") {
|
|
70
|
+
const mutationsWithSameScope = __privateGet(this, _scopes).get(scope);
|
|
71
|
+
const firstPendingMutation = mutationsWithSameScope == null ? void 0 : mutationsWithSameScope.find(
|
|
72
|
+
(m) => m.state.status === "pending"
|
|
73
|
+
);
|
|
74
|
+
return !firstPendingMutation || firstPendingMutation === mutation;
|
|
75
|
+
} else {
|
|
76
|
+
return true;
|
|
77
|
+
}
|
|
59
78
|
}
|
|
60
79
|
runNext(mutation) {
|
|
61
80
|
var _a;
|
|
62
|
-
const
|
|
63
|
-
|
|
81
|
+
const scope = scopeFor(mutation);
|
|
82
|
+
if (typeof scope === "string") {
|
|
83
|
+
const foundMutation = (_a = __privateGet(this, _scopes).get(scope)) == null ? void 0 : _a.find((m) => m !== mutation && m.state.isPaused);
|
|
84
|
+
return (foundMutation == null ? void 0 : foundMutation.continue()) ?? Promise.resolve();
|
|
85
|
+
} else {
|
|
86
|
+
return Promise.resolve();
|
|
87
|
+
}
|
|
64
88
|
}
|
|
65
89
|
clear() {
|
|
66
90
|
notifyManager.batch(() => {
|
|
67
|
-
this
|
|
68
|
-
this.
|
|
91
|
+
__privateGet(this, _mutations).forEach((mutation) => {
|
|
92
|
+
this.notify({ type: "removed", mutation });
|
|
69
93
|
});
|
|
94
|
+
__privateGet(this, _mutations).clear();
|
|
95
|
+
__privateGet(this, _scopes).clear();
|
|
70
96
|
});
|
|
71
97
|
}
|
|
72
98
|
getAll() {
|
|
73
|
-
return
|
|
99
|
+
return Array.from(__privateGet(this, _mutations));
|
|
74
100
|
}
|
|
75
101
|
find(filters) {
|
|
76
102
|
const defaultedFilters = { exact: true, ...filters };
|
|
@@ -98,10 +124,11 @@ var MutationCache = class extends Subscribable {
|
|
|
98
124
|
}
|
|
99
125
|
};
|
|
100
126
|
_mutations = new WeakMap();
|
|
127
|
+
_scopes = new WeakMap();
|
|
101
128
|
_mutationId = new WeakMap();
|
|
102
129
|
function scopeFor(mutation) {
|
|
103
130
|
var _a;
|
|
104
|
-
return (
|
|
131
|
+
return (_a = mutation.options.scope) == null ? void 0 : _a.id;
|
|
105
132
|
}
|
|
106
133
|
export {
|
|
107
134
|
MutationCache
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/mutationCache.ts"],"sourcesContent":["import { notifyManager } from './notifyManager'\nimport { Mutation } from './mutation'\nimport { matchMutation, noop } from './utils'\nimport { Subscribable } from './subscribable'\nimport type { MutationObserver } from './mutationObserver'\nimport type { DefaultError, MutationOptions, NotifyEvent } from './types'\nimport type { QueryClient } from './queryClient'\nimport type { Action, MutationState } from './mutation'\nimport type { MutationFilters } from './utils'\n\n// TYPES\n\ninterface MutationCacheConfig {\n onError?: (\n error: DefaultError,\n variables: unknown,\n context: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n onSuccess?: (\n data: unknown,\n variables: unknown,\n context: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n onMutate?: (\n variables: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n onSettled?: (\n data: unknown | undefined,\n error: DefaultError | null,\n variables: unknown,\n context: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n}\n\ninterface NotifyEventMutationAdded extends NotifyEvent {\n type: 'added'\n mutation: Mutation<any, any, any, any>\n}\ninterface NotifyEventMutationRemoved extends NotifyEvent {\n type: 'removed'\n mutation: Mutation<any, any, any, any>\n}\n\ninterface NotifyEventMutationObserverAdded extends NotifyEvent {\n type: 'observerAdded'\n mutation: Mutation<any, any, any, any>\n observer: MutationObserver<any, any, any>\n}\n\ninterface NotifyEventMutationObserverRemoved extends NotifyEvent {\n type: 'observerRemoved'\n mutation: Mutation<any, any, any, any>\n observer: MutationObserver<any, any, any>\n}\n\ninterface NotifyEventMutationObserverOptionsUpdated extends NotifyEvent {\n type: 'observerOptionsUpdated'\n mutation?: Mutation<any, any, any, any>\n observer: MutationObserver<any, any, any, any>\n}\n\ninterface NotifyEventMutationUpdated extends NotifyEvent {\n type: 'updated'\n mutation: Mutation<any, any, any, any>\n action: Action<any, any, any, any>\n}\n\nexport type MutationCacheNotifyEvent =\n | NotifyEventMutationAdded\n | NotifyEventMutationRemoved\n | NotifyEventMutationObserverAdded\n | NotifyEventMutationObserverRemoved\n | NotifyEventMutationObserverOptionsUpdated\n | NotifyEventMutationUpdated\n\ntype MutationCacheListener = (event: MutationCacheNotifyEvent) => void\n\n// CLASS\n\nexport class MutationCache extends Subscribable<MutationCacheListener> {\n #mutations: Map<string, Array<Mutation<any, any, any, any>>>\n #mutationId: number\n\n constructor(public config: MutationCacheConfig = {}) {\n super()\n this.#mutations = new Map()\n this.#mutationId = Date.now()\n }\n\n build<TData, TError, TVariables, TContext>(\n client: QueryClient,\n options: MutationOptions<TData, TError, TVariables, TContext>,\n state?: MutationState<TData, TError, TVariables, TContext>,\n ): Mutation<TData, TError, TVariables, TContext> {\n const mutation = new Mutation({\n mutationCache: this,\n mutationId: ++this.#mutationId,\n options: client.defaultMutationOptions(options),\n state,\n })\n\n this.add(mutation)\n\n return mutation\n }\n\n add(mutation: Mutation<any, any, any, any>): void {\n const scope = scopeFor(mutation)\n const mutations = this.#mutations.get(scope) ?? []\n mutations.push(mutation)\n this.#mutations.set(scope, mutations)\n this.notify({ type: 'added', mutation })\n }\n\n remove(mutation: Mutation<any, any, any, any>): void {\n const scope = scopeFor(mutation)\n if (this.#mutations.has(scope)) {\n const mutations = this.#mutations\n .get(scope)\n ?.filter((x) => x !== mutation)\n if (mutations) {\n if (mutations.length === 0) {\n this.#mutations.delete(scope)\n } else {\n this.#mutations.set(scope, mutations)\n }\n }\n }\n\n this.notify({ type: 'removed', mutation })\n }\n\n canRun(mutation: Mutation<any, any, any, any>): boolean {\n const firstPendingMutation = this.#mutations\n .get(scopeFor(mutation))\n ?.find((m) => m.state.status === 'pending')\n\n // we can run if there is no current pending mutation (start use-case)\n // or if WE are the first pending mutation (continue use-case)\n return !firstPendingMutation || firstPendingMutation === mutation\n }\n\n runNext(mutation: Mutation<any, any, any, any>): Promise<unknown> {\n const foundMutation = this.#mutations\n .get(scopeFor(mutation))\n ?.find((m) => m !== mutation && m.state.isPaused)\n\n return foundMutation?.continue() ?? Promise.resolve()\n }\n\n clear(): void {\n notifyManager.batch(() => {\n this.getAll().forEach((mutation) => {\n this.remove(mutation)\n })\n })\n }\n\n getAll(): Array<Mutation> {\n return [...this.#mutations.values()].flat()\n }\n\n find<\n TData = unknown,\n TError = DefaultError,\n TVariables = any,\n TContext = unknown,\n >(\n filters: MutationFilters,\n ): Mutation<TData, TError, TVariables, TContext> | undefined {\n const defaultedFilters = { exact: true, ...filters }\n\n return this.getAll().find((mutation) =>\n matchMutation(defaultedFilters, mutation),\n ) as Mutation<TData, TError, TVariables, TContext> | undefined\n }\n\n findAll(filters: MutationFilters = {}): Array<Mutation> {\n return this.getAll().filter((mutation) => matchMutation(filters, mutation))\n }\n\n notify(event: MutationCacheNotifyEvent) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event)\n })\n })\n }\n\n resumePausedMutations(): Promise<unknown> {\n const pausedMutations = this.getAll().filter((x) => x.state.isPaused)\n\n return notifyManager.batch(() =>\n Promise.all(\n pausedMutations.map((mutation) => mutation.continue().catch(noop)),\n ),\n )\n }\n}\n\nfunction scopeFor(mutation: Mutation<any, any, any, any>) {\n return mutation.options.scope?.id ?? String(mutation.mutationId)\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/mutationCache.ts"],"sourcesContent":["import { notifyManager } from './notifyManager'\nimport { Mutation } from './mutation'\nimport { matchMutation, noop } from './utils'\nimport { Subscribable } from './subscribable'\nimport type { MutationObserver } from './mutationObserver'\nimport type { DefaultError, MutationOptions, NotifyEvent } from './types'\nimport type { QueryClient } from './queryClient'\nimport type { Action, MutationState } from './mutation'\nimport type { MutationFilters } from './utils'\n\n// TYPES\n\ninterface MutationCacheConfig {\n onError?: (\n error: DefaultError,\n variables: unknown,\n context: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n onSuccess?: (\n data: unknown,\n variables: unknown,\n context: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n onMutate?: (\n variables: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n onSettled?: (\n data: unknown | undefined,\n error: DefaultError | null,\n variables: unknown,\n context: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n}\n\ninterface NotifyEventMutationAdded extends NotifyEvent {\n type: 'added'\n mutation: Mutation<any, any, any, any>\n}\ninterface NotifyEventMutationRemoved extends NotifyEvent {\n type: 'removed'\n mutation: Mutation<any, any, any, any>\n}\n\ninterface NotifyEventMutationObserverAdded extends NotifyEvent {\n type: 'observerAdded'\n mutation: Mutation<any, any, any, any>\n observer: MutationObserver<any, any, any>\n}\n\ninterface NotifyEventMutationObserverRemoved extends NotifyEvent {\n type: 'observerRemoved'\n mutation: Mutation<any, any, any, any>\n observer: MutationObserver<any, any, any>\n}\n\ninterface NotifyEventMutationObserverOptionsUpdated extends NotifyEvent {\n type: 'observerOptionsUpdated'\n mutation?: Mutation<any, any, any, any>\n observer: MutationObserver<any, any, any, any>\n}\n\ninterface NotifyEventMutationUpdated extends NotifyEvent {\n type: 'updated'\n mutation: Mutation<any, any, any, any>\n action: Action<any, any, any, any>\n}\n\nexport type MutationCacheNotifyEvent =\n | NotifyEventMutationAdded\n | NotifyEventMutationRemoved\n | NotifyEventMutationObserverAdded\n | NotifyEventMutationObserverRemoved\n | NotifyEventMutationObserverOptionsUpdated\n | NotifyEventMutationUpdated\n\ntype MutationCacheListener = (event: MutationCacheNotifyEvent) => void\n\n// CLASS\n\nexport class MutationCache extends Subscribable<MutationCacheListener> {\n #mutations: Set<Mutation<any, any, any, any>>\n #scopes: Map<string, Array<Mutation<any, any, any, any>>>\n #mutationId: number\n\n constructor(public config: MutationCacheConfig = {}) {\n super()\n this.#mutations = new Set()\n this.#scopes = new Map()\n this.#mutationId = 0\n }\n\n build<TData, TError, TVariables, TContext>(\n client: QueryClient,\n options: MutationOptions<TData, TError, TVariables, TContext>,\n state?: MutationState<TData, TError, TVariables, TContext>,\n ): Mutation<TData, TError, TVariables, TContext> {\n const mutation = new Mutation({\n mutationCache: this,\n mutationId: ++this.#mutationId,\n options: client.defaultMutationOptions(options),\n state,\n })\n\n this.add(mutation)\n\n return mutation\n }\n\n add(mutation: Mutation<any, any, any, any>): void {\n this.#mutations.add(mutation)\n const scope = scopeFor(mutation)\n if (typeof scope === 'string') {\n const scopedMutations = this.#scopes.get(scope)\n if (scopedMutations) {\n scopedMutations.push(mutation)\n } else {\n this.#scopes.set(scope, [mutation])\n }\n }\n this.notify({ type: 'added', mutation })\n }\n\n remove(mutation: Mutation<any, any, any, any>): void {\n if (this.#mutations.delete(mutation)) {\n const scope = scopeFor(mutation)\n if (typeof scope === 'string') {\n const scopedMutations = this.#scopes.get(scope)\n if (scopedMutations) {\n if (scopedMutations.length > 1) {\n const index = scopedMutations.indexOf(mutation)\n if (index !== -1) {\n scopedMutations.splice(index, 1)\n }\n } else if (scopedMutations[0] === mutation) {\n this.#scopes.delete(scope)\n }\n }\n }\n }\n\n // Currently we notify the removal even if the mutation was already removed.\n // Consider making this an error or not notifying of the removal depending on the desired semantics.\n this.notify({ type: 'removed', mutation })\n }\n\n canRun(mutation: Mutation<any, any, any, any>): boolean {\n const scope = scopeFor(mutation)\n if (typeof scope === 'string') {\n const mutationsWithSameScope = this.#scopes.get(scope)\n const firstPendingMutation = mutationsWithSameScope?.find(\n (m) => m.state.status === 'pending',\n )\n // we can run if there is no current pending mutation (start use-case)\n // or if WE are the first pending mutation (continue use-case)\n return !firstPendingMutation || firstPendingMutation === mutation\n } else {\n // For unscoped mutations there are never any pending mutations in front of the\n // current mutation\n return true\n }\n }\n\n runNext(mutation: Mutation<any, any, any, any>): Promise<unknown> {\n const scope = scopeFor(mutation)\n if (typeof scope === 'string') {\n const foundMutation = this.#scopes\n .get(scope)\n ?.find((m) => m !== mutation && m.state.isPaused)\n\n return foundMutation?.continue() ?? Promise.resolve()\n } else {\n return Promise.resolve()\n }\n }\n\n clear(): void {\n notifyManager.batch(() => {\n this.#mutations.forEach((mutation) => {\n this.notify({ type: 'removed', mutation })\n })\n this.#mutations.clear()\n this.#scopes.clear()\n })\n }\n\n getAll(): Array<Mutation> {\n return Array.from(this.#mutations)\n }\n\n find<\n TData = unknown,\n TError = DefaultError,\n TVariables = any,\n TContext = unknown,\n >(\n filters: MutationFilters,\n ): Mutation<TData, TError, TVariables, TContext> | undefined {\n const defaultedFilters = { exact: true, ...filters }\n\n return this.getAll().find((mutation) =>\n matchMutation(defaultedFilters, mutation),\n ) as Mutation<TData, TError, TVariables, TContext> | undefined\n }\n\n findAll(filters: MutationFilters = {}): Array<Mutation> {\n return this.getAll().filter((mutation) => matchMutation(filters, mutation))\n }\n\n notify(event: MutationCacheNotifyEvent) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event)\n })\n })\n }\n\n resumePausedMutations(): Promise<unknown> {\n const pausedMutations = this.getAll().filter((x) => x.state.isPaused)\n\n return notifyManager.batch(() =>\n Promise.all(\n pausedMutations.map((mutation) => mutation.continue().catch(noop)),\n ),\n )\n }\n}\n\nfunction scopeFor(mutation: Mutation<any, any, any, any>) {\n return mutation.options.scope?.id\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { az as QueryObserverResult, b as QueryClient, a8 as QueryObserverOptions, b2 as NotifyOptions, u as Query, A as QueryKey, c as QueryObserver } from './hydration-
|
|
1
|
+
import { az as QueryObserverResult, b as QueryClient, a8 as QueryObserverOptions, b2 as NotifyOptions, u as Query, A as QueryKey, c as QueryObserver } from './hydration-DWTP6RQt.cjs';
|
|
2
2
|
import { Subscribable } from './subscribable.cjs';
|
|
3
3
|
import './removable.cjs';
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { az as QueryObserverResult, b as QueryClient, a8 as QueryObserverOptions, b2 as NotifyOptions, u as Query, A as QueryKey, c as QueryObserver } from './hydration-
|
|
1
|
+
import { az as QueryObserverResult, b as QueryClient, a8 as QueryObserverOptions, b2 as NotifyOptions, u as Query, A as QueryKey, c as QueryObserver } from './hydration-ClXcjjG9.js';
|
|
2
2
|
import { Subscribable } from './subscribable.js';
|
|
3
3
|
import './removable.js';
|
|
4
4
|
|
package/build/legacy/query.d.cts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import './removable.cjs';
|
|
2
|
-
export { b7 as Action, b3 as FetchContext, b4 as FetchDirection, b5 as FetchMeta, b6 as FetchOptions, u as Query, b1 as QueryBehavior, t as QueryState, b8 as SetStateOptions, b9 as fetchState } from './hydration-
|
|
2
|
+
export { b7 as Action, b3 as FetchContext, b4 as FetchDirection, b5 as FetchMeta, b6 as FetchOptions, u as Query, b1 as QueryBehavior, t as QueryState, b8 as SetStateOptions, b9 as fetchState } from './hydration-DWTP6RQt.cjs';
|
|
3
3
|
import './subscribable.cjs';
|
package/build/legacy/query.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import './removable.js';
|
|
2
|
-
export { b7 as Action, b3 as FetchContext, b4 as FetchDirection, b5 as FetchMeta, b6 as FetchOptions, u as Query, b1 as QueryBehavior, t as QueryState, b8 as SetStateOptions, b9 as fetchState } from './hydration-
|
|
2
|
+
export { b7 as Action, b3 as FetchContext, b4 as FetchDirection, b5 as FetchMeta, b6 as FetchOptions, u as Query, b1 as QueryBehavior, t as QueryState, b8 as SetStateOptions, b9 as fetchState } from './hydration-ClXcjjG9.js';
|
|
3
3
|
import './subscribable.js';
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { C as CancelledError, bw as RetryDelayValue, bv as RetryValue, bu as Retryer, bx as canFetch, by as createRetryer, l as isCancelledError } from './hydration-
|
|
1
|
+
export { C as CancelledError, bw as RetryDelayValue, bv as RetryValue, bu as Retryer, bx as canFetch, by as createRetryer, l as isCancelledError } from './hydration-DWTP6RQt.cjs';
|
|
2
2
|
import './removable.cjs';
|
|
3
3
|
import './subscribable.cjs';
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { C as CancelledError, bw as RetryDelayValue, bv as RetryValue, bu as Retryer, bx as canFetch, by as createRetryer, l as isCancelledError } from './hydration-
|
|
1
|
+
export { C as CancelledError, bw as RetryDelayValue, bv as RetryValue, bu as Retryer, bx as canFetch, by as createRetryer, l as isCancelledError } from './hydration-ClXcjjG9.js';
|
|
2
2
|
import './removable.js';
|
|
3
3
|
import './subscribable.js';
|
package/build/legacy/types.cjs
CHANGED
|
@@ -3,6 +3,10 @@ var __defProp = Object.defineProperty;
|
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
6
10
|
var __copyProps = (to, from, except, desc) => {
|
|
7
11
|
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
12
|
for (let key of __getOwnPropNames(from))
|
|
@@ -15,5 +19,19 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
15
19
|
|
|
16
20
|
// src/types.ts
|
|
17
21
|
var types_exports = {};
|
|
22
|
+
__export(types_exports, {
|
|
23
|
+
dataTagErrorSymbol: () => dataTagErrorSymbol,
|
|
24
|
+
dataTagSymbol: () => dataTagSymbol,
|
|
25
|
+
unsetMarker: () => unsetMarker
|
|
26
|
+
});
|
|
18
27
|
module.exports = __toCommonJS(types_exports);
|
|
28
|
+
var dataTagSymbol = Symbol("dataTagSymbol");
|
|
29
|
+
var dataTagErrorSymbol = Symbol("dataTagErrorSymbol");
|
|
30
|
+
var unsetMarker = Symbol("unsetMarker");
|
|
31
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
32
|
+
0 && (module.exports = {
|
|
33
|
+
dataTagErrorSymbol,
|
|
34
|
+
dataTagSymbol,
|
|
35
|
+
unsetMarker
|
|
36
|
+
});
|
|
19
37
|
//# sourceMappingURL=types.cjs.map
|