@tanstack/query-core
Advanced tools
Sorry, the diff of this file is too big to display
| {"version":3,"file":"hydration-Bjs0MSgg.d.ts","names":[],"sources":["../../src/queryObserver.ts","../../src/query.ts","../../src/mutationObserver.ts","../../src/mutationCache.ts","../../src/mutation.ts","../../src/utils.ts","../../src/queryCache.ts","../../src/queryClient.ts","../../src/retryer.ts","../../src/types.ts","../../src/hydration.ts"],"mappings":"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"} |
Sorry, the diff of this file is too big to display
| {"version":3,"file":"hydration-DWGr3cFC.d.cts","names":[],"sources":["../../src/queryObserver.ts","../../src/query.ts","../../src/mutationObserver.ts","../../src/mutationCache.ts","../../src/mutation.ts","../../src/utils.ts","../../src/queryCache.ts","../../src/queryClient.ts","../../src/retryer.ts","../../src/types.ts","../../src/hydration.ts"],"mappings":"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"} |
Sorry, the diff of this file is too big to display
| {"version":3,"file":"hydration-Bjs0MSgg.d.ts","names":[],"sources":["../../src/queryObserver.ts","../../src/query.ts","../../src/mutationObserver.ts","../../src/mutationCache.ts","../../src/mutation.ts","../../src/utils.ts","../../src/queryCache.ts","../../src/queryClient.ts","../../src/retryer.ts","../../src/types.ts","../../src/hydration.ts"],"mappings":"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"} |
Sorry, the diff of this file is too big to display
| {"version":3,"file":"hydration-DWGr3cFC.d.cts","names":[],"sources":["../../src/queryObserver.ts","../../src/query.ts","../../src/mutationObserver.ts","../../src/mutationCache.ts","../../src/mutation.ts","../../src/utils.ts","../../src/queryCache.ts","../../src/queryClient.ts","../../src/retryer.ts","../../src/types.ts","../../src/hydration.ts"],"mappings":"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"} |
| Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); | ||
| const require_utils = require("./utils.cjs"); | ||
| //#region src/environmentManager.ts | ||
| let isServerFn = () => require_utils.isServer; | ||
| /** | ||
| * Returns whether the current runtime should be treated as a server environment. | ||
| */ | ||
| const isServer = () => isServerFn(); | ||
| /** | ||
| * Manages environment detection used by TanStack Query internals. | ||
| */ | ||
| const environmentManager = (() => { | ||
| let isServerFn = () => require_utils.isServer; | ||
| return { | ||
| /** | ||
| * Returns whether the current runtime should be treated as a server environment. | ||
| */ | ||
| isServer() { | ||
| return isServerFn(); | ||
| }, | ||
| /** | ||
| * Overrides the server check globally. | ||
| */ | ||
| setIsServer(isServerValue) { | ||
| isServerFn = isServerValue; | ||
| } | ||
| }; | ||
| })(); | ||
| const environmentManager = { | ||
| isServer, | ||
| /** | ||
| * Overrides the server check globally. | ||
| */ | ||
| setIsServer(isServerValue) { | ||
| isServerFn = isServerValue; | ||
| } | ||
| }; | ||
| //#endregion | ||
| exports.environmentManager = environmentManager; | ||
| exports.isServer = isServer; | ||
| //# sourceMappingURL=environmentManager.cjs.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"environmentManager.cjs","names":["isServer"],"sources":["../../src/environmentManager.ts"],"sourcesContent":["import { isServer } from './utils'\n\nexport type IsServerValue = () => boolean\n\n/**\n * Manages environment detection used by TanStack Query internals.\n */\nexport const environmentManager = (() => {\n let isServerFn: IsServerValue = () => isServer\n\n return {\n /**\n * Returns whether the current runtime should be treated as a server environment.\n */\n isServer(): boolean {\n return isServerFn()\n },\n /**\n * Overrides the server check globally.\n */\n setIsServer(isServerValue: IsServerValue): void {\n isServerFn = isServerValue\n },\n }\n})()\n"],"mappings":";;;;;;AAOA,MAAa,4BAA4B;CACvC,IAAI,mBAAkCA,cAAAA;CAEtC,OAAO;;;;EAIL,WAAoB;GAClB,OAAO,WAAW;EACpB;;;;EAIA,YAAY,eAAoC;GAC9C,aAAa;EACf;CACF;AACF,EAAA,CAAG"} | ||
| {"version":3,"file":"environmentManager.cjs","names":["defaultIsServer"],"sources":["../../src/environmentManager.ts"],"sourcesContent":["import { isServer as defaultIsServer } from './utils'\n\nexport type IsServerValue = () => boolean\n\nlet isServerFn: IsServerValue = () => defaultIsServer\n\n/**\n * Returns whether the current runtime should be treated as a server environment.\n */\nexport const isServer = (): boolean => isServerFn()\n\n/**\n * Manages environment detection used by TanStack Query internals.\n */\nexport const environmentManager = {\n isServer,\n /**\n * Overrides the server check globally.\n */\n setIsServer(isServerValue: IsServerValue): void {\n isServerFn = isServerValue\n },\n}\n"],"mappings":";;;AAIA,IAAI,mBAAkCA,cAAAA;;;;AAKtC,MAAa,iBAA0B,WAAW;;;;AAKlD,MAAa,qBAAqB;CAChC;;;;CAIA,YAAY,eAAoC;EAC9C,aAAa;CACf;AACF"} |
| //#region src/environmentManager.d.ts | ||
| type IsServerValue = () => boolean; | ||
| /** | ||
| * Returns whether the current runtime should be treated as a server environment. | ||
| */ | ||
| declare const isServer: () => boolean; | ||
| /** | ||
| * Manages environment detection used by TanStack Query internals. | ||
| */ | ||
| declare const environmentManager: { | ||
| isServer: () => boolean; | ||
| /** | ||
| * Returns whether the current runtime should be treated as a server environment. | ||
| */ | ||
| isServer(): boolean; | ||
| /** | ||
| * Overrides the server check globally. | ||
@@ -17,3 +18,3 @@ */ | ||
| //#endregion | ||
| export { IsServerValue, environmentManager }; | ||
| export { IsServerValue, environmentManager, isServer }; | ||
| //# sourceMappingURL=environmentManager.d.cts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"environmentManager.d.cts","names":[],"sources":["../../src/environmentManager.ts"],"mappings":";KAEY;;;;cAKC;;;;EAOG;;;;EAMe,YAAA,eAAA"} | ||
| {"version":3,"file":"environmentManager.d.cts","names":[],"sources":["../../src/environmentManager.ts"],"mappings":";KAEY;;;;cAOC;;;;cAKA;EALe;;;;EAUC,YAAA,eAAA"} |
| //#region src/environmentManager.d.ts | ||
| type IsServerValue = () => boolean; | ||
| /** | ||
| * Returns whether the current runtime should be treated as a server environment. | ||
| */ | ||
| declare const isServer: () => boolean; | ||
| /** | ||
| * Manages environment detection used by TanStack Query internals. | ||
| */ | ||
| declare const environmentManager: { | ||
| isServer: () => boolean; | ||
| /** | ||
| * Returns whether the current runtime should be treated as a server environment. | ||
| */ | ||
| isServer(): boolean; | ||
| /** | ||
| * Overrides the server check globally. | ||
@@ -17,3 +18,3 @@ */ | ||
| //#endregion | ||
| export { IsServerValue, environmentManager }; | ||
| export { IsServerValue, environmentManager, isServer }; | ||
| //# sourceMappingURL=environmentManager.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"environmentManager.d.ts","names":[],"sources":["../../src/environmentManager.ts"],"mappings":";KAEY;;;;cAKC;;;;EAOG;;;;EAMe,YAAA,eAAA"} | ||
| {"version":3,"file":"environmentManager.d.ts","names":[],"sources":["../../src/environmentManager.ts"],"mappings":";KAEY;;;;cAOC;;;;cAKA;EALe;;;;EAUC,YAAA,eAAA"} |
@@ -1,26 +0,23 @@ | ||
| import { isServer } from "./utils.js"; | ||
| import { isServer as isServer$1 } from "./utils.js"; | ||
| //#region src/environmentManager.ts | ||
| let isServerFn = () => isServer$1; | ||
| /** | ||
| * Returns whether the current runtime should be treated as a server environment. | ||
| */ | ||
| const isServer = () => isServerFn(); | ||
| /** | ||
| * Manages environment detection used by TanStack Query internals. | ||
| */ | ||
| const environmentManager = (() => { | ||
| let isServerFn = () => isServer; | ||
| return { | ||
| /** | ||
| * Returns whether the current runtime should be treated as a server environment. | ||
| */ | ||
| isServer() { | ||
| return isServerFn(); | ||
| }, | ||
| /** | ||
| * Overrides the server check globally. | ||
| */ | ||
| setIsServer(isServerValue) { | ||
| isServerFn = isServerValue; | ||
| } | ||
| }; | ||
| })(); | ||
| const environmentManager = { | ||
| isServer, | ||
| /** | ||
| * Overrides the server check globally. | ||
| */ | ||
| setIsServer(isServerValue) { | ||
| isServerFn = isServerValue; | ||
| } | ||
| }; | ||
| //#endregion | ||
| export { environmentManager }; | ||
| export { environmentManager, isServer }; | ||
| //# sourceMappingURL=environmentManager.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"environmentManager.js","names":[],"sources":["../../src/environmentManager.ts"],"sourcesContent":["import { isServer } from './utils'\n\nexport type IsServerValue = () => boolean\n\n/**\n * Manages environment detection used by TanStack Query internals.\n */\nexport const environmentManager = (() => {\n let isServerFn: IsServerValue = () => isServer\n\n return {\n /**\n * Returns whether the current runtime should be treated as a server environment.\n */\n isServer(): boolean {\n return isServerFn()\n },\n /**\n * Overrides the server check globally.\n */\n setIsServer(isServerValue: IsServerValue): void {\n isServerFn = isServerValue\n },\n }\n})()\n"],"mappings":";;;;;AAOA,MAAa,4BAA4B;CACvC,IAAI,mBAAkC;CAEtC,OAAO;;;;EAIL,WAAoB;GAClB,OAAO,WAAW;EACpB;;;;EAIA,YAAY,eAAoC;GAC9C,aAAa;EACf;CACF;AACF,EAAA,CAAG"} | ||
| {"version":3,"file":"environmentManager.js","names":["defaultIsServer"],"sources":["../../src/environmentManager.ts"],"sourcesContent":["import { isServer as defaultIsServer } from './utils'\n\nexport type IsServerValue = () => boolean\n\nlet isServerFn: IsServerValue = () => defaultIsServer\n\n/**\n * Returns whether the current runtime should be treated as a server environment.\n */\nexport const isServer = (): boolean => isServerFn()\n\n/**\n * Manages environment detection used by TanStack Query internals.\n */\nexport const environmentManager = {\n isServer,\n /**\n * Overrides the server check globally.\n */\n setIsServer(isServerValue: IsServerValue): void {\n isServerFn = isServerValue\n },\n}\n"],"mappings":";;AAIA,IAAI,mBAAkCA;;;;AAKtC,MAAa,iBAA0B,WAAW;;;;AAKlD,MAAa,qBAAqB;CAChC;;;;CAIA,YAAY,eAAoC;EAC9C,aAAa;CACf;AACF"} |
@@ -1,2 +0,2 @@ | ||
| import { a as defaultShouldDehydrateQuery, c as hydrate, i as defaultShouldDehydrateMutation, n as DehydratedState, o as dehydrate, r as HydrateOptions, s as dehydrateQuery, t as DehydrateOptions } from "./hydration-BoHd-X9T.cjs"; | ||
| import { a as defaultShouldDehydrateQuery, c as hydrate, i as defaultShouldDehydrateMutation, n as DehydratedState, o as dehydrate, r as HydrateOptions, s as dehydrateQuery, t as DehydrateOptions } from "./hydration-DWGr3cFC.cjs"; | ||
| export { DehydrateOptions, DehydratedState, HydrateOptions, defaultShouldDehydrateMutation, defaultShouldDehydrateQuery, dehydrate, dehydrateQuery, hydrate }; |
@@ -1,2 +0,2 @@ | ||
| import { a as defaultShouldDehydrateQuery, c as hydrate, i as defaultShouldDehydrateMutation, n as DehydratedState, o as dehydrate, r as HydrateOptions, s as dehydrateQuery, t as DehydrateOptions } from "./hydration-DFwTM9vM.js"; | ||
| import { a as defaultShouldDehydrateQuery, c as hydrate, i as defaultShouldDehydrateMutation, n as DehydratedState, o as dehydrate, r as HydrateOptions, s as dehydrateQuery, t as DehydrateOptions } from "./hydration-Bjs0MSgg.js"; | ||
| export { DehydrateOptions, DehydratedState, HydrateOptions, defaultShouldDehydrateMutation, defaultShouldDehydrateQuery, dehydrate, dehydrateQuery, hydrate }; |
| import { environmentManager } from "./environmentManager.cjs"; | ||
| import { focusManager } from "./focusManager.cjs"; | ||
| import { $ as MutationObserverBaseResult, $t as CancelledError, A as InfiniteData, An as noop, At as QueryObserverOptions, B as InfiniteQueryObserverSuccessResult, Bt as RefetchQueryFilters, C as FetchPreviousPageOptions, Ct as QueryKey, D as GetPreviousPageParamFunction, Dn as keepPreviousData, Dt as QueryObserverBaseResult, E as GetNextPageParamFunction, Et as QueryMeta, F as InfiniteQueryObserverOptions, Ft as QueryObserverSuccessResult, G as InvalidateQueryFilters, Gn as MutationCache, Gt as StaleTime, H as InitialDataFunction, Hn as Mutation, Ht as ResetOptions, I as InfiniteQueryObserverPendingResult, It as QueryOptions, J as MutateOptions, Jn as MutationObserver, Jt as UnsetMarker, K as MutateFunction, Kn as MutationCacheConfig, Kt as StaleTimeFunction, L as InfiniteQueryObserverPlaceholderResult, Ln as shouldThrowError, Lt as QueryPersister, M as InfiniteQueryObserverBaseResult, Mt as QueryObserverPlaceholderResult, N as InfiniteQueryObserverLoadingErrorResult, Nn as replaceEqualDeep, Nt as QueryObserverRefetchErrorResult, O as InferDataFromTag, On as matchMutation, Ot as QueryObserverLoadingErrorResult, P as InfiniteQueryObserverLoadingResult, Pt as QueryObserverResult, Q as MutationMeta, Qt as unsetMarker, R as InfiniteQueryObserverRefetchErrorResult, Rn as skipToken, Rt as QueryStatus, S as FetchNextPageOptions, St as QueryFunctionContext, T as FetchStatus, Tn as isServer, Tt as QueryKeyWithDataTag, U as InitialPageParam, Un as MutationState, Ut as ResultOptions, V as InfiniteQueryPageParamsOptions, Vt as Register, W as InvalidateOptions, Wt as SetDataOptions, X as MutationFunctionContext, Xt as dataTagErrorSymbol, Y as MutationFunction, Yt as WithRequired, Z as MutationKey, Zt as dataTagSymbol, _ as DefinedQueryObserverResult, _t as QueriesPlaceholderDataFunction, a as defaultShouldDehydrateQuery, an as isCancelledError, at as MutationObserverSuccessResult, b as EnsureQueryDataOptions, bt as QueryExecuteOptions, c as hydrate, cn as QueryCacheConfig, ct as MutationStatus, d as DataTag, dn as MutationFilters, dt as NotifyEvent, er as Query, et as MutationObserverErrorResult, f as DefaultError, fn as QueryFilters, ft as NotifyEventType, g as DefinedInfiniteQueryObserverResult, gt as PlaceholderDataFunction, h as DefaultedQueryObserverOptions, hn as Updater, ht as Override, i as defaultShouldDehydrateMutation, ir as QueryObserver, it as MutationObserverResult, j as InfiniteQueryExecuteOptions, jn as partialMatchKey, jt as QueryObserverPendingResult, k as InferErrorFromTag, kn as matchQuery, kt as QueryObserverLoadingResult, l as AnyDataTag, ln as QueryCacheNotifyEvent, lt as NetworkMode, m as DefaultedInfiniteQueryObserverOptions, mn as SkipToken, mt as OmitKeyof, n as DehydratedState, nr as QueryState, nt as MutationObserverLoadingResult, o as dehydrate, on as QueryClient, ot as MutationOptions, p as DefaultOptions, pt as NotifyOnChangeProps, q as MutateFunctionRest, qn as MutationCacheNotifyEvent, qt as ThrowOnError, r as HydrateOptions, rt as MutationObserverOptions, s as dehydrateQuery, sn as QueryCache, st as MutationScope, t as DehydrateOptions, tt as MutationObserverIdleResult, u as CancelOptions, ut as NonUndefinedGuard, v as DistributiveOmit, vt as QueryBooleanOption, w as FetchQueryOptions, wt as QueryKeyHashFunction, x as FetchInfiniteQueryOptions, xn as hashKey, xt as QueryFunction, y as EnsureInfiniteQueryDataOptions, yt as QueryClientConfig, z as InfiniteQueryObserverResult, zt as RefetchOptions } from "./hydration-BoHd-X9T.cjs"; | ||
| import { $ as MutationObserverBaseResult, $n as Query, $t as CancelledError, A as InfiniteData, An as noop, At as QueryObserverOptions, B as InfiniteQueryObserverSuccessResult, Bt as RefetchQueryFilters, C as FetchPreviousPageOptions, Ct as QueryKey, D as GetPreviousPageParamFunction, Dn as keepPreviousData, Dt as QueryObserverBaseResult, E as GetNextPageParamFunction, Et as QueryMeta, F as InfiniteQueryObserverOptions, Ft as QueryObserverSuccessResult, G as InvalidateQueryFilters, Gn as MutationCacheConfig, Gt as StaleTime, H as InitialDataFunction, Hn as MutationState, Ht as ResetOptions, I as InfiniteQueryObserverPendingResult, In as shouldThrowError, It as QueryOptions, J as MutateOptions, Jt as UnsetMarker, K as MutateFunction, Kn as MutationCacheNotifyEvent, Kt as StaleTimeFunction, L as InfiniteQueryObserverPlaceholderResult, Ln as skipToken, Lt as QueryPersister, M as InfiniteQueryObserverBaseResult, Mt as QueryObserverPlaceholderResult, N as InfiniteQueryObserverLoadingErrorResult, Nn as replaceEqualDeep, Nt as QueryObserverRefetchErrorResult, O as InferDataFromTag, On as matchMutation, Ot as QueryObserverLoadingErrorResult, P as InfiniteQueryObserverLoadingResult, Pt as QueryObserverResult, Q as MutationMeta, Qt as unsetMarker, R as InfiniteQueryObserverRefetchErrorResult, Rt as QueryStatus, S as FetchNextPageOptions, St as QueryFunctionContext, T as FetchStatus, Tn as isServer, Tt as QueryKeyWithDataTag, U as InitialPageParam, Ut as ResultOptions, V as InfiniteQueryPageParamsOptions, Vn as Mutation, Vt as Register, W as InvalidateOptions, Wn as MutationCache, Wt as SetDataOptions, X as MutationFunctionContext, Xt as dataTagErrorSymbol, Y as MutationFunction, Yt as WithRequired, Z as MutationKey, Zt as dataTagSymbol, _ as DefinedQueryObserverResult, _t as QueriesPlaceholderDataFunction, a as defaultShouldDehydrateQuery, an as isCancelledError, at as MutationObserverSuccessResult, b as EnsureQueryDataOptions, bt as QueryExecuteOptions, c as hydrate, cn as QueryCacheConfig, ct as MutationStatus, d as DataTag, dn as MutationFilters, dt as NotifyEvent, et as MutationObserverErrorResult, f as DefaultError, fn as QueryFilters, ft as NotifyEventType, g as DefinedInfiniteQueryObserverResult, gt as PlaceholderDataFunction, h as DefaultedQueryObserverOptions, hn as Updater, ht as Override, i as defaultShouldDehydrateMutation, it as MutationObserverResult, j as InfiniteQueryExecuteOptions, jn as partialMatchKey, jt as QueryObserverPendingResult, k as InferErrorFromTag, kn as matchQuery, kt as QueryObserverLoadingResult, l as AnyDataTag, ln as QueryCacheNotifyEvent, lt as NetworkMode, m as DefaultedInfiniteQueryObserverOptions, mn as SkipToken, mt as OmitKeyof, n as DehydratedState, nt as MutationObserverLoadingResult, o as dehydrate, on as QueryClient, ot as MutationOptions, p as DefaultOptions, pt as NotifyOnChangeProps, q as MutateFunctionRest, qn as MutationObserver, qt as ThrowOnError, r as HydrateOptions, rr as QueryObserver, rt as MutationObserverOptions, s as dehydrateQuery, sn as QueryCache, st as MutationScope, t as DehydrateOptions, tr as QueryState, tt as MutationObserverIdleResult, u as CancelOptions, ut as NonUndefinedGuard, v as DistributiveOmit, vt as QueryBooleanOption, w as FetchQueryOptions, wt as QueryKeyHashFunction, x as FetchInfiniteQueryOptions, xn as hashKey, xt as QueryFunction, y as EnsureInfiniteQueryDataOptions, yt as QueryClientConfig, z as InfiniteQueryObserverResult, zt as RefetchOptions } from "./hydration-DWGr3cFC.cjs"; | ||
| import { InfiniteQueryObserver } from "./infiniteQueryObserver.cjs"; | ||
@@ -5,0 +5,0 @@ import { defaultScheduler, notifyManager } from "./notifyManager.cjs"; |
| import { environmentManager } from "./environmentManager.js"; | ||
| import { focusManager } from "./focusManager.js"; | ||
| import { $ as MutationObserverBaseResult, $t as CancelledError, A as InfiniteData, An as noop, At as QueryObserverOptions, B as InfiniteQueryObserverSuccessResult, Bt as RefetchQueryFilters, C as FetchPreviousPageOptions, Ct as QueryKey, D as GetPreviousPageParamFunction, Dn as keepPreviousData, Dt as QueryObserverBaseResult, E as GetNextPageParamFunction, Et as QueryMeta, F as InfiniteQueryObserverOptions, Ft as QueryObserverSuccessResult, G as InvalidateQueryFilters, Gn as MutationCache, Gt as StaleTime, H as InitialDataFunction, Hn as Mutation, Ht as ResetOptions, I as InfiniteQueryObserverPendingResult, It as QueryOptions, J as MutateOptions, Jn as MutationObserver, Jt as UnsetMarker, K as MutateFunction, Kn as MutationCacheConfig, Kt as StaleTimeFunction, L as InfiniteQueryObserverPlaceholderResult, Ln as shouldThrowError, Lt as QueryPersister, M as InfiniteQueryObserverBaseResult, Mt as QueryObserverPlaceholderResult, N as InfiniteQueryObserverLoadingErrorResult, Nn as replaceEqualDeep, Nt as QueryObserverRefetchErrorResult, O as InferDataFromTag, On as matchMutation, Ot as QueryObserverLoadingErrorResult, P as InfiniteQueryObserverLoadingResult, Pt as QueryObserverResult, Q as MutationMeta, Qt as unsetMarker, R as InfiniteQueryObserverRefetchErrorResult, Rn as skipToken, Rt as QueryStatus, S as FetchNextPageOptions, St as QueryFunctionContext, T as FetchStatus, Tn as isServer, Tt as QueryKeyWithDataTag, U as InitialPageParam, Un as MutationState, Ut as ResultOptions, V as InfiniteQueryPageParamsOptions, Vt as Register, W as InvalidateOptions, Wt as SetDataOptions, X as MutationFunctionContext, Xt as dataTagErrorSymbol, Y as MutationFunction, Yt as WithRequired, Z as MutationKey, Zt as dataTagSymbol, _ as DefinedQueryObserverResult, _t as QueriesPlaceholderDataFunction, a as defaultShouldDehydrateQuery, an as isCancelledError, at as MutationObserverSuccessResult, b as EnsureQueryDataOptions, bt as QueryExecuteOptions, c as hydrate, cn as QueryCacheConfig, ct as MutationStatus, d as DataTag, dn as MutationFilters, dt as NotifyEvent, er as Query, et as MutationObserverErrorResult, f as DefaultError, fn as QueryFilters, ft as NotifyEventType, g as DefinedInfiniteQueryObserverResult, gt as PlaceholderDataFunction, h as DefaultedQueryObserverOptions, hn as Updater, ht as Override, i as defaultShouldDehydrateMutation, ir as QueryObserver, it as MutationObserverResult, j as InfiniteQueryExecuteOptions, jn as partialMatchKey, jt as QueryObserverPendingResult, k as InferErrorFromTag, kn as matchQuery, kt as QueryObserverLoadingResult, l as AnyDataTag, ln as QueryCacheNotifyEvent, lt as NetworkMode, m as DefaultedInfiniteQueryObserverOptions, mn as SkipToken, mt as OmitKeyof, n as DehydratedState, nr as QueryState, nt as MutationObserverLoadingResult, o as dehydrate, on as QueryClient, ot as MutationOptions, p as DefaultOptions, pt as NotifyOnChangeProps, q as MutateFunctionRest, qn as MutationCacheNotifyEvent, qt as ThrowOnError, r as HydrateOptions, rt as MutationObserverOptions, s as dehydrateQuery, sn as QueryCache, st as MutationScope, t as DehydrateOptions, tt as MutationObserverIdleResult, u as CancelOptions, ut as NonUndefinedGuard, v as DistributiveOmit, vt as QueryBooleanOption, w as FetchQueryOptions, wt as QueryKeyHashFunction, x as FetchInfiniteQueryOptions, xn as hashKey, xt as QueryFunction, y as EnsureInfiniteQueryDataOptions, yt as QueryClientConfig, z as InfiniteQueryObserverResult, zt as RefetchOptions } from "./hydration-DFwTM9vM.js"; | ||
| import { $ as MutationObserverBaseResult, $n as Query, $t as CancelledError, A as InfiniteData, An as noop, At as QueryObserverOptions, B as InfiniteQueryObserverSuccessResult, Bt as RefetchQueryFilters, C as FetchPreviousPageOptions, Ct as QueryKey, D as GetPreviousPageParamFunction, Dn as keepPreviousData, Dt as QueryObserverBaseResult, E as GetNextPageParamFunction, Et as QueryMeta, F as InfiniteQueryObserverOptions, Ft as QueryObserverSuccessResult, G as InvalidateQueryFilters, Gn as MutationCacheConfig, Gt as StaleTime, H as InitialDataFunction, Hn as MutationState, Ht as ResetOptions, I as InfiniteQueryObserverPendingResult, In as shouldThrowError, It as QueryOptions, J as MutateOptions, Jt as UnsetMarker, K as MutateFunction, Kn as MutationCacheNotifyEvent, Kt as StaleTimeFunction, L as InfiniteQueryObserverPlaceholderResult, Ln as skipToken, Lt as QueryPersister, M as InfiniteQueryObserverBaseResult, Mt as QueryObserverPlaceholderResult, N as InfiniteQueryObserverLoadingErrorResult, Nn as replaceEqualDeep, Nt as QueryObserverRefetchErrorResult, O as InferDataFromTag, On as matchMutation, Ot as QueryObserverLoadingErrorResult, P as InfiniteQueryObserverLoadingResult, Pt as QueryObserverResult, Q as MutationMeta, Qt as unsetMarker, R as InfiniteQueryObserverRefetchErrorResult, Rt as QueryStatus, S as FetchNextPageOptions, St as QueryFunctionContext, T as FetchStatus, Tn as isServer, Tt as QueryKeyWithDataTag, U as InitialPageParam, Ut as ResultOptions, V as InfiniteQueryPageParamsOptions, Vn as Mutation, Vt as Register, W as InvalidateOptions, Wn as MutationCache, Wt as SetDataOptions, X as MutationFunctionContext, Xt as dataTagErrorSymbol, Y as MutationFunction, Yt as WithRequired, Z as MutationKey, Zt as dataTagSymbol, _ as DefinedQueryObserverResult, _t as QueriesPlaceholderDataFunction, a as defaultShouldDehydrateQuery, an as isCancelledError, at as MutationObserverSuccessResult, b as EnsureQueryDataOptions, bt as QueryExecuteOptions, c as hydrate, cn as QueryCacheConfig, ct as MutationStatus, d as DataTag, dn as MutationFilters, dt as NotifyEvent, et as MutationObserverErrorResult, f as DefaultError, fn as QueryFilters, ft as NotifyEventType, g as DefinedInfiniteQueryObserverResult, gt as PlaceholderDataFunction, h as DefaultedQueryObserverOptions, hn as Updater, ht as Override, i as defaultShouldDehydrateMutation, it as MutationObserverResult, j as InfiniteQueryExecuteOptions, jn as partialMatchKey, jt as QueryObserverPendingResult, k as InferErrorFromTag, kn as matchQuery, kt as QueryObserverLoadingResult, l as AnyDataTag, ln as QueryCacheNotifyEvent, lt as NetworkMode, m as DefaultedInfiniteQueryObserverOptions, mn as SkipToken, mt as OmitKeyof, n as DehydratedState, nt as MutationObserverLoadingResult, o as dehydrate, on as QueryClient, ot as MutationOptions, p as DefaultOptions, pt as NotifyOnChangeProps, q as MutateFunctionRest, qn as MutationObserver, qt as ThrowOnError, r as HydrateOptions, rr as QueryObserver, rt as MutationObserverOptions, s as dehydrateQuery, sn as QueryCache, st as MutationScope, t as DehydrateOptions, tr as QueryState, tt as MutationObserverIdleResult, u as CancelOptions, ut as NonUndefinedGuard, v as DistributiveOmit, vt as QueryBooleanOption, w as FetchQueryOptions, wt as QueryKeyHashFunction, x as FetchInfiniteQueryOptions, xn as hashKey, xt as QueryFunction, y as EnsureInfiniteQueryDataOptions, yt as QueryClientConfig, z as InfiniteQueryObserverResult, zt as RefetchOptions } from "./hydration-Bjs0MSgg.js"; | ||
| import { InfiniteQueryObserver } from "./infiniteQueryObserver.js"; | ||
@@ -5,0 +5,0 @@ import { defaultScheduler, notifyManager } from "./notifyManager.js"; |
@@ -1,2 +0,2 @@ | ||
| import { A as InfiniteData, V as InfiniteQueryPageParamsOptions, tr as QueryBehavior } from "./hydration-BoHd-X9T.cjs"; | ||
| import { A as InfiniteData, V as InfiniteQueryPageParamsOptions, er as QueryBehavior } from "./hydration-DWGr3cFC.cjs"; | ||
| //#region src/infiniteQueryBehavior.d.ts | ||
@@ -3,0 +3,0 @@ declare function infiniteQueryBehavior<TQueryFnData, TError, TData, TPageParam>(pages?: number): QueryBehavior<TQueryFnData, TError, InfiniteData<TData, TPageParam>>; |
@@ -1,2 +0,2 @@ | ||
| import { A as InfiniteData, V as InfiniteQueryPageParamsOptions, tr as QueryBehavior } from "./hydration-DFwTM9vM.js"; | ||
| import { A as InfiniteData, V as InfiniteQueryPageParamsOptions, er as QueryBehavior } from "./hydration-Bjs0MSgg.js"; | ||
| //#region src/infiniteQueryBehavior.d.ts | ||
@@ -3,0 +3,0 @@ declare function infiniteQueryBehavior<TQueryFnData, TError, TData, TPageParam>(pages?: number): QueryBehavior<TQueryFnData, TError, InfiniteData<TData, TPageParam>>; |
| import { t as Subscribable } from "./subscribable-CbifVTKz.cjs"; | ||
| import { A as InfiniteData, C as FetchPreviousPageOptions, Ct as QueryKey, F as InfiniteQueryObserverOptions, S as FetchNextPageOptions, er as Query, f as DefaultError, ir as QueryObserver, m as DefaultedInfiniteQueryObserverOptions, on as QueryClient, z as InfiniteQueryObserverResult } from "./hydration-BoHd-X9T.cjs"; | ||
| import { $n as Query, A as InfiniteData, C as FetchPreviousPageOptions, Ct as QueryKey, F as InfiniteQueryObserverOptions, S as FetchNextPageOptions, f as DefaultError, m as DefaultedInfiniteQueryObserverOptions, on as QueryClient, rr as QueryObserver, z as InfiniteQueryObserverResult } from "./hydration-DWGr3cFC.cjs"; | ||
| //#region src/infiniteQueryObserver.d.ts | ||
@@ -4,0 +4,0 @@ type InfiniteQueryObserverListener<TData, TError> = (result: InfiniteQueryObserverResult<TData, TError>) => void; |
| import { t as Subscribable } from "./subscribable-CbifVTKz.js"; | ||
| import { A as InfiniteData, C as FetchPreviousPageOptions, Ct as QueryKey, F as InfiniteQueryObserverOptions, S as FetchNextPageOptions, er as Query, f as DefaultError, ir as QueryObserver, m as DefaultedInfiniteQueryObserverOptions, on as QueryClient, z as InfiniteQueryObserverResult } from "./hydration-DFwTM9vM.js"; | ||
| import { $n as Query, A as InfiniteData, C as FetchPreviousPageOptions, Ct as QueryKey, F as InfiniteQueryObserverOptions, S as FetchNextPageOptions, f as DefaultError, m as DefaultedInfiniteQueryObserverOptions, on as QueryClient, rr as QueryObserver, z as InfiniteQueryObserverResult } from "./hydration-Bjs0MSgg.js"; | ||
| //#region src/infiniteQueryObserver.d.ts | ||
@@ -4,0 +4,0 @@ type InfiniteQueryObserverListener<TData, TError> = (result: InfiniteQueryObserverResult<TData, TError>) => void; |
@@ -1,2 +0,2 @@ | ||
| import { Hn as Mutation, Un as MutationState, Vn as Action, Wn as getDefaultState } from "./hydration-BoHd-X9T.cjs"; | ||
| import { Bn as Action, Hn as MutationState, Un as getDefaultState, Vn as Mutation } from "./hydration-DWGr3cFC.cjs"; | ||
| export { Action, Mutation, MutationState, getDefaultState }; |
@@ -1,2 +0,2 @@ | ||
| import { Hn as Mutation, Un as MutationState, Vn as Action, Wn as getDefaultState } from "./hydration-DFwTM9vM.js"; | ||
| import { Bn as Action, Hn as MutationState, Un as getDefaultState, Vn as Mutation } from "./hydration-Bjs0MSgg.js"; | ||
| export { Action, Mutation, MutationState, getDefaultState }; |
@@ -1,2 +0,2 @@ | ||
| import { Gn as MutationCache, Kn as MutationCacheConfig, qn as MutationCacheNotifyEvent } from "./hydration-BoHd-X9T.cjs"; | ||
| import { Gn as MutationCacheConfig, Kn as MutationCacheNotifyEvent, Wn as MutationCache } from "./hydration-DWGr3cFC.cjs"; | ||
| export { MutationCache, MutationCacheConfig, MutationCacheNotifyEvent }; |
@@ -1,2 +0,2 @@ | ||
| import { Gn as MutationCache, Kn as MutationCacheConfig, qn as MutationCacheNotifyEvent } from "./hydration-DFwTM9vM.js"; | ||
| import { Gn as MutationCacheConfig, Kn as MutationCacheNotifyEvent, Wn as MutationCache } from "./hydration-Bjs0MSgg.js"; | ||
| export { MutationCache, MutationCacheConfig, MutationCacheNotifyEvent }; |
@@ -1,2 +0,2 @@ | ||
| import { Jn as MutationObserver } from "./hydration-BoHd-X9T.cjs"; | ||
| import { qn as MutationObserver } from "./hydration-DWGr3cFC.cjs"; | ||
| export { MutationObserver }; |
@@ -1,2 +0,2 @@ | ||
| import { Jn as MutationObserver } from "./hydration-DFwTM9vM.js"; | ||
| import { qn as MutationObserver } from "./hydration-Bjs0MSgg.js"; | ||
| export { MutationObserver }; |
@@ -13,7 +13,2 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); | ||
| } | ||
| function replaceAt(array, index, value) { | ||
| const copy = array.slice(0); | ||
| copy[index] = value; | ||
| return copy; | ||
| } | ||
| var _client = /* @__PURE__ */ new WeakMap(); | ||
@@ -190,3 +185,4 @@ var _result = /* @__PURE__ */ new WeakMap(); | ||
| if (index !== -1) { | ||
| require_classPrivateFieldSet2._classPrivateFieldSet2(_result, this, replaceAt(require_classPrivateFieldSet2._classPrivateFieldGet2(_result, this), index, result)); | ||
| require_classPrivateFieldSet2._classPrivateFieldSet2(_result, this, require_classPrivateFieldSet2._classPrivateFieldGet2(_result, this).slice()); | ||
| require_classPrivateFieldSet2._classPrivateFieldGet2(_result, this)[index] = result; | ||
| require_classPrivateFieldSet2._assertClassBrand(_QueriesObserver_brand, this, _notify).call(this); | ||
@@ -193,0 +189,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"queriesObserver.cjs","names":["Subscribable","shallowEqualObjects","replaceEqualDeep","QueryObserver"],"sources":["../../src/queriesObserver.ts"],"sourcesContent":["import { notifyManager } from './notifyManager'\nimport { QueryObserver } from './queryObserver'\nimport { Subscribable } from './subscribable'\nimport { replaceEqualDeep, shallowEqualObjects } from './utils'\nimport type {\n DefaultedQueryObserverOptions,\n QueryObserverOptions,\n QueryObserverResult,\n} from './types'\nimport type { QueryClient } from './queryClient'\n\nfunction difference<T>(array1: Array<T>, array2: Array<T>): Array<T> {\n const excludeSet = new Set(array2)\n return array1.filter((x) => !excludeSet.has(x))\n}\n\nfunction replaceAt<T>(array: Array<T>, index: number, value: T): Array<T> {\n const copy = array.slice(0)\n copy[index] = value\n return copy\n}\n\ntype QueriesObserverListener = (result: Array<QueryObserverResult>) => void\n\ntype CombineFn<TCombinedResult> = (\n result: Array<QueryObserverResult>,\n) => TCombinedResult\n\nexport interface QueriesObserverOptions<\n TCombinedResult = Array<QueryObserverResult>,\n> {\n combine?: CombineFn<TCombinedResult>\n}\n\nexport class QueriesObserver<\n TCombinedResult = Array<QueryObserverResult>,\n> extends Subscribable<QueriesObserverListener> {\n #client: QueryClient\n #result!: Array<QueryObserverResult>\n #queries: Array<QueryObserverOptions>\n #options?: QueriesObserverOptions<TCombinedResult>\n #observers: Array<QueryObserver>\n #combinedResult!: TCombinedResult\n #lastCombine?: CombineFn<TCombinedResult>\n #lastResult?: Array<QueryObserverResult>\n #lastQueryHashes?: Array<string>\n #observerMatches: Array<QueryObserverMatch> = []\n\n constructor(\n client: QueryClient,\n queries: Array<QueryObserverOptions<any, any, any, any, any>>,\n options?: QueriesObserverOptions<TCombinedResult>,\n ) {\n super()\n\n this.#client = client\n this.#options = options\n this.#queries = []\n this.#observers = []\n this.#result = []\n\n this.setQueries(queries)\n }\n\n protected onSubscribe(): void {\n if (this.listeners.size === 1) {\n this.#observers.forEach((observer) => {\n observer.subscribe((result) => {\n this.#onUpdate(observer, result)\n })\n })\n }\n }\n\n protected onUnsubscribe(): void {\n if (!this.listeners.size) {\n this.destroy()\n }\n }\n\n destroy(): void {\n this.listeners = new Set()\n this.#observers.forEach((observer) => {\n observer.destroy()\n })\n }\n\n setQueries(\n queries: Array<QueryObserverOptions>,\n options?: QueriesObserverOptions<TCombinedResult>,\n ): void {\n this.#queries = queries\n this.#options = options\n\n if (process.env.NODE_ENV !== 'production') {\n const queryHashes = queries.map(\n (query) => this.#client.defaultQueryOptions(query).queryHash,\n )\n if (new Set(queryHashes).size !== queryHashes.length) {\n console.warn(\n '[QueriesObserver]: Duplicate Queries found. This might result in unexpected behavior.',\n )\n }\n }\n\n notifyManager.batch(() => {\n const prevObservers = this.#observers\n\n const newObserverMatches = this.#findMatchingObservers(this.#queries)\n\n // set options for the new observers to notify of changes\n newObserverMatches.forEach((match) =>\n match.observer.setOptions(match.defaultedQueryOptions),\n )\n\n const newObservers = newObserverMatches.map((match) => match.observer)\n const newResult = newObservers.map((observer) =>\n observer.getCurrentResult(),\n )\n\n const hasLengthChange = prevObservers.length !== newObservers.length\n const hasIndexChange = newObservers.some(\n (observer, index) => observer !== prevObservers[index],\n )\n const hasStructuralChange = hasLengthChange || hasIndexChange\n\n const hasResultChange = hasStructuralChange\n ? true\n : newResult.some((result, index) => {\n const prev = this.#result[index]\n return !prev || !shallowEqualObjects(result, prev)\n })\n\n if (!hasStructuralChange && !hasResultChange) return\n\n if (hasStructuralChange) {\n this.#observerMatches = newObserverMatches\n this.#observers = newObservers\n }\n\n this.#result = newResult\n\n if (!this.hasListeners()) return\n\n if (hasStructuralChange) {\n difference(prevObservers, newObservers).forEach((observer) => {\n observer.destroy()\n })\n difference(newObservers, prevObservers).forEach((observer) => {\n observer.subscribe((result) => {\n this.#onUpdate(observer, result)\n })\n })\n }\n\n this.#notify()\n })\n }\n\n getCurrentResult(): Array<QueryObserverResult> {\n return this.#result\n }\n\n getQueries() {\n return this.#observers.map((observer) => observer.getCurrentQuery())\n }\n\n getObservers() {\n return this.#observers\n }\n\n getOptimisticResult(\n queries: Array<QueryObserverOptions>,\n combine: CombineFn<TCombinedResult> | undefined,\n ): [\n rawResult: Array<QueryObserverResult>,\n combineResult: (r?: Array<QueryObserverResult>) => TCombinedResult,\n trackResult: () => Array<QueryObserverResult>,\n ] {\n const matches = this.#findMatchingObservers(queries)\n const result = matches.map((match) =>\n match.observer.getOptimisticResult(match.defaultedQueryOptions),\n )\n const queryHashes = matches.map(\n (match) => match.defaultedQueryOptions.queryHash,\n )\n\n return [\n result,\n (r?: Array<QueryObserverResult>) => {\n return this.#combineResult(r ?? result, combine, queryHashes)\n },\n () => {\n return this.#trackResult(result, matches)\n },\n ]\n }\n\n #trackResult(\n result: Array<QueryObserverResult>,\n matches: Array<QueryObserverMatch>,\n ) {\n const trackedProps = new Set<keyof QueryObserverResult>()\n\n return matches.map((match, index) => {\n const observerResult = result[index]!\n return !match.defaultedQueryOptions.notifyOnChangeProps\n ? match.observer.trackResult(observerResult, (accessedProp) => {\n // track property on all observers to ensure proper (synchronized) tracking (#7000)\n if (!trackedProps.has(accessedProp)) {\n trackedProps.add(accessedProp)\n matches.forEach((m) => {\n m.observer.trackProp(accessedProp)\n })\n }\n })\n : observerResult\n })\n }\n\n #combineResult(\n input: Array<QueryObserverResult>,\n combine: CombineFn<TCombinedResult> | undefined,\n queryHashes?: Array<string>,\n ): TCombinedResult {\n if (combine) {\n const lastHashes = this.#lastQueryHashes\n const queryHashesChanged =\n queryHashes !== undefined &&\n lastHashes !== undefined &&\n (lastHashes.length !== queryHashes.length ||\n queryHashes.some((hash, i) => hash !== lastHashes[i]))\n\n if (\n this.#result !== this.#lastResult ||\n queryHashesChanged ||\n combine !== this.#lastCombine\n ) {\n this.#lastCombine = combine\n this.#lastResult = this.#result\n\n if (queryHashes !== undefined) {\n this.#lastQueryHashes = queryHashes\n }\n this.#combinedResult = replaceEqualDeep(\n this.#combinedResult,\n combine(input),\n )\n }\n\n return this.#combinedResult\n }\n return input as any\n }\n\n #shouldSkipCombine(): boolean {\n return (\n !this.#options?.combine ||\n this.#observers.some((observer, index) => {\n return (\n observer.options.suspense && this.#result[index]?.data === undefined\n )\n })\n )\n }\n\n #findMatchingObservers(\n queries: Array<QueryObserverOptions>,\n ): Array<QueryObserverMatch> {\n const prevObserversMap = new Map<string, Array<QueryObserver>>()\n\n this.#observers.forEach((observer) => {\n const key = observer.options.queryHash\n if (!key) return\n\n const previousObservers = prevObserversMap.get(key)\n\n if (previousObservers) {\n previousObservers.push(observer)\n } else {\n prevObserversMap.set(key, [observer])\n }\n })\n\n const observers: Array<QueryObserverMatch> = []\n\n queries.forEach((options) => {\n const defaultedOptions = this.#client.defaultQueryOptions(options)\n const match = prevObserversMap.get(defaultedOptions.queryHash)?.shift()\n const observer =\n match ?? new QueryObserver(this.#client, defaultedOptions)\n\n observers.push({\n defaultedQueryOptions: defaultedOptions,\n observer,\n })\n })\n\n return observers\n }\n\n #onUpdate(observer: QueryObserver, result: QueryObserverResult): void {\n const index = this.#observers.indexOf(observer)\n if (index !== -1) {\n this.#result = replaceAt(this.#result, index, result)\n this.#notify()\n }\n }\n\n #notify(): void {\n if (this.hasListeners()) {\n const shouldSkipCombine = this.#shouldSkipCombine()\n const previousResult = this.#combinedResult\n const newResult = shouldSkipCombine\n ? previousResult\n : this.#combineResult(\n this.#trackResult(this.#result, this.#observerMatches),\n this.#options?.combine,\n )\n\n if (shouldSkipCombine || previousResult !== newResult) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(this.#result)\n })\n })\n }\n }\n }\n}\n\ntype QueryObserverMatch = {\n defaultedQueryOptions: DefaultedQueryObserverOptions\n observer: QueryObserver\n}\n"],"mappings":"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"} | ||
| {"version":3,"file":"queriesObserver.cjs","names":["Subscribable","shallowEqualObjects","replaceEqualDeep","QueryObserver"],"sources":["../../src/queriesObserver.ts"],"sourcesContent":["import { notifyManager } from './notifyManager'\nimport { QueryObserver } from './queryObserver'\nimport { Subscribable } from './subscribable'\nimport { replaceEqualDeep, shallowEqualObjects } from './utils'\nimport type {\n DefaultedQueryObserverOptions,\n QueryObserverOptions,\n QueryObserverResult,\n} from './types'\nimport type { QueryClient } from './queryClient'\n\nfunction difference<T>(array1: Array<T>, array2: Array<T>): Array<T> {\n const excludeSet = new Set(array2)\n return array1.filter((x) => !excludeSet.has(x))\n}\n\ntype QueriesObserverListener = (result: Array<QueryObserverResult>) => void\n\ntype CombineFn<TCombinedResult> = (\n result: Array<QueryObserverResult>,\n) => TCombinedResult\n\nexport interface QueriesObserverOptions<\n TCombinedResult = Array<QueryObserverResult>,\n> {\n combine?: CombineFn<TCombinedResult>\n}\n\nexport class QueriesObserver<\n TCombinedResult = Array<QueryObserverResult>,\n> extends Subscribable<QueriesObserverListener> {\n #client: QueryClient\n #result!: Array<QueryObserverResult>\n #queries: Array<QueryObserverOptions>\n #options?: QueriesObserverOptions<TCombinedResult>\n #observers: Array<QueryObserver>\n #combinedResult!: TCombinedResult\n #lastCombine?: CombineFn<TCombinedResult>\n #lastResult?: Array<QueryObserverResult>\n #lastQueryHashes?: Array<string>\n #observerMatches: Array<QueryObserverMatch> = []\n\n constructor(\n client: QueryClient,\n queries: Array<QueryObserverOptions<any, any, any, any, any>>,\n options?: QueriesObserverOptions<TCombinedResult>,\n ) {\n super()\n\n this.#client = client\n this.#options = options\n this.#queries = []\n this.#observers = []\n this.#result = []\n\n this.setQueries(queries)\n }\n\n protected onSubscribe(): void {\n if (this.listeners.size === 1) {\n this.#observers.forEach((observer) => {\n observer.subscribe((result) => {\n this.#onUpdate(observer, result)\n })\n })\n }\n }\n\n protected onUnsubscribe(): void {\n if (!this.listeners.size) {\n this.destroy()\n }\n }\n\n destroy(): void {\n this.listeners = new Set()\n this.#observers.forEach((observer) => {\n observer.destroy()\n })\n }\n\n setQueries(\n queries: Array<QueryObserverOptions>,\n options?: QueriesObserverOptions<TCombinedResult>,\n ): void {\n this.#queries = queries\n this.#options = options\n\n if (process.env.NODE_ENV !== 'production') {\n const queryHashes = queries.map(\n (query) => this.#client.defaultQueryOptions(query).queryHash,\n )\n if (new Set(queryHashes).size !== queryHashes.length) {\n console.warn(\n '[QueriesObserver]: Duplicate Queries found. This might result in unexpected behavior.',\n )\n }\n }\n\n notifyManager.batch(() => {\n const prevObservers = this.#observers\n\n const newObserverMatches = this.#findMatchingObservers(this.#queries)\n\n // set options for the new observers to notify of changes\n newObserverMatches.forEach((match) =>\n match.observer.setOptions(match.defaultedQueryOptions),\n )\n\n const newObservers = newObserverMatches.map((match) => match.observer)\n const newResult = newObservers.map((observer) =>\n observer.getCurrentResult(),\n )\n\n const hasLengthChange = prevObservers.length !== newObservers.length\n const hasIndexChange = newObservers.some(\n (observer, index) => observer !== prevObservers[index],\n )\n const hasStructuralChange = hasLengthChange || hasIndexChange\n\n const hasResultChange = hasStructuralChange\n ? true\n : newResult.some((result, index) => {\n const prev = this.#result[index]\n return !prev || !shallowEqualObjects(result, prev)\n })\n\n if (!hasStructuralChange && !hasResultChange) return\n\n if (hasStructuralChange) {\n this.#observerMatches = newObserverMatches\n this.#observers = newObservers\n }\n\n this.#result = newResult\n\n if (!this.hasListeners()) return\n\n if (hasStructuralChange) {\n difference(prevObservers, newObservers).forEach((observer) => {\n observer.destroy()\n })\n difference(newObservers, prevObservers).forEach((observer) => {\n observer.subscribe((result) => {\n this.#onUpdate(observer, result)\n })\n })\n }\n\n this.#notify()\n })\n }\n\n getCurrentResult(): Array<QueryObserverResult> {\n return this.#result\n }\n\n getQueries() {\n return this.#observers.map((observer) => observer.getCurrentQuery())\n }\n\n getObservers() {\n return this.#observers\n }\n\n getOptimisticResult(\n queries: Array<QueryObserverOptions>,\n combine: CombineFn<TCombinedResult> | undefined,\n ): [\n rawResult: Array<QueryObserverResult>,\n combineResult: (r?: Array<QueryObserverResult>) => TCombinedResult,\n trackResult: () => Array<QueryObserverResult>,\n ] {\n const matches = this.#findMatchingObservers(queries)\n const result = matches.map((match) =>\n match.observer.getOptimisticResult(match.defaultedQueryOptions),\n )\n const queryHashes = matches.map(\n (match) => match.defaultedQueryOptions.queryHash,\n )\n\n return [\n result,\n (r?: Array<QueryObserverResult>) => {\n return this.#combineResult(r ?? result, combine, queryHashes)\n },\n () => {\n return this.#trackResult(result, matches)\n },\n ]\n }\n\n #trackResult(\n result: Array<QueryObserverResult>,\n matches: Array<QueryObserverMatch>,\n ) {\n const trackedProps = new Set<keyof QueryObserverResult>()\n\n return matches.map((match, index) => {\n const observerResult = result[index]!\n return !match.defaultedQueryOptions.notifyOnChangeProps\n ? match.observer.trackResult(observerResult, (accessedProp) => {\n // track property on all observers to ensure proper (synchronized) tracking (#7000)\n if (!trackedProps.has(accessedProp)) {\n trackedProps.add(accessedProp)\n matches.forEach((m) => {\n m.observer.trackProp(accessedProp)\n })\n }\n })\n : observerResult\n })\n }\n\n #combineResult(\n input: Array<QueryObserverResult>,\n combine: CombineFn<TCombinedResult> | undefined,\n queryHashes?: Array<string>,\n ): TCombinedResult {\n if (combine) {\n const lastHashes = this.#lastQueryHashes\n const queryHashesChanged =\n queryHashes !== undefined &&\n lastHashes !== undefined &&\n (lastHashes.length !== queryHashes.length ||\n queryHashes.some((hash, i) => hash !== lastHashes[i]))\n\n if (\n this.#result !== this.#lastResult ||\n queryHashesChanged ||\n combine !== this.#lastCombine\n ) {\n this.#lastCombine = combine\n this.#lastResult = this.#result\n\n if (queryHashes !== undefined) {\n this.#lastQueryHashes = queryHashes\n }\n this.#combinedResult = replaceEqualDeep(\n this.#combinedResult,\n combine(input),\n )\n }\n\n return this.#combinedResult\n }\n return input as any\n }\n\n #shouldSkipCombine(): boolean {\n return (\n !this.#options?.combine ||\n this.#observers.some((observer, index) => {\n return (\n observer.options.suspense && this.#result[index]?.data === undefined\n )\n })\n )\n }\n\n #findMatchingObservers(\n queries: Array<QueryObserverOptions>,\n ): Array<QueryObserverMatch> {\n const prevObserversMap = new Map<string, Array<QueryObserver>>()\n\n this.#observers.forEach((observer) => {\n const key = observer.options.queryHash\n if (!key) return\n\n const previousObservers = prevObserversMap.get(key)\n\n if (previousObservers) {\n previousObservers.push(observer)\n } else {\n prevObserversMap.set(key, [observer])\n }\n })\n\n const observers: Array<QueryObserverMatch> = []\n\n queries.forEach((options) => {\n const defaultedOptions = this.#client.defaultQueryOptions(options)\n const match = prevObserversMap.get(defaultedOptions.queryHash)?.shift()\n const observer =\n match ?? new QueryObserver(this.#client, defaultedOptions)\n\n observers.push({\n defaultedQueryOptions: defaultedOptions,\n observer,\n })\n })\n\n return observers\n }\n\n #onUpdate(observer: QueryObserver, result: QueryObserverResult): void {\n const index = this.#observers.indexOf(observer)\n if (index !== -1) {\n this.#result = this.#result.slice()\n this.#result[index] = result\n this.#notify()\n }\n }\n\n #notify(): void {\n if (this.hasListeners()) {\n const shouldSkipCombine = this.#shouldSkipCombine()\n const previousResult = this.#combinedResult\n const newResult = shouldSkipCombine\n ? previousResult\n : this.#combineResult(\n this.#trackResult(this.#result, this.#observerMatches),\n this.#options?.combine,\n )\n\n if (shouldSkipCombine || previousResult !== newResult) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(this.#result)\n })\n })\n }\n }\n }\n}\n\ntype QueryObserverMatch = {\n defaultedQueryOptions: DefaultedQueryObserverOptions\n observer: QueryObserver\n}\n"],"mappings":"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"} |
| import { t as Subscribable } from "./subscribable-CbifVTKz.cjs"; | ||
| import { At as QueryObserverOptions, Pt as QueryObserverResult, er as Query, ir as QueryObserver, on as QueryClient } from "./hydration-BoHd-X9T.cjs"; | ||
| import { $n as Query, At as QueryObserverOptions, Pt as QueryObserverResult, on as QueryClient, rr as QueryObserver } from "./hydration-DWGr3cFC.cjs"; | ||
| //#region src/queriesObserver.d.ts | ||
@@ -4,0 +4,0 @@ type QueriesObserverListener = (result: Array<QueryObserverResult>) => void; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"queriesObserver.d.cts","names":[],"sources":["../../src/queriesObserver.ts"],"mappings":";;;KAsBK,2BAA2B,QAAQ,MAAM;KAEzC,UAAU,oBACb,QAAQ,MAAM,yBACX;UAEY,uBACf,kBAAkB,MAAM;EAExB,UAAU,UAAU;;cAGT,gBACX,kBAAkB,MAAM,8BAChB,aAAa;;EAanB,YAAA,QAAQ,aACR,SAAS,MAAM,gDACf,UAAU,uBAAuB;YAazB;YAUA;EAMV;EAOA,WACE,SAAS,MAAM,uBACf,UAAU,uBAAuB;EAsEnC,oBAAoB,MAAM;EAI1B,cAAU,eAAA;EAIV,gBAAY,uBAAA;EAIZ,oBACE,SAAS,MAAM,uBACf,SAAS,UAAU,gCAEnB,WAAW,MAAM,sBACjB,gBAAgB,IAAI,MAAM,yBAAyB,iBACnD,mBAAmB,MAAM"} | ||
| {"version":3,"file":"queriesObserver.d.cts","names":[],"sources":["../../src/queriesObserver.ts"],"mappings":";;;KAgBK,2BAA2B,QAAQ,MAAM;KAEzC,UAAU,oBACb,QAAQ,MAAM,yBACX;UAEY,uBACf,kBAAkB,MAAM;EAExB,UAAU,UAAU;;cAGT,gBACX,kBAAkB,MAAM,8BAChB,aAAa;;EAanB,YAAA,QAAQ,aACR,SAAS,MAAM,gDACf,UAAU,uBAAuB;YAazB;YAUA;EAMV;EAOA,WACE,SAAS,MAAM,uBACf,UAAU,uBAAuB;EAsEnC,oBAAoB,MAAM;EAI1B,cAAU,eAAA;EAIV,gBAAY,uBAAA;EAIZ,oBACE,SAAS,MAAM,uBACf,SAAS,UAAU,gCAEnB,WAAW,MAAM,sBACjB,gBAAgB,IAAI,MAAM,yBAAyB,iBACnD,mBAAmB,MAAM"} |
| import { t as Subscribable } from "./subscribable-CbifVTKz.js"; | ||
| import { At as QueryObserverOptions, Pt as QueryObserverResult, er as Query, ir as QueryObserver, on as QueryClient } from "./hydration-DFwTM9vM.js"; | ||
| import { $n as Query, At as QueryObserverOptions, Pt as QueryObserverResult, on as QueryClient, rr as QueryObserver } from "./hydration-Bjs0MSgg.js"; | ||
| //#region src/queriesObserver.d.ts | ||
@@ -4,0 +4,0 @@ type QueriesObserverListener = (result: Array<QueryObserverResult>) => void; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"queriesObserver.d.ts","names":[],"sources":["../../src/queriesObserver.ts"],"mappings":";;;KAsBK,2BAA2B,QAAQ,MAAM;KAEzC,UAAU,oBACb,QAAQ,MAAM,yBACX;UAEY,uBACf,kBAAkB,MAAM;EAExB,UAAU,UAAU;;cAGT,gBACX,kBAAkB,MAAM,8BAChB,aAAa;;EAanB,YAAA,QAAQ,aACR,SAAS,MAAM,gDACf,UAAU,uBAAuB;YAazB;YAUA;EAMV;EAOA,WACE,SAAS,MAAM,uBACf,UAAU,uBAAuB;EAsEnC,oBAAoB,MAAM;EAI1B,cAAU,eAAA;EAIV,gBAAY,uBAAA;EAIZ,oBACE,SAAS,MAAM,uBACf,SAAS,UAAU,gCAEnB,WAAW,MAAM,sBACjB,gBAAgB,IAAI,MAAM,yBAAyB,iBACnD,mBAAmB,MAAM"} | ||
| {"version":3,"file":"queriesObserver.d.ts","names":[],"sources":["../../src/queriesObserver.ts"],"mappings":";;;KAgBK,2BAA2B,QAAQ,MAAM;KAEzC,UAAU,oBACb,QAAQ,MAAM,yBACX;UAEY,uBACf,kBAAkB,MAAM;EAExB,UAAU,UAAU;;cAGT,gBACX,kBAAkB,MAAM,8BAChB,aAAa;;EAanB,YAAA,QAAQ,aACR,SAAS,MAAM,gDACf,UAAU,uBAAuB;YAazB;YAUA;EAMV;EAOA,WACE,SAAS,MAAM,uBACf,UAAU,uBAAuB;EAsEnC,oBAAoB,MAAM;EAI1B,cAAU,eAAA;EAIV,gBAAY,uBAAA;EAIZ,oBACE,SAAS,MAAM,uBACf,SAAS,UAAU,gCAEnB,WAAW,MAAM,sBACjB,gBAAgB,IAAI,MAAM,yBAAyB,iBACnD,mBAAmB,MAAM"} |
@@ -12,7 +12,2 @@ import { i as _classPrivateFieldInitSpec, n as _classPrivateFieldGet2, r as _assertClassBrand, t as _classPrivateFieldSet2 } from "./classPrivateFieldSet2-CV7wyte-.js"; | ||
| } | ||
| function replaceAt(array, index, value) { | ||
| const copy = array.slice(0); | ||
| copy[index] = value; | ||
| return copy; | ||
| } | ||
| var _client = /* @__PURE__ */ new WeakMap(); | ||
@@ -189,3 +184,4 @@ var _result = /* @__PURE__ */ new WeakMap(); | ||
| if (index !== -1) { | ||
| _classPrivateFieldSet2(_result, this, replaceAt(_classPrivateFieldGet2(_result, this), index, result)); | ||
| _classPrivateFieldSet2(_result, this, _classPrivateFieldGet2(_result, this).slice()); | ||
| _classPrivateFieldGet2(_result, this)[index] = result; | ||
| _assertClassBrand(_QueriesObserver_brand, this, _notify).call(this); | ||
@@ -192,0 +188,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"queriesObserver.js","names":[],"sources":["../../src/queriesObserver.ts"],"sourcesContent":["import { notifyManager } from './notifyManager'\nimport { QueryObserver } from './queryObserver'\nimport { Subscribable } from './subscribable'\nimport { replaceEqualDeep, shallowEqualObjects } from './utils'\nimport type {\n DefaultedQueryObserverOptions,\n QueryObserverOptions,\n QueryObserverResult,\n} from './types'\nimport type { QueryClient } from './queryClient'\n\nfunction difference<T>(array1: Array<T>, array2: Array<T>): Array<T> {\n const excludeSet = new Set(array2)\n return array1.filter((x) => !excludeSet.has(x))\n}\n\nfunction replaceAt<T>(array: Array<T>, index: number, value: T): Array<T> {\n const copy = array.slice(0)\n copy[index] = value\n return copy\n}\n\ntype QueriesObserverListener = (result: Array<QueryObserverResult>) => void\n\ntype CombineFn<TCombinedResult> = (\n result: Array<QueryObserverResult>,\n) => TCombinedResult\n\nexport interface QueriesObserverOptions<\n TCombinedResult = Array<QueryObserverResult>,\n> {\n combine?: CombineFn<TCombinedResult>\n}\n\nexport class QueriesObserver<\n TCombinedResult = Array<QueryObserverResult>,\n> extends Subscribable<QueriesObserverListener> {\n #client: QueryClient\n #result!: Array<QueryObserverResult>\n #queries: Array<QueryObserverOptions>\n #options?: QueriesObserverOptions<TCombinedResult>\n #observers: Array<QueryObserver>\n #combinedResult!: TCombinedResult\n #lastCombine?: CombineFn<TCombinedResult>\n #lastResult?: Array<QueryObserverResult>\n #lastQueryHashes?: Array<string>\n #observerMatches: Array<QueryObserverMatch> = []\n\n constructor(\n client: QueryClient,\n queries: Array<QueryObserverOptions<any, any, any, any, any>>,\n options?: QueriesObserverOptions<TCombinedResult>,\n ) {\n super()\n\n this.#client = client\n this.#options = options\n this.#queries = []\n this.#observers = []\n this.#result = []\n\n this.setQueries(queries)\n }\n\n protected onSubscribe(): void {\n if (this.listeners.size === 1) {\n this.#observers.forEach((observer) => {\n observer.subscribe((result) => {\n this.#onUpdate(observer, result)\n })\n })\n }\n }\n\n protected onUnsubscribe(): void {\n if (!this.listeners.size) {\n this.destroy()\n }\n }\n\n destroy(): void {\n this.listeners = new Set()\n this.#observers.forEach((observer) => {\n observer.destroy()\n })\n }\n\n setQueries(\n queries: Array<QueryObserverOptions>,\n options?: QueriesObserverOptions<TCombinedResult>,\n ): void {\n this.#queries = queries\n this.#options = options\n\n if (process.env.NODE_ENV !== 'production') {\n const queryHashes = queries.map(\n (query) => this.#client.defaultQueryOptions(query).queryHash,\n )\n if (new Set(queryHashes).size !== queryHashes.length) {\n console.warn(\n '[QueriesObserver]: Duplicate Queries found. This might result in unexpected behavior.',\n )\n }\n }\n\n notifyManager.batch(() => {\n const prevObservers = this.#observers\n\n const newObserverMatches = this.#findMatchingObservers(this.#queries)\n\n // set options for the new observers to notify of changes\n newObserverMatches.forEach((match) =>\n match.observer.setOptions(match.defaultedQueryOptions),\n )\n\n const newObservers = newObserverMatches.map((match) => match.observer)\n const newResult = newObservers.map((observer) =>\n observer.getCurrentResult(),\n )\n\n const hasLengthChange = prevObservers.length !== newObservers.length\n const hasIndexChange = newObservers.some(\n (observer, index) => observer !== prevObservers[index],\n )\n const hasStructuralChange = hasLengthChange || hasIndexChange\n\n const hasResultChange = hasStructuralChange\n ? true\n : newResult.some((result, index) => {\n const prev = this.#result[index]\n return !prev || !shallowEqualObjects(result, prev)\n })\n\n if (!hasStructuralChange && !hasResultChange) return\n\n if (hasStructuralChange) {\n this.#observerMatches = newObserverMatches\n this.#observers = newObservers\n }\n\n this.#result = newResult\n\n if (!this.hasListeners()) return\n\n if (hasStructuralChange) {\n difference(prevObservers, newObservers).forEach((observer) => {\n observer.destroy()\n })\n difference(newObservers, prevObservers).forEach((observer) => {\n observer.subscribe((result) => {\n this.#onUpdate(observer, result)\n })\n })\n }\n\n this.#notify()\n })\n }\n\n getCurrentResult(): Array<QueryObserverResult> {\n return this.#result\n }\n\n getQueries() {\n return this.#observers.map((observer) => observer.getCurrentQuery())\n }\n\n getObservers() {\n return this.#observers\n }\n\n getOptimisticResult(\n queries: Array<QueryObserverOptions>,\n combine: CombineFn<TCombinedResult> | undefined,\n ): [\n rawResult: Array<QueryObserverResult>,\n combineResult: (r?: Array<QueryObserverResult>) => TCombinedResult,\n trackResult: () => Array<QueryObserverResult>,\n ] {\n const matches = this.#findMatchingObservers(queries)\n const result = matches.map((match) =>\n match.observer.getOptimisticResult(match.defaultedQueryOptions),\n )\n const queryHashes = matches.map(\n (match) => match.defaultedQueryOptions.queryHash,\n )\n\n return [\n result,\n (r?: Array<QueryObserverResult>) => {\n return this.#combineResult(r ?? result, combine, queryHashes)\n },\n () => {\n return this.#trackResult(result, matches)\n },\n ]\n }\n\n #trackResult(\n result: Array<QueryObserverResult>,\n matches: Array<QueryObserverMatch>,\n ) {\n const trackedProps = new Set<keyof QueryObserverResult>()\n\n return matches.map((match, index) => {\n const observerResult = result[index]!\n return !match.defaultedQueryOptions.notifyOnChangeProps\n ? match.observer.trackResult(observerResult, (accessedProp) => {\n // track property on all observers to ensure proper (synchronized) tracking (#7000)\n if (!trackedProps.has(accessedProp)) {\n trackedProps.add(accessedProp)\n matches.forEach((m) => {\n m.observer.trackProp(accessedProp)\n })\n }\n })\n : observerResult\n })\n }\n\n #combineResult(\n input: Array<QueryObserverResult>,\n combine: CombineFn<TCombinedResult> | undefined,\n queryHashes?: Array<string>,\n ): TCombinedResult {\n if (combine) {\n const lastHashes = this.#lastQueryHashes\n const queryHashesChanged =\n queryHashes !== undefined &&\n lastHashes !== undefined &&\n (lastHashes.length !== queryHashes.length ||\n queryHashes.some((hash, i) => hash !== lastHashes[i]))\n\n if (\n this.#result !== this.#lastResult ||\n queryHashesChanged ||\n combine !== this.#lastCombine\n ) {\n this.#lastCombine = combine\n this.#lastResult = this.#result\n\n if (queryHashes !== undefined) {\n this.#lastQueryHashes = queryHashes\n }\n this.#combinedResult = replaceEqualDeep(\n this.#combinedResult,\n combine(input),\n )\n }\n\n return this.#combinedResult\n }\n return input as any\n }\n\n #shouldSkipCombine(): boolean {\n return (\n !this.#options?.combine ||\n this.#observers.some((observer, index) => {\n return (\n observer.options.suspense && this.#result[index]?.data === undefined\n )\n })\n )\n }\n\n #findMatchingObservers(\n queries: Array<QueryObserverOptions>,\n ): Array<QueryObserverMatch> {\n const prevObserversMap = new Map<string, Array<QueryObserver>>()\n\n this.#observers.forEach((observer) => {\n const key = observer.options.queryHash\n if (!key) return\n\n const previousObservers = prevObserversMap.get(key)\n\n if (previousObservers) {\n previousObservers.push(observer)\n } else {\n prevObserversMap.set(key, [observer])\n }\n })\n\n const observers: Array<QueryObserverMatch> = []\n\n queries.forEach((options) => {\n const defaultedOptions = this.#client.defaultQueryOptions(options)\n const match = prevObserversMap.get(defaultedOptions.queryHash)?.shift()\n const observer =\n match ?? new QueryObserver(this.#client, defaultedOptions)\n\n observers.push({\n defaultedQueryOptions: defaultedOptions,\n observer,\n })\n })\n\n return observers\n }\n\n #onUpdate(observer: QueryObserver, result: QueryObserverResult): void {\n const index = this.#observers.indexOf(observer)\n if (index !== -1) {\n this.#result = replaceAt(this.#result, index, result)\n this.#notify()\n }\n }\n\n #notify(): void {\n if (this.hasListeners()) {\n const shouldSkipCombine = this.#shouldSkipCombine()\n const previousResult = this.#combinedResult\n const newResult = shouldSkipCombine\n ? previousResult\n : this.#combineResult(\n this.#trackResult(this.#result, this.#observerMatches),\n this.#options?.combine,\n )\n\n if (shouldSkipCombine || previousResult !== newResult) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(this.#result)\n })\n })\n }\n }\n }\n}\n\ntype QueryObserverMatch = {\n defaultedQueryOptions: DefaultedQueryObserverOptions\n observer: QueryObserver\n}\n"],"mappings":"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"} | ||
| {"version":3,"file":"queriesObserver.js","names":[],"sources":["../../src/queriesObserver.ts"],"sourcesContent":["import { notifyManager } from './notifyManager'\nimport { QueryObserver } from './queryObserver'\nimport { Subscribable } from './subscribable'\nimport { replaceEqualDeep, shallowEqualObjects } from './utils'\nimport type {\n DefaultedQueryObserverOptions,\n QueryObserverOptions,\n QueryObserverResult,\n} from './types'\nimport type { QueryClient } from './queryClient'\n\nfunction difference<T>(array1: Array<T>, array2: Array<T>): Array<T> {\n const excludeSet = new Set(array2)\n return array1.filter((x) => !excludeSet.has(x))\n}\n\ntype QueriesObserverListener = (result: Array<QueryObserverResult>) => void\n\ntype CombineFn<TCombinedResult> = (\n result: Array<QueryObserverResult>,\n) => TCombinedResult\n\nexport interface QueriesObserverOptions<\n TCombinedResult = Array<QueryObserverResult>,\n> {\n combine?: CombineFn<TCombinedResult>\n}\n\nexport class QueriesObserver<\n TCombinedResult = Array<QueryObserverResult>,\n> extends Subscribable<QueriesObserverListener> {\n #client: QueryClient\n #result!: Array<QueryObserverResult>\n #queries: Array<QueryObserverOptions>\n #options?: QueriesObserverOptions<TCombinedResult>\n #observers: Array<QueryObserver>\n #combinedResult!: TCombinedResult\n #lastCombine?: CombineFn<TCombinedResult>\n #lastResult?: Array<QueryObserverResult>\n #lastQueryHashes?: Array<string>\n #observerMatches: Array<QueryObserverMatch> = []\n\n constructor(\n client: QueryClient,\n queries: Array<QueryObserverOptions<any, any, any, any, any>>,\n options?: QueriesObserverOptions<TCombinedResult>,\n ) {\n super()\n\n this.#client = client\n this.#options = options\n this.#queries = []\n this.#observers = []\n this.#result = []\n\n this.setQueries(queries)\n }\n\n protected onSubscribe(): void {\n if (this.listeners.size === 1) {\n this.#observers.forEach((observer) => {\n observer.subscribe((result) => {\n this.#onUpdate(observer, result)\n })\n })\n }\n }\n\n protected onUnsubscribe(): void {\n if (!this.listeners.size) {\n this.destroy()\n }\n }\n\n destroy(): void {\n this.listeners = new Set()\n this.#observers.forEach((observer) => {\n observer.destroy()\n })\n }\n\n setQueries(\n queries: Array<QueryObserverOptions>,\n options?: QueriesObserverOptions<TCombinedResult>,\n ): void {\n this.#queries = queries\n this.#options = options\n\n if (process.env.NODE_ENV !== 'production') {\n const queryHashes = queries.map(\n (query) => this.#client.defaultQueryOptions(query).queryHash,\n )\n if (new Set(queryHashes).size !== queryHashes.length) {\n console.warn(\n '[QueriesObserver]: Duplicate Queries found. This might result in unexpected behavior.',\n )\n }\n }\n\n notifyManager.batch(() => {\n const prevObservers = this.#observers\n\n const newObserverMatches = this.#findMatchingObservers(this.#queries)\n\n // set options for the new observers to notify of changes\n newObserverMatches.forEach((match) =>\n match.observer.setOptions(match.defaultedQueryOptions),\n )\n\n const newObservers = newObserverMatches.map((match) => match.observer)\n const newResult = newObservers.map((observer) =>\n observer.getCurrentResult(),\n )\n\n const hasLengthChange = prevObservers.length !== newObservers.length\n const hasIndexChange = newObservers.some(\n (observer, index) => observer !== prevObservers[index],\n )\n const hasStructuralChange = hasLengthChange || hasIndexChange\n\n const hasResultChange = hasStructuralChange\n ? true\n : newResult.some((result, index) => {\n const prev = this.#result[index]\n return !prev || !shallowEqualObjects(result, prev)\n })\n\n if (!hasStructuralChange && !hasResultChange) return\n\n if (hasStructuralChange) {\n this.#observerMatches = newObserverMatches\n this.#observers = newObservers\n }\n\n this.#result = newResult\n\n if (!this.hasListeners()) return\n\n if (hasStructuralChange) {\n difference(prevObservers, newObservers).forEach((observer) => {\n observer.destroy()\n })\n difference(newObservers, prevObservers).forEach((observer) => {\n observer.subscribe((result) => {\n this.#onUpdate(observer, result)\n })\n })\n }\n\n this.#notify()\n })\n }\n\n getCurrentResult(): Array<QueryObserverResult> {\n return this.#result\n }\n\n getQueries() {\n return this.#observers.map((observer) => observer.getCurrentQuery())\n }\n\n getObservers() {\n return this.#observers\n }\n\n getOptimisticResult(\n queries: Array<QueryObserverOptions>,\n combine: CombineFn<TCombinedResult> | undefined,\n ): [\n rawResult: Array<QueryObserverResult>,\n combineResult: (r?: Array<QueryObserverResult>) => TCombinedResult,\n trackResult: () => Array<QueryObserverResult>,\n ] {\n const matches = this.#findMatchingObservers(queries)\n const result = matches.map((match) =>\n match.observer.getOptimisticResult(match.defaultedQueryOptions),\n )\n const queryHashes = matches.map(\n (match) => match.defaultedQueryOptions.queryHash,\n )\n\n return [\n result,\n (r?: Array<QueryObserverResult>) => {\n return this.#combineResult(r ?? result, combine, queryHashes)\n },\n () => {\n return this.#trackResult(result, matches)\n },\n ]\n }\n\n #trackResult(\n result: Array<QueryObserverResult>,\n matches: Array<QueryObserverMatch>,\n ) {\n const trackedProps = new Set<keyof QueryObserverResult>()\n\n return matches.map((match, index) => {\n const observerResult = result[index]!\n return !match.defaultedQueryOptions.notifyOnChangeProps\n ? match.observer.trackResult(observerResult, (accessedProp) => {\n // track property on all observers to ensure proper (synchronized) tracking (#7000)\n if (!trackedProps.has(accessedProp)) {\n trackedProps.add(accessedProp)\n matches.forEach((m) => {\n m.observer.trackProp(accessedProp)\n })\n }\n })\n : observerResult\n })\n }\n\n #combineResult(\n input: Array<QueryObserverResult>,\n combine: CombineFn<TCombinedResult> | undefined,\n queryHashes?: Array<string>,\n ): TCombinedResult {\n if (combine) {\n const lastHashes = this.#lastQueryHashes\n const queryHashesChanged =\n queryHashes !== undefined &&\n lastHashes !== undefined &&\n (lastHashes.length !== queryHashes.length ||\n queryHashes.some((hash, i) => hash !== lastHashes[i]))\n\n if (\n this.#result !== this.#lastResult ||\n queryHashesChanged ||\n combine !== this.#lastCombine\n ) {\n this.#lastCombine = combine\n this.#lastResult = this.#result\n\n if (queryHashes !== undefined) {\n this.#lastQueryHashes = queryHashes\n }\n this.#combinedResult = replaceEqualDeep(\n this.#combinedResult,\n combine(input),\n )\n }\n\n return this.#combinedResult\n }\n return input as any\n }\n\n #shouldSkipCombine(): boolean {\n return (\n !this.#options?.combine ||\n this.#observers.some((observer, index) => {\n return (\n observer.options.suspense && this.#result[index]?.data === undefined\n )\n })\n )\n }\n\n #findMatchingObservers(\n queries: Array<QueryObserverOptions>,\n ): Array<QueryObserverMatch> {\n const prevObserversMap = new Map<string, Array<QueryObserver>>()\n\n this.#observers.forEach((observer) => {\n const key = observer.options.queryHash\n if (!key) return\n\n const previousObservers = prevObserversMap.get(key)\n\n if (previousObservers) {\n previousObservers.push(observer)\n } else {\n prevObserversMap.set(key, [observer])\n }\n })\n\n const observers: Array<QueryObserverMatch> = []\n\n queries.forEach((options) => {\n const defaultedOptions = this.#client.defaultQueryOptions(options)\n const match = prevObserversMap.get(defaultedOptions.queryHash)?.shift()\n const observer =\n match ?? new QueryObserver(this.#client, defaultedOptions)\n\n observers.push({\n defaultedQueryOptions: defaultedOptions,\n observer,\n })\n })\n\n return observers\n }\n\n #onUpdate(observer: QueryObserver, result: QueryObserverResult): void {\n const index = this.#observers.indexOf(observer)\n if (index !== -1) {\n this.#result = this.#result.slice()\n this.#result[index] = result\n this.#notify()\n }\n }\n\n #notify(): void {\n if (this.hasListeners()) {\n const shouldSkipCombine = this.#shouldSkipCombine()\n const previousResult = this.#combinedResult\n const newResult = shouldSkipCombine\n ? previousResult\n : this.#combineResult(\n this.#trackResult(this.#result, this.#observerMatches),\n this.#options?.combine,\n )\n\n if (shouldSkipCombine || previousResult !== newResult) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(this.#result)\n })\n })\n }\n }\n }\n}\n\ntype QueryObserverMatch = {\n defaultedQueryOptions: DefaultedQueryObserverOptions\n observer: QueryObserver\n}\n"],"mappings":"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"} |
@@ -105,3 +105,3 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); | ||
| isActive() { | ||
| return this.observers.some((observer) => require_utils.resolveQueryBoolean(observer.options.enabled, this) !== false); | ||
| return this.observers.some((observer) => require_utils.resolveQueryValue(observer.options.enabled, this) !== false); | ||
| } | ||
@@ -116,3 +116,3 @@ isDisabled() { | ||
| isStatic() { | ||
| if (this.getObserversCount() > 0) return this.observers.some((observer) => require_utils.resolveStaleTime(observer.options.staleTime, this) === "static"); | ||
| if (this.getObserversCount() > 0) return this.observers.some((observer) => require_utils.resolveQueryValue(observer.options.staleTime, this) === "static"); | ||
| return false; | ||
@@ -159,3 +159,3 @@ } | ||
| if (require_classPrivateFieldSet2._classPrivateFieldGet2(_retryer, this)) { | ||
| if (require_classPrivateFieldSet2._classPrivateFieldGet2(_abortSignalConsumed, this) || require_classPrivateFieldSet2._assertClassBrand(_Query_brand, this, _isInitialPausedFetch).call(this)) require_classPrivateFieldSet2._classPrivateFieldGet2(_retryer, this).cancel({ revert: true }); | ||
| if (require_classPrivateFieldSet2._classPrivateFieldGet2(_abortSignalConsumed, this) || this.state.fetchStatus === "paused" && this.state.status === "pending") require_classPrivateFieldSet2._classPrivateFieldGet2(_retryer, this).cancel({ revert: true }); | ||
| else require_classPrivateFieldSet2._classPrivateFieldGet2(_retryer, this).cancelRetry(); | ||
@@ -305,5 +305,2 @@ } | ||
| }; | ||
| function _isInitialPausedFetch() { | ||
| return this.state.fetchStatus === "paused" && this.state.status === "pending"; | ||
| } | ||
| function _dispatch(action) { | ||
@@ -310,0 +307,0 @@ const reducer = (state) => { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"query.cjs","names":["Removable","replaceData","noop","resolveQueryBoolean","skipToken","resolveStaleTime","timeUntilStale","ensureQueryFn","infiniteQueryBehavior","createRetryer","CancelledError","canFetch"],"sources":["../../src/query.ts"],"sourcesContent":["import {\n ensureQueryFn,\n noop,\n replaceData,\n resolveQueryBoolean,\n resolveStaleTime,\n skipToken,\n timeUntilStale,\n} from './utils'\nimport { notifyManager } from './notifyManager'\nimport { CancelledError, canFetch, createRetryer } from './retryer'\nimport { Removable } from './removable'\nimport { infiniteQueryBehavior } from './infiniteQueryBehavior'\nimport type { QueryCache } from './queryCache'\nimport type { QueryClient } from './queryClient'\nimport type {\n CancelOptions,\n DefaultError,\n FetchStatus,\n InitialDataFunction,\n OmitKeyof,\n QueryFunctionContext,\n QueryKey,\n QueryMeta,\n QueryOptions,\n QueryStatus,\n SetDataOptions,\n StaleTime,\n} from './types'\nimport type { QueryObserver } from './queryObserver'\nimport type { Retryer } from './retryer'\n\n// TYPES\n\ninterface QueryConfig<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n client: QueryClient\n queryKey: TQueryKey\n queryHash: string\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n defaultOptions?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n state?: QueryState<TData, TError>\n}\n\nexport interface QueryState<TData = unknown, TError = DefaultError> {\n data: TData | undefined\n dataUpdateCount: number\n dataUpdatedAt: number\n error: TError | null\n errorUpdateCount: number\n errorUpdatedAt: number\n fetchFailureCount: number\n fetchFailureReason: TError | null\n fetchMeta: FetchMeta | null\n isInvalidated: boolean\n status: QueryStatus\n fetchStatus: FetchStatus\n}\n\nexport interface FetchContext<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n fetchFn: () => unknown | Promise<unknown>\n fetchOptions?: FetchOptions\n signal: AbortSignal\n options: QueryOptions<TQueryFnData, TError, TData, any>\n client: QueryClient\n queryKey: TQueryKey\n state: QueryState<TData, TError>\n}\n\nexport interface QueryBehavior<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n onFetch: (\n context: FetchContext<TQueryFnData, TError, TData, TQueryKey>,\n query: Query,\n ) => void\n}\n\nexport type FetchDirection = 'forward' | 'backward'\n\nexport interface FetchMeta {\n fetchMore?: { direction: FetchDirection }\n}\n\nexport interface FetchOptions<TData = unknown> {\n cancelRefetch?: boolean\n meta?: FetchMeta\n initialPromise?: Promise<TData>\n}\n\ninterface FailedAction<TError> {\n type: 'failed'\n failureCount: number\n error: TError\n}\n\ninterface FetchAction {\n type: 'fetch'\n meta?: FetchMeta\n}\n\ninterface SuccessAction<TData> {\n data: TData | undefined\n type: 'success'\n dataUpdatedAt?: number\n manual?: boolean\n}\n\ninterface ErrorAction<TError> {\n type: 'error'\n error: TError\n}\n\ninterface InvalidateAction {\n type: 'invalidate'\n}\n\ninterface PauseAction {\n type: 'pause'\n}\n\ninterface ContinueAction {\n type: 'continue'\n}\n\ninterface SetStateAction<TData, TError> {\n type: 'setState'\n state: Partial<QueryState<TData, TError>>\n}\n\nexport type Action<TData, TError> =\n | ContinueAction\n | ErrorAction<TError>\n | FailedAction<TError>\n | FetchAction\n | InvalidateAction\n | PauseAction\n | SetStateAction<TData, TError>\n | SuccessAction<TData>\n\n// CLASS\n\nexport class Query<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends Removable {\n queryKey: TQueryKey\n queryHash: string\n options!: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n state: QueryState<TData, TError>\n #queryType?: 'infinite'\n\n #initialState: QueryState<TData, TError>\n #revertState?: QueryState<TData, TError>\n #cache: QueryCache\n #client: QueryClient\n #retryer?: Retryer<TData>\n observers: Array<QueryObserver<any, any, any, any, any>>\n #defaultOptions?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n #abortSignalConsumed: boolean\n\n constructor(config: QueryConfig<TQueryFnData, TError, TData, TQueryKey>) {\n super()\n\n this.#abortSignalConsumed = false\n this.#defaultOptions = config.defaultOptions\n this.setOptions(config.options)\n this.observers = []\n this.#client = config.client\n this.#cache = this.#client.getQueryCache()\n this.queryKey = config.queryKey\n this.queryHash = config.queryHash\n this.#initialState = getDefaultState(this.options)\n this.state = config.state ?? this.#initialState\n this.scheduleGc()\n }\n get meta(): QueryMeta | undefined {\n return this.options.meta\n }\n\n get queryType() {\n return this.#queryType\n }\n\n get promise(): Promise<TData> | undefined {\n return this.#retryer?.promise\n }\n\n setOptions(\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): void {\n this.options = { ...this.#defaultOptions, ...options }\n\n if (options?._type) {\n this.#queryType = options._type\n }\n\n this.updateGcTime(this.options.gcTime)\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (this.state && this.state.data === undefined) {\n const defaultState = getDefaultState(this.options)\n if (defaultState.data !== undefined) {\n this.setState(\n successState(defaultState.data, defaultState.dataUpdatedAt),\n )\n this.#initialState = defaultState\n }\n }\n }\n\n protected optionalRemove() {\n if (!this.observers.length && this.state.fetchStatus === 'idle') {\n this.#cache.remove(this)\n }\n }\n\n setData(\n newData: TData,\n options?: SetDataOptions & { manual: boolean },\n ): TData {\n const data = replaceData(this.state.data, newData, this.options)\n\n // Set data and mark it as cached\n this.#dispatch({\n data,\n type: 'success',\n dataUpdatedAt: options?.updatedAt,\n manual: options?.manual,\n })\n\n return data\n }\n\n setState(state: Partial<QueryState<TData, TError>>): void {\n this.#dispatch({ type: 'setState', state })\n }\n\n cancel(options?: CancelOptions): Promise<void> {\n const promise = this.#retryer?.promise\n this.#retryer?.cancel(options)\n return promise ? promise.then(noop).catch(noop) : Promise.resolve()\n }\n\n destroy(): void {\n super.destroy()\n\n this.cancel({ silent: true })\n }\n\n get resetState(): QueryState<TData, TError> {\n return this.#initialState\n }\n\n reset(): void {\n this.destroy()\n this.setState(this.resetState)\n }\n\n isActive(): boolean {\n return this.observers.some(\n (observer) =>\n resolveQueryBoolean(observer.options.enabled, this) !== false,\n )\n }\n\n isDisabled(): boolean {\n if (this.getObserversCount() > 0) {\n return !this.isActive()\n }\n // if a query has no observers, it should still be considered disabled if it never attempted a fetch\n return this.options.queryFn === skipToken || !this.isFetched()\n }\n\n isFetched() {\n return this.state.dataUpdateCount + this.state.errorUpdateCount > 0\n }\n\n isStatic(): boolean {\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) =>\n resolveStaleTime(observer.options.staleTime, this) === 'static',\n )\n }\n\n return false\n }\n\n isStale(): boolean {\n // check observers first, their `isStale` has the source of truth\n // calculated with `isStaleByTime` and it takes `enabled` into account\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) => observer.getCurrentResult().isStale,\n )\n }\n\n return this.state.data === undefined || this.state.isInvalidated\n }\n\n isStaleByTime(staleTime: StaleTime = 0): boolean {\n // no data is always stale\n if (this.state.data === undefined) {\n return true\n }\n // static is never stale\n if (staleTime === 'static') {\n return false\n }\n // if the query is invalidated, it is stale\n if (this.state.isInvalidated) {\n return true\n }\n\n return !timeUntilStale(this.state.dataUpdatedAt, staleTime)\n }\n\n onFocus(): void {\n const observer = this.observers.find((x) => x.shouldFetchOnWindowFocus())\n\n observer?.refetch({ cancelRefetch: false })\n\n // Continue fetch if currently paused\n this.#retryer?.continue()\n }\n\n onOnline(): void {\n const observer = this.observers.find((x) => x.shouldFetchOnReconnect())\n\n observer?.refetch({ cancelRefetch: false })\n\n // Continue fetch if currently paused\n this.#retryer?.continue()\n }\n\n addObserver(observer: QueryObserver<any, any, any, any, any>): void {\n if (!this.observers.includes(observer)) {\n this.observers.push(observer)\n\n // Stop the query from being garbage collected\n this.clearGcTimeout()\n\n this.#cache.notify({ type: 'observerAdded', query: this, observer })\n }\n }\n\n removeObserver(observer: QueryObserver<any, any, any, any, any>): void {\n const index = this.observers.indexOf(observer)\n if (index !== -1) {\n this.observers.splice(index, 1)\n\n if (!this.observers.length) {\n // If the transport layer does not support cancellation\n // we'll let the query continue so the result can be cached\n if (this.#retryer) {\n if (this.#abortSignalConsumed || this.#isInitialPausedFetch()) {\n this.#retryer.cancel({ revert: true })\n } else {\n this.#retryer.cancelRetry()\n }\n }\n\n this.scheduleGc()\n }\n\n this.#cache.notify({ type: 'observerRemoved', query: this, observer })\n }\n }\n\n getObserversCount(): number {\n return this.observers.length\n }\n\n #isInitialPausedFetch(): boolean {\n return (\n this.state.fetchStatus === 'paused' && this.state.status === 'pending'\n )\n }\n\n invalidate(): void {\n if (!this.state.isInvalidated) {\n this.#dispatch({ type: 'invalidate' })\n }\n }\n\n async fetch(\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n fetchOptions?: FetchOptions<TQueryFnData>,\n ): Promise<TData> {\n if (\n this.state.fetchStatus !== 'idle' &&\n // If the promise in the retryer is already rejected, we have to definitely\n // re-start the fetch; there is a chance that the query is still in a\n // pending state when that happens\n this.#retryer?.status() !== 'rejected'\n ) {\n if (this.state.data !== undefined && fetchOptions?.cancelRefetch) {\n // Silently cancel current fetch if the user wants to cancel refetch\n this.cancel({ silent: true })\n } else if (this.#retryer) {\n // make sure that retries that were potentially cancelled due to unmounts can continue\n this.#retryer.continueRetry()\n // Return current promise if we are already fetching\n return this.#retryer.promise\n }\n }\n\n // Update config if passed, otherwise the config from the last execution is used\n if (options) {\n this.setOptions(options)\n }\n\n // Use the options from the first observer with a query function if no function is found.\n // This can happen when the query is hydrated or created with setQueryData.\n if (!this.options.queryFn) {\n const observer = this.observers.find((x) => x.options.queryFn)\n if (observer) {\n this.setOptions(observer.options)\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (!Array.isArray(this.options.queryKey)) {\n console.error(\n `As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`,\n )\n }\n }\n\n const abortController = new AbortController()\n\n // Adds an enumerable signal property to the object that\n // which sets abortSignalConsumed to true when the signal\n // is read.\n const addSignalProperty = (object: unknown) => {\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n this.#abortSignalConsumed = true\n return abortController.signal\n },\n })\n }\n\n // Create fetch function\n const fetchFn = () => {\n const queryFn = ensureQueryFn(this.options, fetchOptions)\n\n // Create query function context\n const createQueryFnContext = (): QueryFunctionContext<TQueryKey> => {\n const queryFnContext: OmitKeyof<\n QueryFunctionContext<TQueryKey>,\n 'signal'\n > = {\n client: this.#client,\n queryKey: this.queryKey,\n meta: this.meta,\n }\n addSignalProperty(queryFnContext)\n return queryFnContext as QueryFunctionContext<TQueryKey>\n }\n\n const queryFnContext = createQueryFnContext()\n\n this.#abortSignalConsumed = false\n if (this.options.persister) {\n return this.options.persister(\n queryFn,\n queryFnContext,\n this as unknown as Query,\n )\n }\n\n return queryFn(queryFnContext)\n }\n\n // Trigger behavior hook\n const createFetchContext = (): FetchContext<\n TQueryFnData,\n TError,\n TData,\n TQueryKey\n > => {\n const context: OmitKeyof<\n FetchContext<TQueryFnData, TError, TData, TQueryKey>,\n 'signal'\n > = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n client: this.#client,\n state: this.state,\n fetchFn,\n }\n\n addSignalProperty(context)\n return context as FetchContext<TQueryFnData, TError, TData, TQueryKey>\n }\n\n const context = createFetchContext()\n\n const behavior =\n this.#queryType === 'infinite'\n ? (infiniteQueryBehavior(\n (this.options as { pages?: number }).pages,\n ) as QueryBehavior<TQueryFnData, TError, TData, TQueryKey>)\n : this.options.behavior\n behavior?.onFetch(context, this as unknown as Query)\n\n // Store state in case the current fetch needs to be reverted\n this.#revertState = this.state\n\n // Set to fetching state if not already in it\n if (\n this.state.fetchStatus === 'idle' ||\n this.state.fetchMeta !== context.fetchOptions?.meta\n ) {\n this.#dispatch({ type: 'fetch', meta: context.fetchOptions?.meta })\n }\n\n // Try to fetch the data\n const retryer = (this.#retryer = createRetryer({\n initialPromise: fetchOptions?.initialPromise as\n | Promise<TData>\n | undefined,\n fn: context.fetchFn as () => Promise<TData>,\n onCancel: (error) => {\n if (error instanceof CancelledError && error.revert) {\n this.setState({\n ...this.#revertState,\n fetchStatus: 'idle' as const,\n })\n }\n abortController.abort()\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: 'failed', failureCount, error })\n },\n onPause: () => {\n this.#dispatch({ type: 'pause' })\n },\n onContinue: () => {\n this.#dispatch({ type: 'continue' })\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode,\n canRun: () => true,\n }))\n\n try {\n const data = await retryer.start()\n // this is more of a runtime guard\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (data === undefined) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(\n `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`,\n )\n }\n throw new Error(`${this.queryHash} data is undefined`)\n }\n\n this.setData(data)\n\n // Notify cache callback\n this.#cache.config.onSuccess?.(data, this as Query<any, any, any, any>)\n this.#cache.config.onSettled?.(\n data,\n this.state.error as any,\n this as Query<any, any, any, any>,\n )\n return data\n } catch (error) {\n if (error instanceof CancelledError) {\n if (error.silent) {\n // silent cancellation implies a new fetch is going to be started,\n // so we piggyback onto that promise\n return this.#retryer.promise\n } else if (error.revert) {\n // transform error into reverted state data\n // if the initial fetch was cancelled, we have no data, so we have\n // to get reject with a CancelledError\n if (this.state.data === undefined) {\n throw error\n }\n return this.state.data\n }\n }\n this.#dispatch({\n type: 'error',\n error: error as TError,\n })\n\n // Notify cache callback\n this.#cache.config.onError?.(\n error as any,\n this as Query<any, any, any, any>,\n )\n this.#cache.config.onSettled?.(\n this.state.data,\n error as any,\n this as Query<any, any, any, any>,\n )\n\n throw error // rethrow the error for further handling\n } finally {\n // The settled retryer's promise would otherwise pin this fetch's raw\n // result (a second copy after structural sharing) for the query's lifetime\n if (this.#retryer === retryer) {\n this.#retryer = undefined\n }\n // Schedule query gc after fetching\n this.scheduleGc()\n }\n }\n\n #dispatch(action: Action<TData, TError>): void {\n const reducer = (\n state: QueryState<TData, TError>,\n ): QueryState<TData, TError> => {\n switch (action.type) {\n case 'failed':\n return {\n ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error,\n }\n case 'pause':\n return {\n ...state,\n fetchStatus: 'paused',\n }\n case 'continue':\n return {\n ...state,\n fetchStatus: 'fetching',\n }\n case 'fetch':\n return {\n ...state,\n ...fetchState(state.data, this.options),\n fetchMeta: action.meta ?? null,\n }\n case 'success':\n const newState = {\n ...state,\n ...successState(action.data, action.dataUpdatedAt),\n dataUpdateCount: state.dataUpdateCount + 1,\n ...(!action.manual && {\n fetchStatus: 'idle' as const,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n }),\n }\n // If fetching ends successfully, we don't need revertState as a fallback anymore.\n // For manual updates, capture the state to revert to it in case of a cancellation.\n this.#revertState = action.manual ? newState : undefined\n\n return newState\n case 'error':\n const error = action.error\n return {\n ...state,\n error,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchFailureReason: error,\n fetchStatus: 'idle',\n status: 'error',\n // flag existing data as invalidated if we get a background error\n // note that \"no data\" always means stale so we can set unconditionally here\n isInvalidated: true,\n }\n case 'invalidate':\n return {\n ...state,\n isInvalidated: true,\n }\n case 'setState':\n return {\n ...state,\n ...action.state,\n }\n }\n }\n\n this.state = reducer(this.state)\n\n notifyManager.batch(() => {\n // Keep the current iteration stable if an observer unsubscribes\n // synchronously while it is being notified.\n this.observers.slice().forEach((observer) => {\n observer.onQueryUpdate()\n })\n\n this.#cache.notify({ query: this, type: 'updated', action })\n })\n }\n}\n\nexport function fetchState<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n data: TData | undefined,\n options: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n) {\n return {\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchStatus: canFetch(options.networkMode) ? 'fetching' : 'paused',\n ...(data === undefined &&\n ({\n error: null,\n status: 'pending',\n } as const)),\n } as const\n}\n\nfunction successState<TData>(data: TData | undefined, dataUpdatedAt?: number) {\n return {\n data,\n dataUpdatedAt: dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: 'success' as const,\n }\n}\n\nfunction getDefaultState<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n options: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n): QueryState<TData, TError> {\n const data =\n typeof options.initialData === 'function'\n ? (options.initialData as InitialDataFunction<TData>)()\n : options.initialData\n\n const hasData = data !== undefined\n\n const initialDataUpdatedAt = hasData\n ? typeof options.initialDataUpdatedAt === 'function'\n ? options.initialDataUpdatedAt()\n : options.initialDataUpdatedAt\n : 0\n\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? (initialDataUpdatedAt ?? Date.now()) : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? 'success' : 'pending',\n fetchStatus: 'idle',\n }\n}\n"],"mappings":"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"} | ||
| {"version":3,"file":"query.cjs","names":["Removable","replaceData","noop","resolveQueryValue","skipToken","timeUntilStale","ensureQueryFn","infiniteQueryBehavior","createRetryer","CancelledError","canFetch"],"sources":["../../src/query.ts"],"sourcesContent":["import {\n ensureQueryFn,\n noop,\n replaceData,\n resolveQueryValue,\n skipToken,\n timeUntilStale,\n} from './utils'\nimport { notifyManager } from './notifyManager'\nimport { CancelledError, canFetch, createRetryer } from './retryer'\nimport { Removable } from './removable'\nimport { infiniteQueryBehavior } from './infiniteQueryBehavior'\nimport type { QueryCache } from './queryCache'\nimport type { QueryClient } from './queryClient'\nimport type {\n CancelOptions,\n DefaultError,\n FetchStatus,\n InitialDataFunction,\n OmitKeyof,\n QueryFunctionContext,\n QueryKey,\n QueryMeta,\n QueryOptions,\n QueryStatus,\n SetDataOptions,\n StaleTime,\n} from './types'\nimport type { QueryObserver } from './queryObserver'\nimport type { Retryer } from './retryer'\n\n// TYPES\n\ninterface QueryConfig<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n client: QueryClient\n queryKey: TQueryKey\n queryHash: string\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n defaultOptions?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n state?: QueryState<TData, TError>\n}\n\nexport interface QueryState<TData = unknown, TError = DefaultError> {\n data: TData | undefined\n dataUpdateCount: number\n dataUpdatedAt: number\n error: TError | null\n errorUpdateCount: number\n errorUpdatedAt: number\n fetchFailureCount: number\n fetchFailureReason: TError | null\n fetchMeta: FetchMeta | null\n isInvalidated: boolean\n status: QueryStatus\n fetchStatus: FetchStatus\n}\n\nexport interface FetchContext<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n fetchFn: () => unknown | Promise<unknown>\n fetchOptions?: FetchOptions\n signal: AbortSignal\n options: QueryOptions<TQueryFnData, TError, TData, any>\n client: QueryClient\n queryKey: TQueryKey\n state: QueryState<TData, TError>\n}\n\nexport interface QueryBehavior<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n onFetch: (\n context: FetchContext<TQueryFnData, TError, TData, TQueryKey>,\n query: Query,\n ) => void\n}\n\nexport type FetchDirection = 'forward' | 'backward'\n\nexport interface FetchMeta {\n fetchMore?: { direction: FetchDirection }\n}\n\nexport interface FetchOptions<TData = unknown> {\n cancelRefetch?: boolean\n meta?: FetchMeta\n initialPromise?: Promise<TData>\n}\n\ninterface FailedAction<TError> {\n type: 'failed'\n failureCount: number\n error: TError\n}\n\ninterface FetchAction {\n type: 'fetch'\n meta?: FetchMeta\n}\n\ninterface SuccessAction<TData> {\n data: TData | undefined\n type: 'success'\n dataUpdatedAt?: number\n manual?: boolean\n}\n\ninterface ErrorAction<TError> {\n type: 'error'\n error: TError\n}\n\ninterface InvalidateAction {\n type: 'invalidate'\n}\n\ninterface PauseAction {\n type: 'pause'\n}\n\ninterface ContinueAction {\n type: 'continue'\n}\n\ninterface SetStateAction<TData, TError> {\n type: 'setState'\n state: Partial<QueryState<TData, TError>>\n}\n\nexport type Action<TData, TError> =\n | ContinueAction\n | ErrorAction<TError>\n | FailedAction<TError>\n | FetchAction\n | InvalidateAction\n | PauseAction\n | SetStateAction<TData, TError>\n | SuccessAction<TData>\n\n// CLASS\n\nexport class Query<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends Removable {\n queryKey: TQueryKey\n queryHash: string\n options!: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n state: QueryState<TData, TError>\n #queryType?: 'infinite'\n\n #initialState: QueryState<TData, TError>\n #revertState?: QueryState<TData, TError>\n #cache: QueryCache\n #client: QueryClient\n #retryer?: Retryer<TData>\n observers: Array<QueryObserver<any, any, any, any, any>>\n #defaultOptions?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n #abortSignalConsumed: boolean\n\n constructor(config: QueryConfig<TQueryFnData, TError, TData, TQueryKey>) {\n super()\n\n this.#abortSignalConsumed = false\n this.#defaultOptions = config.defaultOptions\n this.setOptions(config.options)\n this.observers = []\n this.#client = config.client\n this.#cache = this.#client.getQueryCache()\n this.queryKey = config.queryKey\n this.queryHash = config.queryHash\n this.#initialState = getDefaultState(this.options)\n this.state = config.state ?? this.#initialState\n this.scheduleGc()\n }\n get meta(): QueryMeta | undefined {\n return this.options.meta\n }\n\n get queryType() {\n return this.#queryType\n }\n\n get promise(): Promise<TData> | undefined {\n return this.#retryer?.promise\n }\n\n setOptions(\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): void {\n this.options = { ...this.#defaultOptions, ...options }\n\n if (options?._type) {\n this.#queryType = options._type\n }\n\n this.updateGcTime(this.options.gcTime)\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (this.state && this.state.data === undefined) {\n const defaultState = getDefaultState(this.options)\n if (defaultState.data !== undefined) {\n this.setState(\n successState(defaultState.data, defaultState.dataUpdatedAt),\n )\n this.#initialState = defaultState\n }\n }\n }\n\n protected optionalRemove() {\n if (!this.observers.length && this.state.fetchStatus === 'idle') {\n this.#cache.remove(this)\n }\n }\n\n setData(\n newData: TData,\n options?: SetDataOptions & { manual: boolean },\n ): TData {\n const data = replaceData(this.state.data, newData, this.options)\n\n // Set data and mark it as cached\n this.#dispatch({\n data,\n type: 'success',\n dataUpdatedAt: options?.updatedAt,\n manual: options?.manual,\n })\n\n return data\n }\n\n setState(state: Partial<QueryState<TData, TError>>): void {\n this.#dispatch({ type: 'setState', state })\n }\n\n cancel(options?: CancelOptions): Promise<void> {\n const promise = this.#retryer?.promise\n this.#retryer?.cancel(options)\n return promise ? promise.then(noop).catch(noop) : Promise.resolve()\n }\n\n destroy(): void {\n super.destroy()\n\n this.cancel({ silent: true })\n }\n\n get resetState(): QueryState<TData, TError> {\n return this.#initialState\n }\n\n reset(): void {\n this.destroy()\n this.setState(this.resetState)\n }\n\n isActive(): boolean {\n return this.observers.some(\n (observer) => resolveQueryValue(observer.options.enabled, this) !== false,\n )\n }\n\n isDisabled(): boolean {\n if (this.getObserversCount() > 0) {\n return !this.isActive()\n }\n // if a query has no observers, it should still be considered disabled if it never attempted a fetch\n return this.options.queryFn === skipToken || !this.isFetched()\n }\n\n isFetched() {\n return this.state.dataUpdateCount + this.state.errorUpdateCount > 0\n }\n\n isStatic(): boolean {\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) =>\n resolveQueryValue(observer.options.staleTime, this) === 'static',\n )\n }\n\n return false\n }\n\n isStale(): boolean {\n // check observers first, their `isStale` has the source of truth\n // calculated with `isStaleByTime` and it takes `enabled` into account\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) => observer.getCurrentResult().isStale,\n )\n }\n\n return this.state.data === undefined || this.state.isInvalidated\n }\n\n isStaleByTime(staleTime: StaleTime = 0): boolean {\n // no data is always stale\n if (this.state.data === undefined) {\n return true\n }\n // static is never stale\n if (staleTime === 'static') {\n return false\n }\n // if the query is invalidated, it is stale\n if (this.state.isInvalidated) {\n return true\n }\n\n return !timeUntilStale(this.state.dataUpdatedAt, staleTime)\n }\n\n onFocus(): void {\n const observer = this.observers.find((x) => x.shouldFetchOnWindowFocus())\n\n observer?.refetch({ cancelRefetch: false })\n\n // Continue fetch if currently paused\n this.#retryer?.continue()\n }\n\n onOnline(): void {\n const observer = this.observers.find((x) => x.shouldFetchOnReconnect())\n\n observer?.refetch({ cancelRefetch: false })\n\n // Continue fetch if currently paused\n this.#retryer?.continue()\n }\n\n addObserver(observer: QueryObserver<any, any, any, any, any>): void {\n if (!this.observers.includes(observer)) {\n this.observers.push(observer)\n\n // Stop the query from being garbage collected\n this.clearGcTimeout()\n\n this.#cache.notify({ type: 'observerAdded', query: this, observer })\n }\n }\n\n removeObserver(observer: QueryObserver<any, any, any, any, any>): void {\n const index = this.observers.indexOf(observer)\n if (index !== -1) {\n this.observers.splice(index, 1)\n\n if (!this.observers.length) {\n // If the transport layer does not support cancellation\n // we'll let the query continue so the result can be cached\n if (this.#retryer) {\n if (\n this.#abortSignalConsumed ||\n (this.state.fetchStatus === 'paused' &&\n this.state.status === 'pending')\n ) {\n this.#retryer.cancel({ revert: true })\n } else {\n this.#retryer.cancelRetry()\n }\n }\n\n this.scheduleGc()\n }\n\n this.#cache.notify({ type: 'observerRemoved', query: this, observer })\n }\n }\n\n getObserversCount(): number {\n return this.observers.length\n }\n\n invalidate(): void {\n if (!this.state.isInvalidated) {\n this.#dispatch({ type: 'invalidate' })\n }\n }\n\n async fetch(\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n fetchOptions?: FetchOptions<TQueryFnData>,\n ): Promise<TData> {\n if (\n this.state.fetchStatus !== 'idle' &&\n // If the promise in the retryer is already rejected, we have to definitely\n // re-start the fetch; there is a chance that the query is still in a\n // pending state when that happens\n this.#retryer?.status() !== 'rejected'\n ) {\n if (this.state.data !== undefined && fetchOptions?.cancelRefetch) {\n // Silently cancel current fetch if the user wants to cancel refetch\n this.cancel({ silent: true })\n } else if (this.#retryer) {\n // make sure that retries that were potentially cancelled due to unmounts can continue\n this.#retryer.continueRetry()\n // Return current promise if we are already fetching\n return this.#retryer.promise\n }\n }\n\n // Update config if passed, otherwise the config from the last execution is used\n if (options) {\n this.setOptions(options)\n }\n\n // Use the options from the first observer with a query function if no function is found.\n // This can happen when the query is hydrated or created with setQueryData.\n if (!this.options.queryFn) {\n const observer = this.observers.find((x) => x.options.queryFn)\n if (observer) {\n this.setOptions(observer.options)\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (!Array.isArray(this.options.queryKey)) {\n console.error(\n `As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`,\n )\n }\n }\n\n const abortController = new AbortController()\n\n // Adds an enumerable signal property to the object that\n // which sets abortSignalConsumed to true when the signal\n // is read.\n const addSignalProperty = (object: unknown) => {\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n this.#abortSignalConsumed = true\n return abortController.signal\n },\n })\n }\n\n // Create fetch function\n const fetchFn = () => {\n const queryFn = ensureQueryFn(this.options, fetchOptions)\n\n // Create query function context\n const createQueryFnContext = (): QueryFunctionContext<TQueryKey> => {\n const queryFnContext: OmitKeyof<\n QueryFunctionContext<TQueryKey>,\n 'signal'\n > = {\n client: this.#client,\n queryKey: this.queryKey,\n meta: this.meta,\n }\n addSignalProperty(queryFnContext)\n return queryFnContext as QueryFunctionContext<TQueryKey>\n }\n\n const queryFnContext = createQueryFnContext()\n\n this.#abortSignalConsumed = false\n if (this.options.persister) {\n return this.options.persister(\n queryFn,\n queryFnContext,\n this as unknown as Query,\n )\n }\n\n return queryFn(queryFnContext)\n }\n\n // Trigger behavior hook\n const createFetchContext = (): FetchContext<\n TQueryFnData,\n TError,\n TData,\n TQueryKey\n > => {\n const context: OmitKeyof<\n FetchContext<TQueryFnData, TError, TData, TQueryKey>,\n 'signal'\n > = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n client: this.#client,\n state: this.state,\n fetchFn,\n }\n\n addSignalProperty(context)\n return context as FetchContext<TQueryFnData, TError, TData, TQueryKey>\n }\n\n const context = createFetchContext()\n\n const behavior =\n this.#queryType === 'infinite'\n ? (infiniteQueryBehavior(\n (this.options as { pages?: number }).pages,\n ) as QueryBehavior<TQueryFnData, TError, TData, TQueryKey>)\n : this.options.behavior\n behavior?.onFetch(context, this as unknown as Query)\n\n // Store state in case the current fetch needs to be reverted\n this.#revertState = this.state\n\n // Set to fetching state if not already in it\n if (\n this.state.fetchStatus === 'idle' ||\n this.state.fetchMeta !== context.fetchOptions?.meta\n ) {\n this.#dispatch({ type: 'fetch', meta: context.fetchOptions?.meta })\n }\n\n // Try to fetch the data\n const retryer = (this.#retryer = createRetryer({\n initialPromise: fetchOptions?.initialPromise as\n | Promise<TData>\n | undefined,\n fn: context.fetchFn as () => Promise<TData>,\n onCancel: (error) => {\n if (error instanceof CancelledError && error.revert) {\n this.setState({\n ...this.#revertState,\n fetchStatus: 'idle' as const,\n })\n }\n abortController.abort()\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: 'failed', failureCount, error })\n },\n onPause: () => {\n this.#dispatch({ type: 'pause' })\n },\n onContinue: () => {\n this.#dispatch({ type: 'continue' })\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode,\n canRun: () => true,\n }))\n\n try {\n const data = await retryer.start()\n // this is more of a runtime guard\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (data === undefined) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(\n `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`,\n )\n }\n throw new Error(`${this.queryHash} data is undefined`)\n }\n\n this.setData(data)\n\n // Notify cache callback\n this.#cache.config.onSuccess?.(data, this as Query<any, any, any, any>)\n this.#cache.config.onSettled?.(\n data,\n this.state.error as any,\n this as Query<any, any, any, any>,\n )\n return data\n } catch (error) {\n if (error instanceof CancelledError) {\n if (error.silent) {\n // silent cancellation implies a new fetch is going to be started,\n // so we piggyback onto that promise\n return this.#retryer.promise\n } else if (error.revert) {\n // transform error into reverted state data\n // if the initial fetch was cancelled, we have no data, so we have\n // to get reject with a CancelledError\n if (this.state.data === undefined) {\n throw error\n }\n return this.state.data\n }\n }\n this.#dispatch({\n type: 'error',\n error: error as TError,\n })\n\n // Notify cache callback\n this.#cache.config.onError?.(\n error as any,\n this as Query<any, any, any, any>,\n )\n this.#cache.config.onSettled?.(\n this.state.data,\n error as any,\n this as Query<any, any, any, any>,\n )\n\n throw error // rethrow the error for further handling\n } finally {\n // The settled retryer's promise would otherwise pin this fetch's raw\n // result (a second copy after structural sharing) for the query's lifetime\n if (this.#retryer === retryer) {\n this.#retryer = undefined\n }\n // Schedule query gc after fetching\n this.scheduleGc()\n }\n }\n\n #dispatch(action: Action<TData, TError>): void {\n const reducer = (\n state: QueryState<TData, TError>,\n ): QueryState<TData, TError> => {\n switch (action.type) {\n case 'failed':\n return {\n ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error,\n }\n case 'pause':\n return {\n ...state,\n fetchStatus: 'paused',\n }\n case 'continue':\n return {\n ...state,\n fetchStatus: 'fetching',\n }\n case 'fetch':\n return {\n ...state,\n ...fetchState(state.data, this.options),\n fetchMeta: action.meta ?? null,\n }\n case 'success':\n const newState = {\n ...state,\n ...successState(action.data, action.dataUpdatedAt),\n dataUpdateCount: state.dataUpdateCount + 1,\n ...(!action.manual && {\n fetchStatus: 'idle' as const,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n }),\n }\n // If fetching ends successfully, we don't need revertState as a fallback anymore.\n // For manual updates, capture the state to revert to it in case of a cancellation.\n this.#revertState = action.manual ? newState : undefined\n\n return newState\n case 'error':\n const error = action.error\n return {\n ...state,\n error,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchFailureReason: error,\n fetchStatus: 'idle',\n status: 'error',\n // flag existing data as invalidated if we get a background error\n // note that \"no data\" always means stale so we can set unconditionally here\n isInvalidated: true,\n }\n case 'invalidate':\n return {\n ...state,\n isInvalidated: true,\n }\n case 'setState':\n return {\n ...state,\n ...action.state,\n }\n }\n }\n\n this.state = reducer(this.state)\n\n notifyManager.batch(() => {\n // Keep the current iteration stable if an observer unsubscribes\n // synchronously while it is being notified.\n this.observers.slice().forEach((observer) => {\n observer.onQueryUpdate()\n })\n\n this.#cache.notify({ query: this, type: 'updated', action })\n })\n }\n}\n\nexport function fetchState<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n data: TData | undefined,\n options: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n) {\n return {\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchStatus: canFetch(options.networkMode) ? 'fetching' : 'paused',\n ...(data === undefined &&\n ({\n error: null,\n status: 'pending',\n } as const)),\n } as const\n}\n\nfunction successState<TData>(data: TData | undefined, dataUpdatedAt?: number) {\n return {\n data,\n dataUpdatedAt: dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: 'success' as const,\n }\n}\n\nfunction getDefaultState<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n options: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n): QueryState<TData, TError> {\n const data =\n typeof options.initialData === 'function'\n ? (options.initialData as InitialDataFunction<TData>)()\n : options.initialData\n\n const hasData = data !== undefined\n\n const initialDataUpdatedAt = hasData\n ? typeof options.initialDataUpdatedAt === 'function'\n ? options.initialDataUpdatedAt()\n : options.initialDataUpdatedAt\n : 0\n\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? (initialDataUpdatedAt ?? Date.now()) : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? 'success' : 'pending',\n fetchStatus: 'idle',\n }\n}\n"],"mappings":"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"} |
@@ -1,2 +0,2 @@ | ||
| import { $n as FetchOptions, Qn as FetchMeta, Xn as FetchContext, Yn as Action, Zn as FetchDirection, er as Query, nr as QueryState, rr as fetchState, tr as QueryBehavior } from "./hydration-BoHd-X9T.cjs"; | ||
| import { $n as Query, Jn as Action, Qn as FetchOptions, Xn as FetchDirection, Yn as FetchContext, Zn as FetchMeta, er as QueryBehavior, nr as fetchState, tr as QueryState } from "./hydration-DWGr3cFC.cjs"; | ||
| export { Action, FetchContext, FetchDirection, FetchMeta, FetchOptions, Query, QueryBehavior, QueryState, fetchState }; |
@@ -1,2 +0,2 @@ | ||
| import { $n as FetchOptions, Qn as FetchMeta, Xn as FetchContext, Yn as Action, Zn as FetchDirection, er as Query, nr as QueryState, rr as fetchState, tr as QueryBehavior } from "./hydration-DFwTM9vM.js"; | ||
| import { $n as Query, Jn as Action, Qn as FetchOptions, Xn as FetchDirection, Yn as FetchContext, Zn as FetchMeta, er as QueryBehavior, nr as fetchState, tr as QueryState } from "./hydration-Bjs0MSgg.js"; | ||
| export { Action, FetchContext, FetchDirection, FetchMeta, FetchOptions, Query, QueryBehavior, QueryState, fetchState }; |
| import { i as _classPrivateFieldInitSpec, n as _classPrivateFieldGet2, r as _assertClassBrand, t as _classPrivateFieldSet2 } from "./classPrivateFieldSet2-CV7wyte-.js"; | ||
| import { ensureQueryFn, noop, replaceData, resolveQueryBoolean, resolveStaleTime, skipToken, timeUntilStale } from "./utils.js"; | ||
| import { ensureQueryFn, noop, replaceData, resolveQueryValue, skipToken, timeUntilStale } from "./utils.js"; | ||
| import { notifyManager } from "./notifyManager.js"; | ||
@@ -104,3 +104,3 @@ import { CancelledError, canFetch, createRetryer } from "./retryer.js"; | ||
| isActive() { | ||
| return this.observers.some((observer) => resolveQueryBoolean(observer.options.enabled, this) !== false); | ||
| return this.observers.some((observer) => resolveQueryValue(observer.options.enabled, this) !== false); | ||
| } | ||
@@ -115,3 +115,3 @@ isDisabled() { | ||
| isStatic() { | ||
| if (this.getObserversCount() > 0) return this.observers.some((observer) => resolveStaleTime(observer.options.staleTime, this) === "static"); | ||
| if (this.getObserversCount() > 0) return this.observers.some((observer) => resolveQueryValue(observer.options.staleTime, this) === "static"); | ||
| return false; | ||
@@ -158,3 +158,3 @@ } | ||
| if (_classPrivateFieldGet2(_retryer, this)) { | ||
| if (_classPrivateFieldGet2(_abortSignalConsumed, this) || _assertClassBrand(_Query_brand, this, _isInitialPausedFetch).call(this)) _classPrivateFieldGet2(_retryer, this).cancel({ revert: true }); | ||
| if (_classPrivateFieldGet2(_abortSignalConsumed, this) || this.state.fetchStatus === "paused" && this.state.status === "pending") _classPrivateFieldGet2(_retryer, this).cancel({ revert: true }); | ||
| else _classPrivateFieldGet2(_retryer, this).cancelRetry(); | ||
@@ -304,5 +304,2 @@ } | ||
| }; | ||
| function _isInitialPausedFetch() { | ||
| return this.state.fetchStatus === "paused" && this.state.status === "pending"; | ||
| } | ||
| function _dispatch(action) { | ||
@@ -309,0 +306,0 @@ const reducer = (state) => { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"query.js","names":[],"sources":["../../src/query.ts"],"sourcesContent":["import {\n ensureQueryFn,\n noop,\n replaceData,\n resolveQueryBoolean,\n resolveStaleTime,\n skipToken,\n timeUntilStale,\n} from './utils'\nimport { notifyManager } from './notifyManager'\nimport { CancelledError, canFetch, createRetryer } from './retryer'\nimport { Removable } from './removable'\nimport { infiniteQueryBehavior } from './infiniteQueryBehavior'\nimport type { QueryCache } from './queryCache'\nimport type { QueryClient } from './queryClient'\nimport type {\n CancelOptions,\n DefaultError,\n FetchStatus,\n InitialDataFunction,\n OmitKeyof,\n QueryFunctionContext,\n QueryKey,\n QueryMeta,\n QueryOptions,\n QueryStatus,\n SetDataOptions,\n StaleTime,\n} from './types'\nimport type { QueryObserver } from './queryObserver'\nimport type { Retryer } from './retryer'\n\n// TYPES\n\ninterface QueryConfig<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n client: QueryClient\n queryKey: TQueryKey\n queryHash: string\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n defaultOptions?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n state?: QueryState<TData, TError>\n}\n\nexport interface QueryState<TData = unknown, TError = DefaultError> {\n data: TData | undefined\n dataUpdateCount: number\n dataUpdatedAt: number\n error: TError | null\n errorUpdateCount: number\n errorUpdatedAt: number\n fetchFailureCount: number\n fetchFailureReason: TError | null\n fetchMeta: FetchMeta | null\n isInvalidated: boolean\n status: QueryStatus\n fetchStatus: FetchStatus\n}\n\nexport interface FetchContext<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n fetchFn: () => unknown | Promise<unknown>\n fetchOptions?: FetchOptions\n signal: AbortSignal\n options: QueryOptions<TQueryFnData, TError, TData, any>\n client: QueryClient\n queryKey: TQueryKey\n state: QueryState<TData, TError>\n}\n\nexport interface QueryBehavior<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n onFetch: (\n context: FetchContext<TQueryFnData, TError, TData, TQueryKey>,\n query: Query,\n ) => void\n}\n\nexport type FetchDirection = 'forward' | 'backward'\n\nexport interface FetchMeta {\n fetchMore?: { direction: FetchDirection }\n}\n\nexport interface FetchOptions<TData = unknown> {\n cancelRefetch?: boolean\n meta?: FetchMeta\n initialPromise?: Promise<TData>\n}\n\ninterface FailedAction<TError> {\n type: 'failed'\n failureCount: number\n error: TError\n}\n\ninterface FetchAction {\n type: 'fetch'\n meta?: FetchMeta\n}\n\ninterface SuccessAction<TData> {\n data: TData | undefined\n type: 'success'\n dataUpdatedAt?: number\n manual?: boolean\n}\n\ninterface ErrorAction<TError> {\n type: 'error'\n error: TError\n}\n\ninterface InvalidateAction {\n type: 'invalidate'\n}\n\ninterface PauseAction {\n type: 'pause'\n}\n\ninterface ContinueAction {\n type: 'continue'\n}\n\ninterface SetStateAction<TData, TError> {\n type: 'setState'\n state: Partial<QueryState<TData, TError>>\n}\n\nexport type Action<TData, TError> =\n | ContinueAction\n | ErrorAction<TError>\n | FailedAction<TError>\n | FetchAction\n | InvalidateAction\n | PauseAction\n | SetStateAction<TData, TError>\n | SuccessAction<TData>\n\n// CLASS\n\nexport class Query<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends Removable {\n queryKey: TQueryKey\n queryHash: string\n options!: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n state: QueryState<TData, TError>\n #queryType?: 'infinite'\n\n #initialState: QueryState<TData, TError>\n #revertState?: QueryState<TData, TError>\n #cache: QueryCache\n #client: QueryClient\n #retryer?: Retryer<TData>\n observers: Array<QueryObserver<any, any, any, any, any>>\n #defaultOptions?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n #abortSignalConsumed: boolean\n\n constructor(config: QueryConfig<TQueryFnData, TError, TData, TQueryKey>) {\n super()\n\n this.#abortSignalConsumed = false\n this.#defaultOptions = config.defaultOptions\n this.setOptions(config.options)\n this.observers = []\n this.#client = config.client\n this.#cache = this.#client.getQueryCache()\n this.queryKey = config.queryKey\n this.queryHash = config.queryHash\n this.#initialState = getDefaultState(this.options)\n this.state = config.state ?? this.#initialState\n this.scheduleGc()\n }\n get meta(): QueryMeta | undefined {\n return this.options.meta\n }\n\n get queryType() {\n return this.#queryType\n }\n\n get promise(): Promise<TData> | undefined {\n return this.#retryer?.promise\n }\n\n setOptions(\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): void {\n this.options = { ...this.#defaultOptions, ...options }\n\n if (options?._type) {\n this.#queryType = options._type\n }\n\n this.updateGcTime(this.options.gcTime)\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (this.state && this.state.data === undefined) {\n const defaultState = getDefaultState(this.options)\n if (defaultState.data !== undefined) {\n this.setState(\n successState(defaultState.data, defaultState.dataUpdatedAt),\n )\n this.#initialState = defaultState\n }\n }\n }\n\n protected optionalRemove() {\n if (!this.observers.length && this.state.fetchStatus === 'idle') {\n this.#cache.remove(this)\n }\n }\n\n setData(\n newData: TData,\n options?: SetDataOptions & { manual: boolean },\n ): TData {\n const data = replaceData(this.state.data, newData, this.options)\n\n // Set data and mark it as cached\n this.#dispatch({\n data,\n type: 'success',\n dataUpdatedAt: options?.updatedAt,\n manual: options?.manual,\n })\n\n return data\n }\n\n setState(state: Partial<QueryState<TData, TError>>): void {\n this.#dispatch({ type: 'setState', state })\n }\n\n cancel(options?: CancelOptions): Promise<void> {\n const promise = this.#retryer?.promise\n this.#retryer?.cancel(options)\n return promise ? promise.then(noop).catch(noop) : Promise.resolve()\n }\n\n destroy(): void {\n super.destroy()\n\n this.cancel({ silent: true })\n }\n\n get resetState(): QueryState<TData, TError> {\n return this.#initialState\n }\n\n reset(): void {\n this.destroy()\n this.setState(this.resetState)\n }\n\n isActive(): boolean {\n return this.observers.some(\n (observer) =>\n resolveQueryBoolean(observer.options.enabled, this) !== false,\n )\n }\n\n isDisabled(): boolean {\n if (this.getObserversCount() > 0) {\n return !this.isActive()\n }\n // if a query has no observers, it should still be considered disabled if it never attempted a fetch\n return this.options.queryFn === skipToken || !this.isFetched()\n }\n\n isFetched() {\n return this.state.dataUpdateCount + this.state.errorUpdateCount > 0\n }\n\n isStatic(): boolean {\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) =>\n resolveStaleTime(observer.options.staleTime, this) === 'static',\n )\n }\n\n return false\n }\n\n isStale(): boolean {\n // check observers first, their `isStale` has the source of truth\n // calculated with `isStaleByTime` and it takes `enabled` into account\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) => observer.getCurrentResult().isStale,\n )\n }\n\n return this.state.data === undefined || this.state.isInvalidated\n }\n\n isStaleByTime(staleTime: StaleTime = 0): boolean {\n // no data is always stale\n if (this.state.data === undefined) {\n return true\n }\n // static is never stale\n if (staleTime === 'static') {\n return false\n }\n // if the query is invalidated, it is stale\n if (this.state.isInvalidated) {\n return true\n }\n\n return !timeUntilStale(this.state.dataUpdatedAt, staleTime)\n }\n\n onFocus(): void {\n const observer = this.observers.find((x) => x.shouldFetchOnWindowFocus())\n\n observer?.refetch({ cancelRefetch: false })\n\n // Continue fetch if currently paused\n this.#retryer?.continue()\n }\n\n onOnline(): void {\n const observer = this.observers.find((x) => x.shouldFetchOnReconnect())\n\n observer?.refetch({ cancelRefetch: false })\n\n // Continue fetch if currently paused\n this.#retryer?.continue()\n }\n\n addObserver(observer: QueryObserver<any, any, any, any, any>): void {\n if (!this.observers.includes(observer)) {\n this.observers.push(observer)\n\n // Stop the query from being garbage collected\n this.clearGcTimeout()\n\n this.#cache.notify({ type: 'observerAdded', query: this, observer })\n }\n }\n\n removeObserver(observer: QueryObserver<any, any, any, any, any>): void {\n const index = this.observers.indexOf(observer)\n if (index !== -1) {\n this.observers.splice(index, 1)\n\n if (!this.observers.length) {\n // If the transport layer does not support cancellation\n // we'll let the query continue so the result can be cached\n if (this.#retryer) {\n if (this.#abortSignalConsumed || this.#isInitialPausedFetch()) {\n this.#retryer.cancel({ revert: true })\n } else {\n this.#retryer.cancelRetry()\n }\n }\n\n this.scheduleGc()\n }\n\n this.#cache.notify({ type: 'observerRemoved', query: this, observer })\n }\n }\n\n getObserversCount(): number {\n return this.observers.length\n }\n\n #isInitialPausedFetch(): boolean {\n return (\n this.state.fetchStatus === 'paused' && this.state.status === 'pending'\n )\n }\n\n invalidate(): void {\n if (!this.state.isInvalidated) {\n this.#dispatch({ type: 'invalidate' })\n }\n }\n\n async fetch(\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n fetchOptions?: FetchOptions<TQueryFnData>,\n ): Promise<TData> {\n if (\n this.state.fetchStatus !== 'idle' &&\n // If the promise in the retryer is already rejected, we have to definitely\n // re-start the fetch; there is a chance that the query is still in a\n // pending state when that happens\n this.#retryer?.status() !== 'rejected'\n ) {\n if (this.state.data !== undefined && fetchOptions?.cancelRefetch) {\n // Silently cancel current fetch if the user wants to cancel refetch\n this.cancel({ silent: true })\n } else if (this.#retryer) {\n // make sure that retries that were potentially cancelled due to unmounts can continue\n this.#retryer.continueRetry()\n // Return current promise if we are already fetching\n return this.#retryer.promise\n }\n }\n\n // Update config if passed, otherwise the config from the last execution is used\n if (options) {\n this.setOptions(options)\n }\n\n // Use the options from the first observer with a query function if no function is found.\n // This can happen when the query is hydrated or created with setQueryData.\n if (!this.options.queryFn) {\n const observer = this.observers.find((x) => x.options.queryFn)\n if (observer) {\n this.setOptions(observer.options)\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (!Array.isArray(this.options.queryKey)) {\n console.error(\n `As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`,\n )\n }\n }\n\n const abortController = new AbortController()\n\n // Adds an enumerable signal property to the object that\n // which sets abortSignalConsumed to true when the signal\n // is read.\n const addSignalProperty = (object: unknown) => {\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n this.#abortSignalConsumed = true\n return abortController.signal\n },\n })\n }\n\n // Create fetch function\n const fetchFn = () => {\n const queryFn = ensureQueryFn(this.options, fetchOptions)\n\n // Create query function context\n const createQueryFnContext = (): QueryFunctionContext<TQueryKey> => {\n const queryFnContext: OmitKeyof<\n QueryFunctionContext<TQueryKey>,\n 'signal'\n > = {\n client: this.#client,\n queryKey: this.queryKey,\n meta: this.meta,\n }\n addSignalProperty(queryFnContext)\n return queryFnContext as QueryFunctionContext<TQueryKey>\n }\n\n const queryFnContext = createQueryFnContext()\n\n this.#abortSignalConsumed = false\n if (this.options.persister) {\n return this.options.persister(\n queryFn,\n queryFnContext,\n this as unknown as Query,\n )\n }\n\n return queryFn(queryFnContext)\n }\n\n // Trigger behavior hook\n const createFetchContext = (): FetchContext<\n TQueryFnData,\n TError,\n TData,\n TQueryKey\n > => {\n const context: OmitKeyof<\n FetchContext<TQueryFnData, TError, TData, TQueryKey>,\n 'signal'\n > = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n client: this.#client,\n state: this.state,\n fetchFn,\n }\n\n addSignalProperty(context)\n return context as FetchContext<TQueryFnData, TError, TData, TQueryKey>\n }\n\n const context = createFetchContext()\n\n const behavior =\n this.#queryType === 'infinite'\n ? (infiniteQueryBehavior(\n (this.options as { pages?: number }).pages,\n ) as QueryBehavior<TQueryFnData, TError, TData, TQueryKey>)\n : this.options.behavior\n behavior?.onFetch(context, this as unknown as Query)\n\n // Store state in case the current fetch needs to be reverted\n this.#revertState = this.state\n\n // Set to fetching state if not already in it\n if (\n this.state.fetchStatus === 'idle' ||\n this.state.fetchMeta !== context.fetchOptions?.meta\n ) {\n this.#dispatch({ type: 'fetch', meta: context.fetchOptions?.meta })\n }\n\n // Try to fetch the data\n const retryer = (this.#retryer = createRetryer({\n initialPromise: fetchOptions?.initialPromise as\n | Promise<TData>\n | undefined,\n fn: context.fetchFn as () => Promise<TData>,\n onCancel: (error) => {\n if (error instanceof CancelledError && error.revert) {\n this.setState({\n ...this.#revertState,\n fetchStatus: 'idle' as const,\n })\n }\n abortController.abort()\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: 'failed', failureCount, error })\n },\n onPause: () => {\n this.#dispatch({ type: 'pause' })\n },\n onContinue: () => {\n this.#dispatch({ type: 'continue' })\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode,\n canRun: () => true,\n }))\n\n try {\n const data = await retryer.start()\n // this is more of a runtime guard\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (data === undefined) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(\n `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`,\n )\n }\n throw new Error(`${this.queryHash} data is undefined`)\n }\n\n this.setData(data)\n\n // Notify cache callback\n this.#cache.config.onSuccess?.(data, this as Query<any, any, any, any>)\n this.#cache.config.onSettled?.(\n data,\n this.state.error as any,\n this as Query<any, any, any, any>,\n )\n return data\n } catch (error) {\n if (error instanceof CancelledError) {\n if (error.silent) {\n // silent cancellation implies a new fetch is going to be started,\n // so we piggyback onto that promise\n return this.#retryer.promise\n } else if (error.revert) {\n // transform error into reverted state data\n // if the initial fetch was cancelled, we have no data, so we have\n // to get reject with a CancelledError\n if (this.state.data === undefined) {\n throw error\n }\n return this.state.data\n }\n }\n this.#dispatch({\n type: 'error',\n error: error as TError,\n })\n\n // Notify cache callback\n this.#cache.config.onError?.(\n error as any,\n this as Query<any, any, any, any>,\n )\n this.#cache.config.onSettled?.(\n this.state.data,\n error as any,\n this as Query<any, any, any, any>,\n )\n\n throw error // rethrow the error for further handling\n } finally {\n // The settled retryer's promise would otherwise pin this fetch's raw\n // result (a second copy after structural sharing) for the query's lifetime\n if (this.#retryer === retryer) {\n this.#retryer = undefined\n }\n // Schedule query gc after fetching\n this.scheduleGc()\n }\n }\n\n #dispatch(action: Action<TData, TError>): void {\n const reducer = (\n state: QueryState<TData, TError>,\n ): QueryState<TData, TError> => {\n switch (action.type) {\n case 'failed':\n return {\n ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error,\n }\n case 'pause':\n return {\n ...state,\n fetchStatus: 'paused',\n }\n case 'continue':\n return {\n ...state,\n fetchStatus: 'fetching',\n }\n case 'fetch':\n return {\n ...state,\n ...fetchState(state.data, this.options),\n fetchMeta: action.meta ?? null,\n }\n case 'success':\n const newState = {\n ...state,\n ...successState(action.data, action.dataUpdatedAt),\n dataUpdateCount: state.dataUpdateCount + 1,\n ...(!action.manual && {\n fetchStatus: 'idle' as const,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n }),\n }\n // If fetching ends successfully, we don't need revertState as a fallback anymore.\n // For manual updates, capture the state to revert to it in case of a cancellation.\n this.#revertState = action.manual ? newState : undefined\n\n return newState\n case 'error':\n const error = action.error\n return {\n ...state,\n error,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchFailureReason: error,\n fetchStatus: 'idle',\n status: 'error',\n // flag existing data as invalidated if we get a background error\n // note that \"no data\" always means stale so we can set unconditionally here\n isInvalidated: true,\n }\n case 'invalidate':\n return {\n ...state,\n isInvalidated: true,\n }\n case 'setState':\n return {\n ...state,\n ...action.state,\n }\n }\n }\n\n this.state = reducer(this.state)\n\n notifyManager.batch(() => {\n // Keep the current iteration stable if an observer unsubscribes\n // synchronously while it is being notified.\n this.observers.slice().forEach((observer) => {\n observer.onQueryUpdate()\n })\n\n this.#cache.notify({ query: this, type: 'updated', action })\n })\n }\n}\n\nexport function fetchState<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n data: TData | undefined,\n options: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n) {\n return {\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchStatus: canFetch(options.networkMode) ? 'fetching' : 'paused',\n ...(data === undefined &&\n ({\n error: null,\n status: 'pending',\n } as const)),\n } as const\n}\n\nfunction successState<TData>(data: TData | undefined, dataUpdatedAt?: number) {\n return {\n data,\n dataUpdatedAt: dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: 'success' as const,\n }\n}\n\nfunction getDefaultState<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n options: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n): QueryState<TData, TError> {\n const data =\n typeof options.initialData === 'function'\n ? (options.initialData as InitialDataFunction<TData>)()\n : options.initialData\n\n const hasData = data !== undefined\n\n const initialDataUpdatedAt = hasData\n ? typeof options.initialDataUpdatedAt === 'function'\n ? options.initialDataUpdatedAt()\n : options.initialDataUpdatedAt\n : 0\n\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? (initialDataUpdatedAt ?? Date.now()) : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? 'success' : 'pending',\n fetchStatus: 'idle',\n }\n}\n"],"mappings":"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"} | ||
| {"version":3,"file":"query.js","names":[],"sources":["../../src/query.ts"],"sourcesContent":["import {\n ensureQueryFn,\n noop,\n replaceData,\n resolveQueryValue,\n skipToken,\n timeUntilStale,\n} from './utils'\nimport { notifyManager } from './notifyManager'\nimport { CancelledError, canFetch, createRetryer } from './retryer'\nimport { Removable } from './removable'\nimport { infiniteQueryBehavior } from './infiniteQueryBehavior'\nimport type { QueryCache } from './queryCache'\nimport type { QueryClient } from './queryClient'\nimport type {\n CancelOptions,\n DefaultError,\n FetchStatus,\n InitialDataFunction,\n OmitKeyof,\n QueryFunctionContext,\n QueryKey,\n QueryMeta,\n QueryOptions,\n QueryStatus,\n SetDataOptions,\n StaleTime,\n} from './types'\nimport type { QueryObserver } from './queryObserver'\nimport type { Retryer } from './retryer'\n\n// TYPES\n\ninterface QueryConfig<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n client: QueryClient\n queryKey: TQueryKey\n queryHash: string\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n defaultOptions?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n state?: QueryState<TData, TError>\n}\n\nexport interface QueryState<TData = unknown, TError = DefaultError> {\n data: TData | undefined\n dataUpdateCount: number\n dataUpdatedAt: number\n error: TError | null\n errorUpdateCount: number\n errorUpdatedAt: number\n fetchFailureCount: number\n fetchFailureReason: TError | null\n fetchMeta: FetchMeta | null\n isInvalidated: boolean\n status: QueryStatus\n fetchStatus: FetchStatus\n}\n\nexport interface FetchContext<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n fetchFn: () => unknown | Promise<unknown>\n fetchOptions?: FetchOptions\n signal: AbortSignal\n options: QueryOptions<TQueryFnData, TError, TData, any>\n client: QueryClient\n queryKey: TQueryKey\n state: QueryState<TData, TError>\n}\n\nexport interface QueryBehavior<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n onFetch: (\n context: FetchContext<TQueryFnData, TError, TData, TQueryKey>,\n query: Query,\n ) => void\n}\n\nexport type FetchDirection = 'forward' | 'backward'\n\nexport interface FetchMeta {\n fetchMore?: { direction: FetchDirection }\n}\n\nexport interface FetchOptions<TData = unknown> {\n cancelRefetch?: boolean\n meta?: FetchMeta\n initialPromise?: Promise<TData>\n}\n\ninterface FailedAction<TError> {\n type: 'failed'\n failureCount: number\n error: TError\n}\n\ninterface FetchAction {\n type: 'fetch'\n meta?: FetchMeta\n}\n\ninterface SuccessAction<TData> {\n data: TData | undefined\n type: 'success'\n dataUpdatedAt?: number\n manual?: boolean\n}\n\ninterface ErrorAction<TError> {\n type: 'error'\n error: TError\n}\n\ninterface InvalidateAction {\n type: 'invalidate'\n}\n\ninterface PauseAction {\n type: 'pause'\n}\n\ninterface ContinueAction {\n type: 'continue'\n}\n\ninterface SetStateAction<TData, TError> {\n type: 'setState'\n state: Partial<QueryState<TData, TError>>\n}\n\nexport type Action<TData, TError> =\n | ContinueAction\n | ErrorAction<TError>\n | FailedAction<TError>\n | FetchAction\n | InvalidateAction\n | PauseAction\n | SetStateAction<TData, TError>\n | SuccessAction<TData>\n\n// CLASS\n\nexport class Query<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends Removable {\n queryKey: TQueryKey\n queryHash: string\n options!: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n state: QueryState<TData, TError>\n #queryType?: 'infinite'\n\n #initialState: QueryState<TData, TError>\n #revertState?: QueryState<TData, TError>\n #cache: QueryCache\n #client: QueryClient\n #retryer?: Retryer<TData>\n observers: Array<QueryObserver<any, any, any, any, any>>\n #defaultOptions?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n #abortSignalConsumed: boolean\n\n constructor(config: QueryConfig<TQueryFnData, TError, TData, TQueryKey>) {\n super()\n\n this.#abortSignalConsumed = false\n this.#defaultOptions = config.defaultOptions\n this.setOptions(config.options)\n this.observers = []\n this.#client = config.client\n this.#cache = this.#client.getQueryCache()\n this.queryKey = config.queryKey\n this.queryHash = config.queryHash\n this.#initialState = getDefaultState(this.options)\n this.state = config.state ?? this.#initialState\n this.scheduleGc()\n }\n get meta(): QueryMeta | undefined {\n return this.options.meta\n }\n\n get queryType() {\n return this.#queryType\n }\n\n get promise(): Promise<TData> | undefined {\n return this.#retryer?.promise\n }\n\n setOptions(\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): void {\n this.options = { ...this.#defaultOptions, ...options }\n\n if (options?._type) {\n this.#queryType = options._type\n }\n\n this.updateGcTime(this.options.gcTime)\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (this.state && this.state.data === undefined) {\n const defaultState = getDefaultState(this.options)\n if (defaultState.data !== undefined) {\n this.setState(\n successState(defaultState.data, defaultState.dataUpdatedAt),\n )\n this.#initialState = defaultState\n }\n }\n }\n\n protected optionalRemove() {\n if (!this.observers.length && this.state.fetchStatus === 'idle') {\n this.#cache.remove(this)\n }\n }\n\n setData(\n newData: TData,\n options?: SetDataOptions & { manual: boolean },\n ): TData {\n const data = replaceData(this.state.data, newData, this.options)\n\n // Set data and mark it as cached\n this.#dispatch({\n data,\n type: 'success',\n dataUpdatedAt: options?.updatedAt,\n manual: options?.manual,\n })\n\n return data\n }\n\n setState(state: Partial<QueryState<TData, TError>>): void {\n this.#dispatch({ type: 'setState', state })\n }\n\n cancel(options?: CancelOptions): Promise<void> {\n const promise = this.#retryer?.promise\n this.#retryer?.cancel(options)\n return promise ? promise.then(noop).catch(noop) : Promise.resolve()\n }\n\n destroy(): void {\n super.destroy()\n\n this.cancel({ silent: true })\n }\n\n get resetState(): QueryState<TData, TError> {\n return this.#initialState\n }\n\n reset(): void {\n this.destroy()\n this.setState(this.resetState)\n }\n\n isActive(): boolean {\n return this.observers.some(\n (observer) => resolveQueryValue(observer.options.enabled, this) !== false,\n )\n }\n\n isDisabled(): boolean {\n if (this.getObserversCount() > 0) {\n return !this.isActive()\n }\n // if a query has no observers, it should still be considered disabled if it never attempted a fetch\n return this.options.queryFn === skipToken || !this.isFetched()\n }\n\n isFetched() {\n return this.state.dataUpdateCount + this.state.errorUpdateCount > 0\n }\n\n isStatic(): boolean {\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) =>\n resolveQueryValue(observer.options.staleTime, this) === 'static',\n )\n }\n\n return false\n }\n\n isStale(): boolean {\n // check observers first, their `isStale` has the source of truth\n // calculated with `isStaleByTime` and it takes `enabled` into account\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) => observer.getCurrentResult().isStale,\n )\n }\n\n return this.state.data === undefined || this.state.isInvalidated\n }\n\n isStaleByTime(staleTime: StaleTime = 0): boolean {\n // no data is always stale\n if (this.state.data === undefined) {\n return true\n }\n // static is never stale\n if (staleTime === 'static') {\n return false\n }\n // if the query is invalidated, it is stale\n if (this.state.isInvalidated) {\n return true\n }\n\n return !timeUntilStale(this.state.dataUpdatedAt, staleTime)\n }\n\n onFocus(): void {\n const observer = this.observers.find((x) => x.shouldFetchOnWindowFocus())\n\n observer?.refetch({ cancelRefetch: false })\n\n // Continue fetch if currently paused\n this.#retryer?.continue()\n }\n\n onOnline(): void {\n const observer = this.observers.find((x) => x.shouldFetchOnReconnect())\n\n observer?.refetch({ cancelRefetch: false })\n\n // Continue fetch if currently paused\n this.#retryer?.continue()\n }\n\n addObserver(observer: QueryObserver<any, any, any, any, any>): void {\n if (!this.observers.includes(observer)) {\n this.observers.push(observer)\n\n // Stop the query from being garbage collected\n this.clearGcTimeout()\n\n this.#cache.notify({ type: 'observerAdded', query: this, observer })\n }\n }\n\n removeObserver(observer: QueryObserver<any, any, any, any, any>): void {\n const index = this.observers.indexOf(observer)\n if (index !== -1) {\n this.observers.splice(index, 1)\n\n if (!this.observers.length) {\n // If the transport layer does not support cancellation\n // we'll let the query continue so the result can be cached\n if (this.#retryer) {\n if (\n this.#abortSignalConsumed ||\n (this.state.fetchStatus === 'paused' &&\n this.state.status === 'pending')\n ) {\n this.#retryer.cancel({ revert: true })\n } else {\n this.#retryer.cancelRetry()\n }\n }\n\n this.scheduleGc()\n }\n\n this.#cache.notify({ type: 'observerRemoved', query: this, observer })\n }\n }\n\n getObserversCount(): number {\n return this.observers.length\n }\n\n invalidate(): void {\n if (!this.state.isInvalidated) {\n this.#dispatch({ type: 'invalidate' })\n }\n }\n\n async fetch(\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n fetchOptions?: FetchOptions<TQueryFnData>,\n ): Promise<TData> {\n if (\n this.state.fetchStatus !== 'idle' &&\n // If the promise in the retryer is already rejected, we have to definitely\n // re-start the fetch; there is a chance that the query is still in a\n // pending state when that happens\n this.#retryer?.status() !== 'rejected'\n ) {\n if (this.state.data !== undefined && fetchOptions?.cancelRefetch) {\n // Silently cancel current fetch if the user wants to cancel refetch\n this.cancel({ silent: true })\n } else if (this.#retryer) {\n // make sure that retries that were potentially cancelled due to unmounts can continue\n this.#retryer.continueRetry()\n // Return current promise if we are already fetching\n return this.#retryer.promise\n }\n }\n\n // Update config if passed, otherwise the config from the last execution is used\n if (options) {\n this.setOptions(options)\n }\n\n // Use the options from the first observer with a query function if no function is found.\n // This can happen when the query is hydrated or created with setQueryData.\n if (!this.options.queryFn) {\n const observer = this.observers.find((x) => x.options.queryFn)\n if (observer) {\n this.setOptions(observer.options)\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (!Array.isArray(this.options.queryKey)) {\n console.error(\n `As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`,\n )\n }\n }\n\n const abortController = new AbortController()\n\n // Adds an enumerable signal property to the object that\n // which sets abortSignalConsumed to true when the signal\n // is read.\n const addSignalProperty = (object: unknown) => {\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n this.#abortSignalConsumed = true\n return abortController.signal\n },\n })\n }\n\n // Create fetch function\n const fetchFn = () => {\n const queryFn = ensureQueryFn(this.options, fetchOptions)\n\n // Create query function context\n const createQueryFnContext = (): QueryFunctionContext<TQueryKey> => {\n const queryFnContext: OmitKeyof<\n QueryFunctionContext<TQueryKey>,\n 'signal'\n > = {\n client: this.#client,\n queryKey: this.queryKey,\n meta: this.meta,\n }\n addSignalProperty(queryFnContext)\n return queryFnContext as QueryFunctionContext<TQueryKey>\n }\n\n const queryFnContext = createQueryFnContext()\n\n this.#abortSignalConsumed = false\n if (this.options.persister) {\n return this.options.persister(\n queryFn,\n queryFnContext,\n this as unknown as Query,\n )\n }\n\n return queryFn(queryFnContext)\n }\n\n // Trigger behavior hook\n const createFetchContext = (): FetchContext<\n TQueryFnData,\n TError,\n TData,\n TQueryKey\n > => {\n const context: OmitKeyof<\n FetchContext<TQueryFnData, TError, TData, TQueryKey>,\n 'signal'\n > = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n client: this.#client,\n state: this.state,\n fetchFn,\n }\n\n addSignalProperty(context)\n return context as FetchContext<TQueryFnData, TError, TData, TQueryKey>\n }\n\n const context = createFetchContext()\n\n const behavior =\n this.#queryType === 'infinite'\n ? (infiniteQueryBehavior(\n (this.options as { pages?: number }).pages,\n ) as QueryBehavior<TQueryFnData, TError, TData, TQueryKey>)\n : this.options.behavior\n behavior?.onFetch(context, this as unknown as Query)\n\n // Store state in case the current fetch needs to be reverted\n this.#revertState = this.state\n\n // Set to fetching state if not already in it\n if (\n this.state.fetchStatus === 'idle' ||\n this.state.fetchMeta !== context.fetchOptions?.meta\n ) {\n this.#dispatch({ type: 'fetch', meta: context.fetchOptions?.meta })\n }\n\n // Try to fetch the data\n const retryer = (this.#retryer = createRetryer({\n initialPromise: fetchOptions?.initialPromise as\n | Promise<TData>\n | undefined,\n fn: context.fetchFn as () => Promise<TData>,\n onCancel: (error) => {\n if (error instanceof CancelledError && error.revert) {\n this.setState({\n ...this.#revertState,\n fetchStatus: 'idle' as const,\n })\n }\n abortController.abort()\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: 'failed', failureCount, error })\n },\n onPause: () => {\n this.#dispatch({ type: 'pause' })\n },\n onContinue: () => {\n this.#dispatch({ type: 'continue' })\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode,\n canRun: () => true,\n }))\n\n try {\n const data = await retryer.start()\n // this is more of a runtime guard\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (data === undefined) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(\n `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`,\n )\n }\n throw new Error(`${this.queryHash} data is undefined`)\n }\n\n this.setData(data)\n\n // Notify cache callback\n this.#cache.config.onSuccess?.(data, this as Query<any, any, any, any>)\n this.#cache.config.onSettled?.(\n data,\n this.state.error as any,\n this as Query<any, any, any, any>,\n )\n return data\n } catch (error) {\n if (error instanceof CancelledError) {\n if (error.silent) {\n // silent cancellation implies a new fetch is going to be started,\n // so we piggyback onto that promise\n return this.#retryer.promise\n } else if (error.revert) {\n // transform error into reverted state data\n // if the initial fetch was cancelled, we have no data, so we have\n // to get reject with a CancelledError\n if (this.state.data === undefined) {\n throw error\n }\n return this.state.data\n }\n }\n this.#dispatch({\n type: 'error',\n error: error as TError,\n })\n\n // Notify cache callback\n this.#cache.config.onError?.(\n error as any,\n this as Query<any, any, any, any>,\n )\n this.#cache.config.onSettled?.(\n this.state.data,\n error as any,\n this as Query<any, any, any, any>,\n )\n\n throw error // rethrow the error for further handling\n } finally {\n // The settled retryer's promise would otherwise pin this fetch's raw\n // result (a second copy after structural sharing) for the query's lifetime\n if (this.#retryer === retryer) {\n this.#retryer = undefined\n }\n // Schedule query gc after fetching\n this.scheduleGc()\n }\n }\n\n #dispatch(action: Action<TData, TError>): void {\n const reducer = (\n state: QueryState<TData, TError>,\n ): QueryState<TData, TError> => {\n switch (action.type) {\n case 'failed':\n return {\n ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error,\n }\n case 'pause':\n return {\n ...state,\n fetchStatus: 'paused',\n }\n case 'continue':\n return {\n ...state,\n fetchStatus: 'fetching',\n }\n case 'fetch':\n return {\n ...state,\n ...fetchState(state.data, this.options),\n fetchMeta: action.meta ?? null,\n }\n case 'success':\n const newState = {\n ...state,\n ...successState(action.data, action.dataUpdatedAt),\n dataUpdateCount: state.dataUpdateCount + 1,\n ...(!action.manual && {\n fetchStatus: 'idle' as const,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n }),\n }\n // If fetching ends successfully, we don't need revertState as a fallback anymore.\n // For manual updates, capture the state to revert to it in case of a cancellation.\n this.#revertState = action.manual ? newState : undefined\n\n return newState\n case 'error':\n const error = action.error\n return {\n ...state,\n error,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchFailureReason: error,\n fetchStatus: 'idle',\n status: 'error',\n // flag existing data as invalidated if we get a background error\n // note that \"no data\" always means stale so we can set unconditionally here\n isInvalidated: true,\n }\n case 'invalidate':\n return {\n ...state,\n isInvalidated: true,\n }\n case 'setState':\n return {\n ...state,\n ...action.state,\n }\n }\n }\n\n this.state = reducer(this.state)\n\n notifyManager.batch(() => {\n // Keep the current iteration stable if an observer unsubscribes\n // synchronously while it is being notified.\n this.observers.slice().forEach((observer) => {\n observer.onQueryUpdate()\n })\n\n this.#cache.notify({ query: this, type: 'updated', action })\n })\n }\n}\n\nexport function fetchState<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n data: TData | undefined,\n options: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n) {\n return {\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchStatus: canFetch(options.networkMode) ? 'fetching' : 'paused',\n ...(data === undefined &&\n ({\n error: null,\n status: 'pending',\n } as const)),\n } as const\n}\n\nfunction successState<TData>(data: TData | undefined, dataUpdatedAt?: number) {\n return {\n data,\n dataUpdatedAt: dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: 'success' as const,\n }\n}\n\nfunction getDefaultState<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n options: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n): QueryState<TData, TError> {\n const data =\n typeof options.initialData === 'function'\n ? (options.initialData as InitialDataFunction<TData>)()\n : options.initialData\n\n const hasData = data !== undefined\n\n const initialDataUpdatedAt = hasData\n ? typeof options.initialDataUpdatedAt === 'function'\n ? options.initialDataUpdatedAt()\n : options.initialDataUpdatedAt\n : 0\n\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? (initialDataUpdatedAt ?? Date.now()) : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? 'success' : 'pending',\n fetchStatus: 'idle',\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAyJA,IAAa,QAAb,cAKU,UAAU;CAgBlB,YAAY,QAA6D;EACvE,MAAM;;;;;;;;;;EAEN,uBAAA,sBAAA,MAA4B,KAAA;EAC5B,uBAAA,iBAAA,MAAuB,OAAO,cAAA;EAC9B,KAAK,WAAW,OAAO,OAAO;EAC9B,KAAK,YAAY,CAAC;EAClB,uBAAA,SAAA,MAAe,OAAO,MAAA;EACtB,uBAAA,QAAA,MAAA,uBAAA,SAAc,IAAA,CAAA,CAAa,cAAc,CAAA;EACzC,KAAK,WAAW,OAAO;EACvB,KAAK,YAAY,OAAO;EACxB,uBAAA,eAAA,MAAqB,gBAAgB,KAAK,OAAO,CAAA;EACjD,KAAK,QAAQ,OAAO,SAAA,uBAAA,eAAS,IAAA;EAC7B,KAAK,WAAW;CAClB;CACA,IAAI,OAA8B;EAChC,OAAO,KAAK,QAAQ;CACtB;CAEA,IAAI,YAAY;EACd,OAAA,uBAAA,YAAO,IAAA;CACT;CAEA,IAAI,UAAsC;;EACxC,QAAA,2BAAA,uBAAA,UAAO,IAAA,OAAA,QAAA,6BAAA,KAAA,IAAA,KAAA,IAAA,yBAAe;CACxB;CAEA,WACE,SACM;EACN,KAAK,UAAU;GAAE,GAAA,uBAAA,iBAAG,IAAA;GAAsB,GAAG;EAAQ;EAErD,IAAA,YAAA,QAAA,YAAA,KAAA,IAAA,KAAA,IAAI,QAAS,OACX,uBAAA,YAAA,MAAkB,QAAQ,KAAA;EAG5B,KAAK,aAAa,KAAK,QAAQ,MAAM;EAGrC,IAAI,KAAK,SAAS,KAAK,MAAM,SAAS,KAAA,GAAW;GAC/C,MAAM,eAAe,gBAAgB,KAAK,OAAO;GACjD,IAAI,aAAa,SAAS,KAAA,GAAW;IACnC,KAAK,SACH,aAAa,aAAa,MAAM,aAAa,aAAa,CAC5D;IACA,uBAAA,eAAA,MAAqB,YAAA;GACvB;EACF;CACF;CAEA,iBAA2B;EACzB,IAAI,CAAC,KAAK,UAAU,UAAU,KAAK,MAAM,gBAAgB,QACvD,uBAAA,QAAA,IAAA,CAAA,CAAY,OAAO,IAAI;CAE3B;CAEA,QACE,SACA,SACO;EACP,MAAM,OAAO,YAAY,KAAK,MAAM,MAAM,SAAS,KAAK,OAAO;EAG/D,kBAAA,cAAA,MAAA,SAAA,CAAA,CAAA,KAAA,MAAe;GACb;GACA,MAAM;GACN,eAAA,YAAA,QAAA,YAAA,KAAA,IAAA,KAAA,IAAe,QAAS;GACxB,QAAA,YAAA,QAAA,YAAA,KAAA,IAAA,KAAA,IAAQ,QAAS;EACnB,CAAC;EAED,OAAO;CACT;CAEA,SAAS,OAAiD;EACxD,kBAAA,cAAA,MAAA,SAAA,CAAA,CAAA,KAAA,MAAe;GAAE,MAAM;GAAY;EAAM,CAAC;CAC5C;CAEA,OAAO,SAAwC;;EAC7C,MAAM,WAAA,yBAAA,uBAAA,UAAU,IAAA,OAAA,QAAA,2BAAA,KAAA,IAAA,KAAA,IAAA,uBAAe;EAC/B,CAAA,yBAAA,uBAAA,UAAA,IAAA,OAAA,QAAA,2BAAA,KAAA,KAAA,uBAAe,OAAO,OAAO;EAC7B,OAAO,UAAU,QAAQ,KAAK,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,QAAQ,QAAQ;CACpE;CAEA,UAAgB;EACd,MAAM,QAAQ;EAEd,KAAK,OAAO,EAAE,QAAQ,KAAK,CAAC;CAC9B;CAEA,IAAI,aAAwC;EAC1C,OAAA,uBAAA,eAAO,IAAA;CACT;CAEA,QAAc;EACZ,KAAK,QAAQ;EACb,KAAK,SAAS,KAAK,UAAU;CAC/B;CAEA,WAAoB;EAClB,OAAO,KAAK,UAAU,MACnB,aAAa,kBAAkB,SAAS,QAAQ,SAAS,IAAI,MAAM,KACtE;CACF;CAEA,aAAsB;EACpB,IAAI,KAAK,kBAAkB,IAAI,GAC7B,OAAO,CAAC,KAAK,SAAS;EAGxB,OAAO,KAAK,QAAQ,YAAY,aAAa,CAAC,KAAK,UAAU;CAC/D;CAEA,YAAY;EACV,OAAO,KAAK,MAAM,kBAAkB,KAAK,MAAM,mBAAmB;CACpE;CAEA,WAAoB;EAClB,IAAI,KAAK,kBAAkB,IAAI,GAC7B,OAAO,KAAK,UAAU,MACnB,aACC,kBAAkB,SAAS,QAAQ,WAAW,IAAI,MAAM,QAC5D;EAGF,OAAO;CACT;CAEA,UAAmB;EAGjB,IAAI,KAAK,kBAAkB,IAAI,GAC7B,OAAO,KAAK,UAAU,MACnB,aAAa,SAAS,iBAAiB,CAAC,CAAC,OAC5C;EAGF,OAAO,KAAK,MAAM,SAAS,KAAA,KAAa,KAAK,MAAM;CACrD;CAEA,cAAc,YAAuB,GAAY;EAE/C,IAAI,KAAK,MAAM,SAAS,KAAA,GACtB,OAAO;EAGT,IAAI,cAAc,UAChB,OAAO;EAGT,IAAI,KAAK,MAAM,eACb,OAAO;EAGT,OAAO,CAAC,eAAe,KAAK,MAAM,eAAe,SAAS;CAC5D;CAEA,UAAgB;;EACd,MAAM,WAAW,KAAK,UAAU,MAAM,MAAM,EAAE,yBAAyB,CAAC;EAExE,aAAA,QAAA,aAAA,KAAA,KAAA,SAAU,QAAQ,EAAE,eAAe,MAAM,CAAC;EAG1C,CAAA,yBAAA,uBAAA,UAAA,IAAA,OAAA,QAAA,2BAAA,KAAA,KAAA,uBAAe,SAAS;CAC1B;CAEA,WAAiB;;EACf,MAAM,WAAW,KAAK,UAAU,MAAM,MAAM,EAAE,uBAAuB,CAAC;EAEtE,aAAA,QAAA,aAAA,KAAA,KAAA,SAAU,QAAQ,EAAE,eAAe,MAAM,CAAC;EAG1C,CAAA,yBAAA,uBAAA,UAAA,IAAA,OAAA,QAAA,2BAAA,KAAA,KAAA,uBAAe,SAAS;CAC1B;CAEA,YAAY,UAAwD;EAClE,IAAI,CAAC,KAAK,UAAU,SAAS,QAAQ,GAAG;GACtC,KAAK,UAAU,KAAK,QAAQ;GAG5B,KAAK,eAAe;GAEpB,uBAAA,QAAA,IAAA,CAAA,CAAY,OAAO;IAAE,MAAM;IAAiB,OAAO;IAAM;GAAS,CAAC;EACrE;CACF;CAEA,eAAe,UAAwD;EACrE,MAAM,QAAQ,KAAK,UAAU,QAAQ,QAAQ;EAC7C,IAAI,UAAU,IAAI;GAChB,KAAK,UAAU,OAAO,OAAO,CAAC;GAE9B,IAAI,CAAC,KAAK,UAAU,QAAQ;IAG1B,IAAA,uBAAA,UAAI,IAAA,GAAe;KACjB,IAAA,uBAAA,sBACE,IAAA,KACC,KAAK,MAAM,gBAAgB,YAC1B,KAAK,MAAM,WAAW,WAExB,uBAAA,UAAA,IAAA,CAAA,CAAc,OAAO,EAAE,QAAQ,KAAK,CAAC;UAErC,uBAAA,UAAA,IAAA,CAAA,CAAc,YAAY;IAE9B;IAEA,KAAK,WAAW;GAClB;GAEA,uBAAA,QAAA,IAAA,CAAA,CAAY,OAAO;IAAE,MAAM;IAAmB,OAAO;IAAM;GAAS,CAAC;EACvE;CACF;CAEA,oBAA4B;EAC1B,OAAO,KAAK,UAAU;CACxB;CAEA,aAAmB;EACjB,IAAI,CAAC,KAAK,MAAM,eACd,kBAAA,cAAA,MAAA,SAAA,CAAA,CAAA,KAAA,MAAe,EAAE,MAAM,aAAa,CAAC;CAEzC;CAEA,MAAM,MACJ,SACA,cACgB;;EAChB,IACE,KAAK,MAAM,gBAAgB,YAAA,yBAAA,uBAAA,UAI3B,IAAA,OAAA,QAAA,2BAAA,KAAA,IAAA,KAAA,IAAA,uBAAe,OAAO,OAAM,YAC5B;GACA,IAAI,KAAK,MAAM,SAAS,KAAA,MAAA,iBAAA,QAAA,iBAAA,KAAA,IAAA,KAAA,IAAa,aAAc,gBAEjD,KAAK,OAAO,EAAE,QAAQ,KAAK,CAAC;QACvB,IAAA,uBAAA,UAAI,IAAA,GAAe;IAExB,uBAAA,UAAA,IAAA,CAAA,CAAc,cAAc;IAE5B,OAAA,uBAAA,UAAO,IAAA,CAAA,CAAc;GACvB;EACF;EAGA,IAAI,SACF,KAAK,WAAW,OAAO;EAKzB,IAAI,CAAC,KAAK,QAAQ,SAAS;GACzB,MAAM,WAAW,KAAK,UAAU,MAAM,MAAM,EAAE,QAAQ,OAAO;GAC7D,IAAI,UACF,KAAK,WAAW,SAAS,OAAO;EAEpC;EAEA,IAAI,QAAQ,IAAI,aAAa,cACvB;OAAA,CAAC,MAAM,QAAQ,KAAK,QAAQ,QAAQ,GACtC,QAAQ,MACN,qIACF;EAAA;EAIJ,MAAM,kBAAkB,IAAI,gBAAgB;EAK5C,MAAM,qBAAqB,WAAoB;GAC7C,OAAO,eAAe,QAAQ,UAAU;IACtC,YAAY;IACZ,WAAW;KACT,uBAAA,sBAAA,MAA4B,IAAA;KAC5B,OAAO,gBAAgB;IACzB;GACF,CAAC;EACH;EAGA,MAAM,gBAAgB;GACpB,MAAM,UAAU,cAAc,KAAK,SAAS,YAAY;GAGxD,MAAM,6BAA8D;IAClE,MAAM,iBAGF;KACF,QAAA,uBAAA,SAAQ,IAAA;KACR,UAAU,KAAK;KACf,MAAM,KAAK;IACb;IACA,kBAAkB,cAAc;IAChC,OAAO;GACT;GAEA,MAAM,iBAAiB,qBAAqB;GAE5C,uBAAA,sBAAA,MAA4B,KAAA;GAC5B,IAAI,KAAK,QAAQ,WACf,OAAO,KAAK,QAAQ,UAClB,SACA,gBACA,IACF;GAGF,OAAO,QAAQ,cAAc;EAC/B;EAGA,MAAM,2BAKD;GACH,MAAM,UAGF;IACF;IACA,SAAS,KAAK;IACd,UAAU,KAAK;IACf,QAAA,uBAAA,SAAQ,IAAA;IACR,OAAO,KAAK;IACZ;GACF;GAEA,kBAAkB,OAAO;GACzB,OAAO;EACT;EAEA,MAAM,UAAU,mBAAmB;EAEnC,MAAM,WAAA,uBAAA,YACJ,IAAA,MAAoB,aACf,sBACE,KAAK,QAA+B,KACvC,IACA,KAAK,QAAQ;EACnB,aAAA,QAAA,aAAA,KAAA,KAAA,SAAU,QAAQ,SAAS,IAAwB;EAGnD,uBAAA,cAAA,MAAoB,KAAK,KAAA;EAGzB,IACE,KAAK,MAAM,gBAAgB,UAC3B,KAAK,MAAM,gBAAA,wBAAc,QAAQ,kBAAA,QAAA,0BAAA,KAAA,IAAA,KAAA,IAAA,sBAAc,OAC/C;;GACA,kBAAA,cAAA,MAAA,SAAA,CAAA,CAAA,KAAA,MAAe;IAAE,MAAM;IAAS,OAAA,yBAAM,QAAQ,kBAAA,QAAA,2BAAA,KAAA,IAAA,KAAA,IAAA,uBAAc;GAAK,CAAC;EACpE;EAGA,MAAM,UAAA,uBAAA,UAAW,MAAgB,cAAc;GAC7C,gBAAA,iBAAA,QAAA,iBAAA,KAAA,IAAA,KAAA,IAAgB,aAAc;GAG9B,IAAI,QAAQ;GACZ,WAAW,UAAU;IACnB,IAAI,iBAAiB,kBAAkB,MAAM,QAC3C,KAAK,SAAS;KACZ,GAAA,uBAAA,cAAG,IAAA;KACH,aAAa;IACf,CAAC;IAEH,gBAAgB,MAAM;GACxB;GACA,SAAS,cAAc,UAAU;IAC/B,kBAAA,cAAA,MAAA,SAAA,CAAA,CAAA,KAAA,MAAe;KAAE,MAAM;KAAU;KAAc;IAAM,CAAC;GACxD;GACA,eAAe;IACb,kBAAA,cAAA,MAAA,SAAA,CAAA,CAAA,KAAA,MAAe,EAAE,MAAM,QAAQ,CAAC;GAClC;GACA,kBAAkB;IAChB,kBAAA,cAAA,MAAA,SAAA,CAAA,CAAA,KAAA,MAAe,EAAE,MAAM,WAAW,CAAC;GACrC;GACA,OAAO,QAAQ,QAAQ;GACvB,YAAY,QAAQ,QAAQ;GAC5B,aAAa,QAAQ,QAAQ;GAC7B,cAAc;EAChB,CAAC,CAAA;EAED,IAAI;;GACF,MAAM,OAAO,MAAM,QAAQ,MAAM;GAGjC,IAAI,SAAS,KAAA,GAAW;IACtB,IAAI,QAAQ,IAAI,aAAa,cAC3B,QAAQ,MACN,yIAAyI,KAAK,WAChJ;IAEF,MAAM,IAAI,MAAM,GAAG,KAAK,UAAU,mBAAmB;GACvD;GAEA,KAAK,QAAQ,IAAI;GAGjB,CAAA,0BAAA,yBAAA,uBAAA,QAAA,IAAA,CAAA,CAAY,OAAA,CAAO,eAAA,QAAA,2BAAA,KAAA,KAAA,uBAAA,KAAA,wBAAY,MAAM,IAAiC;GACtE,CAAA,2BAAA,0BAAA,uBAAA,QAAA,IAAA,CAAA,CAAY,OAAA,CAAO,eAAA,QAAA,4BAAA,KAAA,KAAA,wBAAA,KAAA,yBACjB,MACA,KAAK,MAAM,OACX,IACF;GACA,OAAO;EACT,SAAS,OAAO;;GACd,IAAI,iBAAiB,gBAAgB;IACnC,IAAI,MAAM,QAGR,OAAA,uBAAA,UAAO,IAAA,CAAA,CAAc;SAChB,IAAI,MAAM,QAAQ;KAIvB,IAAI,KAAK,MAAM,SAAS,KAAA,GACtB,MAAM;KAER,OAAO,KAAK,MAAM;IACpB;GACF;GACA,kBAAA,cAAA,MAAA,SAAA,CAAA,CAAA,KAAA,MAAe;IACb,MAAM;IACC;GACT,CAAC;GAGD,CAAA,2BAAA,0BAAA,uBAAA,QAAA,IAAA,CAAA,CAAY,OAAA,CAAO,aAAA,QAAA,4BAAA,KAAA,KAAA,wBAAA,KAAA,yBACjB,OACA,IACF;GACA,CAAA,2BAAA,0BAAA,uBAAA,QAAA,IAAA,CAAA,CAAY,OAAA,CAAO,eAAA,QAAA,4BAAA,KAAA,KAAA,wBAAA,KAAA,yBACjB,KAAK,MAAM,MACX,OACA,IACF;GAEA,MAAM;EACR,UAAU;GAGR,IAAA,uBAAA,UAAI,IAAA,MAAkB,SACpB,uBAAA,UAAA,MAAgB,KAAA,CAAA;GAGlB,KAAK,WAAW;EAClB;CACF;AAqFF;AAnFE,SAAA,UAAU,QAAqC;CAC7C,MAAM,WACJ,UAC8B;EAC9B,QAAQ,OAAO,MAAf;GACE,KAAK,UACH,OAAO;IACL,GAAG;IACH,mBAAmB,OAAO;IAC1B,oBAAoB,OAAO;GAC7B;GACF,KAAK,SACH,OAAO;IACL,GAAG;IACH,aAAa;GACf;GACF,KAAK,YACH,OAAO;IACL,GAAG;IACH,aAAa;GACf;GACF,KAAK,SACH,OAAO;IACL,GAAG;IACH,GAAG,WAAW,MAAM,MAAM,KAAK,OAAO;IACtC,WAAW,OAAO,QAAQ;GAC5B;GACF,KAAK;IACH,MAAM,WAAW;KACf,GAAG;KACH,GAAG,aAAa,OAAO,MAAM,OAAO,aAAa;KACjD,iBAAiB,MAAM,kBAAkB;KACzC,GAAI,CAAC,OAAO,UAAU;MACpB,aAAa;MACb,mBAAmB;MACnB,oBAAoB;KACtB;IACF;IAGA,uBAAA,cAAA,MAAoB,OAAO,SAAS,WAAW,KAAA,CAAA;IAE/C,OAAO;GACT,KAAK;IACH,MAAM,QAAQ,OAAO;IACrB,OAAO;KACL,GAAG;KACH;KACA,kBAAkB,MAAM,mBAAmB;KAC3C,gBAAgB,KAAK,IAAI;KACzB,mBAAmB,MAAM,oBAAoB;KAC7C,oBAAoB;KACpB,aAAa;KACb,QAAQ;KAGR,eAAe;IACjB;GACF,KAAK,cACH,OAAO;IACL,GAAG;IACH,eAAe;GACjB;GACF,KAAK,YACH,OAAO;IACL,GAAG;IACH,GAAG,OAAO;GACZ;EACJ;CACF;CAEA,KAAK,QAAQ,QAAQ,KAAK,KAAK;CAE/B,cAAc,YAAY;EAGxB,KAAK,UAAU,MAAM,CAAC,CAAC,SAAS,aAAa;GAC3C,SAAS,cAAc;EACzB,CAAC;EAED,uBAAA,QAAA,IAAA,CAAA,CAAY,OAAO;GAAE,OAAO;GAAM,MAAM;GAAW;EAAO,CAAC;CAC7D,CAAC;AACH;AAGF,SAAgB,WAMd,MACA,SACA;CACA,OAAO;EACL,mBAAmB;EACnB,oBAAoB;EACpB,aAAa,SAAS,QAAQ,WAAW,IAAI,aAAa;EAC1D,GAAI,SAAS,KAAA,KACV;GACC,OAAO;GACP,QAAQ;EACV;CACJ;AACF;AAEA,SAAS,aAAoB,MAAyB,eAAwB;CAC5E,OAAO;EACL;EACA,eAAe,iBAAiB,KAAK,IAAI;EACzC,OAAO;EACP,eAAe;EACf,QAAQ;CACV;AACF;AAEA,SAAS,gBAMP,SAC2B;CAC3B,MAAM,OACJ,OAAO,QAAQ,gBAAgB,aAC1B,QAAQ,YAA2C,IACpD,QAAQ;CAEd,MAAM,UAAU,SAAS,KAAA;CAEzB,MAAM,uBAAuB,UACzB,OAAO,QAAQ,yBAAyB,aACtC,QAAQ,qBAAqB,IAC7B,QAAQ,uBACV;CAEJ,OAAO;EACL;EACA,iBAAiB;EACjB,eAAe,UAAW,wBAAwB,KAAK,IAAI,IAAK;EAChE,OAAO;EACP,kBAAkB;EAClB,gBAAgB;EAChB,mBAAmB;EACnB,oBAAoB;EACpB,WAAW;EACX,eAAe;EACf,QAAQ,UAAU,YAAY;EAC9B,aAAa;CACf;AACF"} |
@@ -1,2 +0,2 @@ | ||
| import { cn as QueryCacheConfig, ln as QueryCacheNotifyEvent, sn as QueryCache, un as QueryStore } from "./hydration-BoHd-X9T.cjs"; | ||
| import { cn as QueryCacheConfig, ln as QueryCacheNotifyEvent, sn as QueryCache, un as QueryStore } from "./hydration-DWGr3cFC.cjs"; | ||
| export { QueryCache, QueryCacheConfig, QueryCacheNotifyEvent, QueryStore }; |
@@ -1,2 +0,2 @@ | ||
| import { cn as QueryCacheConfig, ln as QueryCacheNotifyEvent, sn as QueryCache, un as QueryStore } from "./hydration-DFwTM9vM.js"; | ||
| import { cn as QueryCacheConfig, ln as QueryCacheNotifyEvent, sn as QueryCache, un as QueryStore } from "./hydration-Bjs0MSgg.js"; | ||
| export { QueryCache, QueryCacheConfig, QueryCacheNotifyEvent, QueryStore }; |
@@ -93,3 +93,3 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); | ||
| if (cachedData === void 0) return this.fetchQuery(options); | ||
| if (options.revalidateIfStale && query.isStaleByTime(require_utils.resolveStaleTime(defaultedOptions.staleTime, query))) this.prefetchQuery(defaultedOptions); | ||
| if (options.revalidateIfStale && query.isStaleByTime(require_utils.resolveQueryValue(defaultedOptions.staleTime, query))) this.prefetchQuery(defaultedOptions); | ||
| return Promise.resolve(cachedData); | ||
@@ -179,3 +179,3 @@ } | ||
| const query = require_classPrivateFieldSet2._classPrivateFieldGet2(_queryCache, this).build(this, defaultedOptions); | ||
| const queryData = query.isStaleByTime(require_utils.resolveStaleTime(defaultedOptions.staleTime, query)) ? await query.fetch(defaultedOptions) : query.state.data; | ||
| const queryData = query.isStaleByTime(require_utils.resolveQueryValue(defaultedOptions.staleTime, query)) ? await query.fetch(defaultedOptions) : query.state.data; | ||
| const select = defaultedOptions.select; | ||
@@ -192,3 +192,3 @@ if (select) return select(queryData); | ||
| const query = require_classPrivateFieldSet2._classPrivateFieldGet2(_queryCache, this).build(this, defaultedOptions); | ||
| return query.isStaleByTime(require_utils.resolveStaleTime(defaultedOptions.staleTime, query)) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data); | ||
| return query.isStaleByTime(require_utils.resolveQueryValue(defaultedOptions.staleTime, query)) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data); | ||
| } | ||
@@ -195,0 +195,0 @@ /** |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"queryClient.cjs","names":["QueryCache","MutationCache","focusManager","onlineManager","resolveStaleTime","functionalUpdate","notifyManager","noop","hashKey","partialMatchKey","hashQueryKeyByOptions","skipToken"],"sources":["../../src/queryClient.ts"],"sourcesContent":["import {\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n noop,\n partialMatchKey,\n resolveStaleTime,\n skipToken,\n} from './utils'\nimport { QueryCache } from './queryCache'\nimport { MutationCache } from './mutationCache'\nimport { focusManager } from './focusManager'\nimport { onlineManager } from './onlineManager'\nimport { notifyManager } from './notifyManager'\nimport type {\n CancelOptions,\n DefaultError,\n DefaultOptions,\n DefaultedQueryObserverOptions,\n EnsureInfiniteQueryDataOptions,\n EnsureQueryDataOptions,\n FetchInfiniteQueryOptions,\n FetchQueryOptions,\n InferDataFromTag,\n InferErrorFromTag,\n InfiniteData,\n InfiniteQueryExecuteOptions,\n InvalidateOptions,\n InvalidateQueryFilters,\n MutationKey,\n MutationObserverOptions,\n MutationOptions,\n OmitKeyof,\n QueryClientConfig,\n QueryExecuteOptions,\n QueryKey,\n QueryObserverOptions,\n QueryOptions,\n RefetchOptions,\n RefetchQueryFilters,\n ResetOptions,\n SetDataOptions,\n} from './types'\nimport type { QueryState } from './query'\nimport type { MutationFilters, QueryFilters, Updater } from './utils'\n\n// TYPES\n\ninterface QueryDefaults {\n queryKey: QueryKey\n defaultOptions: OmitKeyof<QueryOptions<any, any, any>, 'queryKey'>\n}\n\ninterface MutationDefaults {\n mutationKey: MutationKey\n defaultOptions: MutationOptions<any, any, any, any>\n}\n\n// CLASS\n\nexport class QueryClient {\n #queryCache: QueryCache\n #mutationCache: MutationCache\n #defaultOptions: DefaultOptions\n #queryDefaults: Map<string, QueryDefaults>\n #mutationDefaults: Map<string, MutationDefaults>\n #mountCount: number\n #unsubscribeFocus?: () => void\n #unsubscribeOnline?: () => void\n\n constructor(config: QueryClientConfig = {}) {\n this.#queryCache = config.queryCache || new QueryCache()\n this.#mutationCache = config.mutationCache || new MutationCache()\n this.#defaultOptions = config.defaultOptions || {}\n this.#queryDefaults = new Map()\n this.#mutationDefaults = new Map()\n this.#mountCount = 0\n }\n\n mount(): void {\n this.#mountCount++\n if (this.#mountCount !== 1) return\n\n this.#unsubscribeFocus = focusManager.subscribe(async (focused) => {\n if (focused) {\n await this.resumePausedMutations()\n this.#queryCache.onFocus()\n }\n })\n this.#unsubscribeOnline = onlineManager.subscribe(async (online) => {\n if (online) {\n await this.resumePausedMutations()\n this.#queryCache.onOnline()\n }\n })\n }\n\n unmount(): void {\n this.#mountCount--\n if (this.#mountCount !== 0) return\n\n this.#unsubscribeFocus?.()\n this.#unsubscribeFocus = undefined\n\n this.#unsubscribeOnline?.()\n this.#unsubscribeOnline = undefined\n }\n\n isFetching<TQueryFilters extends QueryFilters<any> = QueryFilters>(\n filters?: TQueryFilters,\n ): number {\n return this.#queryCache.findAll({ ...filters, fetchStatus: 'fetching' })\n .length\n }\n\n isMutating<\n TMutationFilters extends MutationFilters<any, any> = MutationFilters,\n >(filters?: TMutationFilters): number {\n return this.#mutationCache.findAll({ ...filters, status: 'pending' }).length\n }\n\n /**\n * Imperative (non-reactive) way to retrieve data for a QueryKey.\n * Should only be used in callbacks or functions where reading the latest data is necessary, e.g. for optimistic updates.\n *\n * Hint: Do not use this function inside a component, because it won't receive updates.\n * Use `useQuery` to create a `QueryObserver` that subscribes to changes.\n */\n getQueryData<\n TQueryFnData = unknown,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,\n >(queryKey: TTaggedQueryKey): TInferredQueryFnData | undefined {\n const options = this.defaultQueryOptions({ queryKey })\n\n return this.#queryCache.get<TInferredQueryFnData>(options.queryHash)?.state\n .data\n }\n\n /**\n * @deprecated Use queryClient.query({ ...options, staleTime: 'static' }) instead. This method will be removed in the next major version.\n */\n ensureQueryData<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: EnsureQueryDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<TData> {\n const defaultedOptions = this.defaultQueryOptions(options)\n const query = this.#queryCache.build(this, defaultedOptions)\n const cachedData = query.state.data\n\n if (cachedData === undefined) {\n return this.fetchQuery(options)\n }\n\n if (\n options.revalidateIfStale &&\n query.isStaleByTime(resolveStaleTime(defaultedOptions.staleTime, query))\n ) {\n void this.prefetchQuery(defaultedOptions)\n }\n\n return Promise.resolve(cachedData)\n }\n\n getQueriesData<\n TQueryFnData = unknown,\n TQueryFilters extends QueryFilters<any> = QueryFilters,\n >(filters: TQueryFilters): Array<[QueryKey, TQueryFnData | undefined]> {\n return this.#queryCache.findAll(filters).map(({ queryKey, state }) => {\n const data = state.data as TQueryFnData | undefined\n return [queryKey, data]\n })\n }\n\n setQueryData<\n TQueryFnData = unknown,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,\n >(\n queryKey: TTaggedQueryKey,\n updater: Updater<\n NoInfer<TInferredQueryFnData> | undefined,\n NoInfer<TInferredQueryFnData> | undefined\n >,\n options?: SetDataOptions,\n ): NoInfer<TInferredQueryFnData> | undefined {\n const defaultedOptions = this.defaultQueryOptions<\n any,\n any,\n unknown,\n any,\n QueryKey\n >({ queryKey })\n\n const query = this.#queryCache.get<TInferredQueryFnData>(\n defaultedOptions.queryHash,\n )\n const prevData = query?.state.data\n const data = functionalUpdate(updater, prevData)\n\n if (data === undefined) {\n return undefined\n }\n\n return this.#queryCache\n .build(this, defaultedOptions)\n .setData(data, { ...options, manual: true })\n }\n\n setQueriesData<\n TQueryFnData,\n TQueryFilters extends QueryFilters<any> = QueryFilters,\n >(\n filters: TQueryFilters,\n updater: Updater<\n NoInfer<TQueryFnData> | undefined,\n NoInfer<TQueryFnData> | undefined\n >,\n options?: SetDataOptions,\n ): Array<[QueryKey, TQueryFnData | undefined]> {\n return notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .map(({ queryKey }) => [\n queryKey,\n this.setQueryData<TQueryFnData>(queryKey, updater, options),\n ]),\n )\n }\n\n getQueryState<\n TQueryFnData = unknown,\n TError = DefaultError,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,\n TInferredError = InferErrorFromTag<TError, TTaggedQueryKey>,\n >(\n queryKey: TTaggedQueryKey,\n ): QueryState<TInferredQueryFnData, TInferredError> | undefined {\n const options = this.defaultQueryOptions({ queryKey })\n return this.#queryCache.get<TInferredQueryFnData, TInferredError>(\n options.queryHash,\n )?.state\n }\n\n removeQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: QueryFilters<TTaggedQueryKey>,\n ): void {\n const queryCache = this.#queryCache\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n queryCache.remove(query)\n })\n })\n }\n\n resetQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: QueryFilters<TTaggedQueryKey>,\n options?: ResetOptions,\n ): Promise<void> {\n const queryCache = this.#queryCache\n\n return notifyManager.batch(() => {\n const matched = queryCache.findAll(filters)\n const queriesToRefetch = new Set(matched)\n matched.forEach((query) => {\n query.reset()\n })\n return this.refetchQueries(\n {\n type: 'active',\n predicate: (query) => queriesToRefetch.has(query),\n },\n options,\n )\n })\n }\n\n cancelQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: QueryFilters<TTaggedQueryKey>,\n cancelOptions: CancelOptions = {},\n ): Promise<void> {\n const defaultedCancelOptions = { revert: true, ...cancelOptions }\n\n const promises = notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .map((query) => query.cancel(defaultedCancelOptions)),\n )\n\n return Promise.all(promises).then(noop).catch(noop)\n }\n\n invalidateQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: InvalidateQueryFilters<TTaggedQueryKey>,\n options: InvalidateOptions = {},\n ): Promise<void> {\n return notifyManager.batch(() => {\n this.#queryCache.findAll(filters).forEach((query) => {\n query.invalidate()\n })\n\n if (filters?.refetchType === 'none') {\n return Promise.resolve()\n }\n return this.refetchQueries(\n {\n ...filters,\n type: filters?.refetchType ?? filters?.type ?? 'active',\n },\n options,\n )\n })\n }\n\n refetchQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: RefetchQueryFilters<TTaggedQueryKey>,\n options: RefetchOptions = {},\n ): Promise<void> {\n const fetchOptions = {\n ...options,\n cancelRefetch: options.cancelRefetch ?? true,\n }\n const promises = notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .filter((query) => !query.isDisabled() && !query.isStatic())\n .map((query) => {\n let promise = query.fetch(undefined, fetchOptions)\n if (!fetchOptions.throwOnError) {\n promise = promise.catch(noop)\n }\n return query.state.fetchStatus === 'paused'\n ? Promise.resolve()\n : promise\n }),\n )\n\n return Promise.all(promises).then(noop)\n }\n\n async query<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n >(\n options: QueryExecuteOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<TData> {\n const defaultedOptions = this.defaultQueryOptions(options)\n\n // https://github.com/tannerlinsley/react-query/issues/652\n if (defaultedOptions.retry === undefined) {\n defaultedOptions.retry = false\n }\n\n const query = this.#queryCache.build(this, defaultedOptions)\n\n const isStale = query.isStaleByTime(\n resolveStaleTime(defaultedOptions.staleTime, query),\n )\n\n const queryData = isStale\n ? await query.fetch(defaultedOptions)\n : (query.state.data as TQueryData)\n\n const select = defaultedOptions.select\n\n if (select) {\n return select(queryData)\n }\n\n return queryData as unknown as TData\n }\n\n /**\n * @deprecated Use queryClient.query(options) instead. This method will be removed in the next major version.\n */\n fetchQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n >(\n options: FetchQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<TData> {\n const defaultedOptions = this.defaultQueryOptions(options)\n\n // https://github.com/tannerlinsley/react-query/issues/652\n if (defaultedOptions.retry === undefined) {\n defaultedOptions.retry = false\n }\n\n const query = this.#queryCache.build(this, defaultedOptions)\n\n return query.isStaleByTime(\n resolveStaleTime(defaultedOptions.staleTime, query),\n )\n ? query.fetch(defaultedOptions)\n : Promise.resolve(query.state.data as TData)\n }\n\n /**\n * @deprecated Use queryClient.query(options) instead. You can swallow errors with `.catch(noop)`. This method will be removed in the next major version.\n */\n prefetchQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<void> {\n return this.fetchQuery(options).then(noop).catch(noop)\n }\n\n infiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: InfiniteQueryExecuteOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<\n Array<TData> extends Array<InfiniteData<TQueryFnData>>\n ? InfiniteData<TQueryFnData, TPageParam>\n : TData\n > {\n options._type = 'infinite'\n return this.query(options as any)\n }\n\n /**\n * @deprecated Use queryClient.infiniteQuery(options) instead. This method will be removed in the next major version.\n */\n fetchInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<InfiniteData<TData, TPageParam>> {\n options._type = 'infinite'\n return this.fetchQuery(options as any)\n }\n\n /**\n * @deprecated Use queryClient.infiniteQuery(options) instead. You can swallow errors with `.catch(noop)`. This method will be removed in the next major version.\n */\n prefetchInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<void> {\n return this.fetchInfiniteQuery(options).then(noop).catch(noop)\n }\n\n /**\n * @deprecated Use queryClient.infiniteQuery({ ...options, staleTime: 'static' }) instead. This method will be removed in the next major version.\n */\n ensureInfiniteQueryData<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: EnsureInfiniteQueryDataOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<InfiniteData<TData, TPageParam>> {\n options._type = 'infinite'\n\n return this.ensureQueryData(options as any)\n }\n\n resumePausedMutations(): Promise<unknown> {\n if (onlineManager.isOnline()) {\n return this.#mutationCache.resumePausedMutations()\n }\n return Promise.resolve()\n }\n\n getQueryCache(): QueryCache {\n return this.#queryCache\n }\n\n getMutationCache(): MutationCache {\n return this.#mutationCache\n }\n\n getDefaultOptions(): DefaultOptions {\n return this.#defaultOptions\n }\n\n setDefaultOptions(options: DefaultOptions): void {\n this.#defaultOptions = options\n }\n\n setQueryDefaults<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n >(\n queryKey: QueryKey,\n options: Partial<\n OmitKeyof<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData>,\n 'queryKey'\n >\n >,\n ): void {\n this.#queryDefaults.set(hashKey(queryKey), {\n queryKey,\n defaultOptions: options,\n })\n }\n\n getQueryDefaults(\n queryKey: QueryKey,\n ): OmitKeyof<QueryObserverOptions<any, any, any, any, any>, 'queryKey'> {\n const defaults = [...this.#queryDefaults.values()]\n\n const result: OmitKeyof<\n QueryObserverOptions<any, any, any, any, any>,\n 'queryKey'\n > = {}\n\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(queryKey, queryDefault.queryKey)) {\n Object.assign(result, queryDefault.defaultOptions)\n }\n })\n return result\n }\n\n setMutationDefaults<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n >(\n mutationKey: MutationKey,\n options: OmitKeyof<\n MutationObserverOptions<TData, TError, TVariables, TOnMutateResult>,\n 'mutationKey'\n >,\n ): void {\n this.#mutationDefaults.set(hashKey(mutationKey), {\n mutationKey,\n defaultOptions: options,\n })\n }\n\n getMutationDefaults(\n mutationKey: MutationKey,\n ): OmitKeyof<MutationObserverOptions<any, any, any, any>, 'mutationKey'> {\n const defaults = [...this.#mutationDefaults.values()]\n\n const result: OmitKeyof<\n MutationObserverOptions<any, any, any, any>,\n 'mutationKey'\n > = {}\n\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(mutationKey, queryDefault.mutationKey)) {\n Object.assign(result, queryDefault.defaultOptions)\n }\n })\n\n return result\n }\n\n defaultQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n >(\n options:\n | QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >\n | DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n > {\n if (options._defaulted) {\n return options as DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n }\n\n const defaultedOptions = {\n ...this.#defaultOptions.queries,\n ...this.getQueryDefaults(options.queryKey),\n ...options,\n _defaulted: true,\n }\n\n if (!defaultedOptions.queryHash) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(\n defaultedOptions.queryKey,\n defaultedOptions,\n )\n }\n\n // dependent default values\n if (defaultedOptions.refetchOnReconnect === undefined) {\n defaultedOptions.refetchOnReconnect =\n defaultedOptions.networkMode !== 'always'\n }\n if (defaultedOptions.throwOnError === undefined) {\n defaultedOptions.throwOnError = !!defaultedOptions.suspense\n }\n\n if (!defaultedOptions.networkMode && defaultedOptions.persister) {\n defaultedOptions.networkMode = 'offlineFirst'\n }\n\n if (defaultedOptions.queryFn === skipToken) {\n defaultedOptions.enabled = false\n }\n\n return defaultedOptions as DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n }\n\n defaultMutationOptions<T extends MutationOptions<any, any, any, any>>(\n options?: T,\n ): T {\n if (options?._defaulted) {\n return options\n }\n return {\n ...this.#defaultOptions.mutations,\n ...(options?.mutationKey &&\n this.getMutationDefaults(options.mutationKey)),\n ...options,\n _defaulted: true,\n } as T\n }\n\n clear(): void {\n this.#queryCache.clear()\n this.#mutationCache.clear()\n }\n}\n"],"mappings":"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"} | ||
| {"version":3,"file":"queryClient.cjs","names":["QueryCache","MutationCache","focusManager","onlineManager","resolveQueryValue","functionalUpdate","notifyManager","noop","hashKey","partialMatchKey","hashQueryKeyByOptions","skipToken"],"sources":["../../src/queryClient.ts"],"sourcesContent":["import {\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n noop,\n partialMatchKey,\n resolveQueryValue,\n skipToken,\n} from './utils'\nimport { QueryCache } from './queryCache'\nimport { MutationCache } from './mutationCache'\nimport { focusManager } from './focusManager'\nimport { onlineManager } from './onlineManager'\nimport { notifyManager } from './notifyManager'\nimport type {\n CancelOptions,\n DefaultError,\n DefaultOptions,\n DefaultedQueryObserverOptions,\n EnsureInfiniteQueryDataOptions,\n EnsureQueryDataOptions,\n FetchInfiniteQueryOptions,\n FetchQueryOptions,\n InferDataFromTag,\n InferErrorFromTag,\n InfiniteData,\n InfiniteQueryExecuteOptions,\n InvalidateOptions,\n InvalidateQueryFilters,\n MutationKey,\n MutationObserverOptions,\n MutationOptions,\n OmitKeyof,\n QueryClientConfig,\n QueryExecuteOptions,\n QueryKey,\n QueryObserverOptions,\n QueryOptions,\n RefetchOptions,\n RefetchQueryFilters,\n ResetOptions,\n SetDataOptions,\n} from './types'\nimport type { QueryState } from './query'\nimport type { MutationFilters, QueryFilters, Updater } from './utils'\n\n// TYPES\n\ninterface QueryDefaults {\n queryKey: QueryKey\n defaultOptions: OmitKeyof<QueryOptions<any, any, any>, 'queryKey'>\n}\n\ninterface MutationDefaults {\n mutationKey: MutationKey\n defaultOptions: MutationOptions<any, any, any, any>\n}\n\n// CLASS\n\nexport class QueryClient {\n #queryCache: QueryCache\n #mutationCache: MutationCache\n #defaultOptions: DefaultOptions\n #queryDefaults: Map<string, QueryDefaults>\n #mutationDefaults: Map<string, MutationDefaults>\n #mountCount: number\n #unsubscribeFocus?: () => void\n #unsubscribeOnline?: () => void\n\n constructor(config: QueryClientConfig = {}) {\n this.#queryCache = config.queryCache || new QueryCache()\n this.#mutationCache = config.mutationCache || new MutationCache()\n this.#defaultOptions = config.defaultOptions || {}\n this.#queryDefaults = new Map()\n this.#mutationDefaults = new Map()\n this.#mountCount = 0\n }\n\n mount(): void {\n this.#mountCount++\n if (this.#mountCount !== 1) return\n\n this.#unsubscribeFocus = focusManager.subscribe(async (focused) => {\n if (focused) {\n await this.resumePausedMutations()\n this.#queryCache.onFocus()\n }\n })\n this.#unsubscribeOnline = onlineManager.subscribe(async (online) => {\n if (online) {\n await this.resumePausedMutations()\n this.#queryCache.onOnline()\n }\n })\n }\n\n unmount(): void {\n this.#mountCount--\n if (this.#mountCount !== 0) return\n\n this.#unsubscribeFocus?.()\n this.#unsubscribeFocus = undefined\n\n this.#unsubscribeOnline?.()\n this.#unsubscribeOnline = undefined\n }\n\n isFetching<TQueryFilters extends QueryFilters<any> = QueryFilters>(\n filters?: TQueryFilters,\n ): number {\n return this.#queryCache.findAll({ ...filters, fetchStatus: 'fetching' })\n .length\n }\n\n isMutating<\n TMutationFilters extends MutationFilters<any, any> = MutationFilters,\n >(filters?: TMutationFilters): number {\n return this.#mutationCache.findAll({ ...filters, status: 'pending' }).length\n }\n\n /**\n * Imperative (non-reactive) way to retrieve data for a QueryKey.\n * Should only be used in callbacks or functions where reading the latest data is necessary, e.g. for optimistic updates.\n *\n * Hint: Do not use this function inside a component, because it won't receive updates.\n * Use `useQuery` to create a `QueryObserver` that subscribes to changes.\n */\n getQueryData<\n TQueryFnData = unknown,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,\n >(queryKey: TTaggedQueryKey): TInferredQueryFnData | undefined {\n const options = this.defaultQueryOptions({ queryKey })\n\n return this.#queryCache.get<TInferredQueryFnData>(options.queryHash)?.state\n .data\n }\n\n /**\n * @deprecated Use queryClient.query({ ...options, staleTime: 'static' }) instead. This method will be removed in the next major version.\n */\n ensureQueryData<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: EnsureQueryDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<TData> {\n const defaultedOptions = this.defaultQueryOptions(options)\n const query = this.#queryCache.build(this, defaultedOptions)\n const cachedData = query.state.data\n\n if (cachedData === undefined) {\n return this.fetchQuery(options)\n }\n\n if (\n options.revalidateIfStale &&\n query.isStaleByTime(resolveQueryValue(defaultedOptions.staleTime, query))\n ) {\n void this.prefetchQuery(defaultedOptions)\n }\n\n return Promise.resolve(cachedData)\n }\n\n getQueriesData<\n TQueryFnData = unknown,\n TQueryFilters extends QueryFilters<any> = QueryFilters,\n >(filters: TQueryFilters): Array<[QueryKey, TQueryFnData | undefined]> {\n return this.#queryCache.findAll(filters).map(({ queryKey, state }) => {\n const data = state.data as TQueryFnData | undefined\n return [queryKey, data]\n })\n }\n\n setQueryData<\n TQueryFnData = unknown,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,\n >(\n queryKey: TTaggedQueryKey,\n updater: Updater<\n NoInfer<TInferredQueryFnData> | undefined,\n NoInfer<TInferredQueryFnData> | undefined\n >,\n options?: SetDataOptions,\n ): NoInfer<TInferredQueryFnData> | undefined {\n const defaultedOptions = this.defaultQueryOptions<\n any,\n any,\n unknown,\n any,\n QueryKey\n >({ queryKey })\n\n const query = this.#queryCache.get<TInferredQueryFnData>(\n defaultedOptions.queryHash,\n )\n const prevData = query?.state.data\n const data = functionalUpdate(updater, prevData)\n\n if (data === undefined) {\n return undefined\n }\n\n return this.#queryCache\n .build(this, defaultedOptions)\n .setData(data, { ...options, manual: true })\n }\n\n setQueriesData<\n TQueryFnData,\n TQueryFilters extends QueryFilters<any> = QueryFilters,\n >(\n filters: TQueryFilters,\n updater: Updater<\n NoInfer<TQueryFnData> | undefined,\n NoInfer<TQueryFnData> | undefined\n >,\n options?: SetDataOptions,\n ): Array<[QueryKey, TQueryFnData | undefined]> {\n return notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .map(({ queryKey }) => [\n queryKey,\n this.setQueryData<TQueryFnData>(queryKey, updater, options),\n ]),\n )\n }\n\n getQueryState<\n TQueryFnData = unknown,\n TError = DefaultError,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,\n TInferredError = InferErrorFromTag<TError, TTaggedQueryKey>,\n >(\n queryKey: TTaggedQueryKey,\n ): QueryState<TInferredQueryFnData, TInferredError> | undefined {\n const options = this.defaultQueryOptions({ queryKey })\n return this.#queryCache.get<TInferredQueryFnData, TInferredError>(\n options.queryHash,\n )?.state\n }\n\n removeQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: QueryFilters<TTaggedQueryKey>,\n ): void {\n const queryCache = this.#queryCache\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n queryCache.remove(query)\n })\n })\n }\n\n resetQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: QueryFilters<TTaggedQueryKey>,\n options?: ResetOptions,\n ): Promise<void> {\n const queryCache = this.#queryCache\n\n return notifyManager.batch(() => {\n const matched = queryCache.findAll(filters)\n const queriesToRefetch = new Set(matched)\n matched.forEach((query) => {\n query.reset()\n })\n return this.refetchQueries(\n {\n type: 'active',\n predicate: (query) => queriesToRefetch.has(query),\n },\n options,\n )\n })\n }\n\n cancelQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: QueryFilters<TTaggedQueryKey>,\n cancelOptions: CancelOptions = {},\n ): Promise<void> {\n const defaultedCancelOptions = { revert: true, ...cancelOptions }\n\n const promises = notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .map((query) => query.cancel(defaultedCancelOptions)),\n )\n\n return Promise.all(promises).then(noop).catch(noop)\n }\n\n invalidateQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: InvalidateQueryFilters<TTaggedQueryKey>,\n options: InvalidateOptions = {},\n ): Promise<void> {\n return notifyManager.batch(() => {\n this.#queryCache.findAll(filters).forEach((query) => {\n query.invalidate()\n })\n\n if (filters?.refetchType === 'none') {\n return Promise.resolve()\n }\n return this.refetchQueries(\n {\n ...filters,\n type: filters?.refetchType ?? filters?.type ?? 'active',\n },\n options,\n )\n })\n }\n\n refetchQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: RefetchQueryFilters<TTaggedQueryKey>,\n options: RefetchOptions = {},\n ): Promise<void> {\n const fetchOptions = {\n ...options,\n cancelRefetch: options.cancelRefetch ?? true,\n }\n const promises = notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .filter((query) => !query.isDisabled() && !query.isStatic())\n .map((query) => {\n let promise = query.fetch(undefined, fetchOptions)\n if (!fetchOptions.throwOnError) {\n promise = promise.catch(noop)\n }\n return query.state.fetchStatus === 'paused'\n ? Promise.resolve()\n : promise\n }),\n )\n\n return Promise.all(promises).then(noop)\n }\n\n async query<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n >(\n options: QueryExecuteOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<TData> {\n const defaultedOptions = this.defaultQueryOptions(options)\n\n // https://github.com/tannerlinsley/react-query/issues/652\n if (defaultedOptions.retry === undefined) {\n defaultedOptions.retry = false\n }\n\n const query = this.#queryCache.build(this, defaultedOptions)\n\n const isStale = query.isStaleByTime(\n resolveQueryValue(defaultedOptions.staleTime, query),\n )\n\n const queryData = isStale\n ? await query.fetch(defaultedOptions)\n : (query.state.data as TQueryData)\n\n const select = defaultedOptions.select\n\n if (select) {\n return select(queryData)\n }\n\n return queryData as unknown as TData\n }\n\n /**\n * @deprecated Use queryClient.query(options) instead. This method will be removed in the next major version.\n */\n fetchQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n >(\n options: FetchQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<TData> {\n const defaultedOptions = this.defaultQueryOptions(options)\n\n // https://github.com/tannerlinsley/react-query/issues/652\n if (defaultedOptions.retry === undefined) {\n defaultedOptions.retry = false\n }\n\n const query = this.#queryCache.build(this, defaultedOptions)\n\n return query.isStaleByTime(\n resolveQueryValue(defaultedOptions.staleTime, query),\n )\n ? query.fetch(defaultedOptions)\n : Promise.resolve(query.state.data as TData)\n }\n\n /**\n * @deprecated Use queryClient.query(options) instead. You can swallow errors with `.catch(noop)`. This method will be removed in the next major version.\n */\n prefetchQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<void> {\n return this.fetchQuery(options).then(noop).catch(noop)\n }\n\n infiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: InfiniteQueryExecuteOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<\n Array<TData> extends Array<InfiniteData<TQueryFnData>>\n ? InfiniteData<TQueryFnData, TPageParam>\n : TData\n > {\n options._type = 'infinite'\n return this.query(options as any)\n }\n\n /**\n * @deprecated Use queryClient.infiniteQuery(options) instead. This method will be removed in the next major version.\n */\n fetchInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<InfiniteData<TData, TPageParam>> {\n options._type = 'infinite'\n return this.fetchQuery(options as any)\n }\n\n /**\n * @deprecated Use queryClient.infiniteQuery(options) instead. You can swallow errors with `.catch(noop)`. This method will be removed in the next major version.\n */\n prefetchInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<void> {\n return this.fetchInfiniteQuery(options).then(noop).catch(noop)\n }\n\n /**\n * @deprecated Use queryClient.infiniteQuery({ ...options, staleTime: 'static' }) instead. This method will be removed in the next major version.\n */\n ensureInfiniteQueryData<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: EnsureInfiniteQueryDataOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<InfiniteData<TData, TPageParam>> {\n options._type = 'infinite'\n\n return this.ensureQueryData(options as any)\n }\n\n resumePausedMutations(): Promise<unknown> {\n if (onlineManager.isOnline()) {\n return this.#mutationCache.resumePausedMutations()\n }\n return Promise.resolve()\n }\n\n getQueryCache(): QueryCache {\n return this.#queryCache\n }\n\n getMutationCache(): MutationCache {\n return this.#mutationCache\n }\n\n getDefaultOptions(): DefaultOptions {\n return this.#defaultOptions\n }\n\n setDefaultOptions(options: DefaultOptions): void {\n this.#defaultOptions = options\n }\n\n setQueryDefaults<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n >(\n queryKey: QueryKey,\n options: Partial<\n OmitKeyof<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData>,\n 'queryKey'\n >\n >,\n ): void {\n this.#queryDefaults.set(hashKey(queryKey), {\n queryKey,\n defaultOptions: options,\n })\n }\n\n getQueryDefaults(\n queryKey: QueryKey,\n ): OmitKeyof<QueryObserverOptions<any, any, any, any, any>, 'queryKey'> {\n const defaults = [...this.#queryDefaults.values()]\n\n const result: OmitKeyof<\n QueryObserverOptions<any, any, any, any, any>,\n 'queryKey'\n > = {}\n\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(queryKey, queryDefault.queryKey)) {\n Object.assign(result, queryDefault.defaultOptions)\n }\n })\n return result\n }\n\n setMutationDefaults<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n >(\n mutationKey: MutationKey,\n options: OmitKeyof<\n MutationObserverOptions<TData, TError, TVariables, TOnMutateResult>,\n 'mutationKey'\n >,\n ): void {\n this.#mutationDefaults.set(hashKey(mutationKey), {\n mutationKey,\n defaultOptions: options,\n })\n }\n\n getMutationDefaults(\n mutationKey: MutationKey,\n ): OmitKeyof<MutationObserverOptions<any, any, any, any>, 'mutationKey'> {\n const defaults = [...this.#mutationDefaults.values()]\n\n const result: OmitKeyof<\n MutationObserverOptions<any, any, any, any>,\n 'mutationKey'\n > = {}\n\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(mutationKey, queryDefault.mutationKey)) {\n Object.assign(result, queryDefault.defaultOptions)\n }\n })\n\n return result\n }\n\n defaultQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n >(\n options:\n | QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >\n | DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n > {\n if (options._defaulted) {\n return options as DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n }\n\n const defaultedOptions = {\n ...this.#defaultOptions.queries,\n ...this.getQueryDefaults(options.queryKey),\n ...options,\n _defaulted: true,\n }\n\n if (!defaultedOptions.queryHash) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(\n defaultedOptions.queryKey,\n defaultedOptions,\n )\n }\n\n // dependent default values\n if (defaultedOptions.refetchOnReconnect === undefined) {\n defaultedOptions.refetchOnReconnect =\n defaultedOptions.networkMode !== 'always'\n }\n if (defaultedOptions.throwOnError === undefined) {\n defaultedOptions.throwOnError = !!defaultedOptions.suspense\n }\n\n if (!defaultedOptions.networkMode && defaultedOptions.persister) {\n defaultedOptions.networkMode = 'offlineFirst'\n }\n\n if (defaultedOptions.queryFn === skipToken) {\n defaultedOptions.enabled = false\n }\n\n return defaultedOptions as DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n }\n\n defaultMutationOptions<T extends MutationOptions<any, any, any, any>>(\n options?: T,\n ): T {\n if (options?._defaulted) {\n return options\n }\n return {\n ...this.#defaultOptions.mutations,\n ...(options?.mutationKey &&\n this.getMutationDefaults(options.mutationKey)),\n ...options,\n _defaulted: true,\n } as T\n }\n\n clear(): void {\n this.#queryCache.clear()\n this.#mutationCache.clear()\n }\n}\n"],"mappings":"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"} |
@@ -1,2 +0,2 @@ | ||
| import { on as QueryClient } from "./hydration-BoHd-X9T.cjs"; | ||
| import { on as QueryClient } from "./hydration-DWGr3cFC.cjs"; | ||
| export { QueryClient }; |
@@ -1,2 +0,2 @@ | ||
| import { on as QueryClient } from "./hydration-DFwTM9vM.js"; | ||
| import { on as QueryClient } from "./hydration-Bjs0MSgg.js"; | ||
| export { QueryClient }; |
| import { i as _classPrivateFieldInitSpec, n as _classPrivateFieldGet2, t as _classPrivateFieldSet2 } from "./classPrivateFieldSet2-CV7wyte-.js"; | ||
| import { functionalUpdate, hashKey, hashQueryKeyByOptions, noop, partialMatchKey, resolveStaleTime, skipToken } from "./utils.js"; | ||
| import { functionalUpdate, hashKey, hashQueryKeyByOptions, noop, partialMatchKey, resolveQueryValue, skipToken } from "./utils.js"; | ||
| import { focusManager } from "./focusManager.js"; | ||
@@ -92,3 +92,3 @@ import { notifyManager } from "./notifyManager.js"; | ||
| if (cachedData === void 0) return this.fetchQuery(options); | ||
| if (options.revalidateIfStale && query.isStaleByTime(resolveStaleTime(defaultedOptions.staleTime, query))) this.prefetchQuery(defaultedOptions); | ||
| if (options.revalidateIfStale && query.isStaleByTime(resolveQueryValue(defaultedOptions.staleTime, query))) this.prefetchQuery(defaultedOptions); | ||
| return Promise.resolve(cachedData); | ||
@@ -178,3 +178,3 @@ } | ||
| const query = _classPrivateFieldGet2(_queryCache, this).build(this, defaultedOptions); | ||
| const queryData = query.isStaleByTime(resolveStaleTime(defaultedOptions.staleTime, query)) ? await query.fetch(defaultedOptions) : query.state.data; | ||
| const queryData = query.isStaleByTime(resolveQueryValue(defaultedOptions.staleTime, query)) ? await query.fetch(defaultedOptions) : query.state.data; | ||
| const select = defaultedOptions.select; | ||
@@ -191,3 +191,3 @@ if (select) return select(queryData); | ||
| const query = _classPrivateFieldGet2(_queryCache, this).build(this, defaultedOptions); | ||
| return query.isStaleByTime(resolveStaleTime(defaultedOptions.staleTime, query)) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data); | ||
| return query.isStaleByTime(resolveQueryValue(defaultedOptions.staleTime, query)) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data); | ||
| } | ||
@@ -194,0 +194,0 @@ /** |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"queryClient.js","names":[],"sources":["../../src/queryClient.ts"],"sourcesContent":["import {\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n noop,\n partialMatchKey,\n resolveStaleTime,\n skipToken,\n} from './utils'\nimport { QueryCache } from './queryCache'\nimport { MutationCache } from './mutationCache'\nimport { focusManager } from './focusManager'\nimport { onlineManager } from './onlineManager'\nimport { notifyManager } from './notifyManager'\nimport type {\n CancelOptions,\n DefaultError,\n DefaultOptions,\n DefaultedQueryObserverOptions,\n EnsureInfiniteQueryDataOptions,\n EnsureQueryDataOptions,\n FetchInfiniteQueryOptions,\n FetchQueryOptions,\n InferDataFromTag,\n InferErrorFromTag,\n InfiniteData,\n InfiniteQueryExecuteOptions,\n InvalidateOptions,\n InvalidateQueryFilters,\n MutationKey,\n MutationObserverOptions,\n MutationOptions,\n OmitKeyof,\n QueryClientConfig,\n QueryExecuteOptions,\n QueryKey,\n QueryObserverOptions,\n QueryOptions,\n RefetchOptions,\n RefetchQueryFilters,\n ResetOptions,\n SetDataOptions,\n} from './types'\nimport type { QueryState } from './query'\nimport type { MutationFilters, QueryFilters, Updater } from './utils'\n\n// TYPES\n\ninterface QueryDefaults {\n queryKey: QueryKey\n defaultOptions: OmitKeyof<QueryOptions<any, any, any>, 'queryKey'>\n}\n\ninterface MutationDefaults {\n mutationKey: MutationKey\n defaultOptions: MutationOptions<any, any, any, any>\n}\n\n// CLASS\n\nexport class QueryClient {\n #queryCache: QueryCache\n #mutationCache: MutationCache\n #defaultOptions: DefaultOptions\n #queryDefaults: Map<string, QueryDefaults>\n #mutationDefaults: Map<string, MutationDefaults>\n #mountCount: number\n #unsubscribeFocus?: () => void\n #unsubscribeOnline?: () => void\n\n constructor(config: QueryClientConfig = {}) {\n this.#queryCache = config.queryCache || new QueryCache()\n this.#mutationCache = config.mutationCache || new MutationCache()\n this.#defaultOptions = config.defaultOptions || {}\n this.#queryDefaults = new Map()\n this.#mutationDefaults = new Map()\n this.#mountCount = 0\n }\n\n mount(): void {\n this.#mountCount++\n if (this.#mountCount !== 1) return\n\n this.#unsubscribeFocus = focusManager.subscribe(async (focused) => {\n if (focused) {\n await this.resumePausedMutations()\n this.#queryCache.onFocus()\n }\n })\n this.#unsubscribeOnline = onlineManager.subscribe(async (online) => {\n if (online) {\n await this.resumePausedMutations()\n this.#queryCache.onOnline()\n }\n })\n }\n\n unmount(): void {\n this.#mountCount--\n if (this.#mountCount !== 0) return\n\n this.#unsubscribeFocus?.()\n this.#unsubscribeFocus = undefined\n\n this.#unsubscribeOnline?.()\n this.#unsubscribeOnline = undefined\n }\n\n isFetching<TQueryFilters extends QueryFilters<any> = QueryFilters>(\n filters?: TQueryFilters,\n ): number {\n return this.#queryCache.findAll({ ...filters, fetchStatus: 'fetching' })\n .length\n }\n\n isMutating<\n TMutationFilters extends MutationFilters<any, any> = MutationFilters,\n >(filters?: TMutationFilters): number {\n return this.#mutationCache.findAll({ ...filters, status: 'pending' }).length\n }\n\n /**\n * Imperative (non-reactive) way to retrieve data for a QueryKey.\n * Should only be used in callbacks or functions where reading the latest data is necessary, e.g. for optimistic updates.\n *\n * Hint: Do not use this function inside a component, because it won't receive updates.\n * Use `useQuery` to create a `QueryObserver` that subscribes to changes.\n */\n getQueryData<\n TQueryFnData = unknown,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,\n >(queryKey: TTaggedQueryKey): TInferredQueryFnData | undefined {\n const options = this.defaultQueryOptions({ queryKey })\n\n return this.#queryCache.get<TInferredQueryFnData>(options.queryHash)?.state\n .data\n }\n\n /**\n * @deprecated Use queryClient.query({ ...options, staleTime: 'static' }) instead. This method will be removed in the next major version.\n */\n ensureQueryData<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: EnsureQueryDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<TData> {\n const defaultedOptions = this.defaultQueryOptions(options)\n const query = this.#queryCache.build(this, defaultedOptions)\n const cachedData = query.state.data\n\n if (cachedData === undefined) {\n return this.fetchQuery(options)\n }\n\n if (\n options.revalidateIfStale &&\n query.isStaleByTime(resolveStaleTime(defaultedOptions.staleTime, query))\n ) {\n void this.prefetchQuery(defaultedOptions)\n }\n\n return Promise.resolve(cachedData)\n }\n\n getQueriesData<\n TQueryFnData = unknown,\n TQueryFilters extends QueryFilters<any> = QueryFilters,\n >(filters: TQueryFilters): Array<[QueryKey, TQueryFnData | undefined]> {\n return this.#queryCache.findAll(filters).map(({ queryKey, state }) => {\n const data = state.data as TQueryFnData | undefined\n return [queryKey, data]\n })\n }\n\n setQueryData<\n TQueryFnData = unknown,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,\n >(\n queryKey: TTaggedQueryKey,\n updater: Updater<\n NoInfer<TInferredQueryFnData> | undefined,\n NoInfer<TInferredQueryFnData> | undefined\n >,\n options?: SetDataOptions,\n ): NoInfer<TInferredQueryFnData> | undefined {\n const defaultedOptions = this.defaultQueryOptions<\n any,\n any,\n unknown,\n any,\n QueryKey\n >({ queryKey })\n\n const query = this.#queryCache.get<TInferredQueryFnData>(\n defaultedOptions.queryHash,\n )\n const prevData = query?.state.data\n const data = functionalUpdate(updater, prevData)\n\n if (data === undefined) {\n return undefined\n }\n\n return this.#queryCache\n .build(this, defaultedOptions)\n .setData(data, { ...options, manual: true })\n }\n\n setQueriesData<\n TQueryFnData,\n TQueryFilters extends QueryFilters<any> = QueryFilters,\n >(\n filters: TQueryFilters,\n updater: Updater<\n NoInfer<TQueryFnData> | undefined,\n NoInfer<TQueryFnData> | undefined\n >,\n options?: SetDataOptions,\n ): Array<[QueryKey, TQueryFnData | undefined]> {\n return notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .map(({ queryKey }) => [\n queryKey,\n this.setQueryData<TQueryFnData>(queryKey, updater, options),\n ]),\n )\n }\n\n getQueryState<\n TQueryFnData = unknown,\n TError = DefaultError,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,\n TInferredError = InferErrorFromTag<TError, TTaggedQueryKey>,\n >(\n queryKey: TTaggedQueryKey,\n ): QueryState<TInferredQueryFnData, TInferredError> | undefined {\n const options = this.defaultQueryOptions({ queryKey })\n return this.#queryCache.get<TInferredQueryFnData, TInferredError>(\n options.queryHash,\n )?.state\n }\n\n removeQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: QueryFilters<TTaggedQueryKey>,\n ): void {\n const queryCache = this.#queryCache\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n queryCache.remove(query)\n })\n })\n }\n\n resetQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: QueryFilters<TTaggedQueryKey>,\n options?: ResetOptions,\n ): Promise<void> {\n const queryCache = this.#queryCache\n\n return notifyManager.batch(() => {\n const matched = queryCache.findAll(filters)\n const queriesToRefetch = new Set(matched)\n matched.forEach((query) => {\n query.reset()\n })\n return this.refetchQueries(\n {\n type: 'active',\n predicate: (query) => queriesToRefetch.has(query),\n },\n options,\n )\n })\n }\n\n cancelQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: QueryFilters<TTaggedQueryKey>,\n cancelOptions: CancelOptions = {},\n ): Promise<void> {\n const defaultedCancelOptions = { revert: true, ...cancelOptions }\n\n const promises = notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .map((query) => query.cancel(defaultedCancelOptions)),\n )\n\n return Promise.all(promises).then(noop).catch(noop)\n }\n\n invalidateQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: InvalidateQueryFilters<TTaggedQueryKey>,\n options: InvalidateOptions = {},\n ): Promise<void> {\n return notifyManager.batch(() => {\n this.#queryCache.findAll(filters).forEach((query) => {\n query.invalidate()\n })\n\n if (filters?.refetchType === 'none') {\n return Promise.resolve()\n }\n return this.refetchQueries(\n {\n ...filters,\n type: filters?.refetchType ?? filters?.type ?? 'active',\n },\n options,\n )\n })\n }\n\n refetchQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: RefetchQueryFilters<TTaggedQueryKey>,\n options: RefetchOptions = {},\n ): Promise<void> {\n const fetchOptions = {\n ...options,\n cancelRefetch: options.cancelRefetch ?? true,\n }\n const promises = notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .filter((query) => !query.isDisabled() && !query.isStatic())\n .map((query) => {\n let promise = query.fetch(undefined, fetchOptions)\n if (!fetchOptions.throwOnError) {\n promise = promise.catch(noop)\n }\n return query.state.fetchStatus === 'paused'\n ? Promise.resolve()\n : promise\n }),\n )\n\n return Promise.all(promises).then(noop)\n }\n\n async query<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n >(\n options: QueryExecuteOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<TData> {\n const defaultedOptions = this.defaultQueryOptions(options)\n\n // https://github.com/tannerlinsley/react-query/issues/652\n if (defaultedOptions.retry === undefined) {\n defaultedOptions.retry = false\n }\n\n const query = this.#queryCache.build(this, defaultedOptions)\n\n const isStale = query.isStaleByTime(\n resolveStaleTime(defaultedOptions.staleTime, query),\n )\n\n const queryData = isStale\n ? await query.fetch(defaultedOptions)\n : (query.state.data as TQueryData)\n\n const select = defaultedOptions.select\n\n if (select) {\n return select(queryData)\n }\n\n return queryData as unknown as TData\n }\n\n /**\n * @deprecated Use queryClient.query(options) instead. This method will be removed in the next major version.\n */\n fetchQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n >(\n options: FetchQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<TData> {\n const defaultedOptions = this.defaultQueryOptions(options)\n\n // https://github.com/tannerlinsley/react-query/issues/652\n if (defaultedOptions.retry === undefined) {\n defaultedOptions.retry = false\n }\n\n const query = this.#queryCache.build(this, defaultedOptions)\n\n return query.isStaleByTime(\n resolveStaleTime(defaultedOptions.staleTime, query),\n )\n ? query.fetch(defaultedOptions)\n : Promise.resolve(query.state.data as TData)\n }\n\n /**\n * @deprecated Use queryClient.query(options) instead. You can swallow errors with `.catch(noop)`. This method will be removed in the next major version.\n */\n prefetchQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<void> {\n return this.fetchQuery(options).then(noop).catch(noop)\n }\n\n infiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: InfiniteQueryExecuteOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<\n Array<TData> extends Array<InfiniteData<TQueryFnData>>\n ? InfiniteData<TQueryFnData, TPageParam>\n : TData\n > {\n options._type = 'infinite'\n return this.query(options as any)\n }\n\n /**\n * @deprecated Use queryClient.infiniteQuery(options) instead. This method will be removed in the next major version.\n */\n fetchInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<InfiniteData<TData, TPageParam>> {\n options._type = 'infinite'\n return this.fetchQuery(options as any)\n }\n\n /**\n * @deprecated Use queryClient.infiniteQuery(options) instead. You can swallow errors with `.catch(noop)`. This method will be removed in the next major version.\n */\n prefetchInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<void> {\n return this.fetchInfiniteQuery(options).then(noop).catch(noop)\n }\n\n /**\n * @deprecated Use queryClient.infiniteQuery({ ...options, staleTime: 'static' }) instead. This method will be removed in the next major version.\n */\n ensureInfiniteQueryData<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: EnsureInfiniteQueryDataOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<InfiniteData<TData, TPageParam>> {\n options._type = 'infinite'\n\n return this.ensureQueryData(options as any)\n }\n\n resumePausedMutations(): Promise<unknown> {\n if (onlineManager.isOnline()) {\n return this.#mutationCache.resumePausedMutations()\n }\n return Promise.resolve()\n }\n\n getQueryCache(): QueryCache {\n return this.#queryCache\n }\n\n getMutationCache(): MutationCache {\n return this.#mutationCache\n }\n\n getDefaultOptions(): DefaultOptions {\n return this.#defaultOptions\n }\n\n setDefaultOptions(options: DefaultOptions): void {\n this.#defaultOptions = options\n }\n\n setQueryDefaults<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n >(\n queryKey: QueryKey,\n options: Partial<\n OmitKeyof<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData>,\n 'queryKey'\n >\n >,\n ): void {\n this.#queryDefaults.set(hashKey(queryKey), {\n queryKey,\n defaultOptions: options,\n })\n }\n\n getQueryDefaults(\n queryKey: QueryKey,\n ): OmitKeyof<QueryObserverOptions<any, any, any, any, any>, 'queryKey'> {\n const defaults = [...this.#queryDefaults.values()]\n\n const result: OmitKeyof<\n QueryObserverOptions<any, any, any, any, any>,\n 'queryKey'\n > = {}\n\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(queryKey, queryDefault.queryKey)) {\n Object.assign(result, queryDefault.defaultOptions)\n }\n })\n return result\n }\n\n setMutationDefaults<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n >(\n mutationKey: MutationKey,\n options: OmitKeyof<\n MutationObserverOptions<TData, TError, TVariables, TOnMutateResult>,\n 'mutationKey'\n >,\n ): void {\n this.#mutationDefaults.set(hashKey(mutationKey), {\n mutationKey,\n defaultOptions: options,\n })\n }\n\n getMutationDefaults(\n mutationKey: MutationKey,\n ): OmitKeyof<MutationObserverOptions<any, any, any, any>, 'mutationKey'> {\n const defaults = [...this.#mutationDefaults.values()]\n\n const result: OmitKeyof<\n MutationObserverOptions<any, any, any, any>,\n 'mutationKey'\n > = {}\n\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(mutationKey, queryDefault.mutationKey)) {\n Object.assign(result, queryDefault.defaultOptions)\n }\n })\n\n return result\n }\n\n defaultQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n >(\n options:\n | QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >\n | DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n > {\n if (options._defaulted) {\n return options as DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n }\n\n const defaultedOptions = {\n ...this.#defaultOptions.queries,\n ...this.getQueryDefaults(options.queryKey),\n ...options,\n _defaulted: true,\n }\n\n if (!defaultedOptions.queryHash) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(\n defaultedOptions.queryKey,\n defaultedOptions,\n )\n }\n\n // dependent default values\n if (defaultedOptions.refetchOnReconnect === undefined) {\n defaultedOptions.refetchOnReconnect =\n defaultedOptions.networkMode !== 'always'\n }\n if (defaultedOptions.throwOnError === undefined) {\n defaultedOptions.throwOnError = !!defaultedOptions.suspense\n }\n\n if (!defaultedOptions.networkMode && defaultedOptions.persister) {\n defaultedOptions.networkMode = 'offlineFirst'\n }\n\n if (defaultedOptions.queryFn === skipToken) {\n defaultedOptions.enabled = false\n }\n\n return defaultedOptions as DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n }\n\n defaultMutationOptions<T extends MutationOptions<any, any, any, any>>(\n options?: T,\n ): T {\n if (options?._defaulted) {\n return options\n }\n return {\n ...this.#defaultOptions.mutations,\n ...(options?.mutationKey &&\n this.getMutationDefaults(options.mutationKey)),\n ...options,\n _defaulted: true,\n } as T\n }\n\n clear(): void {\n this.#queryCache.clear()\n this.#mutationCache.clear()\n }\n}\n"],"mappings":"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"} | ||
| {"version":3,"file":"queryClient.js","names":[],"sources":["../../src/queryClient.ts"],"sourcesContent":["import {\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n noop,\n partialMatchKey,\n resolveQueryValue,\n skipToken,\n} from './utils'\nimport { QueryCache } from './queryCache'\nimport { MutationCache } from './mutationCache'\nimport { focusManager } from './focusManager'\nimport { onlineManager } from './onlineManager'\nimport { notifyManager } from './notifyManager'\nimport type {\n CancelOptions,\n DefaultError,\n DefaultOptions,\n DefaultedQueryObserverOptions,\n EnsureInfiniteQueryDataOptions,\n EnsureQueryDataOptions,\n FetchInfiniteQueryOptions,\n FetchQueryOptions,\n InferDataFromTag,\n InferErrorFromTag,\n InfiniteData,\n InfiniteQueryExecuteOptions,\n InvalidateOptions,\n InvalidateQueryFilters,\n MutationKey,\n MutationObserverOptions,\n MutationOptions,\n OmitKeyof,\n QueryClientConfig,\n QueryExecuteOptions,\n QueryKey,\n QueryObserverOptions,\n QueryOptions,\n RefetchOptions,\n RefetchQueryFilters,\n ResetOptions,\n SetDataOptions,\n} from './types'\nimport type { QueryState } from './query'\nimport type { MutationFilters, QueryFilters, Updater } from './utils'\n\n// TYPES\n\ninterface QueryDefaults {\n queryKey: QueryKey\n defaultOptions: OmitKeyof<QueryOptions<any, any, any>, 'queryKey'>\n}\n\ninterface MutationDefaults {\n mutationKey: MutationKey\n defaultOptions: MutationOptions<any, any, any, any>\n}\n\n// CLASS\n\nexport class QueryClient {\n #queryCache: QueryCache\n #mutationCache: MutationCache\n #defaultOptions: DefaultOptions\n #queryDefaults: Map<string, QueryDefaults>\n #mutationDefaults: Map<string, MutationDefaults>\n #mountCount: number\n #unsubscribeFocus?: () => void\n #unsubscribeOnline?: () => void\n\n constructor(config: QueryClientConfig = {}) {\n this.#queryCache = config.queryCache || new QueryCache()\n this.#mutationCache = config.mutationCache || new MutationCache()\n this.#defaultOptions = config.defaultOptions || {}\n this.#queryDefaults = new Map()\n this.#mutationDefaults = new Map()\n this.#mountCount = 0\n }\n\n mount(): void {\n this.#mountCount++\n if (this.#mountCount !== 1) return\n\n this.#unsubscribeFocus = focusManager.subscribe(async (focused) => {\n if (focused) {\n await this.resumePausedMutations()\n this.#queryCache.onFocus()\n }\n })\n this.#unsubscribeOnline = onlineManager.subscribe(async (online) => {\n if (online) {\n await this.resumePausedMutations()\n this.#queryCache.onOnline()\n }\n })\n }\n\n unmount(): void {\n this.#mountCount--\n if (this.#mountCount !== 0) return\n\n this.#unsubscribeFocus?.()\n this.#unsubscribeFocus = undefined\n\n this.#unsubscribeOnline?.()\n this.#unsubscribeOnline = undefined\n }\n\n isFetching<TQueryFilters extends QueryFilters<any> = QueryFilters>(\n filters?: TQueryFilters,\n ): number {\n return this.#queryCache.findAll({ ...filters, fetchStatus: 'fetching' })\n .length\n }\n\n isMutating<\n TMutationFilters extends MutationFilters<any, any> = MutationFilters,\n >(filters?: TMutationFilters): number {\n return this.#mutationCache.findAll({ ...filters, status: 'pending' }).length\n }\n\n /**\n * Imperative (non-reactive) way to retrieve data for a QueryKey.\n * Should only be used in callbacks or functions where reading the latest data is necessary, e.g. for optimistic updates.\n *\n * Hint: Do not use this function inside a component, because it won't receive updates.\n * Use `useQuery` to create a `QueryObserver` that subscribes to changes.\n */\n getQueryData<\n TQueryFnData = unknown,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,\n >(queryKey: TTaggedQueryKey): TInferredQueryFnData | undefined {\n const options = this.defaultQueryOptions({ queryKey })\n\n return this.#queryCache.get<TInferredQueryFnData>(options.queryHash)?.state\n .data\n }\n\n /**\n * @deprecated Use queryClient.query({ ...options, staleTime: 'static' }) instead. This method will be removed in the next major version.\n */\n ensureQueryData<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: EnsureQueryDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<TData> {\n const defaultedOptions = this.defaultQueryOptions(options)\n const query = this.#queryCache.build(this, defaultedOptions)\n const cachedData = query.state.data\n\n if (cachedData === undefined) {\n return this.fetchQuery(options)\n }\n\n if (\n options.revalidateIfStale &&\n query.isStaleByTime(resolveQueryValue(defaultedOptions.staleTime, query))\n ) {\n void this.prefetchQuery(defaultedOptions)\n }\n\n return Promise.resolve(cachedData)\n }\n\n getQueriesData<\n TQueryFnData = unknown,\n TQueryFilters extends QueryFilters<any> = QueryFilters,\n >(filters: TQueryFilters): Array<[QueryKey, TQueryFnData | undefined]> {\n return this.#queryCache.findAll(filters).map(({ queryKey, state }) => {\n const data = state.data as TQueryFnData | undefined\n return [queryKey, data]\n })\n }\n\n setQueryData<\n TQueryFnData = unknown,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,\n >(\n queryKey: TTaggedQueryKey,\n updater: Updater<\n NoInfer<TInferredQueryFnData> | undefined,\n NoInfer<TInferredQueryFnData> | undefined\n >,\n options?: SetDataOptions,\n ): NoInfer<TInferredQueryFnData> | undefined {\n const defaultedOptions = this.defaultQueryOptions<\n any,\n any,\n unknown,\n any,\n QueryKey\n >({ queryKey })\n\n const query = this.#queryCache.get<TInferredQueryFnData>(\n defaultedOptions.queryHash,\n )\n const prevData = query?.state.data\n const data = functionalUpdate(updater, prevData)\n\n if (data === undefined) {\n return undefined\n }\n\n return this.#queryCache\n .build(this, defaultedOptions)\n .setData(data, { ...options, manual: true })\n }\n\n setQueriesData<\n TQueryFnData,\n TQueryFilters extends QueryFilters<any> = QueryFilters,\n >(\n filters: TQueryFilters,\n updater: Updater<\n NoInfer<TQueryFnData> | undefined,\n NoInfer<TQueryFnData> | undefined\n >,\n options?: SetDataOptions,\n ): Array<[QueryKey, TQueryFnData | undefined]> {\n return notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .map(({ queryKey }) => [\n queryKey,\n this.setQueryData<TQueryFnData>(queryKey, updater, options),\n ]),\n )\n }\n\n getQueryState<\n TQueryFnData = unknown,\n TError = DefaultError,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,\n TInferredError = InferErrorFromTag<TError, TTaggedQueryKey>,\n >(\n queryKey: TTaggedQueryKey,\n ): QueryState<TInferredQueryFnData, TInferredError> | undefined {\n const options = this.defaultQueryOptions({ queryKey })\n return this.#queryCache.get<TInferredQueryFnData, TInferredError>(\n options.queryHash,\n )?.state\n }\n\n removeQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: QueryFilters<TTaggedQueryKey>,\n ): void {\n const queryCache = this.#queryCache\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n queryCache.remove(query)\n })\n })\n }\n\n resetQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: QueryFilters<TTaggedQueryKey>,\n options?: ResetOptions,\n ): Promise<void> {\n const queryCache = this.#queryCache\n\n return notifyManager.batch(() => {\n const matched = queryCache.findAll(filters)\n const queriesToRefetch = new Set(matched)\n matched.forEach((query) => {\n query.reset()\n })\n return this.refetchQueries(\n {\n type: 'active',\n predicate: (query) => queriesToRefetch.has(query),\n },\n options,\n )\n })\n }\n\n cancelQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: QueryFilters<TTaggedQueryKey>,\n cancelOptions: CancelOptions = {},\n ): Promise<void> {\n const defaultedCancelOptions = { revert: true, ...cancelOptions }\n\n const promises = notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .map((query) => query.cancel(defaultedCancelOptions)),\n )\n\n return Promise.all(promises).then(noop).catch(noop)\n }\n\n invalidateQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: InvalidateQueryFilters<TTaggedQueryKey>,\n options: InvalidateOptions = {},\n ): Promise<void> {\n return notifyManager.batch(() => {\n this.#queryCache.findAll(filters).forEach((query) => {\n query.invalidate()\n })\n\n if (filters?.refetchType === 'none') {\n return Promise.resolve()\n }\n return this.refetchQueries(\n {\n ...filters,\n type: filters?.refetchType ?? filters?.type ?? 'active',\n },\n options,\n )\n })\n }\n\n refetchQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: RefetchQueryFilters<TTaggedQueryKey>,\n options: RefetchOptions = {},\n ): Promise<void> {\n const fetchOptions = {\n ...options,\n cancelRefetch: options.cancelRefetch ?? true,\n }\n const promises = notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .filter((query) => !query.isDisabled() && !query.isStatic())\n .map((query) => {\n let promise = query.fetch(undefined, fetchOptions)\n if (!fetchOptions.throwOnError) {\n promise = promise.catch(noop)\n }\n return query.state.fetchStatus === 'paused'\n ? Promise.resolve()\n : promise\n }),\n )\n\n return Promise.all(promises).then(noop)\n }\n\n async query<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n >(\n options: QueryExecuteOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<TData> {\n const defaultedOptions = this.defaultQueryOptions(options)\n\n // https://github.com/tannerlinsley/react-query/issues/652\n if (defaultedOptions.retry === undefined) {\n defaultedOptions.retry = false\n }\n\n const query = this.#queryCache.build(this, defaultedOptions)\n\n const isStale = query.isStaleByTime(\n resolveQueryValue(defaultedOptions.staleTime, query),\n )\n\n const queryData = isStale\n ? await query.fetch(defaultedOptions)\n : (query.state.data as TQueryData)\n\n const select = defaultedOptions.select\n\n if (select) {\n return select(queryData)\n }\n\n return queryData as unknown as TData\n }\n\n /**\n * @deprecated Use queryClient.query(options) instead. This method will be removed in the next major version.\n */\n fetchQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n >(\n options: FetchQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<TData> {\n const defaultedOptions = this.defaultQueryOptions(options)\n\n // https://github.com/tannerlinsley/react-query/issues/652\n if (defaultedOptions.retry === undefined) {\n defaultedOptions.retry = false\n }\n\n const query = this.#queryCache.build(this, defaultedOptions)\n\n return query.isStaleByTime(\n resolveQueryValue(defaultedOptions.staleTime, query),\n )\n ? query.fetch(defaultedOptions)\n : Promise.resolve(query.state.data as TData)\n }\n\n /**\n * @deprecated Use queryClient.query(options) instead. You can swallow errors with `.catch(noop)`. This method will be removed in the next major version.\n */\n prefetchQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<void> {\n return this.fetchQuery(options).then(noop).catch(noop)\n }\n\n infiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: InfiniteQueryExecuteOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<\n Array<TData> extends Array<InfiniteData<TQueryFnData>>\n ? InfiniteData<TQueryFnData, TPageParam>\n : TData\n > {\n options._type = 'infinite'\n return this.query(options as any)\n }\n\n /**\n * @deprecated Use queryClient.infiniteQuery(options) instead. This method will be removed in the next major version.\n */\n fetchInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<InfiniteData<TData, TPageParam>> {\n options._type = 'infinite'\n return this.fetchQuery(options as any)\n }\n\n /**\n * @deprecated Use queryClient.infiniteQuery(options) instead. You can swallow errors with `.catch(noop)`. This method will be removed in the next major version.\n */\n prefetchInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<void> {\n return this.fetchInfiniteQuery(options).then(noop).catch(noop)\n }\n\n /**\n * @deprecated Use queryClient.infiniteQuery({ ...options, staleTime: 'static' }) instead. This method will be removed in the next major version.\n */\n ensureInfiniteQueryData<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: EnsureInfiniteQueryDataOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<InfiniteData<TData, TPageParam>> {\n options._type = 'infinite'\n\n return this.ensureQueryData(options as any)\n }\n\n resumePausedMutations(): Promise<unknown> {\n if (onlineManager.isOnline()) {\n return this.#mutationCache.resumePausedMutations()\n }\n return Promise.resolve()\n }\n\n getQueryCache(): QueryCache {\n return this.#queryCache\n }\n\n getMutationCache(): MutationCache {\n return this.#mutationCache\n }\n\n getDefaultOptions(): DefaultOptions {\n return this.#defaultOptions\n }\n\n setDefaultOptions(options: DefaultOptions): void {\n this.#defaultOptions = options\n }\n\n setQueryDefaults<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n >(\n queryKey: QueryKey,\n options: Partial<\n OmitKeyof<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData>,\n 'queryKey'\n >\n >,\n ): void {\n this.#queryDefaults.set(hashKey(queryKey), {\n queryKey,\n defaultOptions: options,\n })\n }\n\n getQueryDefaults(\n queryKey: QueryKey,\n ): OmitKeyof<QueryObserverOptions<any, any, any, any, any>, 'queryKey'> {\n const defaults = [...this.#queryDefaults.values()]\n\n const result: OmitKeyof<\n QueryObserverOptions<any, any, any, any, any>,\n 'queryKey'\n > = {}\n\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(queryKey, queryDefault.queryKey)) {\n Object.assign(result, queryDefault.defaultOptions)\n }\n })\n return result\n }\n\n setMutationDefaults<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n >(\n mutationKey: MutationKey,\n options: OmitKeyof<\n MutationObserverOptions<TData, TError, TVariables, TOnMutateResult>,\n 'mutationKey'\n >,\n ): void {\n this.#mutationDefaults.set(hashKey(mutationKey), {\n mutationKey,\n defaultOptions: options,\n })\n }\n\n getMutationDefaults(\n mutationKey: MutationKey,\n ): OmitKeyof<MutationObserverOptions<any, any, any, any>, 'mutationKey'> {\n const defaults = [...this.#mutationDefaults.values()]\n\n const result: OmitKeyof<\n MutationObserverOptions<any, any, any, any>,\n 'mutationKey'\n > = {}\n\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(mutationKey, queryDefault.mutationKey)) {\n Object.assign(result, queryDefault.defaultOptions)\n }\n })\n\n return result\n }\n\n defaultQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n >(\n options:\n | QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >\n | DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n > {\n if (options._defaulted) {\n return options as DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n }\n\n const defaultedOptions = {\n ...this.#defaultOptions.queries,\n ...this.getQueryDefaults(options.queryKey),\n ...options,\n _defaulted: true,\n }\n\n if (!defaultedOptions.queryHash) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(\n defaultedOptions.queryKey,\n defaultedOptions,\n )\n }\n\n // dependent default values\n if (defaultedOptions.refetchOnReconnect === undefined) {\n defaultedOptions.refetchOnReconnect =\n defaultedOptions.networkMode !== 'always'\n }\n if (defaultedOptions.throwOnError === undefined) {\n defaultedOptions.throwOnError = !!defaultedOptions.suspense\n }\n\n if (!defaultedOptions.networkMode && defaultedOptions.persister) {\n defaultedOptions.networkMode = 'offlineFirst'\n }\n\n if (defaultedOptions.queryFn === skipToken) {\n defaultedOptions.enabled = false\n }\n\n return defaultedOptions as DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n }\n\n defaultMutationOptions<T extends MutationOptions<any, any, any, any>>(\n options?: T,\n ): T {\n if (options?._defaulted) {\n return options\n }\n return {\n ...this.#defaultOptions.mutations,\n ...(options?.mutationKey &&\n this.getMutationDefaults(options.mutationKey)),\n ...options,\n _defaulted: true,\n } as T\n }\n\n clear(): void {\n this.#queryCache.clear()\n this.#mutationCache.clear()\n }\n}\n"],"mappings":"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"} |
@@ -81,3 +81,3 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); | ||
| this.options = require_classPrivateFieldSet2._classPrivateFieldGet2(_client, this).defaultQueryOptions(options); | ||
| if (this.options.enabled !== void 0 && typeof this.options.enabled !== "boolean" && typeof this.options.enabled !== "function" && typeof require_utils.resolveQueryBoolean(this.options.enabled, require_classPrivateFieldSet2._classPrivateFieldGet2(_currentQuery, this)) !== "boolean") throw new Error("Expected enabled to be a boolean or a callback that returns a boolean"); | ||
| if (this.options.enabled !== void 0 && typeof this.options.enabled !== "boolean" && typeof this.options.enabled !== "function" && typeof require_utils.resolveQueryValue(this.options.enabled, require_classPrivateFieldSet2._classPrivateFieldGet2(_currentQuery, this)) !== "boolean") throw new Error("Expected enabled to be a boolean or a callback that returns a boolean"); | ||
| require_classPrivateFieldSet2._assertClassBrand(_QueryObserver_brand, this, _updateQuery).call(this); | ||
@@ -93,5 +93,5 @@ require_classPrivateFieldSet2._classPrivateFieldGet2(_currentQuery, this).setOptions(this.options); | ||
| this.updateResult(); | ||
| if (mounted && (require_classPrivateFieldSet2._classPrivateFieldGet2(_currentQuery, this) !== prevQuery || require_utils.resolveQueryBoolean(this.options.enabled, require_classPrivateFieldSet2._classPrivateFieldGet2(_currentQuery, this)) !== require_utils.resolveQueryBoolean(prevOptions.enabled, require_classPrivateFieldSet2._classPrivateFieldGet2(_currentQuery, this)) || require_utils.resolveStaleTime(this.options.staleTime, require_classPrivateFieldSet2._classPrivateFieldGet2(_currentQuery, this)) !== require_utils.resolveStaleTime(prevOptions.staleTime, require_classPrivateFieldSet2._classPrivateFieldGet2(_currentQuery, this)))) require_classPrivateFieldSet2._assertClassBrand(_QueryObserver_brand, this, _updateStaleTimeout).call(this); | ||
| if (mounted && (require_classPrivateFieldSet2._classPrivateFieldGet2(_currentQuery, this) !== prevQuery || require_utils.resolveQueryValue(this.options.enabled, require_classPrivateFieldSet2._classPrivateFieldGet2(_currentQuery, this)) !== require_utils.resolveQueryValue(prevOptions.enabled, require_classPrivateFieldSet2._classPrivateFieldGet2(_currentQuery, this)) || require_utils.resolveQueryValue(this.options.staleTime, require_classPrivateFieldSet2._classPrivateFieldGet2(_currentQuery, this)) !== require_utils.resolveQueryValue(prevOptions.staleTime, require_classPrivateFieldSet2._classPrivateFieldGet2(_currentQuery, this)))) require_classPrivateFieldSet2._assertClassBrand(_QueryObserver_brand, this, _updateStaleTimeout).call(this); | ||
| const nextRefetchInterval = require_classPrivateFieldSet2._assertClassBrand(_QueryObserver_brand, this, _computeRefetchInterval).call(this); | ||
| if (mounted && (require_classPrivateFieldSet2._classPrivateFieldGet2(_currentQuery, this) !== prevQuery || require_utils.resolveQueryBoolean(this.options.enabled, require_classPrivateFieldSet2._classPrivateFieldGet2(_currentQuery, this)) !== require_utils.resolveQueryBoolean(prevOptions.enabled, require_classPrivateFieldSet2._classPrivateFieldGet2(_currentQuery, this)) || nextRefetchInterval !== require_classPrivateFieldSet2._classPrivateFieldGet2(_currentRefetchInterval, this))) require_classPrivateFieldSet2._assertClassBrand(_QueryObserver_brand, this, _updateRefetchInterval).call(this, nextRefetchInterval); | ||
| if (mounted && (require_classPrivateFieldSet2._classPrivateFieldGet2(_currentQuery, this) !== prevQuery || require_utils.resolveQueryValue(this.options.enabled, require_classPrivateFieldSet2._classPrivateFieldGet2(_currentQuery, this)) !== require_utils.resolveQueryValue(prevOptions.enabled, require_classPrivateFieldSet2._classPrivateFieldGet2(_currentQuery, this)) || nextRefetchInterval !== require_classPrivateFieldSet2._classPrivateFieldGet2(_currentRefetchInterval, this))) require_classPrivateFieldSet2._assertClassBrand(_QueryObserver_brand, this, _updateRefetchInterval).call(this, nextRefetchInterval); | ||
| } | ||
@@ -101,3 +101,3 @@ getOptimisticResult(options) { | ||
| const result = this.createResult(query, options); | ||
| if (shouldAssignObserverCurrentProperties(this, result)) { | ||
| if (!require_utils.shallowEqualObjects(this.getCurrentResult(), result)) { | ||
| require_classPrivateFieldSet2._classPrivateFieldSet2(_currentResult, this, result); | ||
@@ -247,3 +247,3 @@ require_classPrivateFieldSet2._classPrivateFieldSet2(_currentResultOptions, this, this.options); | ||
| refetch: this.refetch, | ||
| isEnabled: require_utils.resolveQueryBoolean(options.enabled, query) !== false | ||
| isEnabled: require_utils.resolveQueryValue(options.enabled, query) !== false | ||
| }; | ||
@@ -271,3 +271,12 @@ } | ||
| }; | ||
| require_classPrivateFieldSet2._assertClassBrand(_QueryObserver_brand, this, _notify).call(this, { listeners: shouldNotifyListeners() }); | ||
| const notifyListeners = shouldNotifyListeners(); | ||
| require_notifyManager.notifyManager.batch(() => { | ||
| if (notifyListeners) this.listeners.forEach((listener) => { | ||
| listener(require_classPrivateFieldSet2._classPrivateFieldGet2(_currentResult, this)); | ||
| }); | ||
| require_classPrivateFieldSet2._classPrivateFieldGet2(_client, this).getQueryCache().notify({ | ||
| query: require_classPrivateFieldSet2._classPrivateFieldGet2(_currentQuery, this), | ||
| type: "observerResultsUpdated" | ||
| }); | ||
| }); | ||
| } | ||
@@ -286,7 +295,7 @@ onQueryUpdate() { | ||
| function _shouldScheduleTimer(timeout) { | ||
| return !require_environmentManager.environmentManager.isServer() && require_utils.resolveQueryBoolean(this.options.enabled, require_classPrivateFieldSet2._classPrivateFieldGet2(_currentQuery, this)) !== false && require_utils.isValidTimeout(timeout); | ||
| return !require_environmentManager.isServer() && require_utils.resolveQueryValue(this.options.enabled, require_classPrivateFieldSet2._classPrivateFieldGet2(_currentQuery, this)) !== false && require_utils.isValidTimeout(timeout); | ||
| } | ||
| function _updateStaleTimeout() { | ||
| require_classPrivateFieldSet2._assertClassBrand(_QueryObserver_brand, this, _clearStaleTimeout).call(this); | ||
| const staleTime = require_utils.resolveStaleTime(this.options.staleTime, require_classPrivateFieldSet2._classPrivateFieldGet2(_currentQuery, this)); | ||
| const staleTime = require_utils.resolveQueryValue(this.options.staleTime, require_classPrivateFieldSet2._classPrivateFieldGet2(_currentQuery, this)); | ||
| if (require_classPrivateFieldSet2._classPrivateFieldGet2(_currentResult, this).isStale || !require_classPrivateFieldSet2._assertClassBrand(_QueryObserver_brand, this, _shouldScheduleTimer).call(this, staleTime)) return; | ||
@@ -336,15 +345,4 @@ const timeout = require_utils.timeUntilStale(require_classPrivateFieldSet2._classPrivateFieldGet2(_currentResult, this).dataUpdatedAt, staleTime) + 1; | ||
| } | ||
| function _notify(notifyOptions) { | ||
| require_notifyManager.notifyManager.batch(() => { | ||
| if (notifyOptions.listeners) this.listeners.forEach((listener) => { | ||
| listener(require_classPrivateFieldSet2._classPrivateFieldGet2(_currentResult, this)); | ||
| }); | ||
| require_classPrivateFieldSet2._classPrivateFieldGet2(_client, this).getQueryCache().notify({ | ||
| query: require_classPrivateFieldSet2._classPrivateFieldGet2(_currentQuery, this), | ||
| type: "observerResultsUpdated" | ||
| }); | ||
| }); | ||
| } | ||
| function shouldLoadOnMount(query, options) { | ||
| return require_utils.resolveQueryBoolean(options.enabled, query) !== false && query.state.data === void 0 && !(query.state.status === "error" && require_utils.resolveQueryBoolean(options.retryOnMount, query) === false); | ||
| return require_utils.resolveQueryValue(options.enabled, query) !== false && query.state.data === void 0 && !(query.state.status === "error" && require_utils.resolveQueryValue(options.retryOnMount, query) === false); | ||
| } | ||
@@ -355,3 +353,3 @@ function shouldFetchOnMount(query, options) { | ||
| function shouldFetchOn(query, options, field) { | ||
| if (require_utils.resolveQueryBoolean(options.enabled, query) !== false && require_utils.resolveStaleTime(options.staleTime, query) !== "static") { | ||
| if (require_utils.resolveQueryValue(options.enabled, query) !== false && require_utils.resolveQueryValue(options.staleTime, query) !== "static") { | ||
| const value = typeof field === "function" ? field(query) : field; | ||
@@ -363,11 +361,7 @@ return value === "always" || value !== false && isStale(query, options); | ||
| function shouldFetchOptionally(query, prevQuery, options, prevOptions) { | ||
| return (query !== prevQuery || require_utils.resolveQueryBoolean(prevOptions.enabled, query) === false) && (!options.suspense || query.state.status !== "error") && isStale(query, options); | ||
| return (query !== prevQuery || require_utils.resolveQueryValue(prevOptions.enabled, query) === false) && (!options.suspense || query.state.status !== "error") && isStale(query, options); | ||
| } | ||
| function isStale(query, options) { | ||
| return require_utils.resolveQueryBoolean(options.enabled, query) !== false && query.isStaleByTime(require_utils.resolveStaleTime(options.staleTime, query)); | ||
| return require_utils.resolveQueryValue(options.enabled, query) !== false && query.isStaleByTime(require_utils.resolveQueryValue(options.staleTime, query)); | ||
| } | ||
| function shouldAssignObserverCurrentProperties(observer, optimisticResult) { | ||
| if (!require_utils.shallowEqualObjects(observer.getCurrentResult(), optimisticResult)) return true; | ||
| return false; | ||
| } | ||
| //#endregion | ||
@@ -374,0 +368,0 @@ exports.QueryObserver = QueryObserver; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"queryObserver.cjs","names":["Subscribable","resolveQueryBoolean","shallowEqualObjects","resolveStaleTime","fetchState","replaceData","noop","environmentManager","isValidTimeout","timeUntilStale","timeoutManager","focusManager"],"sources":["../../src/queryObserver.ts"],"sourcesContent":["import { focusManager } from './focusManager'\nimport { environmentManager } from './environmentManager'\nimport { notifyManager } from './notifyManager'\nimport { fetchState } from './query'\nimport { Subscribable } from './subscribable'\nimport {\n isValidTimeout,\n noop,\n replaceData,\n resolveQueryBoolean,\n resolveStaleTime,\n shallowEqualObjects,\n timeUntilStale,\n} from './utils'\nimport { timeoutManager } from './timeoutManager'\nimport type { ManagedTimerId } from './timeoutManager'\nimport type { FetchOptions, Query, QueryState } from './query'\nimport type { QueryClient } from './queryClient'\nimport type {\n DefaultError,\n DefaultedQueryObserverOptions,\n PlaceholderDataFunction,\n QueryKey,\n QueryObserverBaseResult,\n QueryObserverOptions,\n QueryObserverResult,\n RefetchOptions,\n} from './types'\n\ntype QueryObserverListener<TData, TError> = (\n result: QueryObserverResult<TData, TError>,\n) => void\n\ninterface ObserverFetchOptions extends FetchOptions {\n throwOnError?: boolean\n}\n\nexport class QueryObserver<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends Subscribable<QueryObserverListener<TData, TError>> {\n #client: QueryClient\n #currentQuery: Query<TQueryFnData, TError, TQueryData, TQueryKey> = undefined!\n #currentQueryInitialState: QueryState<TQueryData, TError> = undefined!\n #currentResult: QueryObserverResult<TData, TError> = undefined!\n #currentResultState?: QueryState<TQueryData, TError>\n #currentResultOptions?: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n #selectError: TError | null\n #selectFn?: (data: TQueryData) => TData\n #selectResult?: TData\n // This property keeps track of the last query with defined data.\n // It will be used to pass the previous data and query to the placeholder function between renders.\n #lastQueryWithDefinedData?: Query<TQueryFnData, TError, TQueryData, TQueryKey>\n #staleTimeoutId?: ManagedTimerId\n #refetchIntervalId?: ManagedTimerId\n #currentRefetchInterval?: number | false\n #trackedProps = new Set<keyof QueryObserverResult>()\n\n constructor(\n client: QueryClient,\n public options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ) {\n super()\n\n this.#client = client\n this.#selectError = null\n\n this.bindMethods()\n this.setOptions(options)\n }\n\n protected bindMethods(): void {\n this.refetch = this.refetch.bind(this)\n }\n\n protected onSubscribe(): void {\n if (this.listeners.size === 1) {\n this.#currentQuery.addObserver(this)\n\n if (shouldFetchOnMount(this.#currentQuery, this.options)) {\n this.#executeFetch()\n } else {\n this.updateResult()\n }\n\n this.#updateTimers()\n }\n }\n\n protected onUnsubscribe(): void {\n if (!this.hasListeners()) {\n this.destroy()\n }\n }\n\n shouldFetchOnReconnect(): boolean {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnReconnect,\n )\n }\n\n shouldFetchOnWindowFocus(): boolean {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnWindowFocus,\n )\n }\n\n destroy(): void {\n this.listeners = new Set()\n this.#clearStaleTimeout()\n this.#clearRefetchInterval()\n this.#currentQuery.removeObserver(this)\n }\n\n setOptions(\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): void {\n const prevOptions = this.options\n const prevQuery = this.#currentQuery\n\n this.options = this.#client.defaultQueryOptions(options)\n\n if (\n this.options.enabled !== undefined &&\n typeof this.options.enabled !== 'boolean' &&\n typeof this.options.enabled !== 'function' &&\n typeof resolveQueryBoolean(this.options.enabled, this.#currentQuery) !==\n 'boolean'\n ) {\n throw new Error(\n 'Expected enabled to be a boolean or a callback that returns a boolean',\n )\n }\n\n this.#updateQuery()\n this.#currentQuery.setOptions(this.options)\n\n if (\n prevOptions._defaulted &&\n !shallowEqualObjects(this.options, prevOptions)\n ) {\n this.#client.getQueryCache().notify({\n type: 'observerOptionsUpdated',\n query: this.#currentQuery,\n observer: this,\n })\n }\n\n const mounted = this.hasListeners()\n\n // Fetch if there are subscribers\n if (\n mounted &&\n shouldFetchOptionally(\n this.#currentQuery,\n prevQuery,\n this.options,\n prevOptions,\n )\n ) {\n this.#executeFetch()\n }\n\n // Update result\n this.updateResult()\n\n // Update stale interval if needed\n if (\n mounted &&\n (this.#currentQuery !== prevQuery ||\n resolveQueryBoolean(this.options.enabled, this.#currentQuery) !==\n resolveQueryBoolean(prevOptions.enabled, this.#currentQuery) ||\n resolveStaleTime(this.options.staleTime, this.#currentQuery) !==\n resolveStaleTime(prevOptions.staleTime, this.#currentQuery))\n ) {\n this.#updateStaleTimeout()\n }\n\n const nextRefetchInterval = this.#computeRefetchInterval()\n\n // Update refetch interval if needed\n if (\n mounted &&\n (this.#currentQuery !== prevQuery ||\n resolveQueryBoolean(this.options.enabled, this.#currentQuery) !==\n resolveQueryBoolean(prevOptions.enabled, this.#currentQuery) ||\n nextRefetchInterval !== this.#currentRefetchInterval)\n ) {\n this.#updateRefetchInterval(nextRefetchInterval)\n }\n }\n\n getOptimisticResult(\n options: DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): QueryObserverResult<TData, TError> {\n const query = this.#client.getQueryCache().build(this.#client, options)\n\n const result = this.createResult(query, options)\n\n if (shouldAssignObserverCurrentProperties(this, result)) {\n // this assigns the optimistic result to the current Observer\n // because if the query function changes, useQuery will be performing\n // an effect where it would fetch again.\n // When the fetch finishes, we perform a deep data cloning in order\n // to reuse objects references. This deep data clone is performed against\n // the `observer.currentResult.data` property\n // When QueryKey changes, we refresh the query and get new `optimistic`\n // result, while we leave the `observer.currentResult`, so when new data\n // arrives, it finds the old `observer.currentResult` which is related\n // to the old QueryKey. Which means that currentResult and selectData are\n // out of sync already.\n // To solve this, we move the cursor of the currentResult every time\n // an observer reads an optimistic value.\n\n // When keeping the previous data, the result doesn't change until new\n // data arrives.\n this.#currentResult = result\n this.#currentResultOptions = this.options\n this.#currentResultState = this.#currentQuery.state\n }\n return result\n }\n\n getCurrentResult(): QueryObserverResult<TData, TError> {\n return this.#currentResult\n }\n\n trackResult(\n result: QueryObserverResult<TData, TError>,\n onPropTracked?: (key: keyof QueryObserverResult) => void,\n ): QueryObserverResult<TData, TError> {\n return new Proxy(result, {\n get: (target, key) => {\n this.trackProp(key as keyof QueryObserverResult)\n onPropTracked?.(key as keyof QueryObserverResult)\n return Reflect.get(target, key)\n },\n })\n }\n\n trackProp(key: keyof QueryObserverResult) {\n this.#trackedProps.add(key)\n }\n\n getCurrentQuery(): Query<TQueryFnData, TError, TQueryData, TQueryKey> {\n return this.#currentQuery\n }\n\n refetch({ ...options }: RefetchOptions = {}): Promise<\n QueryObserverResult<TData, TError>\n > {\n return this.fetch({\n ...options,\n })\n }\n\n fetchOptimistic(\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): Promise<QueryObserverResult<TData, TError>> {\n const defaultedOptions = this.#client.defaultQueryOptions(options)\n\n const query = this.#client\n .getQueryCache()\n .build(this.#client, defaultedOptions)\n\n let unsubscribe = () => {}\n let resolveEarly:\n | ((result: QueryObserverResult<TData, TError>) => void)\n | undefined\n\n const cachePromise = new Promise<QueryObserverResult<TData, TError>>(\n (resolve) => {\n resolveEarly = resolve\n unsubscribe = this.#client.getQueryCache().subscribe((event) => {\n if (\n event.type === 'updated' &&\n event.query.queryHash === query.queryHash &&\n query.state.data !== undefined\n ) {\n unsubscribe()\n resolve(this.createResult(query, defaultedOptions))\n }\n })\n },\n )\n\n return Promise.race([\n query\n .fetch()\n .then(() => {\n const result = this.createResult(query, defaultedOptions)\n // Settle the subscriber promise so both branches always settle.\n // This value is ignored by Promise.race since the fetch branch already won.\n resolveEarly?.(result)\n return result\n })\n .finally(() => {\n unsubscribe()\n }),\n cachePromise,\n ])\n }\n\n protected fetch(\n fetchOptions: ObserverFetchOptions,\n ): Promise<QueryObserverResult<TData, TError>> {\n return this.#executeFetch({\n ...fetchOptions,\n cancelRefetch: fetchOptions.cancelRefetch ?? true,\n }).then(() => {\n this.updateResult()\n return this.#currentResult\n })\n }\n\n #executeFetch(\n fetchOptions?: Omit<ObserverFetchOptions, 'initialPromise'>,\n ): Promise<TQueryData | undefined> {\n // Make sure we reference the latest query as the current one might have been removed\n this.#updateQuery()\n\n // Fetch\n let promise: Promise<TQueryData | undefined> = this.#currentQuery.fetch(\n this.options,\n fetchOptions,\n )\n\n if (!fetchOptions?.throwOnError) {\n promise = promise.catch(noop)\n }\n\n return promise\n }\n\n #shouldScheduleTimer(timeout: unknown): timeout is number {\n return (\n !environmentManager.isServer() &&\n resolveQueryBoolean(this.options.enabled, this.#currentQuery) !== false &&\n isValidTimeout(timeout)\n )\n }\n\n #updateStaleTimeout(): void {\n this.#clearStaleTimeout()\n const staleTime = resolveStaleTime(\n this.options.staleTime,\n this.#currentQuery,\n )\n\n if (this.#currentResult.isStale || !this.#shouldScheduleTimer(staleTime)) {\n return\n }\n\n const time = timeUntilStale(this.#currentResult.dataUpdatedAt, staleTime)\n\n // The timeout is sometimes triggered 1 ms before the stale time expiration.\n // To mitigate this issue we always add 1 ms to the timeout.\n const timeout = time + 1\n\n this.#staleTimeoutId = timeoutManager.setTimeout(() => {\n if (!this.#currentResult.isStale) {\n this.updateResult()\n }\n }, timeout)\n }\n\n #computeRefetchInterval() {\n return (\n (typeof this.options.refetchInterval === 'function'\n ? this.options.refetchInterval(this.#currentQuery)\n : this.options.refetchInterval) ?? false\n )\n }\n\n #updateRefetchInterval(nextInterval: number | false): void {\n this.#clearRefetchInterval()\n\n this.#currentRefetchInterval = nextInterval\n\n if (\n this.#currentRefetchInterval === 0 ||\n !this.#shouldScheduleTimer(this.#currentRefetchInterval)\n ) {\n return\n }\n\n this.#refetchIntervalId = timeoutManager.setInterval(() => {\n if (\n this.options.refetchIntervalInBackground ||\n focusManager.isFocused()\n ) {\n this.#executeFetch()\n }\n }, this.#currentRefetchInterval)\n }\n\n #updateTimers(): void {\n this.#updateStaleTimeout()\n this.#updateRefetchInterval(this.#computeRefetchInterval())\n }\n\n #clearStaleTimeout(): void {\n if (this.#staleTimeoutId !== undefined) {\n timeoutManager.clearTimeout(this.#staleTimeoutId)\n this.#staleTimeoutId = undefined\n }\n }\n\n #clearRefetchInterval(): void {\n if (this.#refetchIntervalId !== undefined) {\n timeoutManager.clearInterval(this.#refetchIntervalId)\n this.#refetchIntervalId = undefined\n }\n }\n\n protected createResult(\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): QueryObserverResult<TData, TError> {\n const prevQuery = this.#currentQuery\n const prevOptions = this.options\n const prevResult = this.#currentResult as\n | QueryObserverResult<TData, TError>\n | undefined\n const prevResultState = this.#currentResultState\n const prevResultOptions = this.#currentResultOptions\n const queryChange = query !== prevQuery\n const queryInitialState = queryChange\n ? query.state\n : this.#currentQueryInitialState\n\n const { state } = query\n let newState = { ...state }\n let isPlaceholderData = false\n let data: TData | undefined\n\n // Optimistically set result in fetching state if needed\n if (options._optimisticResults) {\n const mounted = this.hasListeners()\n\n const fetchOnMount = !mounted && shouldFetchOnMount(query, options)\n\n const fetchOptionally =\n mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions)\n\n if (fetchOnMount || fetchOptionally) {\n newState = {\n ...newState,\n ...fetchState(state.data, query.options),\n }\n }\n if (options._optimisticResults === 'isRestoring') {\n newState.fetchStatus = 'idle'\n }\n }\n\n let { error, errorUpdatedAt, status } = newState\n\n // Per default, use query data\n data = newState.data as unknown as TData\n let skipSelect = false\n\n // use placeholderData if needed\n if (\n options.placeholderData !== undefined &&\n data === undefined &&\n status === 'pending'\n ) {\n let placeholderData\n\n // Memoize placeholder data\n if (\n prevResult?.isPlaceholderData &&\n options.placeholderData === prevResultOptions?.placeholderData\n ) {\n placeholderData = prevResult.data\n // we have to skip select when reading this memoization\n // because prevResult.data is already \"selected\"\n skipSelect = true\n } else {\n // compute placeholderData\n placeholderData =\n typeof options.placeholderData === 'function'\n ? (\n options.placeholderData as unknown as PlaceholderDataFunction<TQueryData>\n )(\n this.#lastQueryWithDefinedData?.state.data,\n this.#lastQueryWithDefinedData as any,\n )\n : options.placeholderData\n }\n\n if (placeholderData !== undefined) {\n status = 'success'\n data = replaceData(\n prevResult?.data,\n placeholderData as unknown,\n options,\n ) as TData\n isPlaceholderData = true\n }\n }\n\n // Select data if needed\n // this also runs placeholderData through the select function\n if (options.select && data !== undefined && !skipSelect) {\n // Memoize select result\n if (\n prevResult &&\n data === prevResultState?.data &&\n options.select === this.#selectFn\n ) {\n data = this.#selectResult\n } else {\n try {\n this.#selectFn = options.select\n data = options.select(data as any)\n data = replaceData(prevResult?.data, data, options)\n this.#selectResult = data\n this.#selectError = null\n } catch (selectError) {\n this.#selectError = selectError as TError\n }\n }\n } else if (data === undefined) {\n // a stored select error belongs to previously selected data; once that\n // data is gone (query switch or reset), it must not leak into this result\n this.#selectError = null\n }\n\n if (this.#selectError) {\n error = this.#selectError\n data = this.#selectResult\n errorUpdatedAt = Date.now()\n status = 'error'\n isPlaceholderData = false\n }\n\n const isFetching = newState.fetchStatus === 'fetching'\n const isPending = status === 'pending'\n const isError = status === 'error'\n\n const isLoading = isPending && isFetching\n const hasData = data !== undefined\n\n const result: QueryObserverBaseResult<TData, TError> = {\n status,\n fetchStatus: newState.fetchStatus,\n isPending,\n isSuccess: status === 'success',\n isError,\n isInitialLoading: isLoading,\n isLoading,\n data,\n dataUpdatedAt: newState.dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: newState.fetchFailureCount,\n failureReason: newState.fetchFailureReason,\n errorUpdateCount: newState.errorUpdateCount,\n isFetched: query.isFetched(),\n isFetchedAfterMount:\n newState.dataUpdateCount > queryInitialState.dataUpdateCount ||\n newState.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching,\n isRefetching: isFetching && !isPending,\n isLoadingError: isError && !hasData,\n isPaused: newState.fetchStatus === 'paused',\n isPlaceholderData,\n isRefetchError: isError && hasData,\n isStale: isStale(query, options),\n refetch: this.refetch,\n isEnabled: resolveQueryBoolean(options.enabled, query) !== false,\n }\n\n const nextResult = result as QueryObserverResult<TData, TError>\n\n return nextResult\n }\n\n updateResult(): void {\n const prevResult = this.#currentResult as\n | QueryObserverResult<TData, TError>\n | undefined\n\n const nextResult = this.createResult(this.#currentQuery, this.options)\n\n this.#currentResultState = this.#currentQuery.state\n this.#currentResultOptions = this.options\n\n if (this.#currentResultState.data !== undefined) {\n this.#lastQueryWithDefinedData = this.#currentQuery\n }\n\n // Only notify and update result if something has changed\n if (shallowEqualObjects(nextResult, prevResult)) {\n return\n }\n\n this.#currentResult = nextResult\n\n const shouldNotifyListeners = (): boolean => {\n if (!prevResult) {\n return true\n }\n\n const { notifyOnChangeProps } = this.options\n const notifyOnChangePropsValue =\n typeof notifyOnChangeProps === 'function'\n ? notifyOnChangeProps()\n : notifyOnChangeProps\n\n if (\n notifyOnChangePropsValue === 'all' ||\n (!notifyOnChangePropsValue && !this.#trackedProps.size)\n ) {\n return true\n }\n\n const includedProps = new Set(\n notifyOnChangePropsValue ?? this.#trackedProps,\n )\n\n if (this.options.throwOnError) {\n includedProps.add('error')\n }\n\n return Object.keys(this.#currentResult).some((key) => {\n const typedKey = key as keyof QueryObserverResult\n const changed = this.#currentResult[typedKey] !== prevResult[typedKey]\n\n return changed && includedProps.has(typedKey)\n })\n }\n\n this.#notify({ listeners: shouldNotifyListeners() })\n }\n\n #updateQuery(): void {\n const query = this.#client.getQueryCache().build(this.#client, this.options)\n\n if (query === this.#currentQuery) {\n return\n }\n\n const prevQuery = this.#currentQuery as\n | Query<TQueryFnData, TError, TQueryData, TQueryKey>\n | undefined\n this.#currentQuery = query\n this.#currentQueryInitialState = query.state\n\n if (this.hasListeners()) {\n prevQuery?.removeObserver(this)\n query.addObserver(this)\n }\n }\n\n onQueryUpdate(): void {\n this.updateResult()\n\n if (this.hasListeners()) {\n this.#updateTimers()\n }\n }\n\n #notify(notifyOptions: { listeners: boolean }): void {\n notifyManager.batch(() => {\n // First, trigger the listeners\n if (notifyOptions.listeners) {\n this.listeners.forEach((listener) => {\n listener(this.#currentResult)\n })\n }\n\n // Then the cache listeners\n this.#client.getQueryCache().notify({\n query: this.#currentQuery,\n type: 'observerResultsUpdated',\n })\n })\n }\n}\n\nfunction shouldLoadOnMount(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any>,\n): boolean {\n return (\n resolveQueryBoolean(options.enabled, query) !== false &&\n query.state.data === undefined &&\n !(\n query.state.status === 'error' &&\n resolveQueryBoolean(options.retryOnMount, query) === false\n )\n )\n}\n\nfunction shouldFetchOnMount(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n shouldLoadOnMount(query, options) ||\n (query.state.data !== undefined &&\n shouldFetchOn(query, options, options.refetchOnMount))\n )\n}\n\nfunction shouldFetchOn(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n field: (typeof options)['refetchOnMount'] &\n (typeof options)['refetchOnWindowFocus'] &\n (typeof options)['refetchOnReconnect'],\n) {\n if (\n resolveQueryBoolean(options.enabled, query) !== false &&\n resolveStaleTime(options.staleTime, query) !== 'static'\n ) {\n const value = typeof field === 'function' ? field(query) : field\n\n return value === 'always' || (value !== false && isStale(query, options))\n }\n return false\n}\n\nfunction shouldFetchOptionally(\n query: Query<any, any, any, any>,\n prevQuery: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n prevOptions: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n (query !== prevQuery ||\n resolveQueryBoolean(prevOptions.enabled, query) === false) &&\n (!options.suspense || query.state.status !== 'error') &&\n isStale(query, options)\n )\n}\n\nfunction isStale(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n resolveQueryBoolean(options.enabled, query) !== false &&\n query.isStaleByTime(resolveStaleTime(options.staleTime, query))\n )\n}\n\n// this function would decide if we will update the observer's 'current'\n// properties after an optimistic reading via getOptimisticResult\nfunction shouldAssignObserverCurrentProperties<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n observer: QueryObserver<TQueryFnData, TError, TData, TQueryData, TQueryKey>,\n optimisticResult: QueryObserverResult<TData, TError>,\n) {\n // if the newly created result isn't what the observer is holding as current,\n // then we'll need to update the properties as well\n if (!shallowEqualObjects(observer.getCurrentResult(), optimisticResult)) {\n return true\n }\n\n // basically, just keep previous properties if nothing changed\n return false\n}\n"],"mappings":"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"} | ||
| {"version":3,"file":"queryObserver.cjs","names":["Subscribable","resolveQueryValue","shallowEqualObjects","fetchState","replaceData","noop","isServerEnvironment","isValidTimeout","timeUntilStale","timeoutManager","focusManager"],"sources":["../../src/queryObserver.ts"],"sourcesContent":["import { focusManager } from './focusManager'\nimport { isServer as isServerEnvironment } from './environmentManager'\nimport { notifyManager } from './notifyManager'\nimport { fetchState } from './query'\nimport { Subscribable } from './subscribable'\nimport {\n isValidTimeout,\n noop,\n replaceData,\n resolveQueryValue,\n shallowEqualObjects,\n timeUntilStale,\n} from './utils'\nimport { timeoutManager } from './timeoutManager'\nimport type { ManagedTimerId } from './timeoutManager'\nimport type { FetchOptions, Query, QueryState } from './query'\nimport type { QueryClient } from './queryClient'\nimport type {\n DefaultError,\n DefaultedQueryObserverOptions,\n PlaceholderDataFunction,\n QueryKey,\n QueryObserverBaseResult,\n QueryObserverOptions,\n QueryObserverResult,\n RefetchOptions,\n} from './types'\n\ntype QueryObserverListener<TData, TError> = (\n result: QueryObserverResult<TData, TError>,\n) => void\n\ninterface ObserverFetchOptions extends FetchOptions {\n throwOnError?: boolean\n}\n\nexport class QueryObserver<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends Subscribable<QueryObserverListener<TData, TError>> {\n #client: QueryClient\n #currentQuery: Query<TQueryFnData, TError, TQueryData, TQueryKey> = undefined!\n #currentQueryInitialState: QueryState<TQueryData, TError> = undefined!\n #currentResult: QueryObserverResult<TData, TError> = undefined!\n #currentResultState?: QueryState<TQueryData, TError>\n #currentResultOptions?: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n #selectError: TError | null\n #selectFn?: (data: TQueryData) => TData\n #selectResult?: TData\n // This property keeps track of the last query with defined data.\n // It will be used to pass the previous data and query to the placeholder function between renders.\n #lastQueryWithDefinedData?: Query<TQueryFnData, TError, TQueryData, TQueryKey>\n #staleTimeoutId?: ManagedTimerId\n #refetchIntervalId?: ManagedTimerId\n #currentRefetchInterval?: number | false\n #trackedProps = new Set<keyof QueryObserverResult>()\n\n constructor(\n client: QueryClient,\n public options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ) {\n super()\n\n this.#client = client\n this.#selectError = null\n\n this.bindMethods()\n this.setOptions(options)\n }\n\n protected bindMethods(): void {\n this.refetch = this.refetch.bind(this)\n }\n\n protected onSubscribe(): void {\n if (this.listeners.size === 1) {\n this.#currentQuery.addObserver(this)\n\n if (shouldFetchOnMount(this.#currentQuery, this.options)) {\n this.#executeFetch()\n } else {\n this.updateResult()\n }\n\n this.#updateTimers()\n }\n }\n\n protected onUnsubscribe(): void {\n if (!this.hasListeners()) {\n this.destroy()\n }\n }\n\n shouldFetchOnReconnect(): boolean {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnReconnect,\n )\n }\n\n shouldFetchOnWindowFocus(): boolean {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnWindowFocus,\n )\n }\n\n destroy(): void {\n this.listeners = new Set()\n this.#clearStaleTimeout()\n this.#clearRefetchInterval()\n this.#currentQuery.removeObserver(this)\n }\n\n setOptions(\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): void {\n const prevOptions = this.options\n const prevQuery = this.#currentQuery\n\n this.options = this.#client.defaultQueryOptions(options)\n\n if (\n this.options.enabled !== undefined &&\n typeof this.options.enabled !== 'boolean' &&\n typeof this.options.enabled !== 'function' &&\n typeof resolveQueryValue(this.options.enabled, this.#currentQuery) !==\n 'boolean'\n ) {\n throw new Error(\n 'Expected enabled to be a boolean or a callback that returns a boolean',\n )\n }\n\n this.#updateQuery()\n this.#currentQuery.setOptions(this.options)\n\n if (\n prevOptions._defaulted &&\n !shallowEqualObjects(this.options, prevOptions)\n ) {\n this.#client.getQueryCache().notify({\n type: 'observerOptionsUpdated',\n query: this.#currentQuery,\n observer: this,\n })\n }\n\n const mounted = this.hasListeners()\n\n // Fetch if there are subscribers\n if (\n mounted &&\n shouldFetchOptionally(\n this.#currentQuery,\n prevQuery,\n this.options,\n prevOptions,\n )\n ) {\n this.#executeFetch()\n }\n\n // Update result\n this.updateResult()\n\n // Update stale interval if needed\n if (\n mounted &&\n (this.#currentQuery !== prevQuery ||\n resolveQueryValue(this.options.enabled, this.#currentQuery) !==\n resolveQueryValue(prevOptions.enabled, this.#currentQuery) ||\n resolveQueryValue(this.options.staleTime, this.#currentQuery) !==\n resolveQueryValue(prevOptions.staleTime, this.#currentQuery))\n ) {\n this.#updateStaleTimeout()\n }\n\n const nextRefetchInterval = this.#computeRefetchInterval()\n\n // Update refetch interval if needed\n if (\n mounted &&\n (this.#currentQuery !== prevQuery ||\n resolveQueryValue(this.options.enabled, this.#currentQuery) !==\n resolveQueryValue(prevOptions.enabled, this.#currentQuery) ||\n nextRefetchInterval !== this.#currentRefetchInterval)\n ) {\n this.#updateRefetchInterval(nextRefetchInterval)\n }\n }\n\n getOptimisticResult(\n options: DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): QueryObserverResult<TData, TError> {\n const query = this.#client.getQueryCache().build(this.#client, options)\n\n const result = this.createResult(query, options)\n\n if (!shallowEqualObjects(this.getCurrentResult(), result)) {\n // this assigns the optimistic result to the current Observer\n // because if the query function changes, useQuery will be performing\n // an effect where it would fetch again.\n // When the fetch finishes, we perform a deep data cloning in order\n // to reuse objects references. This deep data clone is performed against\n // the `observer.currentResult.data` property\n // When QueryKey changes, we refresh the query and get new `optimistic`\n // result, while we leave the `observer.currentResult`, so when new data\n // arrives, it finds the old `observer.currentResult` which is related\n // to the old QueryKey. Which means that currentResult and selectData are\n // out of sync already.\n // To solve this, we move the cursor of the currentResult every time\n // an observer reads an optimistic value.\n\n // When keeping the previous data, the result doesn't change until new\n // data arrives.\n this.#currentResult = result\n this.#currentResultOptions = this.options\n this.#currentResultState = this.#currentQuery.state\n }\n return result\n }\n\n getCurrentResult(): QueryObserverResult<TData, TError> {\n return this.#currentResult\n }\n\n trackResult(\n result: QueryObserverResult<TData, TError>,\n onPropTracked?: (key: keyof QueryObserverResult) => void,\n ): QueryObserverResult<TData, TError> {\n return new Proxy(result, {\n get: (target, key) => {\n this.trackProp(key as keyof QueryObserverResult)\n onPropTracked?.(key as keyof QueryObserverResult)\n return Reflect.get(target, key)\n },\n })\n }\n\n trackProp(key: keyof QueryObserverResult) {\n this.#trackedProps.add(key)\n }\n\n getCurrentQuery(): Query<TQueryFnData, TError, TQueryData, TQueryKey> {\n return this.#currentQuery\n }\n\n refetch({ ...options }: RefetchOptions = {}): Promise<\n QueryObserverResult<TData, TError>\n > {\n return this.fetch({\n ...options,\n })\n }\n\n fetchOptimistic(\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): Promise<QueryObserverResult<TData, TError>> {\n const defaultedOptions = this.#client.defaultQueryOptions(options)\n\n const query = this.#client\n .getQueryCache()\n .build(this.#client, defaultedOptions)\n\n let unsubscribe = () => {}\n let resolveEarly:\n | ((result: QueryObserverResult<TData, TError>) => void)\n | undefined\n\n const cachePromise = new Promise<QueryObserverResult<TData, TError>>(\n (resolve) => {\n resolveEarly = resolve\n unsubscribe = this.#client.getQueryCache().subscribe((event) => {\n if (\n event.type === 'updated' &&\n event.query.queryHash === query.queryHash &&\n query.state.data !== undefined\n ) {\n unsubscribe()\n resolve(this.createResult(query, defaultedOptions))\n }\n })\n },\n )\n\n return Promise.race([\n query\n .fetch()\n .then(() => {\n const result = this.createResult(query, defaultedOptions)\n // Settle the subscriber promise so both branches always settle.\n // This value is ignored by Promise.race since the fetch branch already won.\n resolveEarly?.(result)\n return result\n })\n .finally(() => {\n unsubscribe()\n }),\n cachePromise,\n ])\n }\n\n protected fetch(\n fetchOptions: ObserverFetchOptions,\n ): Promise<QueryObserverResult<TData, TError>> {\n return this.#executeFetch({\n ...fetchOptions,\n cancelRefetch: fetchOptions.cancelRefetch ?? true,\n }).then(() => {\n this.updateResult()\n return this.#currentResult\n })\n }\n\n #executeFetch(\n fetchOptions?: Omit<ObserverFetchOptions, 'initialPromise'>,\n ): Promise<TQueryData | undefined> {\n // Make sure we reference the latest query as the current one might have been removed\n this.#updateQuery()\n\n // Fetch\n let promise: Promise<TQueryData | undefined> = this.#currentQuery.fetch(\n this.options,\n fetchOptions,\n )\n\n if (!fetchOptions?.throwOnError) {\n promise = promise.catch(noop)\n }\n\n return promise\n }\n\n #shouldScheduleTimer(timeout: unknown): timeout is number {\n return (\n !isServerEnvironment() &&\n resolveQueryValue(this.options.enabled, this.#currentQuery) !== false &&\n isValidTimeout(timeout)\n )\n }\n\n #updateStaleTimeout(): void {\n this.#clearStaleTimeout()\n const staleTime = resolveQueryValue(\n this.options.staleTime,\n this.#currentQuery,\n )\n\n if (this.#currentResult.isStale || !this.#shouldScheduleTimer(staleTime)) {\n return\n }\n\n const time = timeUntilStale(this.#currentResult.dataUpdatedAt, staleTime)\n\n // The timeout is sometimes triggered 1 ms before the stale time expiration.\n // To mitigate this issue we always add 1 ms to the timeout.\n const timeout = time + 1\n\n this.#staleTimeoutId = timeoutManager.setTimeout(() => {\n if (!this.#currentResult.isStale) {\n this.updateResult()\n }\n }, timeout)\n }\n\n #computeRefetchInterval() {\n return (\n (typeof this.options.refetchInterval === 'function'\n ? this.options.refetchInterval(this.#currentQuery)\n : this.options.refetchInterval) ?? false\n )\n }\n\n #updateRefetchInterval(nextInterval: number | false): void {\n this.#clearRefetchInterval()\n\n this.#currentRefetchInterval = nextInterval\n\n if (\n this.#currentRefetchInterval === 0 ||\n !this.#shouldScheduleTimer(this.#currentRefetchInterval)\n ) {\n return\n }\n\n this.#refetchIntervalId = timeoutManager.setInterval(() => {\n if (\n this.options.refetchIntervalInBackground ||\n focusManager.isFocused()\n ) {\n this.#executeFetch()\n }\n }, this.#currentRefetchInterval)\n }\n\n #updateTimers(): void {\n this.#updateStaleTimeout()\n this.#updateRefetchInterval(this.#computeRefetchInterval())\n }\n\n #clearStaleTimeout(): void {\n if (this.#staleTimeoutId !== undefined) {\n timeoutManager.clearTimeout(this.#staleTimeoutId)\n this.#staleTimeoutId = undefined\n }\n }\n\n #clearRefetchInterval(): void {\n if (this.#refetchIntervalId !== undefined) {\n timeoutManager.clearInterval(this.#refetchIntervalId)\n this.#refetchIntervalId = undefined\n }\n }\n\n protected createResult(\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): QueryObserverResult<TData, TError> {\n const prevQuery = this.#currentQuery\n const prevOptions = this.options\n const prevResult = this.#currentResult as\n | QueryObserverResult<TData, TError>\n | undefined\n const prevResultState = this.#currentResultState\n const prevResultOptions = this.#currentResultOptions\n const queryChange = query !== prevQuery\n const queryInitialState = queryChange\n ? query.state\n : this.#currentQueryInitialState\n\n const { state } = query\n let newState = { ...state }\n let isPlaceholderData = false\n let data: TData | undefined\n\n // Optimistically set result in fetching state if needed\n if (options._optimisticResults) {\n const mounted = this.hasListeners()\n\n const fetchOnMount = !mounted && shouldFetchOnMount(query, options)\n\n const fetchOptionally =\n mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions)\n\n if (fetchOnMount || fetchOptionally) {\n newState = {\n ...newState,\n ...fetchState(state.data, query.options),\n }\n }\n if (options._optimisticResults === 'isRestoring') {\n newState.fetchStatus = 'idle'\n }\n }\n\n let { error, errorUpdatedAt, status } = newState\n\n // Per default, use query data\n data = newState.data as unknown as TData\n let skipSelect = false\n\n // use placeholderData if needed\n if (\n options.placeholderData !== undefined &&\n data === undefined &&\n status === 'pending'\n ) {\n let placeholderData\n\n // Memoize placeholder data\n if (\n prevResult?.isPlaceholderData &&\n options.placeholderData === prevResultOptions?.placeholderData\n ) {\n placeholderData = prevResult.data\n // we have to skip select when reading this memoization\n // because prevResult.data is already \"selected\"\n skipSelect = true\n } else {\n // compute placeholderData\n placeholderData =\n typeof options.placeholderData === 'function'\n ? (\n options.placeholderData as unknown as PlaceholderDataFunction<TQueryData>\n )(\n this.#lastQueryWithDefinedData?.state.data,\n this.#lastQueryWithDefinedData as any,\n )\n : options.placeholderData\n }\n\n if (placeholderData !== undefined) {\n status = 'success'\n data = replaceData(\n prevResult?.data,\n placeholderData as unknown,\n options,\n ) as TData\n isPlaceholderData = true\n }\n }\n\n // Select data if needed\n // this also runs placeholderData through the select function\n if (options.select && data !== undefined && !skipSelect) {\n // Memoize select result\n if (\n prevResult &&\n data === prevResultState?.data &&\n options.select === this.#selectFn\n ) {\n data = this.#selectResult\n } else {\n try {\n this.#selectFn = options.select\n data = options.select(data as any)\n data = replaceData(prevResult?.data, data, options)\n this.#selectResult = data\n this.#selectError = null\n } catch (selectError) {\n this.#selectError = selectError as TError\n }\n }\n } else if (data === undefined) {\n // a stored select error belongs to previously selected data; once that\n // data is gone (query switch or reset), it must not leak into this result\n this.#selectError = null\n }\n\n if (this.#selectError) {\n error = this.#selectError\n data = this.#selectResult\n errorUpdatedAt = Date.now()\n status = 'error'\n isPlaceholderData = false\n }\n\n const isFetching = newState.fetchStatus === 'fetching'\n const isPending = status === 'pending'\n const isError = status === 'error'\n\n const isLoading = isPending && isFetching\n const hasData = data !== undefined\n\n const result: QueryObserverBaseResult<TData, TError> = {\n status,\n fetchStatus: newState.fetchStatus,\n isPending,\n isSuccess: status === 'success',\n isError,\n isInitialLoading: isLoading,\n isLoading,\n data,\n dataUpdatedAt: newState.dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: newState.fetchFailureCount,\n failureReason: newState.fetchFailureReason,\n errorUpdateCount: newState.errorUpdateCount,\n isFetched: query.isFetched(),\n isFetchedAfterMount:\n newState.dataUpdateCount > queryInitialState.dataUpdateCount ||\n newState.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching,\n isRefetching: isFetching && !isPending,\n isLoadingError: isError && !hasData,\n isPaused: newState.fetchStatus === 'paused',\n isPlaceholderData,\n isRefetchError: isError && hasData,\n isStale: isStale(query, options),\n refetch: this.refetch,\n isEnabled: resolveQueryValue(options.enabled, query) !== false,\n }\n\n const nextResult = result as QueryObserverResult<TData, TError>\n\n return nextResult\n }\n\n updateResult(): void {\n const prevResult = this.#currentResult as\n | QueryObserverResult<TData, TError>\n | undefined\n\n const nextResult = this.createResult(this.#currentQuery, this.options)\n\n this.#currentResultState = this.#currentQuery.state\n this.#currentResultOptions = this.options\n\n if (this.#currentResultState.data !== undefined) {\n this.#lastQueryWithDefinedData = this.#currentQuery\n }\n\n // Only notify and update result if something has changed\n if (shallowEqualObjects(nextResult, prevResult)) {\n return\n }\n\n this.#currentResult = nextResult\n\n const shouldNotifyListeners = (): boolean => {\n if (!prevResult) {\n return true\n }\n\n const { notifyOnChangeProps } = this.options\n const notifyOnChangePropsValue =\n typeof notifyOnChangeProps === 'function'\n ? notifyOnChangeProps()\n : notifyOnChangeProps\n\n if (\n notifyOnChangePropsValue === 'all' ||\n (!notifyOnChangePropsValue && !this.#trackedProps.size)\n ) {\n return true\n }\n\n const includedProps = new Set(\n notifyOnChangePropsValue ?? this.#trackedProps,\n )\n\n if (this.options.throwOnError) {\n includedProps.add('error')\n }\n\n return Object.keys(this.#currentResult).some((key) => {\n const typedKey = key as keyof QueryObserverResult\n const changed = this.#currentResult[typedKey] !== prevResult[typedKey]\n\n return changed && includedProps.has(typedKey)\n })\n }\n\n const notifyListeners = shouldNotifyListeners()\n\n notifyManager.batch(() => {\n // First, trigger the listeners\n if (notifyListeners) {\n this.listeners.forEach((listener) => {\n listener(this.#currentResult)\n })\n }\n\n // Then the cache listeners\n this.#client.getQueryCache().notify({\n query: this.#currentQuery,\n type: 'observerResultsUpdated',\n })\n })\n }\n\n #updateQuery(): void {\n const query = this.#client.getQueryCache().build(this.#client, this.options)\n\n if (query === this.#currentQuery) {\n return\n }\n\n const prevQuery = this.#currentQuery as\n | Query<TQueryFnData, TError, TQueryData, TQueryKey>\n | undefined\n this.#currentQuery = query\n this.#currentQueryInitialState = query.state\n\n if (this.hasListeners()) {\n prevQuery?.removeObserver(this)\n query.addObserver(this)\n }\n }\n\n onQueryUpdate(): void {\n this.updateResult()\n\n if (this.hasListeners()) {\n this.#updateTimers()\n }\n }\n}\n\nfunction shouldLoadOnMount(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any>,\n): boolean {\n return (\n resolveQueryValue(options.enabled, query) !== false &&\n query.state.data === undefined &&\n !(\n query.state.status === 'error' &&\n resolveQueryValue(options.retryOnMount, query) === false\n )\n )\n}\n\nfunction shouldFetchOnMount(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n shouldLoadOnMount(query, options) ||\n (query.state.data !== undefined &&\n shouldFetchOn(query, options, options.refetchOnMount))\n )\n}\n\nfunction shouldFetchOn(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n field: (typeof options)['refetchOnMount'] &\n (typeof options)['refetchOnWindowFocus'] &\n (typeof options)['refetchOnReconnect'],\n) {\n if (\n resolveQueryValue(options.enabled, query) !== false &&\n resolveQueryValue(options.staleTime, query) !== 'static'\n ) {\n const value = typeof field === 'function' ? field(query) : field\n\n return value === 'always' || (value !== false && isStale(query, options))\n }\n return false\n}\n\nfunction shouldFetchOptionally(\n query: Query<any, any, any, any>,\n prevQuery: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n prevOptions: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n (query !== prevQuery ||\n resolveQueryValue(prevOptions.enabled, query) === false) &&\n (!options.suspense || query.state.status !== 'error') &&\n isStale(query, options)\n )\n}\n\nfunction isStale(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n resolveQueryValue(options.enabled, query) !== false &&\n query.isStaleByTime(resolveQueryValue(options.staleTime, query))\n )\n}\n"],"mappings":"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"} |
@@ -1,2 +0,2 @@ | ||
| import { ir as QueryObserver } from "./hydration-BoHd-X9T.cjs"; | ||
| import { rr as QueryObserver } from "./hydration-DWGr3cFC.cjs"; | ||
| export { QueryObserver }; |
@@ -1,2 +0,2 @@ | ||
| import { ir as QueryObserver } from "./hydration-DFwTM9vM.js"; | ||
| import { rr as QueryObserver } from "./hydration-Bjs0MSgg.js"; | ||
| export { QueryObserver }; |
| import { i as _classPrivateFieldInitSpec, n as _classPrivateFieldGet2, r as _assertClassBrand, t as _classPrivateFieldSet2 } from "./classPrivateFieldSet2-CV7wyte-.js"; | ||
| import { timeoutManager } from "./timeoutManager.js"; | ||
| import { isValidTimeout, noop, replaceData, resolveQueryBoolean, resolveStaleTime, shallowEqualObjects, timeUntilStale } from "./utils.js"; | ||
| import { environmentManager } from "./environmentManager.js"; | ||
| import { isValidTimeout, noop, replaceData, resolveQueryValue, shallowEqualObjects, timeUntilStale } from "./utils.js"; | ||
| import { isServer } from "./environmentManager.js"; | ||
| import { Subscribable } from "./subscribable.js"; | ||
@@ -80,3 +80,3 @@ import { focusManager } from "./focusManager.js"; | ||
| this.options = _classPrivateFieldGet2(_client, this).defaultQueryOptions(options); | ||
| if (this.options.enabled !== void 0 && typeof this.options.enabled !== "boolean" && typeof this.options.enabled !== "function" && typeof resolveQueryBoolean(this.options.enabled, _classPrivateFieldGet2(_currentQuery, this)) !== "boolean") throw new Error("Expected enabled to be a boolean or a callback that returns a boolean"); | ||
| if (this.options.enabled !== void 0 && typeof this.options.enabled !== "boolean" && typeof this.options.enabled !== "function" && typeof resolveQueryValue(this.options.enabled, _classPrivateFieldGet2(_currentQuery, this)) !== "boolean") throw new Error("Expected enabled to be a boolean or a callback that returns a boolean"); | ||
| _assertClassBrand(_QueryObserver_brand, this, _updateQuery).call(this); | ||
@@ -92,5 +92,5 @@ _classPrivateFieldGet2(_currentQuery, this).setOptions(this.options); | ||
| this.updateResult(); | ||
| if (mounted && (_classPrivateFieldGet2(_currentQuery, this) !== prevQuery || resolveQueryBoolean(this.options.enabled, _classPrivateFieldGet2(_currentQuery, this)) !== resolveQueryBoolean(prevOptions.enabled, _classPrivateFieldGet2(_currentQuery, this)) || resolveStaleTime(this.options.staleTime, _classPrivateFieldGet2(_currentQuery, this)) !== resolveStaleTime(prevOptions.staleTime, _classPrivateFieldGet2(_currentQuery, this)))) _assertClassBrand(_QueryObserver_brand, this, _updateStaleTimeout).call(this); | ||
| if (mounted && (_classPrivateFieldGet2(_currentQuery, this) !== prevQuery || resolveQueryValue(this.options.enabled, _classPrivateFieldGet2(_currentQuery, this)) !== resolveQueryValue(prevOptions.enabled, _classPrivateFieldGet2(_currentQuery, this)) || resolveQueryValue(this.options.staleTime, _classPrivateFieldGet2(_currentQuery, this)) !== resolveQueryValue(prevOptions.staleTime, _classPrivateFieldGet2(_currentQuery, this)))) _assertClassBrand(_QueryObserver_brand, this, _updateStaleTimeout).call(this); | ||
| const nextRefetchInterval = _assertClassBrand(_QueryObserver_brand, this, _computeRefetchInterval).call(this); | ||
| if (mounted && (_classPrivateFieldGet2(_currentQuery, this) !== prevQuery || resolveQueryBoolean(this.options.enabled, _classPrivateFieldGet2(_currentQuery, this)) !== resolveQueryBoolean(prevOptions.enabled, _classPrivateFieldGet2(_currentQuery, this)) || nextRefetchInterval !== _classPrivateFieldGet2(_currentRefetchInterval, this))) _assertClassBrand(_QueryObserver_brand, this, _updateRefetchInterval).call(this, nextRefetchInterval); | ||
| if (mounted && (_classPrivateFieldGet2(_currentQuery, this) !== prevQuery || resolveQueryValue(this.options.enabled, _classPrivateFieldGet2(_currentQuery, this)) !== resolveQueryValue(prevOptions.enabled, _classPrivateFieldGet2(_currentQuery, this)) || nextRefetchInterval !== _classPrivateFieldGet2(_currentRefetchInterval, this))) _assertClassBrand(_QueryObserver_brand, this, _updateRefetchInterval).call(this, nextRefetchInterval); | ||
| } | ||
@@ -100,3 +100,3 @@ getOptimisticResult(options) { | ||
| const result = this.createResult(query, options); | ||
| if (shouldAssignObserverCurrentProperties(this, result)) { | ||
| if (!shallowEqualObjects(this.getCurrentResult(), result)) { | ||
| _classPrivateFieldSet2(_currentResult, this, result); | ||
@@ -246,3 +246,3 @@ _classPrivateFieldSet2(_currentResultOptions, this, this.options); | ||
| refetch: this.refetch, | ||
| isEnabled: resolveQueryBoolean(options.enabled, query) !== false | ||
| isEnabled: resolveQueryValue(options.enabled, query) !== false | ||
| }; | ||
@@ -270,3 +270,12 @@ } | ||
| }; | ||
| _assertClassBrand(_QueryObserver_brand, this, _notify).call(this, { listeners: shouldNotifyListeners() }); | ||
| const notifyListeners = shouldNotifyListeners(); | ||
| notifyManager.batch(() => { | ||
| if (notifyListeners) this.listeners.forEach((listener) => { | ||
| listener(_classPrivateFieldGet2(_currentResult, this)); | ||
| }); | ||
| _classPrivateFieldGet2(_client, this).getQueryCache().notify({ | ||
| query: _classPrivateFieldGet2(_currentQuery, this), | ||
| type: "observerResultsUpdated" | ||
| }); | ||
| }); | ||
| } | ||
@@ -285,7 +294,7 @@ onQueryUpdate() { | ||
| function _shouldScheduleTimer(timeout) { | ||
| return !environmentManager.isServer() && resolveQueryBoolean(this.options.enabled, _classPrivateFieldGet2(_currentQuery, this)) !== false && isValidTimeout(timeout); | ||
| return !isServer() && resolveQueryValue(this.options.enabled, _classPrivateFieldGet2(_currentQuery, this)) !== false && isValidTimeout(timeout); | ||
| } | ||
| function _updateStaleTimeout() { | ||
| _assertClassBrand(_QueryObserver_brand, this, _clearStaleTimeout).call(this); | ||
| const staleTime = resolveStaleTime(this.options.staleTime, _classPrivateFieldGet2(_currentQuery, this)); | ||
| const staleTime = resolveQueryValue(this.options.staleTime, _classPrivateFieldGet2(_currentQuery, this)); | ||
| if (_classPrivateFieldGet2(_currentResult, this).isStale || !_assertClassBrand(_QueryObserver_brand, this, _shouldScheduleTimer).call(this, staleTime)) return; | ||
@@ -335,15 +344,4 @@ const timeout = timeUntilStale(_classPrivateFieldGet2(_currentResult, this).dataUpdatedAt, staleTime) + 1; | ||
| } | ||
| function _notify(notifyOptions) { | ||
| notifyManager.batch(() => { | ||
| if (notifyOptions.listeners) this.listeners.forEach((listener) => { | ||
| listener(_classPrivateFieldGet2(_currentResult, this)); | ||
| }); | ||
| _classPrivateFieldGet2(_client, this).getQueryCache().notify({ | ||
| query: _classPrivateFieldGet2(_currentQuery, this), | ||
| type: "observerResultsUpdated" | ||
| }); | ||
| }); | ||
| } | ||
| function shouldLoadOnMount(query, options) { | ||
| return resolveQueryBoolean(options.enabled, query) !== false && query.state.data === void 0 && !(query.state.status === "error" && resolveQueryBoolean(options.retryOnMount, query) === false); | ||
| return resolveQueryValue(options.enabled, query) !== false && query.state.data === void 0 && !(query.state.status === "error" && resolveQueryValue(options.retryOnMount, query) === false); | ||
| } | ||
@@ -354,3 +352,3 @@ function shouldFetchOnMount(query, options) { | ||
| function shouldFetchOn(query, options, field) { | ||
| if (resolveQueryBoolean(options.enabled, query) !== false && resolveStaleTime(options.staleTime, query) !== "static") { | ||
| if (resolveQueryValue(options.enabled, query) !== false && resolveQueryValue(options.staleTime, query) !== "static") { | ||
| const value = typeof field === "function" ? field(query) : field; | ||
@@ -362,11 +360,7 @@ return value === "always" || value !== false && isStale(query, options); | ||
| function shouldFetchOptionally(query, prevQuery, options, prevOptions) { | ||
| return (query !== prevQuery || resolveQueryBoolean(prevOptions.enabled, query) === false) && (!options.suspense || query.state.status !== "error") && isStale(query, options); | ||
| return (query !== prevQuery || resolveQueryValue(prevOptions.enabled, query) === false) && (!options.suspense || query.state.status !== "error") && isStale(query, options); | ||
| } | ||
| function isStale(query, options) { | ||
| return resolveQueryBoolean(options.enabled, query) !== false && query.isStaleByTime(resolveStaleTime(options.staleTime, query)); | ||
| return resolveQueryValue(options.enabled, query) !== false && query.isStaleByTime(resolveQueryValue(options.staleTime, query)); | ||
| } | ||
| function shouldAssignObserverCurrentProperties(observer, optimisticResult) { | ||
| if (!shallowEqualObjects(observer.getCurrentResult(), optimisticResult)) return true; | ||
| return false; | ||
| } | ||
| //#endregion | ||
@@ -373,0 +367,0 @@ export { QueryObserver }; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"queryObserver.js","names":[],"sources":["../../src/queryObserver.ts"],"sourcesContent":["import { focusManager } from './focusManager'\nimport { environmentManager } from './environmentManager'\nimport { notifyManager } from './notifyManager'\nimport { fetchState } from './query'\nimport { Subscribable } from './subscribable'\nimport {\n isValidTimeout,\n noop,\n replaceData,\n resolveQueryBoolean,\n resolveStaleTime,\n shallowEqualObjects,\n timeUntilStale,\n} from './utils'\nimport { timeoutManager } from './timeoutManager'\nimport type { ManagedTimerId } from './timeoutManager'\nimport type { FetchOptions, Query, QueryState } from './query'\nimport type { QueryClient } from './queryClient'\nimport type {\n DefaultError,\n DefaultedQueryObserverOptions,\n PlaceholderDataFunction,\n QueryKey,\n QueryObserverBaseResult,\n QueryObserverOptions,\n QueryObserverResult,\n RefetchOptions,\n} from './types'\n\ntype QueryObserverListener<TData, TError> = (\n result: QueryObserverResult<TData, TError>,\n) => void\n\ninterface ObserverFetchOptions extends FetchOptions {\n throwOnError?: boolean\n}\n\nexport class QueryObserver<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends Subscribable<QueryObserverListener<TData, TError>> {\n #client: QueryClient\n #currentQuery: Query<TQueryFnData, TError, TQueryData, TQueryKey> = undefined!\n #currentQueryInitialState: QueryState<TQueryData, TError> = undefined!\n #currentResult: QueryObserverResult<TData, TError> = undefined!\n #currentResultState?: QueryState<TQueryData, TError>\n #currentResultOptions?: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n #selectError: TError | null\n #selectFn?: (data: TQueryData) => TData\n #selectResult?: TData\n // This property keeps track of the last query with defined data.\n // It will be used to pass the previous data and query to the placeholder function between renders.\n #lastQueryWithDefinedData?: Query<TQueryFnData, TError, TQueryData, TQueryKey>\n #staleTimeoutId?: ManagedTimerId\n #refetchIntervalId?: ManagedTimerId\n #currentRefetchInterval?: number | false\n #trackedProps = new Set<keyof QueryObserverResult>()\n\n constructor(\n client: QueryClient,\n public options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ) {\n super()\n\n this.#client = client\n this.#selectError = null\n\n this.bindMethods()\n this.setOptions(options)\n }\n\n protected bindMethods(): void {\n this.refetch = this.refetch.bind(this)\n }\n\n protected onSubscribe(): void {\n if (this.listeners.size === 1) {\n this.#currentQuery.addObserver(this)\n\n if (shouldFetchOnMount(this.#currentQuery, this.options)) {\n this.#executeFetch()\n } else {\n this.updateResult()\n }\n\n this.#updateTimers()\n }\n }\n\n protected onUnsubscribe(): void {\n if (!this.hasListeners()) {\n this.destroy()\n }\n }\n\n shouldFetchOnReconnect(): boolean {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnReconnect,\n )\n }\n\n shouldFetchOnWindowFocus(): boolean {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnWindowFocus,\n )\n }\n\n destroy(): void {\n this.listeners = new Set()\n this.#clearStaleTimeout()\n this.#clearRefetchInterval()\n this.#currentQuery.removeObserver(this)\n }\n\n setOptions(\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): void {\n const prevOptions = this.options\n const prevQuery = this.#currentQuery\n\n this.options = this.#client.defaultQueryOptions(options)\n\n if (\n this.options.enabled !== undefined &&\n typeof this.options.enabled !== 'boolean' &&\n typeof this.options.enabled !== 'function' &&\n typeof resolveQueryBoolean(this.options.enabled, this.#currentQuery) !==\n 'boolean'\n ) {\n throw new Error(\n 'Expected enabled to be a boolean or a callback that returns a boolean',\n )\n }\n\n this.#updateQuery()\n this.#currentQuery.setOptions(this.options)\n\n if (\n prevOptions._defaulted &&\n !shallowEqualObjects(this.options, prevOptions)\n ) {\n this.#client.getQueryCache().notify({\n type: 'observerOptionsUpdated',\n query: this.#currentQuery,\n observer: this,\n })\n }\n\n const mounted = this.hasListeners()\n\n // Fetch if there are subscribers\n if (\n mounted &&\n shouldFetchOptionally(\n this.#currentQuery,\n prevQuery,\n this.options,\n prevOptions,\n )\n ) {\n this.#executeFetch()\n }\n\n // Update result\n this.updateResult()\n\n // Update stale interval if needed\n if (\n mounted &&\n (this.#currentQuery !== prevQuery ||\n resolveQueryBoolean(this.options.enabled, this.#currentQuery) !==\n resolveQueryBoolean(prevOptions.enabled, this.#currentQuery) ||\n resolveStaleTime(this.options.staleTime, this.#currentQuery) !==\n resolveStaleTime(prevOptions.staleTime, this.#currentQuery))\n ) {\n this.#updateStaleTimeout()\n }\n\n const nextRefetchInterval = this.#computeRefetchInterval()\n\n // Update refetch interval if needed\n if (\n mounted &&\n (this.#currentQuery !== prevQuery ||\n resolveQueryBoolean(this.options.enabled, this.#currentQuery) !==\n resolveQueryBoolean(prevOptions.enabled, this.#currentQuery) ||\n nextRefetchInterval !== this.#currentRefetchInterval)\n ) {\n this.#updateRefetchInterval(nextRefetchInterval)\n }\n }\n\n getOptimisticResult(\n options: DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): QueryObserverResult<TData, TError> {\n const query = this.#client.getQueryCache().build(this.#client, options)\n\n const result = this.createResult(query, options)\n\n if (shouldAssignObserverCurrentProperties(this, result)) {\n // this assigns the optimistic result to the current Observer\n // because if the query function changes, useQuery will be performing\n // an effect where it would fetch again.\n // When the fetch finishes, we perform a deep data cloning in order\n // to reuse objects references. This deep data clone is performed against\n // the `observer.currentResult.data` property\n // When QueryKey changes, we refresh the query and get new `optimistic`\n // result, while we leave the `observer.currentResult`, so when new data\n // arrives, it finds the old `observer.currentResult` which is related\n // to the old QueryKey. Which means that currentResult and selectData are\n // out of sync already.\n // To solve this, we move the cursor of the currentResult every time\n // an observer reads an optimistic value.\n\n // When keeping the previous data, the result doesn't change until new\n // data arrives.\n this.#currentResult = result\n this.#currentResultOptions = this.options\n this.#currentResultState = this.#currentQuery.state\n }\n return result\n }\n\n getCurrentResult(): QueryObserverResult<TData, TError> {\n return this.#currentResult\n }\n\n trackResult(\n result: QueryObserverResult<TData, TError>,\n onPropTracked?: (key: keyof QueryObserverResult) => void,\n ): QueryObserverResult<TData, TError> {\n return new Proxy(result, {\n get: (target, key) => {\n this.trackProp(key as keyof QueryObserverResult)\n onPropTracked?.(key as keyof QueryObserverResult)\n return Reflect.get(target, key)\n },\n })\n }\n\n trackProp(key: keyof QueryObserverResult) {\n this.#trackedProps.add(key)\n }\n\n getCurrentQuery(): Query<TQueryFnData, TError, TQueryData, TQueryKey> {\n return this.#currentQuery\n }\n\n refetch({ ...options }: RefetchOptions = {}): Promise<\n QueryObserverResult<TData, TError>\n > {\n return this.fetch({\n ...options,\n })\n }\n\n fetchOptimistic(\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): Promise<QueryObserverResult<TData, TError>> {\n const defaultedOptions = this.#client.defaultQueryOptions(options)\n\n const query = this.#client\n .getQueryCache()\n .build(this.#client, defaultedOptions)\n\n let unsubscribe = () => {}\n let resolveEarly:\n | ((result: QueryObserverResult<TData, TError>) => void)\n | undefined\n\n const cachePromise = new Promise<QueryObserverResult<TData, TError>>(\n (resolve) => {\n resolveEarly = resolve\n unsubscribe = this.#client.getQueryCache().subscribe((event) => {\n if (\n event.type === 'updated' &&\n event.query.queryHash === query.queryHash &&\n query.state.data !== undefined\n ) {\n unsubscribe()\n resolve(this.createResult(query, defaultedOptions))\n }\n })\n },\n )\n\n return Promise.race([\n query\n .fetch()\n .then(() => {\n const result = this.createResult(query, defaultedOptions)\n // Settle the subscriber promise so both branches always settle.\n // This value is ignored by Promise.race since the fetch branch already won.\n resolveEarly?.(result)\n return result\n })\n .finally(() => {\n unsubscribe()\n }),\n cachePromise,\n ])\n }\n\n protected fetch(\n fetchOptions: ObserverFetchOptions,\n ): Promise<QueryObserverResult<TData, TError>> {\n return this.#executeFetch({\n ...fetchOptions,\n cancelRefetch: fetchOptions.cancelRefetch ?? true,\n }).then(() => {\n this.updateResult()\n return this.#currentResult\n })\n }\n\n #executeFetch(\n fetchOptions?: Omit<ObserverFetchOptions, 'initialPromise'>,\n ): Promise<TQueryData | undefined> {\n // Make sure we reference the latest query as the current one might have been removed\n this.#updateQuery()\n\n // Fetch\n let promise: Promise<TQueryData | undefined> = this.#currentQuery.fetch(\n this.options,\n fetchOptions,\n )\n\n if (!fetchOptions?.throwOnError) {\n promise = promise.catch(noop)\n }\n\n return promise\n }\n\n #shouldScheduleTimer(timeout: unknown): timeout is number {\n return (\n !environmentManager.isServer() &&\n resolveQueryBoolean(this.options.enabled, this.#currentQuery) !== false &&\n isValidTimeout(timeout)\n )\n }\n\n #updateStaleTimeout(): void {\n this.#clearStaleTimeout()\n const staleTime = resolveStaleTime(\n this.options.staleTime,\n this.#currentQuery,\n )\n\n if (this.#currentResult.isStale || !this.#shouldScheduleTimer(staleTime)) {\n return\n }\n\n const time = timeUntilStale(this.#currentResult.dataUpdatedAt, staleTime)\n\n // The timeout is sometimes triggered 1 ms before the stale time expiration.\n // To mitigate this issue we always add 1 ms to the timeout.\n const timeout = time + 1\n\n this.#staleTimeoutId = timeoutManager.setTimeout(() => {\n if (!this.#currentResult.isStale) {\n this.updateResult()\n }\n }, timeout)\n }\n\n #computeRefetchInterval() {\n return (\n (typeof this.options.refetchInterval === 'function'\n ? this.options.refetchInterval(this.#currentQuery)\n : this.options.refetchInterval) ?? false\n )\n }\n\n #updateRefetchInterval(nextInterval: number | false): void {\n this.#clearRefetchInterval()\n\n this.#currentRefetchInterval = nextInterval\n\n if (\n this.#currentRefetchInterval === 0 ||\n !this.#shouldScheduleTimer(this.#currentRefetchInterval)\n ) {\n return\n }\n\n this.#refetchIntervalId = timeoutManager.setInterval(() => {\n if (\n this.options.refetchIntervalInBackground ||\n focusManager.isFocused()\n ) {\n this.#executeFetch()\n }\n }, this.#currentRefetchInterval)\n }\n\n #updateTimers(): void {\n this.#updateStaleTimeout()\n this.#updateRefetchInterval(this.#computeRefetchInterval())\n }\n\n #clearStaleTimeout(): void {\n if (this.#staleTimeoutId !== undefined) {\n timeoutManager.clearTimeout(this.#staleTimeoutId)\n this.#staleTimeoutId = undefined\n }\n }\n\n #clearRefetchInterval(): void {\n if (this.#refetchIntervalId !== undefined) {\n timeoutManager.clearInterval(this.#refetchIntervalId)\n this.#refetchIntervalId = undefined\n }\n }\n\n protected createResult(\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): QueryObserverResult<TData, TError> {\n const prevQuery = this.#currentQuery\n const prevOptions = this.options\n const prevResult = this.#currentResult as\n | QueryObserverResult<TData, TError>\n | undefined\n const prevResultState = this.#currentResultState\n const prevResultOptions = this.#currentResultOptions\n const queryChange = query !== prevQuery\n const queryInitialState = queryChange\n ? query.state\n : this.#currentQueryInitialState\n\n const { state } = query\n let newState = { ...state }\n let isPlaceholderData = false\n let data: TData | undefined\n\n // Optimistically set result in fetching state if needed\n if (options._optimisticResults) {\n const mounted = this.hasListeners()\n\n const fetchOnMount = !mounted && shouldFetchOnMount(query, options)\n\n const fetchOptionally =\n mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions)\n\n if (fetchOnMount || fetchOptionally) {\n newState = {\n ...newState,\n ...fetchState(state.data, query.options),\n }\n }\n if (options._optimisticResults === 'isRestoring') {\n newState.fetchStatus = 'idle'\n }\n }\n\n let { error, errorUpdatedAt, status } = newState\n\n // Per default, use query data\n data = newState.data as unknown as TData\n let skipSelect = false\n\n // use placeholderData if needed\n if (\n options.placeholderData !== undefined &&\n data === undefined &&\n status === 'pending'\n ) {\n let placeholderData\n\n // Memoize placeholder data\n if (\n prevResult?.isPlaceholderData &&\n options.placeholderData === prevResultOptions?.placeholderData\n ) {\n placeholderData = prevResult.data\n // we have to skip select when reading this memoization\n // because prevResult.data is already \"selected\"\n skipSelect = true\n } else {\n // compute placeholderData\n placeholderData =\n typeof options.placeholderData === 'function'\n ? (\n options.placeholderData as unknown as PlaceholderDataFunction<TQueryData>\n )(\n this.#lastQueryWithDefinedData?.state.data,\n this.#lastQueryWithDefinedData as any,\n )\n : options.placeholderData\n }\n\n if (placeholderData !== undefined) {\n status = 'success'\n data = replaceData(\n prevResult?.data,\n placeholderData as unknown,\n options,\n ) as TData\n isPlaceholderData = true\n }\n }\n\n // Select data if needed\n // this also runs placeholderData through the select function\n if (options.select && data !== undefined && !skipSelect) {\n // Memoize select result\n if (\n prevResult &&\n data === prevResultState?.data &&\n options.select === this.#selectFn\n ) {\n data = this.#selectResult\n } else {\n try {\n this.#selectFn = options.select\n data = options.select(data as any)\n data = replaceData(prevResult?.data, data, options)\n this.#selectResult = data\n this.#selectError = null\n } catch (selectError) {\n this.#selectError = selectError as TError\n }\n }\n } else if (data === undefined) {\n // a stored select error belongs to previously selected data; once that\n // data is gone (query switch or reset), it must not leak into this result\n this.#selectError = null\n }\n\n if (this.#selectError) {\n error = this.#selectError\n data = this.#selectResult\n errorUpdatedAt = Date.now()\n status = 'error'\n isPlaceholderData = false\n }\n\n const isFetching = newState.fetchStatus === 'fetching'\n const isPending = status === 'pending'\n const isError = status === 'error'\n\n const isLoading = isPending && isFetching\n const hasData = data !== undefined\n\n const result: QueryObserverBaseResult<TData, TError> = {\n status,\n fetchStatus: newState.fetchStatus,\n isPending,\n isSuccess: status === 'success',\n isError,\n isInitialLoading: isLoading,\n isLoading,\n data,\n dataUpdatedAt: newState.dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: newState.fetchFailureCount,\n failureReason: newState.fetchFailureReason,\n errorUpdateCount: newState.errorUpdateCount,\n isFetched: query.isFetched(),\n isFetchedAfterMount:\n newState.dataUpdateCount > queryInitialState.dataUpdateCount ||\n newState.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching,\n isRefetching: isFetching && !isPending,\n isLoadingError: isError && !hasData,\n isPaused: newState.fetchStatus === 'paused',\n isPlaceholderData,\n isRefetchError: isError && hasData,\n isStale: isStale(query, options),\n refetch: this.refetch,\n isEnabled: resolveQueryBoolean(options.enabled, query) !== false,\n }\n\n const nextResult = result as QueryObserverResult<TData, TError>\n\n return nextResult\n }\n\n updateResult(): void {\n const prevResult = this.#currentResult as\n | QueryObserverResult<TData, TError>\n | undefined\n\n const nextResult = this.createResult(this.#currentQuery, this.options)\n\n this.#currentResultState = this.#currentQuery.state\n this.#currentResultOptions = this.options\n\n if (this.#currentResultState.data !== undefined) {\n this.#lastQueryWithDefinedData = this.#currentQuery\n }\n\n // Only notify and update result if something has changed\n if (shallowEqualObjects(nextResult, prevResult)) {\n return\n }\n\n this.#currentResult = nextResult\n\n const shouldNotifyListeners = (): boolean => {\n if (!prevResult) {\n return true\n }\n\n const { notifyOnChangeProps } = this.options\n const notifyOnChangePropsValue =\n typeof notifyOnChangeProps === 'function'\n ? notifyOnChangeProps()\n : notifyOnChangeProps\n\n if (\n notifyOnChangePropsValue === 'all' ||\n (!notifyOnChangePropsValue && !this.#trackedProps.size)\n ) {\n return true\n }\n\n const includedProps = new Set(\n notifyOnChangePropsValue ?? this.#trackedProps,\n )\n\n if (this.options.throwOnError) {\n includedProps.add('error')\n }\n\n return Object.keys(this.#currentResult).some((key) => {\n const typedKey = key as keyof QueryObserverResult\n const changed = this.#currentResult[typedKey] !== prevResult[typedKey]\n\n return changed && includedProps.has(typedKey)\n })\n }\n\n this.#notify({ listeners: shouldNotifyListeners() })\n }\n\n #updateQuery(): void {\n const query = this.#client.getQueryCache().build(this.#client, this.options)\n\n if (query === this.#currentQuery) {\n return\n }\n\n const prevQuery = this.#currentQuery as\n | Query<TQueryFnData, TError, TQueryData, TQueryKey>\n | undefined\n this.#currentQuery = query\n this.#currentQueryInitialState = query.state\n\n if (this.hasListeners()) {\n prevQuery?.removeObserver(this)\n query.addObserver(this)\n }\n }\n\n onQueryUpdate(): void {\n this.updateResult()\n\n if (this.hasListeners()) {\n this.#updateTimers()\n }\n }\n\n #notify(notifyOptions: { listeners: boolean }): void {\n notifyManager.batch(() => {\n // First, trigger the listeners\n if (notifyOptions.listeners) {\n this.listeners.forEach((listener) => {\n listener(this.#currentResult)\n })\n }\n\n // Then the cache listeners\n this.#client.getQueryCache().notify({\n query: this.#currentQuery,\n type: 'observerResultsUpdated',\n })\n })\n }\n}\n\nfunction shouldLoadOnMount(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any>,\n): boolean {\n return (\n resolveQueryBoolean(options.enabled, query) !== false &&\n query.state.data === undefined &&\n !(\n query.state.status === 'error' &&\n resolveQueryBoolean(options.retryOnMount, query) === false\n )\n )\n}\n\nfunction shouldFetchOnMount(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n shouldLoadOnMount(query, options) ||\n (query.state.data !== undefined &&\n shouldFetchOn(query, options, options.refetchOnMount))\n )\n}\n\nfunction shouldFetchOn(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n field: (typeof options)['refetchOnMount'] &\n (typeof options)['refetchOnWindowFocus'] &\n (typeof options)['refetchOnReconnect'],\n) {\n if (\n resolveQueryBoolean(options.enabled, query) !== false &&\n resolveStaleTime(options.staleTime, query) !== 'static'\n ) {\n const value = typeof field === 'function' ? field(query) : field\n\n return value === 'always' || (value !== false && isStale(query, options))\n }\n return false\n}\n\nfunction shouldFetchOptionally(\n query: Query<any, any, any, any>,\n prevQuery: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n prevOptions: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n (query !== prevQuery ||\n resolveQueryBoolean(prevOptions.enabled, query) === false) &&\n (!options.suspense || query.state.status !== 'error') &&\n isStale(query, options)\n )\n}\n\nfunction isStale(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n resolveQueryBoolean(options.enabled, query) !== false &&\n query.isStaleByTime(resolveStaleTime(options.staleTime, query))\n )\n}\n\n// this function would decide if we will update the observer's 'current'\n// properties after an optimistic reading via getOptimisticResult\nfunction shouldAssignObserverCurrentProperties<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n observer: QueryObserver<TQueryFnData, TError, TData, TQueryData, TQueryKey>,\n optimisticResult: QueryObserverResult<TData, TError>,\n) {\n // if the newly created result isn't what the observer is holding as current,\n // then we'll need to update the properties as well\n if (!shallowEqualObjects(observer.getCurrentResult(), optimisticResult)) {\n return true\n }\n\n // basically, just keep previous properties if nothing changed\n return false\n}\n"],"mappings":"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"} | ||
| {"version":3,"file":"queryObserver.js","names":["isServerEnvironment"],"sources":["../../src/queryObserver.ts"],"sourcesContent":["import { focusManager } from './focusManager'\nimport { isServer as isServerEnvironment } from './environmentManager'\nimport { notifyManager } from './notifyManager'\nimport { fetchState } from './query'\nimport { Subscribable } from './subscribable'\nimport {\n isValidTimeout,\n noop,\n replaceData,\n resolveQueryValue,\n shallowEqualObjects,\n timeUntilStale,\n} from './utils'\nimport { timeoutManager } from './timeoutManager'\nimport type { ManagedTimerId } from './timeoutManager'\nimport type { FetchOptions, Query, QueryState } from './query'\nimport type { QueryClient } from './queryClient'\nimport type {\n DefaultError,\n DefaultedQueryObserverOptions,\n PlaceholderDataFunction,\n QueryKey,\n QueryObserverBaseResult,\n QueryObserverOptions,\n QueryObserverResult,\n RefetchOptions,\n} from './types'\n\ntype QueryObserverListener<TData, TError> = (\n result: QueryObserverResult<TData, TError>,\n) => void\n\ninterface ObserverFetchOptions extends FetchOptions {\n throwOnError?: boolean\n}\n\nexport class QueryObserver<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends Subscribable<QueryObserverListener<TData, TError>> {\n #client: QueryClient\n #currentQuery: Query<TQueryFnData, TError, TQueryData, TQueryKey> = undefined!\n #currentQueryInitialState: QueryState<TQueryData, TError> = undefined!\n #currentResult: QueryObserverResult<TData, TError> = undefined!\n #currentResultState?: QueryState<TQueryData, TError>\n #currentResultOptions?: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n #selectError: TError | null\n #selectFn?: (data: TQueryData) => TData\n #selectResult?: TData\n // This property keeps track of the last query with defined data.\n // It will be used to pass the previous data and query to the placeholder function between renders.\n #lastQueryWithDefinedData?: Query<TQueryFnData, TError, TQueryData, TQueryKey>\n #staleTimeoutId?: ManagedTimerId\n #refetchIntervalId?: ManagedTimerId\n #currentRefetchInterval?: number | false\n #trackedProps = new Set<keyof QueryObserverResult>()\n\n constructor(\n client: QueryClient,\n public options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ) {\n super()\n\n this.#client = client\n this.#selectError = null\n\n this.bindMethods()\n this.setOptions(options)\n }\n\n protected bindMethods(): void {\n this.refetch = this.refetch.bind(this)\n }\n\n protected onSubscribe(): void {\n if (this.listeners.size === 1) {\n this.#currentQuery.addObserver(this)\n\n if (shouldFetchOnMount(this.#currentQuery, this.options)) {\n this.#executeFetch()\n } else {\n this.updateResult()\n }\n\n this.#updateTimers()\n }\n }\n\n protected onUnsubscribe(): void {\n if (!this.hasListeners()) {\n this.destroy()\n }\n }\n\n shouldFetchOnReconnect(): boolean {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnReconnect,\n )\n }\n\n shouldFetchOnWindowFocus(): boolean {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnWindowFocus,\n )\n }\n\n destroy(): void {\n this.listeners = new Set()\n this.#clearStaleTimeout()\n this.#clearRefetchInterval()\n this.#currentQuery.removeObserver(this)\n }\n\n setOptions(\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): void {\n const prevOptions = this.options\n const prevQuery = this.#currentQuery\n\n this.options = this.#client.defaultQueryOptions(options)\n\n if (\n this.options.enabled !== undefined &&\n typeof this.options.enabled !== 'boolean' &&\n typeof this.options.enabled !== 'function' &&\n typeof resolveQueryValue(this.options.enabled, this.#currentQuery) !==\n 'boolean'\n ) {\n throw new Error(\n 'Expected enabled to be a boolean or a callback that returns a boolean',\n )\n }\n\n this.#updateQuery()\n this.#currentQuery.setOptions(this.options)\n\n if (\n prevOptions._defaulted &&\n !shallowEqualObjects(this.options, prevOptions)\n ) {\n this.#client.getQueryCache().notify({\n type: 'observerOptionsUpdated',\n query: this.#currentQuery,\n observer: this,\n })\n }\n\n const mounted = this.hasListeners()\n\n // Fetch if there are subscribers\n if (\n mounted &&\n shouldFetchOptionally(\n this.#currentQuery,\n prevQuery,\n this.options,\n prevOptions,\n )\n ) {\n this.#executeFetch()\n }\n\n // Update result\n this.updateResult()\n\n // Update stale interval if needed\n if (\n mounted &&\n (this.#currentQuery !== prevQuery ||\n resolveQueryValue(this.options.enabled, this.#currentQuery) !==\n resolveQueryValue(prevOptions.enabled, this.#currentQuery) ||\n resolveQueryValue(this.options.staleTime, this.#currentQuery) !==\n resolveQueryValue(prevOptions.staleTime, this.#currentQuery))\n ) {\n this.#updateStaleTimeout()\n }\n\n const nextRefetchInterval = this.#computeRefetchInterval()\n\n // Update refetch interval if needed\n if (\n mounted &&\n (this.#currentQuery !== prevQuery ||\n resolveQueryValue(this.options.enabled, this.#currentQuery) !==\n resolveQueryValue(prevOptions.enabled, this.#currentQuery) ||\n nextRefetchInterval !== this.#currentRefetchInterval)\n ) {\n this.#updateRefetchInterval(nextRefetchInterval)\n }\n }\n\n getOptimisticResult(\n options: DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): QueryObserverResult<TData, TError> {\n const query = this.#client.getQueryCache().build(this.#client, options)\n\n const result = this.createResult(query, options)\n\n if (!shallowEqualObjects(this.getCurrentResult(), result)) {\n // this assigns the optimistic result to the current Observer\n // because if the query function changes, useQuery will be performing\n // an effect where it would fetch again.\n // When the fetch finishes, we perform a deep data cloning in order\n // to reuse objects references. This deep data clone is performed against\n // the `observer.currentResult.data` property\n // When QueryKey changes, we refresh the query and get new `optimistic`\n // result, while we leave the `observer.currentResult`, so when new data\n // arrives, it finds the old `observer.currentResult` which is related\n // to the old QueryKey. Which means that currentResult and selectData are\n // out of sync already.\n // To solve this, we move the cursor of the currentResult every time\n // an observer reads an optimistic value.\n\n // When keeping the previous data, the result doesn't change until new\n // data arrives.\n this.#currentResult = result\n this.#currentResultOptions = this.options\n this.#currentResultState = this.#currentQuery.state\n }\n return result\n }\n\n getCurrentResult(): QueryObserverResult<TData, TError> {\n return this.#currentResult\n }\n\n trackResult(\n result: QueryObserverResult<TData, TError>,\n onPropTracked?: (key: keyof QueryObserverResult) => void,\n ): QueryObserverResult<TData, TError> {\n return new Proxy(result, {\n get: (target, key) => {\n this.trackProp(key as keyof QueryObserverResult)\n onPropTracked?.(key as keyof QueryObserverResult)\n return Reflect.get(target, key)\n },\n })\n }\n\n trackProp(key: keyof QueryObserverResult) {\n this.#trackedProps.add(key)\n }\n\n getCurrentQuery(): Query<TQueryFnData, TError, TQueryData, TQueryKey> {\n return this.#currentQuery\n }\n\n refetch({ ...options }: RefetchOptions = {}): Promise<\n QueryObserverResult<TData, TError>\n > {\n return this.fetch({\n ...options,\n })\n }\n\n fetchOptimistic(\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): Promise<QueryObserverResult<TData, TError>> {\n const defaultedOptions = this.#client.defaultQueryOptions(options)\n\n const query = this.#client\n .getQueryCache()\n .build(this.#client, defaultedOptions)\n\n let unsubscribe = () => {}\n let resolveEarly:\n | ((result: QueryObserverResult<TData, TError>) => void)\n | undefined\n\n const cachePromise = new Promise<QueryObserverResult<TData, TError>>(\n (resolve) => {\n resolveEarly = resolve\n unsubscribe = this.#client.getQueryCache().subscribe((event) => {\n if (\n event.type === 'updated' &&\n event.query.queryHash === query.queryHash &&\n query.state.data !== undefined\n ) {\n unsubscribe()\n resolve(this.createResult(query, defaultedOptions))\n }\n })\n },\n )\n\n return Promise.race([\n query\n .fetch()\n .then(() => {\n const result = this.createResult(query, defaultedOptions)\n // Settle the subscriber promise so both branches always settle.\n // This value is ignored by Promise.race since the fetch branch already won.\n resolveEarly?.(result)\n return result\n })\n .finally(() => {\n unsubscribe()\n }),\n cachePromise,\n ])\n }\n\n protected fetch(\n fetchOptions: ObserverFetchOptions,\n ): Promise<QueryObserverResult<TData, TError>> {\n return this.#executeFetch({\n ...fetchOptions,\n cancelRefetch: fetchOptions.cancelRefetch ?? true,\n }).then(() => {\n this.updateResult()\n return this.#currentResult\n })\n }\n\n #executeFetch(\n fetchOptions?: Omit<ObserverFetchOptions, 'initialPromise'>,\n ): Promise<TQueryData | undefined> {\n // Make sure we reference the latest query as the current one might have been removed\n this.#updateQuery()\n\n // Fetch\n let promise: Promise<TQueryData | undefined> = this.#currentQuery.fetch(\n this.options,\n fetchOptions,\n )\n\n if (!fetchOptions?.throwOnError) {\n promise = promise.catch(noop)\n }\n\n return promise\n }\n\n #shouldScheduleTimer(timeout: unknown): timeout is number {\n return (\n !isServerEnvironment() &&\n resolveQueryValue(this.options.enabled, this.#currentQuery) !== false &&\n isValidTimeout(timeout)\n )\n }\n\n #updateStaleTimeout(): void {\n this.#clearStaleTimeout()\n const staleTime = resolveQueryValue(\n this.options.staleTime,\n this.#currentQuery,\n )\n\n if (this.#currentResult.isStale || !this.#shouldScheduleTimer(staleTime)) {\n return\n }\n\n const time = timeUntilStale(this.#currentResult.dataUpdatedAt, staleTime)\n\n // The timeout is sometimes triggered 1 ms before the stale time expiration.\n // To mitigate this issue we always add 1 ms to the timeout.\n const timeout = time + 1\n\n this.#staleTimeoutId = timeoutManager.setTimeout(() => {\n if (!this.#currentResult.isStale) {\n this.updateResult()\n }\n }, timeout)\n }\n\n #computeRefetchInterval() {\n return (\n (typeof this.options.refetchInterval === 'function'\n ? this.options.refetchInterval(this.#currentQuery)\n : this.options.refetchInterval) ?? false\n )\n }\n\n #updateRefetchInterval(nextInterval: number | false): void {\n this.#clearRefetchInterval()\n\n this.#currentRefetchInterval = nextInterval\n\n if (\n this.#currentRefetchInterval === 0 ||\n !this.#shouldScheduleTimer(this.#currentRefetchInterval)\n ) {\n return\n }\n\n this.#refetchIntervalId = timeoutManager.setInterval(() => {\n if (\n this.options.refetchIntervalInBackground ||\n focusManager.isFocused()\n ) {\n this.#executeFetch()\n }\n }, this.#currentRefetchInterval)\n }\n\n #updateTimers(): void {\n this.#updateStaleTimeout()\n this.#updateRefetchInterval(this.#computeRefetchInterval())\n }\n\n #clearStaleTimeout(): void {\n if (this.#staleTimeoutId !== undefined) {\n timeoutManager.clearTimeout(this.#staleTimeoutId)\n this.#staleTimeoutId = undefined\n }\n }\n\n #clearRefetchInterval(): void {\n if (this.#refetchIntervalId !== undefined) {\n timeoutManager.clearInterval(this.#refetchIntervalId)\n this.#refetchIntervalId = undefined\n }\n }\n\n protected createResult(\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): QueryObserverResult<TData, TError> {\n const prevQuery = this.#currentQuery\n const prevOptions = this.options\n const prevResult = this.#currentResult as\n | QueryObserverResult<TData, TError>\n | undefined\n const prevResultState = this.#currentResultState\n const prevResultOptions = this.#currentResultOptions\n const queryChange = query !== prevQuery\n const queryInitialState = queryChange\n ? query.state\n : this.#currentQueryInitialState\n\n const { state } = query\n let newState = { ...state }\n let isPlaceholderData = false\n let data: TData | undefined\n\n // Optimistically set result in fetching state if needed\n if (options._optimisticResults) {\n const mounted = this.hasListeners()\n\n const fetchOnMount = !mounted && shouldFetchOnMount(query, options)\n\n const fetchOptionally =\n mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions)\n\n if (fetchOnMount || fetchOptionally) {\n newState = {\n ...newState,\n ...fetchState(state.data, query.options),\n }\n }\n if (options._optimisticResults === 'isRestoring') {\n newState.fetchStatus = 'idle'\n }\n }\n\n let { error, errorUpdatedAt, status } = newState\n\n // Per default, use query data\n data = newState.data as unknown as TData\n let skipSelect = false\n\n // use placeholderData if needed\n if (\n options.placeholderData !== undefined &&\n data === undefined &&\n status === 'pending'\n ) {\n let placeholderData\n\n // Memoize placeholder data\n if (\n prevResult?.isPlaceholderData &&\n options.placeholderData === prevResultOptions?.placeholderData\n ) {\n placeholderData = prevResult.data\n // we have to skip select when reading this memoization\n // because prevResult.data is already \"selected\"\n skipSelect = true\n } else {\n // compute placeholderData\n placeholderData =\n typeof options.placeholderData === 'function'\n ? (\n options.placeholderData as unknown as PlaceholderDataFunction<TQueryData>\n )(\n this.#lastQueryWithDefinedData?.state.data,\n this.#lastQueryWithDefinedData as any,\n )\n : options.placeholderData\n }\n\n if (placeholderData !== undefined) {\n status = 'success'\n data = replaceData(\n prevResult?.data,\n placeholderData as unknown,\n options,\n ) as TData\n isPlaceholderData = true\n }\n }\n\n // Select data if needed\n // this also runs placeholderData through the select function\n if (options.select && data !== undefined && !skipSelect) {\n // Memoize select result\n if (\n prevResult &&\n data === prevResultState?.data &&\n options.select === this.#selectFn\n ) {\n data = this.#selectResult\n } else {\n try {\n this.#selectFn = options.select\n data = options.select(data as any)\n data = replaceData(prevResult?.data, data, options)\n this.#selectResult = data\n this.#selectError = null\n } catch (selectError) {\n this.#selectError = selectError as TError\n }\n }\n } else if (data === undefined) {\n // a stored select error belongs to previously selected data; once that\n // data is gone (query switch or reset), it must not leak into this result\n this.#selectError = null\n }\n\n if (this.#selectError) {\n error = this.#selectError\n data = this.#selectResult\n errorUpdatedAt = Date.now()\n status = 'error'\n isPlaceholderData = false\n }\n\n const isFetching = newState.fetchStatus === 'fetching'\n const isPending = status === 'pending'\n const isError = status === 'error'\n\n const isLoading = isPending && isFetching\n const hasData = data !== undefined\n\n const result: QueryObserverBaseResult<TData, TError> = {\n status,\n fetchStatus: newState.fetchStatus,\n isPending,\n isSuccess: status === 'success',\n isError,\n isInitialLoading: isLoading,\n isLoading,\n data,\n dataUpdatedAt: newState.dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: newState.fetchFailureCount,\n failureReason: newState.fetchFailureReason,\n errorUpdateCount: newState.errorUpdateCount,\n isFetched: query.isFetched(),\n isFetchedAfterMount:\n newState.dataUpdateCount > queryInitialState.dataUpdateCount ||\n newState.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching,\n isRefetching: isFetching && !isPending,\n isLoadingError: isError && !hasData,\n isPaused: newState.fetchStatus === 'paused',\n isPlaceholderData,\n isRefetchError: isError && hasData,\n isStale: isStale(query, options),\n refetch: this.refetch,\n isEnabled: resolveQueryValue(options.enabled, query) !== false,\n }\n\n const nextResult = result as QueryObserverResult<TData, TError>\n\n return nextResult\n }\n\n updateResult(): void {\n const prevResult = this.#currentResult as\n | QueryObserverResult<TData, TError>\n | undefined\n\n const nextResult = this.createResult(this.#currentQuery, this.options)\n\n this.#currentResultState = this.#currentQuery.state\n this.#currentResultOptions = this.options\n\n if (this.#currentResultState.data !== undefined) {\n this.#lastQueryWithDefinedData = this.#currentQuery\n }\n\n // Only notify and update result if something has changed\n if (shallowEqualObjects(nextResult, prevResult)) {\n return\n }\n\n this.#currentResult = nextResult\n\n const shouldNotifyListeners = (): boolean => {\n if (!prevResult) {\n return true\n }\n\n const { notifyOnChangeProps } = this.options\n const notifyOnChangePropsValue =\n typeof notifyOnChangeProps === 'function'\n ? notifyOnChangeProps()\n : notifyOnChangeProps\n\n if (\n notifyOnChangePropsValue === 'all' ||\n (!notifyOnChangePropsValue && !this.#trackedProps.size)\n ) {\n return true\n }\n\n const includedProps = new Set(\n notifyOnChangePropsValue ?? this.#trackedProps,\n )\n\n if (this.options.throwOnError) {\n includedProps.add('error')\n }\n\n return Object.keys(this.#currentResult).some((key) => {\n const typedKey = key as keyof QueryObserverResult\n const changed = this.#currentResult[typedKey] !== prevResult[typedKey]\n\n return changed && includedProps.has(typedKey)\n })\n }\n\n const notifyListeners = shouldNotifyListeners()\n\n notifyManager.batch(() => {\n // First, trigger the listeners\n if (notifyListeners) {\n this.listeners.forEach((listener) => {\n listener(this.#currentResult)\n })\n }\n\n // Then the cache listeners\n this.#client.getQueryCache().notify({\n query: this.#currentQuery,\n type: 'observerResultsUpdated',\n })\n })\n }\n\n #updateQuery(): void {\n const query = this.#client.getQueryCache().build(this.#client, this.options)\n\n if (query === this.#currentQuery) {\n return\n }\n\n const prevQuery = this.#currentQuery as\n | Query<TQueryFnData, TError, TQueryData, TQueryKey>\n | undefined\n this.#currentQuery = query\n this.#currentQueryInitialState = query.state\n\n if (this.hasListeners()) {\n prevQuery?.removeObserver(this)\n query.addObserver(this)\n }\n }\n\n onQueryUpdate(): void {\n this.updateResult()\n\n if (this.hasListeners()) {\n this.#updateTimers()\n }\n }\n}\n\nfunction shouldLoadOnMount(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any>,\n): boolean {\n return (\n resolveQueryValue(options.enabled, query) !== false &&\n query.state.data === undefined &&\n !(\n query.state.status === 'error' &&\n resolveQueryValue(options.retryOnMount, query) === false\n )\n )\n}\n\nfunction shouldFetchOnMount(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n shouldLoadOnMount(query, options) ||\n (query.state.data !== undefined &&\n shouldFetchOn(query, options, options.refetchOnMount))\n )\n}\n\nfunction shouldFetchOn(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n field: (typeof options)['refetchOnMount'] &\n (typeof options)['refetchOnWindowFocus'] &\n (typeof options)['refetchOnReconnect'],\n) {\n if (\n resolveQueryValue(options.enabled, query) !== false &&\n resolveQueryValue(options.staleTime, query) !== 'static'\n ) {\n const value = typeof field === 'function' ? field(query) : field\n\n return value === 'always' || (value !== false && isStale(query, options))\n }\n return false\n}\n\nfunction shouldFetchOptionally(\n query: Query<any, any, any, any>,\n prevQuery: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n prevOptions: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n (query !== prevQuery ||\n resolveQueryValue(prevOptions.enabled, query) === false) &&\n (!options.suspense || query.state.status !== 'error') &&\n isStale(query, options)\n )\n}\n\nfunction isStale(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n resolveQueryValue(options.enabled, query) !== false &&\n query.isStaleByTime(resolveQueryValue(options.staleTime, query))\n )\n}\n"],"mappings":"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"} |
@@ -22,3 +22,3 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); | ||
| updateGcTime(newGcTime) { | ||
| this.gcTime = Math.max(this.gcTime || 0, newGcTime ?? (require_environmentManager.environmentManager.isServer() ? Infinity : 3e5)); | ||
| this.gcTime = Math.max(this.gcTime || 0, newGcTime ?? (require_environmentManager.isServer() ? Infinity : 3e5)); | ||
| } | ||
@@ -25,0 +25,0 @@ clearGcTimeout() { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"removable.cjs","names":["isValidTimeout","timeoutManager","environmentManager"],"sources":["../../src/removable.ts"],"sourcesContent":["import { timeoutManager } from './timeoutManager'\nimport { environmentManager } from './environmentManager'\nimport { isValidTimeout } from './utils'\nimport type { ManagedTimerId } from './timeoutManager'\n\nexport abstract class Removable {\n gcTime!: number\n #gcTimeout?: ManagedTimerId\n\n destroy(): void {\n this.clearGcTimeout()\n }\n\n protected scheduleGc(): void {\n this.clearGcTimeout()\n\n if (isValidTimeout(this.gcTime)) {\n this.#gcTimeout = timeoutManager.setTimeout(() => {\n this.optionalRemove()\n }, this.gcTime)\n }\n }\n\n protected updateGcTime(newGcTime: number | undefined): void {\n // Default to 5 minutes (Infinity for server-side) if no gcTime is set\n this.gcTime = Math.max(\n this.gcTime || 0,\n newGcTime ?? (environmentManager.isServer() ? Infinity : 5 * 60 * 1000),\n )\n }\n\n protected clearGcTimeout() {\n if (this.#gcTimeout !== undefined) {\n timeoutManager.clearTimeout(this.#gcTimeout)\n this.#gcTimeout = undefined\n }\n }\n\n protected abstract optionalRemove(): void\n}\n"],"mappings":";;;;;;;AAKA,IAAsB,YAAtB,MAAgC;;;;CAI9B,UAAgB;EACd,KAAK,eAAe;CACtB;CAEA,aAA6B;EAC3B,KAAK,eAAe;EAEpB,IAAIA,cAAAA,eAAe,KAAK,MAAM,GAC5B,8BAAA,uBAAA,YAAA,MAAkBC,uBAAAA,eAAe,iBAAiB;GAChD,KAAK,eAAe;EACtB,GAAG,KAAK,MAAM,CAAA;CAElB;CAEA,aAAuB,WAAqC;EAE1D,KAAK,SAAS,KAAK,IACjB,KAAK,UAAU,GACf,cAAcC,2BAAAA,mBAAmB,SAAS,IAAI,WAAW,IAC3D;CACF;CAEA,iBAA2B;EACzB,IAAA,8BAAA,uBAAA,YAAI,IAAA,MAAoB,KAAA,GAAW;GACjC,uBAAA,eAAe,aAAA,8BAAA,uBAAA,YAAa,IAAA,CAAe;GAC3C,8BAAA,uBAAA,YAAA,MAAkB,KAAA,CAAA;EACpB;CACF;AAGF"} | ||
| {"version":3,"file":"removable.cjs","names":["isValidTimeout","timeoutManager","isServerEnvironment"],"sources":["../../src/removable.ts"],"sourcesContent":["import { timeoutManager } from './timeoutManager'\nimport { isServer as isServerEnvironment } from './environmentManager'\nimport { isValidTimeout } from './utils'\nimport type { ManagedTimerId } from './timeoutManager'\n\nexport abstract class Removable {\n gcTime!: number\n #gcTimeout?: ManagedTimerId\n\n destroy(): void {\n this.clearGcTimeout()\n }\n\n protected scheduleGc(): void {\n this.clearGcTimeout()\n\n if (isValidTimeout(this.gcTime)) {\n this.#gcTimeout = timeoutManager.setTimeout(() => {\n this.optionalRemove()\n }, this.gcTime)\n }\n }\n\n protected updateGcTime(newGcTime: number | undefined): void {\n // Default to 5 minutes (Infinity for server-side) if no gcTime is set\n this.gcTime = Math.max(\n this.gcTime || 0,\n newGcTime ?? (isServerEnvironment() ? Infinity : 5 * 60 * 1000),\n )\n }\n\n protected clearGcTimeout() {\n if (this.#gcTimeout !== undefined) {\n timeoutManager.clearTimeout(this.#gcTimeout)\n this.#gcTimeout = undefined\n }\n }\n\n protected abstract optionalRemove(): void\n}\n"],"mappings":";;;;;;;AAKA,IAAsB,YAAtB,MAAgC;;;;CAI9B,UAAgB;EACd,KAAK,eAAe;CACtB;CAEA,aAA6B;EAC3B,KAAK,eAAe;EAEpB,IAAIA,cAAAA,eAAe,KAAK,MAAM,GAC5B,8BAAA,uBAAA,YAAA,MAAkBC,uBAAAA,eAAe,iBAAiB;GAChD,KAAK,eAAe;EACtB,GAAG,KAAK,MAAM,CAAA;CAElB;CAEA,aAAuB,WAAqC;EAE1D,KAAK,SAAS,KAAK,IACjB,KAAK,UAAU,GACf,cAAcC,2BAAAA,SAAoB,IAAI,WAAW,IACnD;CACF;CAEA,iBAA2B;EACzB,IAAA,8BAAA,uBAAA,YAAI,IAAA,MAAoB,KAAA,GAAW;GACjC,uBAAA,eAAe,aAAA,8BAAA,uBAAA,YAAa,IAAA,CAAe;GAC3C,8BAAA,uBAAA,YAAA,MAAkB,KAAA,CAAA;EACpB;CACF;AAGF"} |
| import { i as _classPrivateFieldInitSpec, n as _classPrivateFieldGet2, t as _classPrivateFieldSet2 } from "./classPrivateFieldSet2-CV7wyte-.js"; | ||
| import { timeoutManager } from "./timeoutManager.js"; | ||
| import { isValidTimeout } from "./utils.js"; | ||
| import { environmentManager } from "./environmentManager.js"; | ||
| import { isServer } from "./environmentManager.js"; | ||
| //#region src/removable.ts | ||
@@ -21,3 +21,3 @@ var _gcTimeout = /* @__PURE__ */ new WeakMap(); | ||
| updateGcTime(newGcTime) { | ||
| this.gcTime = Math.max(this.gcTime || 0, newGcTime ?? (environmentManager.isServer() ? Infinity : 3e5)); | ||
| this.gcTime = Math.max(this.gcTime || 0, newGcTime ?? (isServer() ? Infinity : 3e5)); | ||
| } | ||
@@ -24,0 +24,0 @@ clearGcTimeout() { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"removable.js","names":[],"sources":["../../src/removable.ts"],"sourcesContent":["import { timeoutManager } from './timeoutManager'\nimport { environmentManager } from './environmentManager'\nimport { isValidTimeout } from './utils'\nimport type { ManagedTimerId } from './timeoutManager'\n\nexport abstract class Removable {\n gcTime!: number\n #gcTimeout?: ManagedTimerId\n\n destroy(): void {\n this.clearGcTimeout()\n }\n\n protected scheduleGc(): void {\n this.clearGcTimeout()\n\n if (isValidTimeout(this.gcTime)) {\n this.#gcTimeout = timeoutManager.setTimeout(() => {\n this.optionalRemove()\n }, this.gcTime)\n }\n }\n\n protected updateGcTime(newGcTime: number | undefined): void {\n // Default to 5 minutes (Infinity for server-side) if no gcTime is set\n this.gcTime = Math.max(\n this.gcTime || 0,\n newGcTime ?? (environmentManager.isServer() ? Infinity : 5 * 60 * 1000),\n )\n }\n\n protected clearGcTimeout() {\n if (this.#gcTimeout !== undefined) {\n timeoutManager.clearTimeout(this.#gcTimeout)\n this.#gcTimeout = undefined\n }\n }\n\n protected abstract optionalRemove(): void\n}\n"],"mappings":";;;;;;AAKA,IAAsB,YAAtB,MAAgC;;;;CAI9B,UAAgB;EACd,KAAK,eAAe;CACtB;CAEA,aAA6B;EAC3B,KAAK,eAAe;EAEpB,IAAI,eAAe,KAAK,MAAM,GAC5B,uBAAA,YAAA,MAAkB,eAAe,iBAAiB;GAChD,KAAK,eAAe;EACtB,GAAG,KAAK,MAAM,CAAA;CAElB;CAEA,aAAuB,WAAqC;EAE1D,KAAK,SAAS,KAAK,IACjB,KAAK,UAAU,GACf,cAAc,mBAAmB,SAAS,IAAI,WAAW,IAC3D;CACF;CAEA,iBAA2B;EACzB,IAAA,uBAAA,YAAI,IAAA,MAAoB,KAAA,GAAW;GACjC,eAAe,aAAA,uBAAA,YAAa,IAAA,CAAe;GAC3C,uBAAA,YAAA,MAAkB,KAAA,CAAA;EACpB;CACF;AAGF"} | ||
| {"version":3,"file":"removable.js","names":["isServerEnvironment"],"sources":["../../src/removable.ts"],"sourcesContent":["import { timeoutManager } from './timeoutManager'\nimport { isServer as isServerEnvironment } from './environmentManager'\nimport { isValidTimeout } from './utils'\nimport type { ManagedTimerId } from './timeoutManager'\n\nexport abstract class Removable {\n gcTime!: number\n #gcTimeout?: ManagedTimerId\n\n destroy(): void {\n this.clearGcTimeout()\n }\n\n protected scheduleGc(): void {\n this.clearGcTimeout()\n\n if (isValidTimeout(this.gcTime)) {\n this.#gcTimeout = timeoutManager.setTimeout(() => {\n this.optionalRemove()\n }, this.gcTime)\n }\n }\n\n protected updateGcTime(newGcTime: number | undefined): void {\n // Default to 5 minutes (Infinity for server-side) if no gcTime is set\n this.gcTime = Math.max(\n this.gcTime || 0,\n newGcTime ?? (isServerEnvironment() ? Infinity : 5 * 60 * 1000),\n )\n }\n\n protected clearGcTimeout() {\n if (this.#gcTimeout !== undefined) {\n timeoutManager.clearTimeout(this.#gcTimeout)\n this.#gcTimeout = undefined\n }\n }\n\n protected abstract optionalRemove(): void\n}\n"],"mappings":";;;;;;AAKA,IAAsB,YAAtB,MAAgC;;;;CAI9B,UAAgB;EACd,KAAK,eAAe;CACtB;CAEA,aAA6B;EAC3B,KAAK,eAAe;EAEpB,IAAI,eAAe,KAAK,MAAM,GAC5B,uBAAA,YAAA,MAAkB,eAAe,iBAAiB;GAChD,KAAK,eAAe;EACtB,GAAG,KAAK,MAAM,CAAA;CAElB;CAEA,aAAuB,WAAqC;EAE1D,KAAK,SAAS,KAAK,IACjB,KAAK,UAAU,GACf,cAAcA,SAAoB,IAAI,WAAW,IACnD;CACF;CAEA,iBAA2B;EACzB,IAAA,uBAAA,YAAI,IAAA,MAAoB,KAAA,GAAW;GACjC,eAAe,aAAA,uBAAA,YAAa,IAAA,CAAe;GAC3C,uBAAA,YAAA,MAAkB,KAAA,CAAA;EACpB;CACF;AAGF"} |
@@ -96,3 +96,3 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); | ||
| if (isResolved()) return; | ||
| const retry = config.retry ?? (require_environmentManager.environmentManager.isServer() ? 0 : 3); | ||
| const retry = config.retry ?? (require_environmentManager.isServer() ? 0 : 3); | ||
| const retryDelay = config.retryDelay ?? defaultRetryDelay; | ||
@@ -99,0 +99,0 @@ const delay = typeof retryDelay === "function" ? retryDelay(failureCount, error) : retryDelay; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"retryer.cjs","names":["onlineManager","noop","focusManager","environmentManager"],"sources":["../../src/retryer.ts"],"sourcesContent":["import { focusManager } from './focusManager'\nimport { onlineManager } from './onlineManager'\nimport { environmentManager } from './environmentManager'\nimport { noop, sleep } from './utils'\nimport type { CancelOptions, DefaultError, NetworkMode } from './types'\n\n// TYPES\n\ninterface RetryerConfig<TData = unknown, TError = DefaultError> {\n fn: () => TData | Promise<TData>\n initialPromise?: Promise<TData>\n onCancel?: (error: TError) => void\n onFail?: (failureCount: number, error: TError) => void\n onPause?: () => void\n onContinue?: () => void\n retry?: RetryValue<TError>\n retryDelay?: RetryDelayValue<TError>\n networkMode: NetworkMode | undefined\n canRun: () => boolean\n}\n\nexport interface Retryer<TData = unknown> {\n promise: Promise<TData>\n cancel: (cancelOptions?: CancelOptions) => void\n continue: () => Promise<unknown>\n cancelRetry: () => void\n continueRetry: () => void\n canStart: () => boolean\n start: () => Promise<TData>\n status: () => 'pending' | 'resolved' | 'rejected'\n}\n\ntype RetryerStatus = 'pending' | 'resolved' | 'rejected'\n\nexport type RetryValue<TError> = boolean | number | ShouldRetryFunction<TError>\n\ntype ShouldRetryFunction<TError = DefaultError> = (\n failureCount: number,\n error: TError,\n) => boolean\n\nexport type RetryDelayValue<TError> = number | RetryDelayFunction<TError>\n\ntype RetryDelayFunction<TError = DefaultError> = (\n failureCount: number,\n error: TError,\n) => number\n\nfunction defaultRetryDelay(failureCount: number) {\n return Math.min(1000 * 2 ** failureCount, 30000)\n}\n\nexport function canFetch(networkMode: NetworkMode | undefined): boolean {\n return (networkMode ?? 'online') === 'online'\n ? onlineManager.isOnline()\n : true\n}\n\nexport class CancelledError extends Error {\n revert?: boolean\n silent?: boolean\n constructor(options?: CancelOptions) {\n super('CancelledError')\n this.revert = options?.revert\n this.silent = options?.silent\n }\n}\n\n/**\n * @deprecated Use instanceof `CancelledError` instead.\n */\nexport function isCancelledError(value: any): value is CancelledError {\n return value instanceof CancelledError\n}\n\nexport function createRetryer<TData = unknown, TError = DefaultError>(\n config: RetryerConfig<TData, TError>,\n): Retryer<TData> {\n let isRetryCancelled = false\n let failureCount = 0\n let continueFn: ((value?: unknown) => void) | undefined\n let status: RetryerStatus = 'pending'\n let promiseResolve: (data: TData) => void\n let promiseReject: (error: TError) => void\n\n const promise = new Promise<TData>((resolve, reject) => {\n promiseResolve = resolve\n promiseReject = reject\n })\n promise.catch(noop)\n\n const isResolved = () => status !== 'pending'\n\n const cancel = (cancelOptions?: CancelOptions): void => {\n if (!isResolved()) {\n const error = new CancelledError(cancelOptions) as TError\n reject(error)\n\n config.onCancel?.(error)\n }\n }\n const cancelRetry = () => {\n isRetryCancelled = true\n }\n\n const continueRetry = () => {\n isRetryCancelled = false\n }\n\n const canContinue = () =>\n focusManager.isFocused() &&\n (config.networkMode === 'always' || onlineManager.isOnline()) &&\n config.canRun()\n\n const canStart = () => canFetch(config.networkMode) && config.canRun()\n\n const resolve = (value: any) => {\n if (!isResolved()) {\n continueFn?.()\n status = 'resolved'\n promiseResolve(value)\n }\n }\n\n const reject = (value: any) => {\n if (!isResolved()) {\n continueFn?.()\n status = 'rejected'\n promiseReject(value)\n }\n }\n\n const pause = () => {\n return new Promise((continueResolve) => {\n continueFn = (value) => {\n if (isResolved() || canContinue()) {\n continueResolve(value)\n }\n }\n config.onPause?.()\n }).then(() => {\n continueFn = undefined\n if (!isResolved()) {\n config.onContinue?.()\n }\n })\n }\n\n // Create loop function\n const run = () => {\n // Do nothing if already resolved\n if (isResolved()) {\n return\n }\n\n let promiseOrValue: any\n\n // we can re-use config.initialPromise on the first call of run()\n const initialPromise =\n failureCount === 0 ? config.initialPromise : undefined\n\n // Execute query\n try {\n promiseOrValue = initialPromise ?? config.fn()\n } catch (error) {\n promiseOrValue = Promise.reject(error)\n }\n\n Promise.resolve(promiseOrValue)\n .then(resolve)\n .catch((error) => {\n // Stop if the fetch is already resolved\n if (isResolved()) {\n return\n }\n\n // Do we need to retry the request?\n const retry = config.retry ?? (environmentManager.isServer() ? 0 : 3)\n const retryDelay = config.retryDelay ?? defaultRetryDelay\n const delay =\n typeof retryDelay === 'function'\n ? retryDelay(failureCount, error)\n : retryDelay\n const shouldRetry =\n retry === true ||\n (typeof retry === 'number' && failureCount < retry) ||\n (typeof retry === 'function' && retry(failureCount, error))\n\n if (isRetryCancelled || !shouldRetry) {\n // We are done if the query does not need to be retried\n reject(error)\n return\n }\n\n failureCount++\n\n // Notify on fail\n config.onFail?.(failureCount, error)\n\n // Delay\n sleep(delay)\n // Pause if the document is not visible or when the device is offline\n .then(() => {\n return canContinue() ? undefined : pause()\n })\n .then(() => {\n if (isRetryCancelled) {\n reject(error)\n } else {\n run()\n }\n })\n })\n }\n\n return {\n promise,\n status: () => status,\n cancel,\n continue: () => {\n continueFn?.()\n return promise\n },\n cancelRetry,\n continueRetry,\n canStart,\n start: () => {\n // Start loop\n if (canStart()) {\n run()\n } else {\n pause().then(run)\n }\n return promise\n },\n }\n}\n"],"mappings":"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"} | ||
| {"version":3,"file":"retryer.cjs","names":["onlineManager","noop","focusManager","isServerEnvironment"],"sources":["../../src/retryer.ts"],"sourcesContent":["import { focusManager } from './focusManager'\nimport { onlineManager } from './onlineManager'\nimport { isServer as isServerEnvironment } from './environmentManager'\nimport { noop, sleep } from './utils'\nimport type { CancelOptions, DefaultError, NetworkMode } from './types'\n\n// TYPES\n\ninterface RetryerConfig<TData = unknown, TError = DefaultError> {\n fn: () => TData | Promise<TData>\n initialPromise?: Promise<TData>\n onCancel?: (error: TError) => void\n onFail?: (failureCount: number, error: TError) => void\n onPause?: () => void\n onContinue?: () => void\n retry?: RetryValue<TError>\n retryDelay?: RetryDelayValue<TError>\n networkMode: NetworkMode | undefined\n canRun: () => boolean\n}\n\nexport interface Retryer<TData = unknown> {\n promise: Promise<TData>\n cancel: (cancelOptions?: CancelOptions) => void\n continue: () => Promise<unknown>\n cancelRetry: () => void\n continueRetry: () => void\n canStart: () => boolean\n start: () => Promise<TData>\n status: () => 'pending' | 'resolved' | 'rejected'\n}\n\ntype RetryerStatus = 'pending' | 'resolved' | 'rejected'\n\nexport type RetryValue<TError> = boolean | number | ShouldRetryFunction<TError>\n\ntype ShouldRetryFunction<TError = DefaultError> = (\n failureCount: number,\n error: TError,\n) => boolean\n\nexport type RetryDelayValue<TError> = number | RetryDelayFunction<TError>\n\ntype RetryDelayFunction<TError = DefaultError> = (\n failureCount: number,\n error: TError,\n) => number\n\nfunction defaultRetryDelay(failureCount: number) {\n return Math.min(1000 * 2 ** failureCount, 30000)\n}\n\nexport function canFetch(networkMode: NetworkMode | undefined): boolean {\n return (networkMode ?? 'online') === 'online'\n ? onlineManager.isOnline()\n : true\n}\n\nexport class CancelledError extends Error {\n revert?: boolean\n silent?: boolean\n constructor(options?: CancelOptions) {\n super('CancelledError')\n this.revert = options?.revert\n this.silent = options?.silent\n }\n}\n\n/**\n * @deprecated Use instanceof `CancelledError` instead.\n */\nexport function isCancelledError(value: any): value is CancelledError {\n return value instanceof CancelledError\n}\n\nexport function createRetryer<TData = unknown, TError = DefaultError>(\n config: RetryerConfig<TData, TError>,\n): Retryer<TData> {\n let isRetryCancelled = false\n let failureCount = 0\n let continueFn: ((value?: unknown) => void) | undefined\n let status: RetryerStatus = 'pending'\n let promiseResolve: (data: TData) => void\n let promiseReject: (error: TError) => void\n\n const promise = new Promise<TData>((resolve, reject) => {\n promiseResolve = resolve\n promiseReject = reject\n })\n promise.catch(noop)\n\n const isResolved = () => status !== 'pending'\n\n const cancel = (cancelOptions?: CancelOptions): void => {\n if (!isResolved()) {\n const error = new CancelledError(cancelOptions) as TError\n reject(error)\n\n config.onCancel?.(error)\n }\n }\n const cancelRetry = () => {\n isRetryCancelled = true\n }\n\n const continueRetry = () => {\n isRetryCancelled = false\n }\n\n const canContinue = () =>\n focusManager.isFocused() &&\n (config.networkMode === 'always' || onlineManager.isOnline()) &&\n config.canRun()\n\n const canStart = () => canFetch(config.networkMode) && config.canRun()\n\n const resolve = (value: any) => {\n if (!isResolved()) {\n continueFn?.()\n status = 'resolved'\n promiseResolve(value)\n }\n }\n\n const reject = (value: any) => {\n if (!isResolved()) {\n continueFn?.()\n status = 'rejected'\n promiseReject(value)\n }\n }\n\n const pause = () => {\n return new Promise((continueResolve) => {\n continueFn = (value) => {\n if (isResolved() || canContinue()) {\n continueResolve(value)\n }\n }\n config.onPause?.()\n }).then(() => {\n continueFn = undefined\n if (!isResolved()) {\n config.onContinue?.()\n }\n })\n }\n\n // Create loop function\n const run = () => {\n // Do nothing if already resolved\n if (isResolved()) {\n return\n }\n\n let promiseOrValue: any\n\n // we can re-use config.initialPromise on the first call of run()\n const initialPromise =\n failureCount === 0 ? config.initialPromise : undefined\n\n // Execute query\n try {\n promiseOrValue = initialPromise ?? config.fn()\n } catch (error) {\n promiseOrValue = Promise.reject(error)\n }\n\n Promise.resolve(promiseOrValue)\n .then(resolve)\n .catch((error) => {\n // Stop if the fetch is already resolved\n if (isResolved()) {\n return\n }\n\n // Do we need to retry the request?\n const retry = config.retry ?? (isServerEnvironment() ? 0 : 3)\n const retryDelay = config.retryDelay ?? defaultRetryDelay\n const delay =\n typeof retryDelay === 'function'\n ? retryDelay(failureCount, error)\n : retryDelay\n const shouldRetry =\n retry === true ||\n (typeof retry === 'number' && failureCount < retry) ||\n (typeof retry === 'function' && retry(failureCount, error))\n\n if (isRetryCancelled || !shouldRetry) {\n // We are done if the query does not need to be retried\n reject(error)\n return\n }\n\n failureCount++\n\n // Notify on fail\n config.onFail?.(failureCount, error)\n\n // Delay\n sleep(delay)\n // Pause if the document is not visible or when the device is offline\n .then(() => {\n return canContinue() ? undefined : pause()\n })\n .then(() => {\n if (isRetryCancelled) {\n reject(error)\n } else {\n run()\n }\n })\n })\n }\n\n return {\n promise,\n status: () => status,\n cancel,\n continue: () => {\n continueFn?.()\n return promise\n },\n cancelRetry,\n continueRetry,\n canStart,\n start: () => {\n // Start loop\n if (canStart()) {\n run()\n } else {\n pause().then(run)\n }\n return promise\n },\n }\n}\n"],"mappings":"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"} |
@@ -1,2 +0,2 @@ | ||
| import { $t as CancelledError, an as isCancelledError, en as RetryDelayValue, in as createRetryer, nn as Retryer, rn as canFetch, tn as RetryValue } from "./hydration-BoHd-X9T.cjs"; | ||
| import { $t as CancelledError, an as isCancelledError, en as RetryDelayValue, in as createRetryer, nn as Retryer, rn as canFetch, tn as RetryValue } from "./hydration-DWGr3cFC.cjs"; | ||
| export { CancelledError, RetryDelayValue, RetryValue, Retryer, canFetch, createRetryer, isCancelledError }; |
@@ -1,2 +0,2 @@ | ||
| import { $t as CancelledError, an as isCancelledError, en as RetryDelayValue, in as createRetryer, nn as Retryer, rn as canFetch, tn as RetryValue } from "./hydration-DFwTM9vM.js"; | ||
| import { $t as CancelledError, an as isCancelledError, en as RetryDelayValue, in as createRetryer, nn as Retryer, rn as canFetch, tn as RetryValue } from "./hydration-Bjs0MSgg.js"; | ||
| export { CancelledError, RetryDelayValue, RetryValue, Retryer, canFetch, createRetryer, isCancelledError }; |
| import { noop, sleep } from "./utils.js"; | ||
| import { environmentManager } from "./environmentManager.js"; | ||
| import { isServer } from "./environmentManager.js"; | ||
| import { focusManager } from "./focusManager.js"; | ||
@@ -95,3 +95,3 @@ import { onlineManager } from "./onlineManager.js"; | ||
| if (isResolved()) return; | ||
| const retry = config.retry ?? (environmentManager.isServer() ? 0 : 3); | ||
| const retry = config.retry ?? (isServer() ? 0 : 3); | ||
| const retryDelay = config.retryDelay ?? defaultRetryDelay; | ||
@@ -98,0 +98,0 @@ const delay = typeof retryDelay === "function" ? retryDelay(failureCount, error) : retryDelay; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"retryer.js","names":[],"sources":["../../src/retryer.ts"],"sourcesContent":["import { focusManager } from './focusManager'\nimport { onlineManager } from './onlineManager'\nimport { environmentManager } from './environmentManager'\nimport { noop, sleep } from './utils'\nimport type { CancelOptions, DefaultError, NetworkMode } from './types'\n\n// TYPES\n\ninterface RetryerConfig<TData = unknown, TError = DefaultError> {\n fn: () => TData | Promise<TData>\n initialPromise?: Promise<TData>\n onCancel?: (error: TError) => void\n onFail?: (failureCount: number, error: TError) => void\n onPause?: () => void\n onContinue?: () => void\n retry?: RetryValue<TError>\n retryDelay?: RetryDelayValue<TError>\n networkMode: NetworkMode | undefined\n canRun: () => boolean\n}\n\nexport interface Retryer<TData = unknown> {\n promise: Promise<TData>\n cancel: (cancelOptions?: CancelOptions) => void\n continue: () => Promise<unknown>\n cancelRetry: () => void\n continueRetry: () => void\n canStart: () => boolean\n start: () => Promise<TData>\n status: () => 'pending' | 'resolved' | 'rejected'\n}\n\ntype RetryerStatus = 'pending' | 'resolved' | 'rejected'\n\nexport type RetryValue<TError> = boolean | number | ShouldRetryFunction<TError>\n\ntype ShouldRetryFunction<TError = DefaultError> = (\n failureCount: number,\n error: TError,\n) => boolean\n\nexport type RetryDelayValue<TError> = number | RetryDelayFunction<TError>\n\ntype RetryDelayFunction<TError = DefaultError> = (\n failureCount: number,\n error: TError,\n) => number\n\nfunction defaultRetryDelay(failureCount: number) {\n return Math.min(1000 * 2 ** failureCount, 30000)\n}\n\nexport function canFetch(networkMode: NetworkMode | undefined): boolean {\n return (networkMode ?? 'online') === 'online'\n ? onlineManager.isOnline()\n : true\n}\n\nexport class CancelledError extends Error {\n revert?: boolean\n silent?: boolean\n constructor(options?: CancelOptions) {\n super('CancelledError')\n this.revert = options?.revert\n this.silent = options?.silent\n }\n}\n\n/**\n * @deprecated Use instanceof `CancelledError` instead.\n */\nexport function isCancelledError(value: any): value is CancelledError {\n return value instanceof CancelledError\n}\n\nexport function createRetryer<TData = unknown, TError = DefaultError>(\n config: RetryerConfig<TData, TError>,\n): Retryer<TData> {\n let isRetryCancelled = false\n let failureCount = 0\n let continueFn: ((value?: unknown) => void) | undefined\n let status: RetryerStatus = 'pending'\n let promiseResolve: (data: TData) => void\n let promiseReject: (error: TError) => void\n\n const promise = new Promise<TData>((resolve, reject) => {\n promiseResolve = resolve\n promiseReject = reject\n })\n promise.catch(noop)\n\n const isResolved = () => status !== 'pending'\n\n const cancel = (cancelOptions?: CancelOptions): void => {\n if (!isResolved()) {\n const error = new CancelledError(cancelOptions) as TError\n reject(error)\n\n config.onCancel?.(error)\n }\n }\n const cancelRetry = () => {\n isRetryCancelled = true\n }\n\n const continueRetry = () => {\n isRetryCancelled = false\n }\n\n const canContinue = () =>\n focusManager.isFocused() &&\n (config.networkMode === 'always' || onlineManager.isOnline()) &&\n config.canRun()\n\n const canStart = () => canFetch(config.networkMode) && config.canRun()\n\n const resolve = (value: any) => {\n if (!isResolved()) {\n continueFn?.()\n status = 'resolved'\n promiseResolve(value)\n }\n }\n\n const reject = (value: any) => {\n if (!isResolved()) {\n continueFn?.()\n status = 'rejected'\n promiseReject(value)\n }\n }\n\n const pause = () => {\n return new Promise((continueResolve) => {\n continueFn = (value) => {\n if (isResolved() || canContinue()) {\n continueResolve(value)\n }\n }\n config.onPause?.()\n }).then(() => {\n continueFn = undefined\n if (!isResolved()) {\n config.onContinue?.()\n }\n })\n }\n\n // Create loop function\n const run = () => {\n // Do nothing if already resolved\n if (isResolved()) {\n return\n }\n\n let promiseOrValue: any\n\n // we can re-use config.initialPromise on the first call of run()\n const initialPromise =\n failureCount === 0 ? config.initialPromise : undefined\n\n // Execute query\n try {\n promiseOrValue = initialPromise ?? config.fn()\n } catch (error) {\n promiseOrValue = Promise.reject(error)\n }\n\n Promise.resolve(promiseOrValue)\n .then(resolve)\n .catch((error) => {\n // Stop if the fetch is already resolved\n if (isResolved()) {\n return\n }\n\n // Do we need to retry the request?\n const retry = config.retry ?? (environmentManager.isServer() ? 0 : 3)\n const retryDelay = config.retryDelay ?? defaultRetryDelay\n const delay =\n typeof retryDelay === 'function'\n ? retryDelay(failureCount, error)\n : retryDelay\n const shouldRetry =\n retry === true ||\n (typeof retry === 'number' && failureCount < retry) ||\n (typeof retry === 'function' && retry(failureCount, error))\n\n if (isRetryCancelled || !shouldRetry) {\n // We are done if the query does not need to be retried\n reject(error)\n return\n }\n\n failureCount++\n\n // Notify on fail\n config.onFail?.(failureCount, error)\n\n // Delay\n sleep(delay)\n // Pause if the document is not visible or when the device is offline\n .then(() => {\n return canContinue() ? undefined : pause()\n })\n .then(() => {\n if (isRetryCancelled) {\n reject(error)\n } else {\n run()\n }\n })\n })\n }\n\n return {\n promise,\n status: () => status,\n cancel,\n continue: () => {\n continueFn?.()\n return promise\n },\n cancelRetry,\n continueRetry,\n canStart,\n start: () => {\n // Start loop\n if (canStart()) {\n run()\n } else {\n pause().then(run)\n }\n return promise\n },\n }\n}\n"],"mappings":";;;;;AAgDA,SAAS,kBAAkB,cAAsB;CAC/C,OAAO,KAAK,IAAI,MAAO,KAAK,cAAc,GAAK;AACjD;AAEA,SAAgB,SAAS,aAA+C;CACtE,QAAQ,eAAe,cAAc,WACjC,cAAc,SAAS,IACvB;AACN;AAEA,IAAa,iBAAb,cAAoC,MAAM;CAGxC,YAAY,SAAyB;EACnC,MAAM,gBAAgB;EACtB,KAAK,SAAA,YAAA,QAAA,YAAA,KAAA,IAAA,KAAA,IAAS,QAAS;EACvB,KAAK,SAAA,YAAA,QAAA,YAAA,KAAA,IAAA,KAAA,IAAS,QAAS;CACzB;AACF;;;;AAKA,SAAgB,iBAAiB,OAAqC;CACpE,OAAO,iBAAiB;AAC1B;AAEA,SAAgB,cACd,QACgB;CAChB,IAAI,mBAAmB;CACvB,IAAI,eAAe;CACnB,IAAI;CACJ,IAAI,SAAwB;CAC5B,IAAI;CACJ,IAAI;CAEJ,MAAM,UAAU,IAAI,SAAgB,SAAS,WAAW;EACtD,iBAAiB;EACjB,gBAAgB;CAClB,CAAC;CACD,QAAQ,MAAM,IAAI;CAElB,MAAM,mBAAmB,WAAW;CAEpC,MAAM,UAAU,kBAAwC;EACtD,IAAI,CAAC,WAAW,GAAG;;GACjB,MAAM,QAAQ,IAAI,eAAe,aAAa;GAC9C,OAAO,KAAK;GAEZ,CAAA,mBAAA,OAAO,cAAA,QAAA,qBAAA,KAAA,KAAA,iBAAA,KAAA,QAAW,KAAK;EACzB;CACF;CACA,MAAM,oBAAoB;EACxB,mBAAmB;CACrB;CAEA,MAAM,sBAAsB;EAC1B,mBAAmB;CACrB;CAEA,MAAM,oBACJ,aAAa,UAAU,MACtB,OAAO,gBAAgB,YAAY,cAAc,SAAS,MAC3D,OAAO,OAAO;CAEhB,MAAM,iBAAiB,SAAS,OAAO,WAAW,KAAK,OAAO,OAAO;CAErE,MAAM,WAAW,UAAe;EAC9B,IAAI,CAAC,WAAW,GAAG;GACjB,eAAA,QAAA,eAAA,KAAA,KAAA,WAAa;GACb,SAAS;GACT,eAAe,KAAK;EACtB;CACF;CAEA,MAAM,UAAU,UAAe;EAC7B,IAAI,CAAC,WAAW,GAAG;GACjB,eAAA,QAAA,eAAA,KAAA,KAAA,WAAa;GACb,SAAS;GACT,cAAc,KAAK;EACrB;CACF;CAEA,MAAM,cAAc;EAClB,OAAO,IAAI,SAAS,oBAAoB;;GACtC,cAAc,UAAU;IACtB,IAAI,WAAW,KAAK,YAAY,GAC9B,gBAAgB,KAAK;GAEzB;GACA,CAAA,kBAAA,OAAO,aAAA,QAAA,oBAAA,KAAA,KAAA,gBAAA,KAAA,MAAU;EACnB,CAAC,CAAC,CAAC,WAAW;GACZ,aAAa,KAAA;GACb,IAAI,CAAC,WAAW,GAAG;;IACjB,CAAA,qBAAA,OAAO,gBAAA,QAAA,uBAAA,KAAA,KAAA,mBAAA,KAAA,MAAa;GACtB;EACF,CAAC;CACH;CAGA,MAAM,YAAY;EAEhB,IAAI,WAAW,GACb;EAGF,IAAI;EAGJ,MAAM,iBACJ,iBAAiB,IAAI,OAAO,iBAAiB,KAAA;EAG/C,IAAI;GACF,iBAAiB,kBAAkB,OAAO,GAAG;EAC/C,SAAS,OAAO;GACd,iBAAiB,QAAQ,OAAO,KAAK;EACvC;EAEA,QAAQ,QAAQ,cAAc,CAAC,CAC5B,KAAK,OAAO,CAAC,CACb,OAAO,UAAU;;GAEhB,IAAI,WAAW,GACb;GAIF,MAAM,QAAQ,OAAO,UAAU,mBAAmB,SAAS,IAAI,IAAI;GACnE,MAAM,aAAa,OAAO,cAAc;GACxC,MAAM,QACJ,OAAO,eAAe,aAClB,WAAW,cAAc,KAAK,IAC9B;GACN,MAAM,cACJ,UAAU,QACT,OAAO,UAAU,YAAY,eAAe,SAC5C,OAAO,UAAU,cAAc,MAAM,cAAc,KAAK;GAE3D,IAAI,oBAAoB,CAAC,aAAa;IAEpC,OAAO,KAAK;IACZ;GACF;GAEA;GAGA,CAAA,iBAAA,OAAO,YAAA,QAAA,mBAAA,KAAA,KAAA,eAAA,KAAA,QAAS,cAAc,KAAK;GAGnC,MAAM,KAAK,CAAC,CAET,WAAW;IACV,OAAO,YAAY,IAAI,KAAA,IAAY,MAAM;GAC3C,CAAC,CAAC,CACD,WAAW;IACV,IAAI,kBACF,OAAO,KAAK;SAEZ,IAAI;GAER,CAAC;EACL,CAAC;CACL;CAEA,OAAO;EACL;EACA,cAAc;EACd;EACA,gBAAgB;GACd,eAAA,QAAA,eAAA,KAAA,KAAA,WAAa;GACb,OAAO;EACT;EACA;EACA;EACA;EACA,aAAa;GAEX,IAAI,SAAS,GACX,IAAI;QAEJ,MAAM,CAAC,CAAC,KAAK,GAAG;GAElB,OAAO;EACT;CACF;AACF"} | ||
| {"version":3,"file":"retryer.js","names":["isServerEnvironment"],"sources":["../../src/retryer.ts"],"sourcesContent":["import { focusManager } from './focusManager'\nimport { onlineManager } from './onlineManager'\nimport { isServer as isServerEnvironment } from './environmentManager'\nimport { noop, sleep } from './utils'\nimport type { CancelOptions, DefaultError, NetworkMode } from './types'\n\n// TYPES\n\ninterface RetryerConfig<TData = unknown, TError = DefaultError> {\n fn: () => TData | Promise<TData>\n initialPromise?: Promise<TData>\n onCancel?: (error: TError) => void\n onFail?: (failureCount: number, error: TError) => void\n onPause?: () => void\n onContinue?: () => void\n retry?: RetryValue<TError>\n retryDelay?: RetryDelayValue<TError>\n networkMode: NetworkMode | undefined\n canRun: () => boolean\n}\n\nexport interface Retryer<TData = unknown> {\n promise: Promise<TData>\n cancel: (cancelOptions?: CancelOptions) => void\n continue: () => Promise<unknown>\n cancelRetry: () => void\n continueRetry: () => void\n canStart: () => boolean\n start: () => Promise<TData>\n status: () => 'pending' | 'resolved' | 'rejected'\n}\n\ntype RetryerStatus = 'pending' | 'resolved' | 'rejected'\n\nexport type RetryValue<TError> = boolean | number | ShouldRetryFunction<TError>\n\ntype ShouldRetryFunction<TError = DefaultError> = (\n failureCount: number,\n error: TError,\n) => boolean\n\nexport type RetryDelayValue<TError> = number | RetryDelayFunction<TError>\n\ntype RetryDelayFunction<TError = DefaultError> = (\n failureCount: number,\n error: TError,\n) => number\n\nfunction defaultRetryDelay(failureCount: number) {\n return Math.min(1000 * 2 ** failureCount, 30000)\n}\n\nexport function canFetch(networkMode: NetworkMode | undefined): boolean {\n return (networkMode ?? 'online') === 'online'\n ? onlineManager.isOnline()\n : true\n}\n\nexport class CancelledError extends Error {\n revert?: boolean\n silent?: boolean\n constructor(options?: CancelOptions) {\n super('CancelledError')\n this.revert = options?.revert\n this.silent = options?.silent\n }\n}\n\n/**\n * @deprecated Use instanceof `CancelledError` instead.\n */\nexport function isCancelledError(value: any): value is CancelledError {\n return value instanceof CancelledError\n}\n\nexport function createRetryer<TData = unknown, TError = DefaultError>(\n config: RetryerConfig<TData, TError>,\n): Retryer<TData> {\n let isRetryCancelled = false\n let failureCount = 0\n let continueFn: ((value?: unknown) => void) | undefined\n let status: RetryerStatus = 'pending'\n let promiseResolve: (data: TData) => void\n let promiseReject: (error: TError) => void\n\n const promise = new Promise<TData>((resolve, reject) => {\n promiseResolve = resolve\n promiseReject = reject\n })\n promise.catch(noop)\n\n const isResolved = () => status !== 'pending'\n\n const cancel = (cancelOptions?: CancelOptions): void => {\n if (!isResolved()) {\n const error = new CancelledError(cancelOptions) as TError\n reject(error)\n\n config.onCancel?.(error)\n }\n }\n const cancelRetry = () => {\n isRetryCancelled = true\n }\n\n const continueRetry = () => {\n isRetryCancelled = false\n }\n\n const canContinue = () =>\n focusManager.isFocused() &&\n (config.networkMode === 'always' || onlineManager.isOnline()) &&\n config.canRun()\n\n const canStart = () => canFetch(config.networkMode) && config.canRun()\n\n const resolve = (value: any) => {\n if (!isResolved()) {\n continueFn?.()\n status = 'resolved'\n promiseResolve(value)\n }\n }\n\n const reject = (value: any) => {\n if (!isResolved()) {\n continueFn?.()\n status = 'rejected'\n promiseReject(value)\n }\n }\n\n const pause = () => {\n return new Promise((continueResolve) => {\n continueFn = (value) => {\n if (isResolved() || canContinue()) {\n continueResolve(value)\n }\n }\n config.onPause?.()\n }).then(() => {\n continueFn = undefined\n if (!isResolved()) {\n config.onContinue?.()\n }\n })\n }\n\n // Create loop function\n const run = () => {\n // Do nothing if already resolved\n if (isResolved()) {\n return\n }\n\n let promiseOrValue: any\n\n // we can re-use config.initialPromise on the first call of run()\n const initialPromise =\n failureCount === 0 ? config.initialPromise : undefined\n\n // Execute query\n try {\n promiseOrValue = initialPromise ?? config.fn()\n } catch (error) {\n promiseOrValue = Promise.reject(error)\n }\n\n Promise.resolve(promiseOrValue)\n .then(resolve)\n .catch((error) => {\n // Stop if the fetch is already resolved\n if (isResolved()) {\n return\n }\n\n // Do we need to retry the request?\n const retry = config.retry ?? (isServerEnvironment() ? 0 : 3)\n const retryDelay = config.retryDelay ?? defaultRetryDelay\n const delay =\n typeof retryDelay === 'function'\n ? retryDelay(failureCount, error)\n : retryDelay\n const shouldRetry =\n retry === true ||\n (typeof retry === 'number' && failureCount < retry) ||\n (typeof retry === 'function' && retry(failureCount, error))\n\n if (isRetryCancelled || !shouldRetry) {\n // We are done if the query does not need to be retried\n reject(error)\n return\n }\n\n failureCount++\n\n // Notify on fail\n config.onFail?.(failureCount, error)\n\n // Delay\n sleep(delay)\n // Pause if the document is not visible or when the device is offline\n .then(() => {\n return canContinue() ? undefined : pause()\n })\n .then(() => {\n if (isRetryCancelled) {\n reject(error)\n } else {\n run()\n }\n })\n })\n }\n\n return {\n promise,\n status: () => status,\n cancel,\n continue: () => {\n continueFn?.()\n return promise\n },\n cancelRetry,\n continueRetry,\n canStart,\n start: () => {\n // Start loop\n if (canStart()) {\n run()\n } else {\n pause().then(run)\n }\n return promise\n },\n }\n}\n"],"mappings":"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"} |
@@ -1,2 +0,2 @@ | ||
| import { Ct as QueryKey, St as QueryFunctionContext, xt as QueryFunction } from "./hydration-BoHd-X9T.cjs"; | ||
| import { Ct as QueryKey, St as QueryFunctionContext, xt as QueryFunction } from "./hydration-DWGr3cFC.cjs"; | ||
| //#region src/streamedQuery.d.ts | ||
@@ -3,0 +3,0 @@ type BaseStreamedQueryParams<TQueryFnData, TQueryKey extends QueryKey> = { |
@@ -1,2 +0,2 @@ | ||
| import { Ct as QueryKey, St as QueryFunctionContext, xt as QueryFunction } from "./hydration-DFwTM9vM.js"; | ||
| import { Ct as QueryKey, St as QueryFunctionContext, xt as QueryFunction } from "./hydration-Bjs0MSgg.js"; | ||
| //#region src/streamedQuery.d.ts | ||
@@ -3,0 +3,0 @@ type BaseStreamedQueryParams<TQueryFnData, TQueryKey extends QueryKey> = { |
| Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); | ||
| //#region src/types.ts | ||
| /* istanbul ignore file */ | ||
| const dataTagSymbol = Symbol("dataTagSymbol"); | ||
| const dataTagErrorSymbol = Symbol("dataTagErrorSymbol"); | ||
| const unsetMarker = Symbol("unsetMarker"); | ||
| const dataTagSymbol = Symbol(); | ||
| const dataTagErrorSymbol = Symbol(); | ||
| const unsetMarker = Symbol(); | ||
| //#endregion | ||
@@ -8,0 +8,0 @@ exports.dataTagErrorSymbol = dataTagErrorSymbol; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"types.cjs","names":[],"sources":["../../src/types.ts"],"sourcesContent":["/* istanbul ignore file */\n\nimport type { QueryClient } from './queryClient'\nimport type { DehydrateOptions, HydrateOptions } from './hydration'\nimport type { MutationState } from './mutation'\nimport type { FetchDirection, Query, QueryBehavior } from './query'\nimport type { RetryDelayValue, RetryValue } from './retryer'\nimport type { QueryFilters, QueryTypeFilter, SkipToken } from './utils'\nimport type { QueryCache } from './queryCache'\nimport type { MutationCache } from './mutationCache'\n\nexport type NonUndefinedGuard<T> = T extends undefined ? never : T\n\nexport type DistributiveOmit<\n TObject,\n TKey extends keyof TObject,\n> = TObject extends any ? Omit<TObject, TKey> : never\n\nexport type OmitKeyof<\n TObject,\n TKey extends TStrictly extends 'safely'\n ?\n | keyof TObject\n | (string & Record<never, never>)\n | (number & Record<never, never>)\n | (symbol & Record<never, never>)\n : keyof TObject,\n TStrictly extends 'strictly' | 'safely' = 'strictly',\n> = Omit<TObject, TKey>\n\nexport type Override<TTargetA, TTargetB> = {\n [AKey in keyof TTargetA]: AKey extends keyof TTargetB\n ? TTargetB[AKey]\n : TTargetA[AKey]\n}\n\nexport interface Register {\n // defaultError: Error\n // queryMeta: Record<string, unknown>\n // mutationMeta: Record<string, unknown>\n // queryKey: ReadonlyArray<unknown>\n // mutationKey: ReadonlyArray<unknown>\n}\n\nexport type DefaultError = Register extends {\n defaultError: infer TError\n}\n ? TError\n : Error\n\nexport type QueryKey = Register extends {\n queryKey: infer TQueryKey\n}\n ? TQueryKey extends ReadonlyArray<unknown>\n ? TQueryKey\n : TQueryKey extends Array<unknown>\n ? TQueryKey\n : ReadonlyArray<unknown>\n : ReadonlyArray<unknown>\n\nexport const dataTagSymbol = Symbol('dataTagSymbol')\nexport type dataTagSymbol = typeof dataTagSymbol\nexport const dataTagErrorSymbol = Symbol('dataTagErrorSymbol')\nexport type dataTagErrorSymbol = typeof dataTagErrorSymbol\nexport const unsetMarker = Symbol('unsetMarker')\nexport type UnsetMarker = typeof unsetMarker\nexport type AnyDataTag = {\n [dataTagSymbol]: any\n [dataTagErrorSymbol]: any\n}\nexport type DataTag<\n TType,\n TValue,\n TError = UnsetMarker,\n> = TType extends AnyDataTag\n ? TType\n : TType & {\n [dataTagSymbol]: TValue\n [dataTagErrorSymbol]: TError\n }\n\nexport type QueryKeyWithDataTag<\n TQueryKey extends QueryKey = QueryKey,\n TQueryFnData = unknown,\n TError = DefaultError,\n> = {\n queryKey: DataTag<TQueryKey, TQueryFnData, TError>\n}\n\nexport type InferDataFromTag<TQueryFnData, TTaggedQueryKey extends QueryKey> =\n TTaggedQueryKey extends DataTag<unknown, infer TaggedValue, unknown>\n ? TaggedValue\n : TQueryFnData\n\nexport type InferErrorFromTag<TError, TTaggedQueryKey extends QueryKey> =\n TTaggedQueryKey extends DataTag<unknown, unknown, infer TaggedError>\n ? TaggedError extends UnsetMarker\n ? TError\n : TaggedError\n : TError\n\nexport type QueryFunction<\n T = unknown,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> = (context: QueryFunctionContext<TQueryKey, TPageParam>) => T | Promise<T>\n\nexport type StaleTime = number | 'static'\n\nexport type StaleTimeFunction<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> =\n | StaleTime\n | ((query: Query<TQueryFnData, TError, TData, TQueryKey>) => StaleTime)\n\nexport type QueryBooleanOption<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> =\n | boolean\n | ((query: Query<TQueryFnData, TError, TData, TQueryKey>) => boolean)\n\nexport type QueryPersister<\n T = unknown,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> = [TPageParam] extends [never]\n ? (\n queryFn: QueryFunction<T, TQueryKey, never>,\n context: QueryFunctionContext<TQueryKey>,\n query: Query,\n ) => T | Promise<T>\n : (\n queryFn: QueryFunction<T, TQueryKey, TPageParam>,\n context: QueryFunctionContext<TQueryKey>,\n query: Query,\n ) => T | Promise<T>\n\nexport type QueryFunctionContext<\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> = [TPageParam] extends [never]\n ? {\n client: QueryClient\n queryKey: TQueryKey\n signal: AbortSignal\n meta: QueryMeta | undefined\n pageParam?: unknown\n /**\n * @deprecated\n * if you want access to the direction, you can add it to the pageParam\n */\n direction?: unknown\n }\n : {\n client: QueryClient\n queryKey: TQueryKey\n signal: AbortSignal\n pageParam: TPageParam\n /**\n * @deprecated\n * if you want access to the direction, you can add it to the pageParam\n */\n direction: FetchDirection\n meta: QueryMeta | undefined\n }\n\nexport type InitialDataFunction<T> = () => T | undefined\n\ntype NonFunctionGuard<T> = T extends Function ? never : T\n\nexport type PlaceholderDataFunction<\n TQueryFnData = unknown,\n TError = DefaultError,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = (\n previousData: TQueryData | undefined,\n previousQuery: Query<TQueryFnData, TError, TQueryData, TQueryKey> | undefined,\n) => TQueryData | undefined\n\nexport type QueriesPlaceholderDataFunction<TQueryData> = (\n previousData: undefined,\n previousQuery: undefined,\n) => TQueryData | undefined\n\nexport type QueryKeyHashFunction<TQueryKey extends QueryKey> = (\n queryKey: TQueryKey,\n) => string\n\nexport type GetPreviousPageParamFunction<TPageParam, TQueryFnData = unknown> = (\n firstPage: TQueryFnData,\n allPages: Array<TQueryFnData>,\n firstPageParam: TPageParam,\n allPageParams: Array<TPageParam>,\n) => TPageParam | undefined | null\n\nexport type GetNextPageParamFunction<TPageParam, TQueryFnData = unknown> = (\n lastPage: TQueryFnData,\n allPages: Array<TQueryFnData>,\n lastPageParam: TPageParam,\n allPageParams: Array<TPageParam>,\n) => TPageParam | undefined | null\n\nexport interface InfiniteData<TData, TPageParam = unknown> {\n pages: Array<TData>\n pageParams: Array<TPageParam>\n}\n\nexport type QueryMeta = Register extends {\n queryMeta: infer TQueryMeta\n}\n ? TQueryMeta extends Record<string, unknown>\n ? TQueryMeta\n : Record<string, unknown>\n : Record<string, unknown>\n\nexport type NetworkMode = 'online' | 'always' | 'offlineFirst'\n\nexport type NotifyOnChangeProps =\n | Array<keyof InfiniteQueryObserverResult>\n | 'all'\n | undefined\n | (() => Array<keyof InfiniteQueryObserverResult> | 'all' | undefined)\n\nexport interface QueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> {\n /**\n * If `false`, failed queries will not retry by default.\n * If `true`, failed queries will retry infinitely.\n * If set to an integer number, e.g. 3, failed queries will retry until the failed query count meets that number.\n * If set to a function `(failureCount, error) => boolean` failed queries will retry until the function returns false.\n */\n retry?: RetryValue<TError>\n retryDelay?: RetryDelayValue<TError>\n networkMode?: NetworkMode\n /**\n * The time in milliseconds that unused/inactive cache data remains in memory.\n * When a query's cache becomes unused or inactive, that cache data will be garbage collected after this duration.\n * When different garbage collection times are specified, the longest one will be used.\n * Setting it to `Infinity` will disable garbage collection.\n */\n gcTime?: number\n queryFn?: QueryFunction<TQueryFnData, TQueryKey, TPageParam> | SkipToken\n persister?: QueryPersister<TQueryFnData, NoInfer<TQueryKey>, TPageParam>\n queryHash?: string\n queryKey?: TQueryKey\n queryKeyHashFn?: QueryKeyHashFunction<TQueryKey>\n initialData?: TData | InitialDataFunction<TData>\n initialDataUpdatedAt?: number | (() => number | undefined)\n behavior?: QueryBehavior<TQueryFnData, TError, TData, TQueryKey>\n /**\n * Set this to `false` to disable structural sharing between query results.\n * Set this to a function which accepts the old and new data and returns resolved data of the same type to implement custom structural sharing logic.\n * Defaults to `true`.\n */\n structuralSharing?:\n | boolean\n | ((oldData: unknown | undefined, newData: unknown) => unknown)\n _defaulted?: boolean\n _type?: 'infinite'\n /**\n * Additional payload to be stored on each query.\n * Use this property to pass information that can be used in other places.\n */\n meta?: QueryMeta\n /**\n * Maximum number of pages to store in the data of an infinite query.\n */\n maxPages?: number\n}\n\nexport interface InitialPageParam<TPageParam = unknown> {\n initialPageParam: TPageParam\n}\n\nexport interface InfiniteQueryPageParamsOptions<\n TQueryFnData = unknown,\n TPageParam = unknown,\n> extends InitialPageParam<TPageParam> {\n /**\n * This function can be set to automatically get the previous cursor for infinite queries.\n * The result will also be used to determine the value of `hasPreviousPage`.\n */\n getPreviousPageParam?: GetPreviousPageParamFunction<TPageParam, TQueryFnData>\n /**\n * This function can be set to automatically get the next cursor for infinite queries.\n * The result will also be used to determine the value of `hasNextPage`.\n */\n getNextPageParam: GetNextPageParamFunction<TPageParam, TQueryFnData>\n}\n\nexport type ThrowOnError<\n TQueryFnData,\n TError,\n TQueryData,\n TQueryKey extends QueryKey,\n> =\n | boolean\n | ((\n error: TError,\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n ) => boolean)\n\nexport interface QueryObserverOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> extends WithRequired<\n QueryOptions<TQueryFnData, TError, TQueryData, TQueryKey, TPageParam>,\n 'queryKey'\n> {\n /**\n * Set this to `false` or a function that returns `false` to disable automatic refetching when the query mounts or changes query keys.\n * To refetch the query, use the `refetch` method returned from the `useQuery` instance.\n * Accepts a boolean or function that returns a boolean.\n * Defaults to `true`.\n */\n enabled?: QueryBooleanOption<TQueryFnData, TError, TQueryData, TQueryKey>\n /**\n * The time in milliseconds after data is considered stale.\n * If set to `Infinity`, the data will never be considered stale.\n * If set to a function, the function will be executed with the query to compute a `staleTime`.\n * Defaults to `0`.\n */\n staleTime?: StaleTimeFunction<TQueryFnData, TError, TQueryData, TQueryKey>\n /**\n * If set to a number, the query will continuously refetch at this frequency in milliseconds.\n * If set to a function, the function will be executed with the latest data and query to compute a frequency\n * Defaults to `false`.\n */\n refetchInterval?:\n | number\n | false\n | ((\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n ) => number | false | undefined)\n /**\n * If set to `true`, the query will continue to refetch while their tab/window is in the background.\n * Defaults to `false`.\n */\n refetchIntervalInBackground?: boolean\n /**\n * If set to `true`, the query will refetch on window focus if the data is stale.\n * If set to `false`, the query will not refetch on window focus.\n * If set to `'always'`, the query will always refetch on window focus.\n * If set to a function, the function will be executed with the latest data and query to compute the value.\n * Defaults to `true`.\n */\n refetchOnWindowFocus?:\n | boolean\n | 'always'\n | ((\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n ) => boolean | 'always')\n /**\n * If set to `true`, the query will refetch on reconnect if the data is stale.\n * If set to `false`, the query will not refetch on reconnect.\n * If set to `'always'`, the query will always refetch on reconnect.\n * If set to a function, the function will be executed with the latest data and query to compute the value.\n * Defaults to `true` unless `networkMode` is `'always'`.\n */\n refetchOnReconnect?:\n | boolean\n | 'always'\n | ((\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n ) => boolean | 'always')\n /**\n * If set to `true`, the query will refetch on mount if the data is stale.\n * If set to `false`, will disable additional instances of a query to trigger background refetch.\n * If set to `'always'`, the query will always refetch on mount.\n * If set to a function, the function will be executed with the latest data and query to compute the value\n * Defaults to `true`.\n */\n refetchOnMount?:\n | boolean\n | 'always'\n | ((\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n ) => boolean | 'always')\n /**\n * If set to `false`, the query will not be retried on mount if it contains an error.\n * If set to a function, the function will be executed with the query to compute the value.\n * Defaults to `true`.\n */\n retryOnMount?: QueryBooleanOption<TQueryFnData, TError, TQueryData, TQueryKey>\n /**\n * If set, the component will only re-render if any of the listed properties change.\n * When set to `['data', 'error']`, the component will only re-render when the `data` or `error` properties change.\n * When set to `'all'`, the component will re-render whenever a query is updated.\n * When set to a function, the function will be executed to compute the list of properties.\n * By default, access to properties will be tracked, and the component will only re-render when one of the tracked properties change.\n */\n notifyOnChangeProps?: NotifyOnChangeProps\n /**\n * Whether errors should be thrown instead of setting the `error` property.\n * If set to `true` or `suspense` is `true`, all errors will be thrown to the error boundary.\n * If set to `false` and `suspense` is `false`, errors are returned as state.\n * If set to a function, it will be passed the error and the query, and it should return a boolean indicating whether to show the error in an error boundary (`true`) or return the error as state (`false`).\n * Defaults to `false`.\n */\n throwOnError?: ThrowOnError<TQueryFnData, TError, TQueryData, TQueryKey>\n /**\n * This option can be used to transform or select a part of the data returned by the query function.\n */\n select?: (data: TQueryData) => TData\n /**\n * If set to `true`, the query will suspend when `status === 'pending'`\n * and throw errors when `status === 'error'`.\n * Defaults to `false`.\n */\n suspense?: boolean\n /**\n * If set, this value will be used as the placeholder data for this particular query observer while the query is still in the `loading` data and no initialData has been provided.\n */\n placeholderData?:\n | NonFunctionGuard<TQueryData>\n | PlaceholderDataFunction<\n NonFunctionGuard<TQueryData>,\n TError,\n NonFunctionGuard<TQueryData>,\n TQueryKey\n >\n\n _optimisticResults?: 'optimistic' | 'isRestoring'\n}\n\nexport type WithRequired<TTarget, TKey extends keyof TTarget> = TTarget & {\n [_ in TKey]: {}\n}\n\nexport type DefaultedQueryObserverOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = WithRequired<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>,\n 'throwOnError' | 'refetchOnReconnect' | 'queryHash'\n>\n\nexport interface InfiniteQueryObserverOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>\n extends\n QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n InfiniteData<TQueryFnData, TPageParam>,\n TQueryKey,\n TPageParam\n >,\n InfiniteQueryPageParamsOptions<TQueryFnData, TPageParam> {}\n\nexport type DefaultedInfiniteQueryObserverOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = WithRequired<\n InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n 'throwOnError' | 'refetchOnReconnect' | 'queryHash'\n>\n\nexport interface QueryExecuteOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> extends WithRequired<\n QueryOptions<TQueryFnData, TError, TQueryData, TQueryKey, TPageParam>,\n 'queryKey'\n> {\n initialPageParam?: never\n select?: (data: TQueryData) => TData\n /**\n * The time in milliseconds after data is considered stale.\n * If the data is fresh it will be returned from the cache.\n */\n staleTime?: StaleTimeFunction<TQueryFnData, TError, TQueryData, TQueryKey>\n}\n\n/** @deprecated */\nexport interface FetchQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> extends WithRequired<\n QueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>,\n 'queryKey'\n> {\n initialPageParam?: never\n /**\n * The time in milliseconds after data is considered stale.\n * If the data is fresh it will be returned from the cache.\n */\n staleTime?: StaleTimeFunction<TQueryFnData, TError, TData, TQueryKey>\n}\n\n/** @deprecated */\nexport interface EnsureQueryDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> extends FetchQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n> {\n revalidateIfStale?: boolean\n}\n\n/** @deprecated */\nexport type EnsureInfiniteQueryDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n> & {\n revalidateIfStale?: boolean\n}\n\ntype InfiniteQueryPages<TQueryFnData = unknown, TPageParam = unknown> =\n | { pages?: never }\n | {\n pages: number\n getNextPageParam: GetNextPageParamFunction<TPageParam, TQueryFnData>\n }\n\nexport type InfiniteQueryExecuteOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = Omit<\n QueryExecuteOptions<\n TQueryFnData,\n TError,\n TData,\n InfiniteData<TQueryFnData, TPageParam>,\n TQueryKey,\n TPageParam\n >,\n 'initialPageParam'\n> &\n InitialPageParam<TPageParam> &\n InfiniteQueryPages<TQueryFnData, TPageParam>\n\n/** @deprecated */\nexport type FetchInfiniteQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = Omit<\n FetchQueryOptions<\n TQueryFnData,\n TError,\n InfiniteData<TData, TPageParam>,\n TQueryKey,\n TPageParam\n >,\n 'initialPageParam'\n> &\n InitialPageParam<TPageParam> &\n InfiniteQueryPages<TQueryFnData, TPageParam>\n\nexport interface ResultOptions {\n throwOnError?: boolean\n}\n\nexport interface RefetchOptions extends ResultOptions {\n /**\n * If set to `true`, a currently running request will be cancelled before a new request is made\n *\n * If set to `false`, no refetch will be made if there is already a request running.\n *\n * Defaults to `true`.\n */\n cancelRefetch?: boolean\n}\n\nexport interface InvalidateQueryFilters<\n TQueryKey extends QueryKey = QueryKey,\n> extends QueryFilters<TQueryKey> {\n refetchType?: QueryTypeFilter | 'none'\n}\n\nexport interface RefetchQueryFilters<\n TQueryKey extends QueryKey = QueryKey,\n> extends QueryFilters<TQueryKey> {}\n\nexport interface InvalidateOptions extends RefetchOptions {}\nexport interface ResetOptions extends RefetchOptions {}\n\nexport interface FetchNextPageOptions extends ResultOptions {\n /**\n * If set to `true`, calling `fetchNextPage` repeatedly will invoke `queryFn` every time,\n * whether the previous invocation has resolved or not. Also, the result from previous invocations will be ignored.\n *\n * If set to `false`, calling `fetchNextPage` repeatedly won't have any effect until the first invocation has resolved.\n *\n * Defaults to `true`.\n */\n cancelRefetch?: boolean\n}\n\nexport interface FetchPreviousPageOptions extends ResultOptions {\n /**\n * If set to `true`, calling `fetchPreviousPage` repeatedly will invoke `queryFn` every time,\n * whether the previous invocation has resolved or not. Also, the result from previous invocations will be ignored.\n *\n * If set to `false`, calling `fetchPreviousPage` repeatedly won't have any effect until the first invocation has resolved.\n *\n * Defaults to `true`.\n */\n cancelRefetch?: boolean\n}\n\nexport type QueryStatus = 'pending' | 'error' | 'success'\nexport type FetchStatus = 'fetching' | 'paused' | 'idle'\n\nexport interface QueryObserverBaseResult<\n TData = unknown,\n TError = DefaultError,\n> {\n /**\n * The last successfully resolved data for the query.\n */\n data: TData | undefined\n /**\n * The timestamp for when the query most recently returned the `status` as `\"success\"`.\n */\n dataUpdatedAt: number\n /**\n * The error object for the query, if an error was thrown.\n * - Defaults to `null`.\n */\n error: TError | null\n /**\n * The timestamp for when the query most recently returned the `status` as `\"error\"`.\n */\n errorUpdatedAt: number\n /**\n * The failure count for the query.\n * - Incremented every time the query fails.\n * - Reset to `0` when the query succeeds.\n */\n failureCount: number\n /**\n * The failure reason for the query retry.\n * - Reset to `null` when the query succeeds.\n */\n failureReason: TError | null\n /**\n * The sum of all errors.\n */\n errorUpdateCount: number\n /**\n * A derived boolean from the `status` variable, provided for convenience.\n * - `true` if the query attempt resulted in an error.\n */\n isError: boolean\n /**\n * Will be `true` if the query has been fetched.\n */\n isFetched: boolean\n /**\n * Will be `true` if the query has been fetched after the component mounted.\n * - This property can be used to not show any previously cached data.\n */\n isFetchedAfterMount: boolean\n /**\n * A derived boolean from the `fetchStatus` variable, provided for convenience.\n * - `true` whenever the `queryFn` is executing, which includes initial `pending` as well as background refetch.\n */\n isFetching: boolean\n /**\n * Is `true` whenever the first fetch for a query is in-flight.\n * - Is the same as `isFetching && isPending`.\n */\n isLoading: boolean\n /**\n * Will be `pending` if there's no cached data and no query attempt was finished yet.\n */\n isPending: boolean\n /**\n * Will be `true` if the query failed while fetching for the first time.\n */\n isLoadingError: boolean\n /**\n * @deprecated `isInitialLoading` is being deprecated in favor of `isLoading`\n * and will be removed in the next major version.\n */\n isInitialLoading: boolean\n /**\n * A derived boolean from the `fetchStatus` variable, provided for convenience.\n * - The query wanted to fetch, but has been `paused`.\n */\n isPaused: boolean\n /**\n * Will be `true` if the data shown is the placeholder data.\n */\n isPlaceholderData: boolean\n /**\n * Will be `true` if the query failed while refetching.\n */\n isRefetchError: boolean\n /**\n * Is `true` whenever a background refetch is in-flight, which _does not_ include initial `pending`.\n * - Is the same as `isFetching && !isPending`.\n */\n isRefetching: boolean\n /**\n * Will be `true` if the data in the cache is invalidated or if the data is older than the given `staleTime`.\n */\n isStale: boolean\n /**\n * A derived boolean from the `status` variable, provided for convenience.\n * - `true` if the query has received a response with no errors and is ready to display its data.\n */\n isSuccess: boolean\n /**\n * `true` if this observer is enabled, `false` otherwise.\n */\n isEnabled: boolean\n /**\n * A function to manually refetch the query.\n */\n refetch: (\n options?: RefetchOptions,\n ) => Promise<QueryObserverResult<TData, TError>>\n /**\n * The status of the query.\n * - Will be:\n * - `pending` if there's no cached data and no query attempt was finished yet.\n * - `error` if the query attempt resulted in an error.\n * - `success` if the query has received a response with no errors and is ready to display its data.\n */\n status: QueryStatus\n /**\n * The fetch status of the query.\n * - `fetching`: Is `true` whenever the queryFn is executing, which includes initial `pending` as well as background refetch.\n * - `paused`: The query wanted to fetch, but has been `paused`.\n * - `idle`: The query is not fetching.\n * - See [Network Mode](https://tanstack.com/query/latest/docs/framework/react/guides/network-mode) for more information.\n */\n fetchStatus: FetchStatus\n}\n\nexport interface QueryObserverPendingResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: undefined\n error: null\n isError: false\n isPending: true\n isLoadingError: false\n isRefetchError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'pending'\n}\n\nexport interface QueryObserverLoadingResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: undefined\n error: null\n isError: false\n isPending: true\n isLoading: true\n isLoadingError: false\n isRefetchError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'pending'\n}\n\nexport interface QueryObserverLoadingErrorResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: undefined\n error: TError\n isError: true\n isPending: false\n isLoading: false\n isLoadingError: true\n isRefetchError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'error'\n}\n\nexport interface QueryObserverRefetchErrorResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: TData\n error: TError\n isError: true\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: true\n isSuccess: false\n isPlaceholderData: false\n status: 'error'\n}\n\nexport interface QueryObserverSuccessResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: TData\n error: null\n isError: false\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: false\n isSuccess: true\n isPlaceholderData: false\n status: 'success'\n}\n\nexport interface QueryObserverPlaceholderResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: TData\n isError: false\n error: null\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: false\n isSuccess: true\n isPlaceholderData: true\n status: 'success'\n}\n\nexport type DefinedQueryObserverResult<\n TData = unknown,\n TError = DefaultError,\n> =\n | QueryObserverRefetchErrorResult<TData, TError>\n | QueryObserverSuccessResult<TData, TError>\n\nexport type QueryObserverResult<TData = unknown, TError = DefaultError> =\n | DefinedQueryObserverResult<TData, TError>\n | QueryObserverLoadingErrorResult<TData, TError>\n | QueryObserverLoadingResult<TData, TError>\n | QueryObserverPendingResult<TData, TError>\n | QueryObserverPlaceholderResult<TData, TError>\n\nexport interface InfiniteQueryObserverBaseResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n /**\n * This function allows you to fetch the next \"page\" of results.\n */\n fetchNextPage: (\n options?: FetchNextPageOptions,\n ) => Promise<InfiniteQueryObserverResult<TData, TError>>\n /**\n * This function allows you to fetch the previous \"page\" of results.\n */\n fetchPreviousPage: (\n options?: FetchPreviousPageOptions,\n ) => Promise<InfiniteQueryObserverResult<TData, TError>>\n /**\n * Will be `true` if there is a next page to be fetched (known via the `getNextPageParam` option).\n */\n hasNextPage: boolean\n /**\n * Will be `true` if there is a previous page to be fetched (known via the `getPreviousPageParam` option).\n */\n hasPreviousPage: boolean\n /**\n * Will be `true` if the query failed while fetching the next page.\n */\n isFetchNextPageError: boolean\n /**\n * Will be `true` while fetching the next page with `fetchNextPage`.\n */\n isFetchingNextPage: boolean\n /**\n * Will be `true` if the query failed while fetching the previous page.\n */\n isFetchPreviousPageError: boolean\n /**\n * Will be `true` while fetching the previous page with `fetchPreviousPage`.\n */\n isFetchingPreviousPage: boolean\n}\n\nexport interface InfiniteQueryObserverPendingResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: undefined\n error: null\n isError: false\n isPending: true\n isLoadingError: false\n isRefetchError: false\n isFetchNextPageError: false\n isFetchPreviousPageError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'pending'\n}\n\nexport interface InfiniteQueryObserverLoadingResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: undefined\n error: null\n isError: false\n isPending: true\n isLoading: true\n isLoadingError: false\n isRefetchError: false\n isFetchNextPageError: false\n isFetchPreviousPageError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'pending'\n}\n\nexport interface InfiniteQueryObserverLoadingErrorResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: undefined\n error: TError\n isError: true\n isPending: false\n isLoading: false\n isLoadingError: true\n isRefetchError: false\n isFetchNextPageError: false\n isFetchPreviousPageError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'error'\n}\n\nexport interface InfiniteQueryObserverRefetchErrorResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: TData\n error: TError\n isError: true\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: true\n isSuccess: false\n isPlaceholderData: false\n status: 'error'\n}\n\nexport interface InfiniteQueryObserverSuccessResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: TData\n error: null\n isError: false\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: false\n isFetchNextPageError: false\n isFetchPreviousPageError: false\n isSuccess: true\n isPlaceholderData: false\n status: 'success'\n}\n\nexport interface InfiniteQueryObserverPlaceholderResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: TData\n isError: false\n error: null\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: false\n isSuccess: true\n isPlaceholderData: true\n isFetchNextPageError: false\n isFetchPreviousPageError: false\n status: 'success'\n}\n\nexport type DefinedInfiniteQueryObserverResult<\n TData = unknown,\n TError = DefaultError,\n> =\n | InfiniteQueryObserverRefetchErrorResult<TData, TError>\n | InfiniteQueryObserverSuccessResult<TData, TError>\n\nexport type InfiniteQueryObserverResult<\n TData = unknown,\n TError = DefaultError,\n> =\n | DefinedInfiniteQueryObserverResult<TData, TError>\n | InfiniteQueryObserverLoadingErrorResult<TData, TError>\n | InfiniteQueryObserverLoadingResult<TData, TError>\n | InfiniteQueryObserverPendingResult<TData, TError>\n | InfiniteQueryObserverPlaceholderResult<TData, TError>\n\nexport type MutationKey = Register extends {\n mutationKey: infer TMutationKey\n}\n ? TMutationKey extends ReadonlyArray<unknown>\n ? TMutationKey\n : TMutationKey extends Array<unknown>\n ? TMutationKey\n : ReadonlyArray<unknown>\n : ReadonlyArray<unknown>\n\nexport type MutationStatus = 'idle' | 'pending' | 'success' | 'error'\n\nexport type MutationScope = {\n id: string\n}\n\nexport type MutationMeta = Register extends {\n mutationMeta: infer TMutationMeta\n}\n ? TMutationMeta extends Record<string, unknown>\n ? TMutationMeta\n : Record<string, unknown>\n : Record<string, unknown>\n\nexport type MutationFunctionContext = {\n client: QueryClient\n meta: MutationMeta | undefined\n mutationKey?: MutationKey\n}\n\nexport type MutationFunction<TData = unknown, TVariables = unknown> = (\n variables: TVariables,\n context: MutationFunctionContext,\n) => Promise<TData>\n\nexport interface MutationOptions<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> {\n mutationFn?: MutationFunction<TData, TVariables>\n mutationKey?: MutationKey\n onMutate?: (\n variables: TVariables,\n context: MutationFunctionContext,\n ) => Promise<TOnMutateResult> | TOnMutateResult\n onSuccess?: (\n data: TData,\n variables: TVariables,\n onMutateResult: TOnMutateResult,\n context: MutationFunctionContext,\n ) => Promise<unknown> | unknown\n onError?: (\n error: TError,\n variables: TVariables,\n onMutateResult: TOnMutateResult | undefined,\n context: MutationFunctionContext,\n ) => Promise<unknown> | unknown\n onSettled?: (\n data: TData | undefined,\n error: TError | null,\n variables: TVariables,\n onMutateResult: TOnMutateResult | undefined,\n context: MutationFunctionContext,\n ) => Promise<unknown> | unknown\n retry?: RetryValue<TError>\n retryDelay?: RetryDelayValue<TError>\n networkMode?: NetworkMode\n gcTime?: number\n _defaulted?: boolean\n meta?: MutationMeta\n scope?: MutationScope\n}\n\nexport interface MutationObserverOptions<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationOptions<TData, TError, TVariables, TOnMutateResult> {\n throwOnError?: boolean | ((error: TError) => boolean)\n}\n\nexport interface MutateOptions<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> {\n onSuccess?: (\n data: TData,\n variables: TVariables,\n onMutateResult: TOnMutateResult | undefined,\n context: MutationFunctionContext,\n ) => void\n onError?: (\n error: TError,\n variables: TVariables,\n onMutateResult: TOnMutateResult | undefined,\n context: MutationFunctionContext,\n ) => void\n onSettled?: (\n data: TData | undefined,\n error: TError | null,\n variables: TVariables,\n onMutateResult: TOnMutateResult | undefined,\n context: MutationFunctionContext,\n ) => void\n}\n\nexport type MutateFunctionRest<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> = undefined extends TVariables\n ? [\n variables?: TVariables,\n options?: MutateOptions<TData, TError, TVariables, TOnMutateResult>,\n ]\n : [\n variables: TVariables,\n options?: MutateOptions<TData, TError, TVariables, TOnMutateResult>,\n ]\n\nexport type MutateFunction<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> = (\n ...rest: MutateFunctionRest<TData, TError, TVariables, TOnMutateResult>\n) => Promise<TData>\n\nexport interface MutationObserverBaseResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationState<TData, TError, TVariables, TOnMutateResult> {\n /**\n * The last successfully resolved data for the mutation.\n */\n data: TData | undefined\n /**\n * The variables object passed to the `mutationFn`.\n */\n variables: TVariables | undefined\n /**\n * The error object for the mutation, if an error was encountered.\n * - Defaults to `null`.\n */\n error: TError | null\n /**\n * A boolean variable derived from `status`.\n * - `true` if the last mutation attempt resulted in an error.\n */\n isError: boolean\n /**\n * A boolean variable derived from `status`.\n * - `true` if the mutation is in its initial state prior to executing.\n */\n isIdle: boolean\n /**\n * A boolean variable derived from `status`.\n * - `true` if the mutation is currently executing.\n */\n isPending: boolean\n /**\n * A boolean variable derived from `status`.\n * - `true` if the last mutation attempt was successful.\n */\n isSuccess: boolean\n /**\n * The status of the mutation.\n * - Will be:\n * - `idle` initial status prior to the mutation function executing.\n * - `pending` if the mutation is currently executing.\n * - `error` if the last mutation attempt resulted in an error.\n * - `success` if the last mutation attempt was successful.\n */\n status: MutationStatus\n /**\n * The mutation function you can call with variables to trigger the mutation and optionally hooks on additional callback options.\n * @param variables - The variables object to pass to the `mutationFn`.\n * @param options.onSuccess - This function will fire when the mutation is successful and will be passed the mutation's result.\n * @param options.onError - This function will fire if the mutation encounters an error and will be passed the error.\n * @param options.onSettled - This function will fire when the mutation is either successfully fetched or encounters an error and be passed either the data or error.\n * @remarks\n * - If you make multiple requests, `onSuccess` will fire only after the latest call you've made.\n * - All the callback functions (`onSuccess`, `onError`, `onSettled`) are void functions, and the returned value will be ignored.\n */\n mutate: MutateFunction<TData, TError, TVariables, TOnMutateResult>\n /**\n * A function to clean the mutation internal state (i.e., it resets the mutation to its initial state).\n */\n reset: () => void\n}\n\nexport interface MutationObserverIdleResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationObserverBaseResult<\n TData,\n TError,\n TVariables,\n TOnMutateResult\n> {\n data: undefined\n variables: undefined\n error: null\n isError: false\n isIdle: true\n isPending: false\n isSuccess: false\n status: 'idle'\n}\n\nexport interface MutationObserverLoadingResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationObserverBaseResult<\n TData,\n TError,\n TVariables,\n TOnMutateResult\n> {\n data: undefined\n variables: TVariables\n error: null\n isError: false\n isIdle: false\n isPending: true\n isSuccess: false\n status: 'pending'\n}\n\nexport interface MutationObserverErrorResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationObserverBaseResult<\n TData,\n TError,\n TVariables,\n TOnMutateResult\n> {\n data: undefined\n error: TError\n variables: TVariables\n isError: true\n isIdle: false\n isPending: false\n isSuccess: false\n status: 'error'\n}\n\nexport interface MutationObserverSuccessResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationObserverBaseResult<\n TData,\n TError,\n TVariables,\n TOnMutateResult\n> {\n data: TData\n error: null\n variables: TVariables\n isError: false\n isIdle: false\n isPending: false\n isSuccess: true\n status: 'success'\n}\n\nexport type MutationObserverResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> =\n | MutationObserverIdleResult<TData, TError, TVariables, TOnMutateResult>\n | MutationObserverLoadingResult<TData, TError, TVariables, TOnMutateResult>\n | MutationObserverErrorResult<TData, TError, TVariables, TOnMutateResult>\n | MutationObserverSuccessResult<TData, TError, TVariables, TOnMutateResult>\n\nexport interface QueryClientConfig {\n queryCache?: QueryCache\n mutationCache?: MutationCache\n defaultOptions?: DefaultOptions\n}\n\nexport interface DefaultOptions<TError = DefaultError> {\n queries?: OmitKeyof<\n QueryObserverOptions<unknown, TError>,\n 'suspense' | 'queryKey'\n >\n mutations?: MutationObserverOptions<unknown, TError, unknown, unknown>\n hydrate?: HydrateOptions['defaultOptions']\n dehydrate?: DehydrateOptions\n}\n\nexport interface CancelOptions {\n revert?: boolean\n silent?: boolean\n}\n\nexport interface SetDataOptions {\n updatedAt?: number\n}\n\nexport type NotifyEventType =\n | 'added'\n | 'removed'\n | 'updated'\n | 'observerAdded'\n | 'observerRemoved'\n | 'observerResultsUpdated'\n | 'observerOptionsUpdated'\n\nexport interface NotifyEvent {\n type: NotifyEventType\n}\n"],"mappings":";;;AA4DA,MAAa,gBAAgB,OAAO,eAAe;AAEnD,MAAa,qBAAqB,OAAO,oBAAoB;AAE7D,MAAa,cAAc,OAAO,aAAa"} | ||
| {"version":3,"file":"types.cjs","names":[],"sources":["../../src/types.ts"],"sourcesContent":["/* istanbul ignore file */\n\nimport type { QueryClient } from './queryClient'\nimport type { DehydrateOptions, HydrateOptions } from './hydration'\nimport type { MutationState } from './mutation'\nimport type { FetchDirection, Query, QueryBehavior } from './query'\nimport type { RetryDelayValue, RetryValue } from './retryer'\nimport type { QueryFilters, QueryTypeFilter, SkipToken } from './utils'\nimport type { QueryCache } from './queryCache'\nimport type { MutationCache } from './mutationCache'\n\nexport type NonUndefinedGuard<T> = T extends undefined ? never : T\n\nexport type DistributiveOmit<\n TObject,\n TKey extends keyof TObject,\n> = TObject extends any ? Omit<TObject, TKey> : never\n\nexport type OmitKeyof<\n TObject,\n TKey extends TStrictly extends 'safely'\n ?\n | keyof TObject\n | (string & Record<never, never>)\n | (number & Record<never, never>)\n | (symbol & Record<never, never>)\n : keyof TObject,\n TStrictly extends 'strictly' | 'safely' = 'strictly',\n> = Omit<TObject, TKey>\n\nexport type Override<TTargetA, TTargetB> = {\n [AKey in keyof TTargetA]: AKey extends keyof TTargetB\n ? TTargetB[AKey]\n : TTargetA[AKey]\n}\n\nexport interface Register {\n // defaultError: Error\n // queryMeta: Record<string, unknown>\n // mutationMeta: Record<string, unknown>\n // queryKey: ReadonlyArray<unknown>\n // mutationKey: ReadonlyArray<unknown>\n}\n\nexport type DefaultError = Register extends {\n defaultError: infer TError\n}\n ? TError\n : Error\n\nexport type QueryKey = Register extends {\n queryKey: infer TQueryKey\n}\n ? TQueryKey extends ReadonlyArray<unknown>\n ? TQueryKey\n : TQueryKey extends Array<unknown>\n ? TQueryKey\n : ReadonlyArray<unknown>\n : ReadonlyArray<unknown>\n\nexport const dataTagSymbol = Symbol()\nexport type dataTagSymbol = typeof dataTagSymbol\nexport const dataTagErrorSymbol = Symbol()\nexport type dataTagErrorSymbol = typeof dataTagErrorSymbol\nexport const unsetMarker = Symbol()\nexport type UnsetMarker = typeof unsetMarker\nexport type AnyDataTag = {\n [dataTagSymbol]: any\n [dataTagErrorSymbol]: any\n}\nexport type DataTag<\n TType,\n TValue,\n TError = UnsetMarker,\n> = TType extends AnyDataTag\n ? TType\n : TType & {\n [dataTagSymbol]: TValue\n [dataTagErrorSymbol]: TError\n }\n\nexport type QueryKeyWithDataTag<\n TQueryKey extends QueryKey = QueryKey,\n TQueryFnData = unknown,\n TError = DefaultError,\n> = {\n queryKey: DataTag<TQueryKey, TQueryFnData, TError>\n}\n\nexport type InferDataFromTag<TQueryFnData, TTaggedQueryKey extends QueryKey> =\n TTaggedQueryKey extends DataTag<unknown, infer TaggedValue, unknown>\n ? TaggedValue\n : TQueryFnData\n\nexport type InferErrorFromTag<TError, TTaggedQueryKey extends QueryKey> =\n TTaggedQueryKey extends DataTag<unknown, unknown, infer TaggedError>\n ? TaggedError extends UnsetMarker\n ? TError\n : TaggedError\n : TError\n\nexport type QueryFunction<\n T = unknown,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> = (context: QueryFunctionContext<TQueryKey, TPageParam>) => T | Promise<T>\n\nexport type StaleTime = number | 'static'\n\nexport type StaleTimeFunction<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> =\n | StaleTime\n | ((query: Query<TQueryFnData, TError, TData, TQueryKey>) => StaleTime)\n\nexport type QueryBooleanOption<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> =\n | boolean\n | ((query: Query<TQueryFnData, TError, TData, TQueryKey>) => boolean)\n\nexport type QueryPersister<\n T = unknown,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> = [TPageParam] extends [never]\n ? (\n queryFn: QueryFunction<T, TQueryKey, never>,\n context: QueryFunctionContext<TQueryKey>,\n query: Query,\n ) => T | Promise<T>\n : (\n queryFn: QueryFunction<T, TQueryKey, TPageParam>,\n context: QueryFunctionContext<TQueryKey>,\n query: Query,\n ) => T | Promise<T>\n\nexport type QueryFunctionContext<\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> = [TPageParam] extends [never]\n ? {\n client: QueryClient\n queryKey: TQueryKey\n signal: AbortSignal\n meta: QueryMeta | undefined\n pageParam?: unknown\n /**\n * @deprecated\n * if you want access to the direction, you can add it to the pageParam\n */\n direction?: unknown\n }\n : {\n client: QueryClient\n queryKey: TQueryKey\n signal: AbortSignal\n pageParam: TPageParam\n /**\n * @deprecated\n * if you want access to the direction, you can add it to the pageParam\n */\n direction: FetchDirection\n meta: QueryMeta | undefined\n }\n\nexport type InitialDataFunction<T> = () => T | undefined\n\ntype NonFunctionGuard<T> = T extends Function ? never : T\n\nexport type PlaceholderDataFunction<\n TQueryFnData = unknown,\n TError = DefaultError,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = (\n previousData: TQueryData | undefined,\n previousQuery: Query<TQueryFnData, TError, TQueryData, TQueryKey> | undefined,\n) => TQueryData | undefined\n\nexport type QueriesPlaceholderDataFunction<TQueryData> = (\n previousData: undefined,\n previousQuery: undefined,\n) => TQueryData | undefined\n\nexport type QueryKeyHashFunction<TQueryKey extends QueryKey> = (\n queryKey: TQueryKey,\n) => string\n\nexport type GetPreviousPageParamFunction<TPageParam, TQueryFnData = unknown> = (\n firstPage: TQueryFnData,\n allPages: Array<TQueryFnData>,\n firstPageParam: TPageParam,\n allPageParams: Array<TPageParam>,\n) => TPageParam | undefined | null\n\nexport type GetNextPageParamFunction<TPageParam, TQueryFnData = unknown> = (\n lastPage: TQueryFnData,\n allPages: Array<TQueryFnData>,\n lastPageParam: TPageParam,\n allPageParams: Array<TPageParam>,\n) => TPageParam | undefined | null\n\nexport interface InfiniteData<TData, TPageParam = unknown> {\n pages: Array<TData>\n pageParams: Array<TPageParam>\n}\n\nexport type QueryMeta = Register extends {\n queryMeta: infer TQueryMeta\n}\n ? TQueryMeta extends Record<string, unknown>\n ? TQueryMeta\n : Record<string, unknown>\n : Record<string, unknown>\n\nexport type NetworkMode = 'online' | 'always' | 'offlineFirst'\n\nexport type NotifyOnChangeProps =\n | Array<keyof InfiniteQueryObserverResult>\n | 'all'\n | undefined\n | (() => Array<keyof InfiniteQueryObserverResult> | 'all' | undefined)\n\nexport interface QueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> {\n /**\n * If `false`, failed queries will not retry by default.\n * If `true`, failed queries will retry infinitely.\n * If set to an integer number, e.g. 3, failed queries will retry until the failed query count meets that number.\n * If set to a function `(failureCount, error) => boolean` failed queries will retry until the function returns false.\n */\n retry?: RetryValue<TError>\n retryDelay?: RetryDelayValue<TError>\n networkMode?: NetworkMode\n /**\n * The time in milliseconds that unused/inactive cache data remains in memory.\n * When a query's cache becomes unused or inactive, that cache data will be garbage collected after this duration.\n * When different garbage collection times are specified, the longest one will be used.\n * Setting it to `Infinity` will disable garbage collection.\n */\n gcTime?: number\n queryFn?: QueryFunction<TQueryFnData, TQueryKey, TPageParam> | SkipToken\n persister?: QueryPersister<TQueryFnData, NoInfer<TQueryKey>, TPageParam>\n queryHash?: string\n queryKey?: TQueryKey\n queryKeyHashFn?: QueryKeyHashFunction<TQueryKey>\n initialData?: TData | InitialDataFunction<TData>\n initialDataUpdatedAt?: number | (() => number | undefined)\n behavior?: QueryBehavior<TQueryFnData, TError, TData, TQueryKey>\n /**\n * Set this to `false` to disable structural sharing between query results.\n * Set this to a function which accepts the old and new data and returns resolved data of the same type to implement custom structural sharing logic.\n * Defaults to `true`.\n */\n structuralSharing?:\n | boolean\n | ((oldData: unknown | undefined, newData: unknown) => unknown)\n _defaulted?: boolean\n _type?: 'infinite'\n /**\n * Additional payload to be stored on each query.\n * Use this property to pass information that can be used in other places.\n */\n meta?: QueryMeta\n /**\n * Maximum number of pages to store in the data of an infinite query.\n */\n maxPages?: number\n}\n\nexport interface InitialPageParam<TPageParam = unknown> {\n initialPageParam: TPageParam\n}\n\nexport interface InfiniteQueryPageParamsOptions<\n TQueryFnData = unknown,\n TPageParam = unknown,\n> extends InitialPageParam<TPageParam> {\n /**\n * This function can be set to automatically get the previous cursor for infinite queries.\n * The result will also be used to determine the value of `hasPreviousPage`.\n */\n getPreviousPageParam?: GetPreviousPageParamFunction<TPageParam, TQueryFnData>\n /**\n * This function can be set to automatically get the next cursor for infinite queries.\n * The result will also be used to determine the value of `hasNextPage`.\n */\n getNextPageParam: GetNextPageParamFunction<TPageParam, TQueryFnData>\n}\n\nexport type ThrowOnError<\n TQueryFnData,\n TError,\n TQueryData,\n TQueryKey extends QueryKey,\n> =\n | boolean\n | ((\n error: TError,\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n ) => boolean)\n\nexport interface QueryObserverOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> extends WithRequired<\n QueryOptions<TQueryFnData, TError, TQueryData, TQueryKey, TPageParam>,\n 'queryKey'\n> {\n /**\n * Set this to `false` or a function that returns `false` to disable automatic refetching when the query mounts or changes query keys.\n * To refetch the query, use the `refetch` method returned from the `useQuery` instance.\n * Accepts a boolean or function that returns a boolean.\n * Defaults to `true`.\n */\n enabled?: QueryBooleanOption<TQueryFnData, TError, TQueryData, TQueryKey>\n /**\n * The time in milliseconds after data is considered stale.\n * If set to `Infinity`, the data will never be considered stale.\n * If set to a function, the function will be executed with the query to compute a `staleTime`.\n * Defaults to `0`.\n */\n staleTime?: StaleTimeFunction<TQueryFnData, TError, TQueryData, TQueryKey>\n /**\n * If set to a number, the query will continuously refetch at this frequency in milliseconds.\n * If set to a function, the function will be executed with the latest data and query to compute a frequency\n * Defaults to `false`.\n */\n refetchInterval?:\n | number\n | false\n | ((\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n ) => number | false | undefined)\n /**\n * If set to `true`, the query will continue to refetch while their tab/window is in the background.\n * Defaults to `false`.\n */\n refetchIntervalInBackground?: boolean\n /**\n * If set to `true`, the query will refetch on window focus if the data is stale.\n * If set to `false`, the query will not refetch on window focus.\n * If set to `'always'`, the query will always refetch on window focus.\n * If set to a function, the function will be executed with the latest data and query to compute the value.\n * Defaults to `true`.\n */\n refetchOnWindowFocus?:\n | boolean\n | 'always'\n | ((\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n ) => boolean | 'always')\n /**\n * If set to `true`, the query will refetch on reconnect if the data is stale.\n * If set to `false`, the query will not refetch on reconnect.\n * If set to `'always'`, the query will always refetch on reconnect.\n * If set to a function, the function will be executed with the latest data and query to compute the value.\n * Defaults to `true` unless `networkMode` is `'always'`.\n */\n refetchOnReconnect?:\n | boolean\n | 'always'\n | ((\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n ) => boolean | 'always')\n /**\n * If set to `true`, the query will refetch on mount if the data is stale.\n * If set to `false`, will disable additional instances of a query to trigger background refetch.\n * If set to `'always'`, the query will always refetch on mount.\n * If set to a function, the function will be executed with the latest data and query to compute the value\n * Defaults to `true`.\n */\n refetchOnMount?:\n | boolean\n | 'always'\n | ((\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n ) => boolean | 'always')\n /**\n * If set to `false`, the query will not be retried on mount if it contains an error.\n * If set to a function, the function will be executed with the query to compute the value.\n * Defaults to `true`.\n */\n retryOnMount?: QueryBooleanOption<TQueryFnData, TError, TQueryData, TQueryKey>\n /**\n * If set, the component will only re-render if any of the listed properties change.\n * When set to `['data', 'error']`, the component will only re-render when the `data` or `error` properties change.\n * When set to `'all'`, the component will re-render whenever a query is updated.\n * When set to a function, the function will be executed to compute the list of properties.\n * By default, access to properties will be tracked, and the component will only re-render when one of the tracked properties change.\n */\n notifyOnChangeProps?: NotifyOnChangeProps\n /**\n * Whether errors should be thrown instead of setting the `error` property.\n * If set to `true` or `suspense` is `true`, all errors will be thrown to the error boundary.\n * If set to `false` and `suspense` is `false`, errors are returned as state.\n * If set to a function, it will be passed the error and the query, and it should return a boolean indicating whether to show the error in an error boundary (`true`) or return the error as state (`false`).\n * Defaults to `false`.\n */\n throwOnError?: ThrowOnError<TQueryFnData, TError, TQueryData, TQueryKey>\n /**\n * This option can be used to transform or select a part of the data returned by the query function.\n */\n select?: (data: TQueryData) => TData\n /**\n * If set to `true`, the query will suspend when `status === 'pending'`\n * and throw errors when `status === 'error'`.\n * Defaults to `false`.\n */\n suspense?: boolean\n /**\n * If set, this value will be used as the placeholder data for this particular query observer while the query is still in the `loading` data and no initialData has been provided.\n */\n placeholderData?:\n | NonFunctionGuard<TQueryData>\n | PlaceholderDataFunction<\n NonFunctionGuard<TQueryData>,\n TError,\n NonFunctionGuard<TQueryData>,\n TQueryKey\n >\n\n _optimisticResults?: 'optimistic' | 'isRestoring'\n}\n\nexport type WithRequired<TTarget, TKey extends keyof TTarget> = TTarget & {\n [_ in TKey]: {}\n}\n\nexport type DefaultedQueryObserverOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = WithRequired<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>,\n 'throwOnError' | 'refetchOnReconnect' | 'queryHash'\n>\n\nexport interface InfiniteQueryObserverOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>\n extends\n QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n InfiniteData<TQueryFnData, TPageParam>,\n TQueryKey,\n TPageParam\n >,\n InfiniteQueryPageParamsOptions<TQueryFnData, TPageParam> {}\n\nexport type DefaultedInfiniteQueryObserverOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = WithRequired<\n InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n 'throwOnError' | 'refetchOnReconnect' | 'queryHash'\n>\n\nexport interface QueryExecuteOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> extends WithRequired<\n QueryOptions<TQueryFnData, TError, TQueryData, TQueryKey, TPageParam>,\n 'queryKey'\n> {\n initialPageParam?: never\n select?: (data: TQueryData) => TData\n /**\n * The time in milliseconds after data is considered stale.\n * If the data is fresh it will be returned from the cache.\n */\n staleTime?: StaleTimeFunction<TQueryFnData, TError, TQueryData, TQueryKey>\n}\n\n/** @deprecated */\nexport interface FetchQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> extends WithRequired<\n QueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>,\n 'queryKey'\n> {\n initialPageParam?: never\n /**\n * The time in milliseconds after data is considered stale.\n * If the data is fresh it will be returned from the cache.\n */\n staleTime?: StaleTimeFunction<TQueryFnData, TError, TData, TQueryKey>\n}\n\n/** @deprecated */\nexport interface EnsureQueryDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> extends FetchQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n> {\n revalidateIfStale?: boolean\n}\n\n/** @deprecated */\nexport type EnsureInfiniteQueryDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n> & {\n revalidateIfStale?: boolean\n}\n\ntype InfiniteQueryPages<TQueryFnData = unknown, TPageParam = unknown> =\n | { pages?: never }\n | {\n pages: number\n getNextPageParam: GetNextPageParamFunction<TPageParam, TQueryFnData>\n }\n\nexport type InfiniteQueryExecuteOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = Omit<\n QueryExecuteOptions<\n TQueryFnData,\n TError,\n TData,\n InfiniteData<TQueryFnData, TPageParam>,\n TQueryKey,\n TPageParam\n >,\n 'initialPageParam'\n> &\n InitialPageParam<TPageParam> &\n InfiniteQueryPages<TQueryFnData, TPageParam>\n\n/** @deprecated */\nexport type FetchInfiniteQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = Omit<\n FetchQueryOptions<\n TQueryFnData,\n TError,\n InfiniteData<TData, TPageParam>,\n TQueryKey,\n TPageParam\n >,\n 'initialPageParam'\n> &\n InitialPageParam<TPageParam> &\n InfiniteQueryPages<TQueryFnData, TPageParam>\n\nexport interface ResultOptions {\n throwOnError?: boolean\n}\n\nexport interface RefetchOptions extends ResultOptions {\n /**\n * If set to `true`, a currently running request will be cancelled before a new request is made\n *\n * If set to `false`, no refetch will be made if there is already a request running.\n *\n * Defaults to `true`.\n */\n cancelRefetch?: boolean\n}\n\nexport interface InvalidateQueryFilters<\n TQueryKey extends QueryKey = QueryKey,\n> extends QueryFilters<TQueryKey> {\n refetchType?: QueryTypeFilter | 'none'\n}\n\nexport interface RefetchQueryFilters<\n TQueryKey extends QueryKey = QueryKey,\n> extends QueryFilters<TQueryKey> {}\n\nexport interface InvalidateOptions extends RefetchOptions {}\nexport interface ResetOptions extends RefetchOptions {}\n\nexport interface FetchNextPageOptions extends ResultOptions {\n /**\n * If set to `true`, calling `fetchNextPage` repeatedly will invoke `queryFn` every time,\n * whether the previous invocation has resolved or not. Also, the result from previous invocations will be ignored.\n *\n * If set to `false`, calling `fetchNextPage` repeatedly won't have any effect until the first invocation has resolved.\n *\n * Defaults to `true`.\n */\n cancelRefetch?: boolean\n}\n\nexport interface FetchPreviousPageOptions extends ResultOptions {\n /**\n * If set to `true`, calling `fetchPreviousPage` repeatedly will invoke `queryFn` every time,\n * whether the previous invocation has resolved or not. Also, the result from previous invocations will be ignored.\n *\n * If set to `false`, calling `fetchPreviousPage` repeatedly won't have any effect until the first invocation has resolved.\n *\n * Defaults to `true`.\n */\n cancelRefetch?: boolean\n}\n\nexport type QueryStatus = 'pending' | 'error' | 'success'\nexport type FetchStatus = 'fetching' | 'paused' | 'idle'\n\nexport interface QueryObserverBaseResult<\n TData = unknown,\n TError = DefaultError,\n> {\n /**\n * The last successfully resolved data for the query.\n */\n data: TData | undefined\n /**\n * The timestamp for when the query most recently returned the `status` as `\"success\"`.\n */\n dataUpdatedAt: number\n /**\n * The error object for the query, if an error was thrown.\n * - Defaults to `null`.\n */\n error: TError | null\n /**\n * The timestamp for when the query most recently returned the `status` as `\"error\"`.\n */\n errorUpdatedAt: number\n /**\n * The failure count for the query.\n * - Incremented every time the query fails.\n * - Reset to `0` when the query succeeds.\n */\n failureCount: number\n /**\n * The failure reason for the query retry.\n * - Reset to `null` when the query succeeds.\n */\n failureReason: TError | null\n /**\n * The sum of all errors.\n */\n errorUpdateCount: number\n /**\n * A derived boolean from the `status` variable, provided for convenience.\n * - `true` if the query attempt resulted in an error.\n */\n isError: boolean\n /**\n * Will be `true` if the query has been fetched.\n */\n isFetched: boolean\n /**\n * Will be `true` if the query has been fetched after the component mounted.\n * - This property can be used to not show any previously cached data.\n */\n isFetchedAfterMount: boolean\n /**\n * A derived boolean from the `fetchStatus` variable, provided for convenience.\n * - `true` whenever the `queryFn` is executing, which includes initial `pending` as well as background refetch.\n */\n isFetching: boolean\n /**\n * Is `true` whenever the first fetch for a query is in-flight.\n * - Is the same as `isFetching && isPending`.\n */\n isLoading: boolean\n /**\n * Will be `pending` if there's no cached data and no query attempt was finished yet.\n */\n isPending: boolean\n /**\n * Will be `true` if the query failed while fetching for the first time.\n */\n isLoadingError: boolean\n /**\n * @deprecated `isInitialLoading` is being deprecated in favor of `isLoading`\n * and will be removed in the next major version.\n */\n isInitialLoading: boolean\n /**\n * A derived boolean from the `fetchStatus` variable, provided for convenience.\n * - The query wanted to fetch, but has been `paused`.\n */\n isPaused: boolean\n /**\n * Will be `true` if the data shown is the placeholder data.\n */\n isPlaceholderData: boolean\n /**\n * Will be `true` if the query failed while refetching.\n */\n isRefetchError: boolean\n /**\n * Is `true` whenever a background refetch is in-flight, which _does not_ include initial `pending`.\n * - Is the same as `isFetching && !isPending`.\n */\n isRefetching: boolean\n /**\n * Will be `true` if the data in the cache is invalidated or if the data is older than the given `staleTime`.\n */\n isStale: boolean\n /**\n * A derived boolean from the `status` variable, provided for convenience.\n * - `true` if the query has received a response with no errors and is ready to display its data.\n */\n isSuccess: boolean\n /**\n * `true` if this observer is enabled, `false` otherwise.\n */\n isEnabled: boolean\n /**\n * A function to manually refetch the query.\n */\n refetch: (\n options?: RefetchOptions,\n ) => Promise<QueryObserverResult<TData, TError>>\n /**\n * The status of the query.\n * - Will be:\n * - `pending` if there's no cached data and no query attempt was finished yet.\n * - `error` if the query attempt resulted in an error.\n * - `success` if the query has received a response with no errors and is ready to display its data.\n */\n status: QueryStatus\n /**\n * The fetch status of the query.\n * - `fetching`: Is `true` whenever the queryFn is executing, which includes initial `pending` as well as background refetch.\n * - `paused`: The query wanted to fetch, but has been `paused`.\n * - `idle`: The query is not fetching.\n * - See [Network Mode](https://tanstack.com/query/latest/docs/framework/react/guides/network-mode) for more information.\n */\n fetchStatus: FetchStatus\n}\n\nexport interface QueryObserverPendingResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: undefined\n error: null\n isError: false\n isPending: true\n isLoadingError: false\n isRefetchError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'pending'\n}\n\nexport interface QueryObserverLoadingResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: undefined\n error: null\n isError: false\n isPending: true\n isLoading: true\n isLoadingError: false\n isRefetchError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'pending'\n}\n\nexport interface QueryObserverLoadingErrorResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: undefined\n error: TError\n isError: true\n isPending: false\n isLoading: false\n isLoadingError: true\n isRefetchError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'error'\n}\n\nexport interface QueryObserverRefetchErrorResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: TData\n error: TError\n isError: true\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: true\n isSuccess: false\n isPlaceholderData: false\n status: 'error'\n}\n\nexport interface QueryObserverSuccessResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: TData\n error: null\n isError: false\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: false\n isSuccess: true\n isPlaceholderData: false\n status: 'success'\n}\n\nexport interface QueryObserverPlaceholderResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: TData\n isError: false\n error: null\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: false\n isSuccess: true\n isPlaceholderData: true\n status: 'success'\n}\n\nexport type DefinedQueryObserverResult<\n TData = unknown,\n TError = DefaultError,\n> =\n | QueryObserverRefetchErrorResult<TData, TError>\n | QueryObserverSuccessResult<TData, TError>\n\nexport type QueryObserverResult<TData = unknown, TError = DefaultError> =\n | DefinedQueryObserverResult<TData, TError>\n | QueryObserverLoadingErrorResult<TData, TError>\n | QueryObserverLoadingResult<TData, TError>\n | QueryObserverPendingResult<TData, TError>\n | QueryObserverPlaceholderResult<TData, TError>\n\nexport interface InfiniteQueryObserverBaseResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n /**\n * This function allows you to fetch the next \"page\" of results.\n */\n fetchNextPage: (\n options?: FetchNextPageOptions,\n ) => Promise<InfiniteQueryObserverResult<TData, TError>>\n /**\n * This function allows you to fetch the previous \"page\" of results.\n */\n fetchPreviousPage: (\n options?: FetchPreviousPageOptions,\n ) => Promise<InfiniteQueryObserverResult<TData, TError>>\n /**\n * Will be `true` if there is a next page to be fetched (known via the `getNextPageParam` option).\n */\n hasNextPage: boolean\n /**\n * Will be `true` if there is a previous page to be fetched (known via the `getPreviousPageParam` option).\n */\n hasPreviousPage: boolean\n /**\n * Will be `true` if the query failed while fetching the next page.\n */\n isFetchNextPageError: boolean\n /**\n * Will be `true` while fetching the next page with `fetchNextPage`.\n */\n isFetchingNextPage: boolean\n /**\n * Will be `true` if the query failed while fetching the previous page.\n */\n isFetchPreviousPageError: boolean\n /**\n * Will be `true` while fetching the previous page with `fetchPreviousPage`.\n */\n isFetchingPreviousPage: boolean\n}\n\nexport interface InfiniteQueryObserverPendingResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: undefined\n error: null\n isError: false\n isPending: true\n isLoadingError: false\n isRefetchError: false\n isFetchNextPageError: false\n isFetchPreviousPageError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'pending'\n}\n\nexport interface InfiniteQueryObserverLoadingResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: undefined\n error: null\n isError: false\n isPending: true\n isLoading: true\n isLoadingError: false\n isRefetchError: false\n isFetchNextPageError: false\n isFetchPreviousPageError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'pending'\n}\n\nexport interface InfiniteQueryObserverLoadingErrorResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: undefined\n error: TError\n isError: true\n isPending: false\n isLoading: false\n isLoadingError: true\n isRefetchError: false\n isFetchNextPageError: false\n isFetchPreviousPageError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'error'\n}\n\nexport interface InfiniteQueryObserverRefetchErrorResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: TData\n error: TError\n isError: true\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: true\n isSuccess: false\n isPlaceholderData: false\n status: 'error'\n}\n\nexport interface InfiniteQueryObserverSuccessResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: TData\n error: null\n isError: false\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: false\n isFetchNextPageError: false\n isFetchPreviousPageError: false\n isSuccess: true\n isPlaceholderData: false\n status: 'success'\n}\n\nexport interface InfiniteQueryObserverPlaceholderResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: TData\n isError: false\n error: null\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: false\n isSuccess: true\n isPlaceholderData: true\n isFetchNextPageError: false\n isFetchPreviousPageError: false\n status: 'success'\n}\n\nexport type DefinedInfiniteQueryObserverResult<\n TData = unknown,\n TError = DefaultError,\n> =\n | InfiniteQueryObserverRefetchErrorResult<TData, TError>\n | InfiniteQueryObserverSuccessResult<TData, TError>\n\nexport type InfiniteQueryObserverResult<\n TData = unknown,\n TError = DefaultError,\n> =\n | DefinedInfiniteQueryObserverResult<TData, TError>\n | InfiniteQueryObserverLoadingErrorResult<TData, TError>\n | InfiniteQueryObserverLoadingResult<TData, TError>\n | InfiniteQueryObserverPendingResult<TData, TError>\n | InfiniteQueryObserverPlaceholderResult<TData, TError>\n\nexport type MutationKey = Register extends {\n mutationKey: infer TMutationKey\n}\n ? TMutationKey extends ReadonlyArray<unknown>\n ? TMutationKey\n : TMutationKey extends Array<unknown>\n ? TMutationKey\n : ReadonlyArray<unknown>\n : ReadonlyArray<unknown>\n\nexport type MutationStatus = 'idle' | 'pending' | 'success' | 'error'\n\nexport type MutationScope = {\n id: string\n}\n\nexport type MutationMeta = Register extends {\n mutationMeta: infer TMutationMeta\n}\n ? TMutationMeta extends Record<string, unknown>\n ? TMutationMeta\n : Record<string, unknown>\n : Record<string, unknown>\n\nexport type MutationFunctionContext = {\n client: QueryClient\n meta: MutationMeta | undefined\n mutationKey?: MutationKey\n}\n\nexport type MutationFunction<TData = unknown, TVariables = unknown> = (\n variables: TVariables,\n context: MutationFunctionContext,\n) => Promise<TData>\n\nexport interface MutationOptions<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> {\n mutationFn?: MutationFunction<TData, TVariables>\n mutationKey?: MutationKey\n onMutate?: (\n variables: TVariables,\n context: MutationFunctionContext,\n ) => Promise<TOnMutateResult> | TOnMutateResult\n onSuccess?: (\n data: TData,\n variables: TVariables,\n onMutateResult: TOnMutateResult,\n context: MutationFunctionContext,\n ) => Promise<unknown> | unknown\n onError?: (\n error: TError,\n variables: TVariables,\n onMutateResult: TOnMutateResult | undefined,\n context: MutationFunctionContext,\n ) => Promise<unknown> | unknown\n onSettled?: (\n data: TData | undefined,\n error: TError | null,\n variables: TVariables,\n onMutateResult: TOnMutateResult | undefined,\n context: MutationFunctionContext,\n ) => Promise<unknown> | unknown\n retry?: RetryValue<TError>\n retryDelay?: RetryDelayValue<TError>\n networkMode?: NetworkMode\n gcTime?: number\n _defaulted?: boolean\n meta?: MutationMeta\n scope?: MutationScope\n}\n\nexport interface MutationObserverOptions<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationOptions<TData, TError, TVariables, TOnMutateResult> {\n throwOnError?: boolean | ((error: TError) => boolean)\n}\n\nexport interface MutateOptions<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> {\n onSuccess?: (\n data: TData,\n variables: TVariables,\n onMutateResult: TOnMutateResult | undefined,\n context: MutationFunctionContext,\n ) => void\n onError?: (\n error: TError,\n variables: TVariables,\n onMutateResult: TOnMutateResult | undefined,\n context: MutationFunctionContext,\n ) => void\n onSettled?: (\n data: TData | undefined,\n error: TError | null,\n variables: TVariables,\n onMutateResult: TOnMutateResult | undefined,\n context: MutationFunctionContext,\n ) => void\n}\n\nexport type MutateFunctionRest<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> = undefined extends TVariables\n ? [\n variables?: TVariables,\n options?: MutateOptions<TData, TError, TVariables, TOnMutateResult>,\n ]\n : [\n variables: TVariables,\n options?: MutateOptions<TData, TError, TVariables, TOnMutateResult>,\n ]\n\nexport type MutateFunction<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> = (\n ...rest: MutateFunctionRest<TData, TError, TVariables, TOnMutateResult>\n) => Promise<TData>\n\nexport interface MutationObserverBaseResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationState<TData, TError, TVariables, TOnMutateResult> {\n /**\n * The last successfully resolved data for the mutation.\n */\n data: TData | undefined\n /**\n * The variables object passed to the `mutationFn`.\n */\n variables: TVariables | undefined\n /**\n * The error object for the mutation, if an error was encountered.\n * - Defaults to `null`.\n */\n error: TError | null\n /**\n * A boolean variable derived from `status`.\n * - `true` if the last mutation attempt resulted in an error.\n */\n isError: boolean\n /**\n * A boolean variable derived from `status`.\n * - `true` if the mutation is in its initial state prior to executing.\n */\n isIdle: boolean\n /**\n * A boolean variable derived from `status`.\n * - `true` if the mutation is currently executing.\n */\n isPending: boolean\n /**\n * A boolean variable derived from `status`.\n * - `true` if the last mutation attempt was successful.\n */\n isSuccess: boolean\n /**\n * The status of the mutation.\n * - Will be:\n * - `idle` initial status prior to the mutation function executing.\n * - `pending` if the mutation is currently executing.\n * - `error` if the last mutation attempt resulted in an error.\n * - `success` if the last mutation attempt was successful.\n */\n status: MutationStatus\n /**\n * The mutation function you can call with variables to trigger the mutation and optionally hooks on additional callback options.\n * @param variables - The variables object to pass to the `mutationFn`.\n * @param options.onSuccess - This function will fire when the mutation is successful and will be passed the mutation's result.\n * @param options.onError - This function will fire if the mutation encounters an error and will be passed the error.\n * @param options.onSettled - This function will fire when the mutation is either successfully fetched or encounters an error and be passed either the data or error.\n * @remarks\n * - If you make multiple requests, `onSuccess` will fire only after the latest call you've made.\n * - All the callback functions (`onSuccess`, `onError`, `onSettled`) are void functions, and the returned value will be ignored.\n */\n mutate: MutateFunction<TData, TError, TVariables, TOnMutateResult>\n /**\n * A function to clean the mutation internal state (i.e., it resets the mutation to its initial state).\n */\n reset: () => void\n}\n\nexport interface MutationObserverIdleResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationObserverBaseResult<\n TData,\n TError,\n TVariables,\n TOnMutateResult\n> {\n data: undefined\n variables: undefined\n error: null\n isError: false\n isIdle: true\n isPending: false\n isSuccess: false\n status: 'idle'\n}\n\nexport interface MutationObserverLoadingResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationObserverBaseResult<\n TData,\n TError,\n TVariables,\n TOnMutateResult\n> {\n data: undefined\n variables: TVariables\n error: null\n isError: false\n isIdle: false\n isPending: true\n isSuccess: false\n status: 'pending'\n}\n\nexport interface MutationObserverErrorResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationObserverBaseResult<\n TData,\n TError,\n TVariables,\n TOnMutateResult\n> {\n data: undefined\n error: TError\n variables: TVariables\n isError: true\n isIdle: false\n isPending: false\n isSuccess: false\n status: 'error'\n}\n\nexport interface MutationObserverSuccessResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationObserverBaseResult<\n TData,\n TError,\n TVariables,\n TOnMutateResult\n> {\n data: TData\n error: null\n variables: TVariables\n isError: false\n isIdle: false\n isPending: false\n isSuccess: true\n status: 'success'\n}\n\nexport type MutationObserverResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> =\n | MutationObserverIdleResult<TData, TError, TVariables, TOnMutateResult>\n | MutationObserverLoadingResult<TData, TError, TVariables, TOnMutateResult>\n | MutationObserverErrorResult<TData, TError, TVariables, TOnMutateResult>\n | MutationObserverSuccessResult<TData, TError, TVariables, TOnMutateResult>\n\nexport interface QueryClientConfig {\n queryCache?: QueryCache\n mutationCache?: MutationCache\n defaultOptions?: DefaultOptions\n}\n\nexport interface DefaultOptions<TError = DefaultError> {\n queries?: OmitKeyof<\n QueryObserverOptions<unknown, TError>,\n 'suspense' | 'queryKey'\n >\n mutations?: MutationObserverOptions<unknown, TError, unknown, unknown>\n hydrate?: HydrateOptions['defaultOptions']\n dehydrate?: DehydrateOptions\n}\n\nexport interface CancelOptions {\n revert?: boolean\n silent?: boolean\n}\n\nexport interface SetDataOptions {\n updatedAt?: number\n}\n\nexport type NotifyEventType =\n | 'added'\n | 'removed'\n | 'updated'\n | 'observerAdded'\n | 'observerRemoved'\n | 'observerResultsUpdated'\n | 'observerOptionsUpdated'\n\nexport interface NotifyEvent {\n type: NotifyEventType\n}\n"],"mappings":";;;AA4DA,MAAa,gBAAgB,OAAO;AAEpC,MAAa,qBAAqB,OAAO;AAEzC,MAAa,cAAc,OAAO"} |
@@ -1,2 +0,2 @@ | ||
| import { $ as MutationObserverBaseResult, A as InfiniteData, At as QueryObserverOptions, B as InfiniteQueryObserverSuccessResult, Bt as RefetchQueryFilters, C as FetchPreviousPageOptions, Ct as QueryKey, D as GetPreviousPageParamFunction, Dt as QueryObserverBaseResult, E as GetNextPageParamFunction, Et as QueryMeta, F as InfiniteQueryObserverOptions, Ft as QueryObserverSuccessResult, G as InvalidateQueryFilters, Gt as StaleTime, H as InitialDataFunction, Ht as ResetOptions, I as InfiniteQueryObserverPendingResult, It as QueryOptions, J as MutateOptions, Jt as UnsetMarker, K as MutateFunction, Kt as StaleTimeFunction, L as InfiniteQueryObserverPlaceholderResult, Lt as QueryPersister, M as InfiniteQueryObserverBaseResult, Mt as QueryObserverPlaceholderResult, N as InfiniteQueryObserverLoadingErrorResult, Nt as QueryObserverRefetchErrorResult, O as InferDataFromTag, Ot as QueryObserverLoadingErrorResult, P as InfiniteQueryObserverLoadingResult, Pt as QueryObserverResult, Q as MutationMeta, Qt as unsetMarker, R as InfiniteQueryObserverRefetchErrorResult, Rt as QueryStatus, S as FetchNextPageOptions, St as QueryFunctionContext, T as FetchStatus, Tt as QueryKeyWithDataTag, U as InitialPageParam, Ut as ResultOptions, V as InfiniteQueryPageParamsOptions, Vt as Register, W as InvalidateOptions, Wt as SetDataOptions, X as MutationFunctionContext, Xt as dataTagErrorSymbol, Y as MutationFunction, Yt as WithRequired, Z as MutationKey, Zt as dataTagSymbol, _ as DefinedQueryObserverResult, _t as QueriesPlaceholderDataFunction, at as MutationObserverSuccessResult, b as EnsureQueryDataOptions, bt as QueryExecuteOptions, ct as MutationStatus, d as DataTag, dt as NotifyEvent, et as MutationObserverErrorResult, f as DefaultError, ft as NotifyEventType, g as DefinedInfiniteQueryObserverResult, gt as PlaceholderDataFunction, h as DefaultedQueryObserverOptions, ht as Override, it as MutationObserverResult, j as InfiniteQueryExecuteOptions, jt as QueryObserverPendingResult, k as InferErrorFromTag, kt as QueryObserverLoadingResult, l as AnyDataTag, lt as NetworkMode, m as DefaultedInfiniteQueryObserverOptions, mt as OmitKeyof, nt as MutationObserverLoadingResult, ot as MutationOptions, p as DefaultOptions, pt as NotifyOnChangeProps, q as MutateFunctionRest, qt as ThrowOnError, rt as MutationObserverOptions, st as MutationScope, tt as MutationObserverIdleResult, u as CancelOptions, ut as NonUndefinedGuard, v as DistributiveOmit, vt as QueryBooleanOption, w as FetchQueryOptions, wt as QueryKeyHashFunction, x as FetchInfiniteQueryOptions, xt as QueryFunction, y as EnsureInfiniteQueryDataOptions, yt as QueryClientConfig, z as InfiniteQueryObserverResult, zt as RefetchOptions } from "./hydration-BoHd-X9T.cjs"; | ||
| import { $ as MutationObserverBaseResult, A as InfiniteData, At as QueryObserverOptions, B as InfiniteQueryObserverSuccessResult, Bt as RefetchQueryFilters, C as FetchPreviousPageOptions, Ct as QueryKey, D as GetPreviousPageParamFunction, Dt as QueryObserverBaseResult, E as GetNextPageParamFunction, Et as QueryMeta, F as InfiniteQueryObserverOptions, Ft as QueryObserverSuccessResult, G as InvalidateQueryFilters, Gt as StaleTime, H as InitialDataFunction, Ht as ResetOptions, I as InfiniteQueryObserverPendingResult, It as QueryOptions, J as MutateOptions, Jt as UnsetMarker, K as MutateFunction, Kt as StaleTimeFunction, L as InfiniteQueryObserverPlaceholderResult, Lt as QueryPersister, M as InfiniteQueryObserverBaseResult, Mt as QueryObserverPlaceholderResult, N as InfiniteQueryObserverLoadingErrorResult, Nt as QueryObserverRefetchErrorResult, O as InferDataFromTag, Ot as QueryObserverLoadingErrorResult, P as InfiniteQueryObserverLoadingResult, Pt as QueryObserverResult, Q as MutationMeta, Qt as unsetMarker, R as InfiniteQueryObserverRefetchErrorResult, Rt as QueryStatus, S as FetchNextPageOptions, St as QueryFunctionContext, T as FetchStatus, Tt as QueryKeyWithDataTag, U as InitialPageParam, Ut as ResultOptions, V as InfiniteQueryPageParamsOptions, Vt as Register, W as InvalidateOptions, Wt as SetDataOptions, X as MutationFunctionContext, Xt as dataTagErrorSymbol, Y as MutationFunction, Yt as WithRequired, Z as MutationKey, Zt as dataTagSymbol, _ as DefinedQueryObserverResult, _t as QueriesPlaceholderDataFunction, at as MutationObserverSuccessResult, b as EnsureQueryDataOptions, bt as QueryExecuteOptions, ct as MutationStatus, d as DataTag, dt as NotifyEvent, et as MutationObserverErrorResult, f as DefaultError, ft as NotifyEventType, g as DefinedInfiniteQueryObserverResult, gt as PlaceholderDataFunction, h as DefaultedQueryObserverOptions, ht as Override, it as MutationObserverResult, j as InfiniteQueryExecuteOptions, jt as QueryObserverPendingResult, k as InferErrorFromTag, kt as QueryObserverLoadingResult, l as AnyDataTag, lt as NetworkMode, m as DefaultedInfiniteQueryObserverOptions, mt as OmitKeyof, nt as MutationObserverLoadingResult, ot as MutationOptions, p as DefaultOptions, pt as NotifyOnChangeProps, q as MutateFunctionRest, qt as ThrowOnError, rt as MutationObserverOptions, st as MutationScope, tt as MutationObserverIdleResult, u as CancelOptions, ut as NonUndefinedGuard, v as DistributiveOmit, vt as QueryBooleanOption, w as FetchQueryOptions, wt as QueryKeyHashFunction, x as FetchInfiniteQueryOptions, xt as QueryFunction, y as EnsureInfiniteQueryDataOptions, yt as QueryClientConfig, z as InfiniteQueryObserverResult, zt as RefetchOptions } from "./hydration-DWGr3cFC.cjs"; | ||
| export { AnyDataTag, CancelOptions, DataTag, DefaultError, DefaultOptions, DefaultedInfiniteQueryObserverOptions, DefaultedQueryObserverOptions, DefinedInfiniteQueryObserverResult, DefinedQueryObserverResult, DistributiveOmit, EnsureInfiniteQueryDataOptions, EnsureQueryDataOptions, FetchInfiniteQueryOptions, FetchNextPageOptions, FetchPreviousPageOptions, FetchQueryOptions, FetchStatus, GetNextPageParamFunction, GetPreviousPageParamFunction, InferDataFromTag, InferErrorFromTag, InfiniteData, InfiniteQueryExecuteOptions, InfiniteQueryObserverBaseResult, InfiniteQueryObserverLoadingErrorResult, InfiniteQueryObserverLoadingResult, InfiniteQueryObserverOptions, InfiniteQueryObserverPendingResult, InfiniteQueryObserverPlaceholderResult, InfiniteQueryObserverRefetchErrorResult, InfiniteQueryObserverResult, InfiniteQueryObserverSuccessResult, InfiniteQueryPageParamsOptions, InitialDataFunction, InitialPageParam, InvalidateOptions, InvalidateQueryFilters, MutateFunction, MutateFunctionRest, MutateOptions, MutationFunction, MutationFunctionContext, MutationKey, MutationMeta, MutationObserverBaseResult, MutationObserverErrorResult, MutationObserverIdleResult, MutationObserverLoadingResult, MutationObserverOptions, MutationObserverResult, MutationObserverSuccessResult, MutationOptions, MutationScope, MutationStatus, NetworkMode, NonUndefinedGuard, NotifyEvent, NotifyEventType, NotifyOnChangeProps, OmitKeyof, Override, PlaceholderDataFunction, QueriesPlaceholderDataFunction, QueryBooleanOption, QueryClientConfig, QueryExecuteOptions, QueryFunction, QueryFunctionContext, QueryKey, QueryKeyHashFunction, QueryKeyWithDataTag, QueryMeta, QueryObserverBaseResult, QueryObserverLoadingErrorResult, QueryObserverLoadingResult, QueryObserverOptions, QueryObserverPendingResult, QueryObserverPlaceholderResult, QueryObserverRefetchErrorResult, QueryObserverResult, QueryObserverSuccessResult, QueryOptions, QueryPersister, QueryStatus, RefetchOptions, RefetchQueryFilters, Register, ResetOptions, ResultOptions, SetDataOptions, StaleTime, StaleTimeFunction, ThrowOnError, UnsetMarker, WithRequired, dataTagErrorSymbol, dataTagSymbol, unsetMarker }; |
@@ -1,2 +0,2 @@ | ||
| import { $ as MutationObserverBaseResult, A as InfiniteData, At as QueryObserverOptions, B as InfiniteQueryObserverSuccessResult, Bt as RefetchQueryFilters, C as FetchPreviousPageOptions, Ct as QueryKey, D as GetPreviousPageParamFunction, Dt as QueryObserverBaseResult, E as GetNextPageParamFunction, Et as QueryMeta, F as InfiniteQueryObserverOptions, Ft as QueryObserverSuccessResult, G as InvalidateQueryFilters, Gt as StaleTime, H as InitialDataFunction, Ht as ResetOptions, I as InfiniteQueryObserverPendingResult, It as QueryOptions, J as MutateOptions, Jt as UnsetMarker, K as MutateFunction, Kt as StaleTimeFunction, L as InfiniteQueryObserverPlaceholderResult, Lt as QueryPersister, M as InfiniteQueryObserverBaseResult, Mt as QueryObserverPlaceholderResult, N as InfiniteQueryObserverLoadingErrorResult, Nt as QueryObserverRefetchErrorResult, O as InferDataFromTag, Ot as QueryObserverLoadingErrorResult, P as InfiniteQueryObserverLoadingResult, Pt as QueryObserverResult, Q as MutationMeta, Qt as unsetMarker, R as InfiniteQueryObserverRefetchErrorResult, Rt as QueryStatus, S as FetchNextPageOptions, St as QueryFunctionContext, T as FetchStatus, Tt as QueryKeyWithDataTag, U as InitialPageParam, Ut as ResultOptions, V as InfiniteQueryPageParamsOptions, Vt as Register, W as InvalidateOptions, Wt as SetDataOptions, X as MutationFunctionContext, Xt as dataTagErrorSymbol, Y as MutationFunction, Yt as WithRequired, Z as MutationKey, Zt as dataTagSymbol, _ as DefinedQueryObserverResult, _t as QueriesPlaceholderDataFunction, at as MutationObserverSuccessResult, b as EnsureQueryDataOptions, bt as QueryExecuteOptions, ct as MutationStatus, d as DataTag, dt as NotifyEvent, et as MutationObserverErrorResult, f as DefaultError, ft as NotifyEventType, g as DefinedInfiniteQueryObserverResult, gt as PlaceholderDataFunction, h as DefaultedQueryObserverOptions, ht as Override, it as MutationObserverResult, j as InfiniteQueryExecuteOptions, jt as QueryObserverPendingResult, k as InferErrorFromTag, kt as QueryObserverLoadingResult, l as AnyDataTag, lt as NetworkMode, m as DefaultedInfiniteQueryObserverOptions, mt as OmitKeyof, nt as MutationObserverLoadingResult, ot as MutationOptions, p as DefaultOptions, pt as NotifyOnChangeProps, q as MutateFunctionRest, qt as ThrowOnError, rt as MutationObserverOptions, st as MutationScope, tt as MutationObserverIdleResult, u as CancelOptions, ut as NonUndefinedGuard, v as DistributiveOmit, vt as QueryBooleanOption, w as FetchQueryOptions, wt as QueryKeyHashFunction, x as FetchInfiniteQueryOptions, xt as QueryFunction, y as EnsureInfiniteQueryDataOptions, yt as QueryClientConfig, z as InfiniteQueryObserverResult, zt as RefetchOptions } from "./hydration-DFwTM9vM.js"; | ||
| import { $ as MutationObserverBaseResult, A as InfiniteData, At as QueryObserverOptions, B as InfiniteQueryObserverSuccessResult, Bt as RefetchQueryFilters, C as FetchPreviousPageOptions, Ct as QueryKey, D as GetPreviousPageParamFunction, Dt as QueryObserverBaseResult, E as GetNextPageParamFunction, Et as QueryMeta, F as InfiniteQueryObserverOptions, Ft as QueryObserverSuccessResult, G as InvalidateQueryFilters, Gt as StaleTime, H as InitialDataFunction, Ht as ResetOptions, I as InfiniteQueryObserverPendingResult, It as QueryOptions, J as MutateOptions, Jt as UnsetMarker, K as MutateFunction, Kt as StaleTimeFunction, L as InfiniteQueryObserverPlaceholderResult, Lt as QueryPersister, M as InfiniteQueryObserverBaseResult, Mt as QueryObserverPlaceholderResult, N as InfiniteQueryObserverLoadingErrorResult, Nt as QueryObserverRefetchErrorResult, O as InferDataFromTag, Ot as QueryObserverLoadingErrorResult, P as InfiniteQueryObserverLoadingResult, Pt as QueryObserverResult, Q as MutationMeta, Qt as unsetMarker, R as InfiniteQueryObserverRefetchErrorResult, Rt as QueryStatus, S as FetchNextPageOptions, St as QueryFunctionContext, T as FetchStatus, Tt as QueryKeyWithDataTag, U as InitialPageParam, Ut as ResultOptions, V as InfiniteQueryPageParamsOptions, Vt as Register, W as InvalidateOptions, Wt as SetDataOptions, X as MutationFunctionContext, Xt as dataTagErrorSymbol, Y as MutationFunction, Yt as WithRequired, Z as MutationKey, Zt as dataTagSymbol, _ as DefinedQueryObserverResult, _t as QueriesPlaceholderDataFunction, at as MutationObserverSuccessResult, b as EnsureQueryDataOptions, bt as QueryExecuteOptions, ct as MutationStatus, d as DataTag, dt as NotifyEvent, et as MutationObserverErrorResult, f as DefaultError, ft as NotifyEventType, g as DefinedInfiniteQueryObserverResult, gt as PlaceholderDataFunction, h as DefaultedQueryObserverOptions, ht as Override, it as MutationObserverResult, j as InfiniteQueryExecuteOptions, jt as QueryObserverPendingResult, k as InferErrorFromTag, kt as QueryObserverLoadingResult, l as AnyDataTag, lt as NetworkMode, m as DefaultedInfiniteQueryObserverOptions, mt as OmitKeyof, nt as MutationObserverLoadingResult, ot as MutationOptions, p as DefaultOptions, pt as NotifyOnChangeProps, q as MutateFunctionRest, qt as ThrowOnError, rt as MutationObserverOptions, st as MutationScope, tt as MutationObserverIdleResult, u as CancelOptions, ut as NonUndefinedGuard, v as DistributiveOmit, vt as QueryBooleanOption, w as FetchQueryOptions, wt as QueryKeyHashFunction, x as FetchInfiniteQueryOptions, xt as QueryFunction, y as EnsureInfiniteQueryDataOptions, yt as QueryClientConfig, z as InfiniteQueryObserverResult, zt as RefetchOptions } from "./hydration-Bjs0MSgg.js"; | ||
| export { AnyDataTag, CancelOptions, DataTag, DefaultError, DefaultOptions, DefaultedInfiniteQueryObserverOptions, DefaultedQueryObserverOptions, DefinedInfiniteQueryObserverResult, DefinedQueryObserverResult, DistributiveOmit, EnsureInfiniteQueryDataOptions, EnsureQueryDataOptions, FetchInfiniteQueryOptions, FetchNextPageOptions, FetchPreviousPageOptions, FetchQueryOptions, FetchStatus, GetNextPageParamFunction, GetPreviousPageParamFunction, InferDataFromTag, InferErrorFromTag, InfiniteData, InfiniteQueryExecuteOptions, InfiniteQueryObserverBaseResult, InfiniteQueryObserverLoadingErrorResult, InfiniteQueryObserverLoadingResult, InfiniteQueryObserverOptions, InfiniteQueryObserverPendingResult, InfiniteQueryObserverPlaceholderResult, InfiniteQueryObserverRefetchErrorResult, InfiniteQueryObserverResult, InfiniteQueryObserverSuccessResult, InfiniteQueryPageParamsOptions, InitialDataFunction, InitialPageParam, InvalidateOptions, InvalidateQueryFilters, MutateFunction, MutateFunctionRest, MutateOptions, MutationFunction, MutationFunctionContext, MutationKey, MutationMeta, MutationObserverBaseResult, MutationObserverErrorResult, MutationObserverIdleResult, MutationObserverLoadingResult, MutationObserverOptions, MutationObserverResult, MutationObserverSuccessResult, MutationOptions, MutationScope, MutationStatus, NetworkMode, NonUndefinedGuard, NotifyEvent, NotifyEventType, NotifyOnChangeProps, OmitKeyof, Override, PlaceholderDataFunction, QueriesPlaceholderDataFunction, QueryBooleanOption, QueryClientConfig, QueryExecuteOptions, QueryFunction, QueryFunctionContext, QueryKey, QueryKeyHashFunction, QueryKeyWithDataTag, QueryMeta, QueryObserverBaseResult, QueryObserverLoadingErrorResult, QueryObserverLoadingResult, QueryObserverOptions, QueryObserverPendingResult, QueryObserverPlaceholderResult, QueryObserverRefetchErrorResult, QueryObserverResult, QueryObserverSuccessResult, QueryOptions, QueryPersister, QueryStatus, RefetchOptions, RefetchQueryFilters, Register, ResetOptions, ResultOptions, SetDataOptions, StaleTime, StaleTimeFunction, ThrowOnError, UnsetMarker, WithRequired, dataTagErrorSymbol, dataTagSymbol, unsetMarker }; |
| //#region src/types.ts | ||
| /* istanbul ignore file */ | ||
| const dataTagSymbol = Symbol("dataTagSymbol"); | ||
| const dataTagErrorSymbol = Symbol("dataTagErrorSymbol"); | ||
| const unsetMarker = Symbol("unsetMarker"); | ||
| const dataTagSymbol = Symbol(); | ||
| const dataTagErrorSymbol = Symbol(); | ||
| const unsetMarker = Symbol(); | ||
| //#endregion | ||
@@ -7,0 +7,0 @@ export { dataTagErrorSymbol, dataTagSymbol, unsetMarker }; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"types.js","names":[],"sources":["../../src/types.ts"],"sourcesContent":["/* istanbul ignore file */\n\nimport type { QueryClient } from './queryClient'\nimport type { DehydrateOptions, HydrateOptions } from './hydration'\nimport type { MutationState } from './mutation'\nimport type { FetchDirection, Query, QueryBehavior } from './query'\nimport type { RetryDelayValue, RetryValue } from './retryer'\nimport type { QueryFilters, QueryTypeFilter, SkipToken } from './utils'\nimport type { QueryCache } from './queryCache'\nimport type { MutationCache } from './mutationCache'\n\nexport type NonUndefinedGuard<T> = T extends undefined ? never : T\n\nexport type DistributiveOmit<\n TObject,\n TKey extends keyof TObject,\n> = TObject extends any ? Omit<TObject, TKey> : never\n\nexport type OmitKeyof<\n TObject,\n TKey extends TStrictly extends 'safely'\n ?\n | keyof TObject\n | (string & Record<never, never>)\n | (number & Record<never, never>)\n | (symbol & Record<never, never>)\n : keyof TObject,\n TStrictly extends 'strictly' | 'safely' = 'strictly',\n> = Omit<TObject, TKey>\n\nexport type Override<TTargetA, TTargetB> = {\n [AKey in keyof TTargetA]: AKey extends keyof TTargetB\n ? TTargetB[AKey]\n : TTargetA[AKey]\n}\n\nexport interface Register {\n // defaultError: Error\n // queryMeta: Record<string, unknown>\n // mutationMeta: Record<string, unknown>\n // queryKey: ReadonlyArray<unknown>\n // mutationKey: ReadonlyArray<unknown>\n}\n\nexport type DefaultError = Register extends {\n defaultError: infer TError\n}\n ? TError\n : Error\n\nexport type QueryKey = Register extends {\n queryKey: infer TQueryKey\n}\n ? TQueryKey extends ReadonlyArray<unknown>\n ? TQueryKey\n : TQueryKey extends Array<unknown>\n ? TQueryKey\n : ReadonlyArray<unknown>\n : ReadonlyArray<unknown>\n\nexport const dataTagSymbol = Symbol('dataTagSymbol')\nexport type dataTagSymbol = typeof dataTagSymbol\nexport const dataTagErrorSymbol = Symbol('dataTagErrorSymbol')\nexport type dataTagErrorSymbol = typeof dataTagErrorSymbol\nexport const unsetMarker = Symbol('unsetMarker')\nexport type UnsetMarker = typeof unsetMarker\nexport type AnyDataTag = {\n [dataTagSymbol]: any\n [dataTagErrorSymbol]: any\n}\nexport type DataTag<\n TType,\n TValue,\n TError = UnsetMarker,\n> = TType extends AnyDataTag\n ? TType\n : TType & {\n [dataTagSymbol]: TValue\n [dataTagErrorSymbol]: TError\n }\n\nexport type QueryKeyWithDataTag<\n TQueryKey extends QueryKey = QueryKey,\n TQueryFnData = unknown,\n TError = DefaultError,\n> = {\n queryKey: DataTag<TQueryKey, TQueryFnData, TError>\n}\n\nexport type InferDataFromTag<TQueryFnData, TTaggedQueryKey extends QueryKey> =\n TTaggedQueryKey extends DataTag<unknown, infer TaggedValue, unknown>\n ? TaggedValue\n : TQueryFnData\n\nexport type InferErrorFromTag<TError, TTaggedQueryKey extends QueryKey> =\n TTaggedQueryKey extends DataTag<unknown, unknown, infer TaggedError>\n ? TaggedError extends UnsetMarker\n ? TError\n : TaggedError\n : TError\n\nexport type QueryFunction<\n T = unknown,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> = (context: QueryFunctionContext<TQueryKey, TPageParam>) => T | Promise<T>\n\nexport type StaleTime = number | 'static'\n\nexport type StaleTimeFunction<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> =\n | StaleTime\n | ((query: Query<TQueryFnData, TError, TData, TQueryKey>) => StaleTime)\n\nexport type QueryBooleanOption<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> =\n | boolean\n | ((query: Query<TQueryFnData, TError, TData, TQueryKey>) => boolean)\n\nexport type QueryPersister<\n T = unknown,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> = [TPageParam] extends [never]\n ? (\n queryFn: QueryFunction<T, TQueryKey, never>,\n context: QueryFunctionContext<TQueryKey>,\n query: Query,\n ) => T | Promise<T>\n : (\n queryFn: QueryFunction<T, TQueryKey, TPageParam>,\n context: QueryFunctionContext<TQueryKey>,\n query: Query,\n ) => T | Promise<T>\n\nexport type QueryFunctionContext<\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> = [TPageParam] extends [never]\n ? {\n client: QueryClient\n queryKey: TQueryKey\n signal: AbortSignal\n meta: QueryMeta | undefined\n pageParam?: unknown\n /**\n * @deprecated\n * if you want access to the direction, you can add it to the pageParam\n */\n direction?: unknown\n }\n : {\n client: QueryClient\n queryKey: TQueryKey\n signal: AbortSignal\n pageParam: TPageParam\n /**\n * @deprecated\n * if you want access to the direction, you can add it to the pageParam\n */\n direction: FetchDirection\n meta: QueryMeta | undefined\n }\n\nexport type InitialDataFunction<T> = () => T | undefined\n\ntype NonFunctionGuard<T> = T extends Function ? never : T\n\nexport type PlaceholderDataFunction<\n TQueryFnData = unknown,\n TError = DefaultError,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = (\n previousData: TQueryData | undefined,\n previousQuery: Query<TQueryFnData, TError, TQueryData, TQueryKey> | undefined,\n) => TQueryData | undefined\n\nexport type QueriesPlaceholderDataFunction<TQueryData> = (\n previousData: undefined,\n previousQuery: undefined,\n) => TQueryData | undefined\n\nexport type QueryKeyHashFunction<TQueryKey extends QueryKey> = (\n queryKey: TQueryKey,\n) => string\n\nexport type GetPreviousPageParamFunction<TPageParam, TQueryFnData = unknown> = (\n firstPage: TQueryFnData,\n allPages: Array<TQueryFnData>,\n firstPageParam: TPageParam,\n allPageParams: Array<TPageParam>,\n) => TPageParam | undefined | null\n\nexport type GetNextPageParamFunction<TPageParam, TQueryFnData = unknown> = (\n lastPage: TQueryFnData,\n allPages: Array<TQueryFnData>,\n lastPageParam: TPageParam,\n allPageParams: Array<TPageParam>,\n) => TPageParam | undefined | null\n\nexport interface InfiniteData<TData, TPageParam = unknown> {\n pages: Array<TData>\n pageParams: Array<TPageParam>\n}\n\nexport type QueryMeta = Register extends {\n queryMeta: infer TQueryMeta\n}\n ? TQueryMeta extends Record<string, unknown>\n ? TQueryMeta\n : Record<string, unknown>\n : Record<string, unknown>\n\nexport type NetworkMode = 'online' | 'always' | 'offlineFirst'\n\nexport type NotifyOnChangeProps =\n | Array<keyof InfiniteQueryObserverResult>\n | 'all'\n | undefined\n | (() => Array<keyof InfiniteQueryObserverResult> | 'all' | undefined)\n\nexport interface QueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> {\n /**\n * If `false`, failed queries will not retry by default.\n * If `true`, failed queries will retry infinitely.\n * If set to an integer number, e.g. 3, failed queries will retry until the failed query count meets that number.\n * If set to a function `(failureCount, error) => boolean` failed queries will retry until the function returns false.\n */\n retry?: RetryValue<TError>\n retryDelay?: RetryDelayValue<TError>\n networkMode?: NetworkMode\n /**\n * The time in milliseconds that unused/inactive cache data remains in memory.\n * When a query's cache becomes unused or inactive, that cache data will be garbage collected after this duration.\n * When different garbage collection times are specified, the longest one will be used.\n * Setting it to `Infinity` will disable garbage collection.\n */\n gcTime?: number\n queryFn?: QueryFunction<TQueryFnData, TQueryKey, TPageParam> | SkipToken\n persister?: QueryPersister<TQueryFnData, NoInfer<TQueryKey>, TPageParam>\n queryHash?: string\n queryKey?: TQueryKey\n queryKeyHashFn?: QueryKeyHashFunction<TQueryKey>\n initialData?: TData | InitialDataFunction<TData>\n initialDataUpdatedAt?: number | (() => number | undefined)\n behavior?: QueryBehavior<TQueryFnData, TError, TData, TQueryKey>\n /**\n * Set this to `false` to disable structural sharing between query results.\n * Set this to a function which accepts the old and new data and returns resolved data of the same type to implement custom structural sharing logic.\n * Defaults to `true`.\n */\n structuralSharing?:\n | boolean\n | ((oldData: unknown | undefined, newData: unknown) => unknown)\n _defaulted?: boolean\n _type?: 'infinite'\n /**\n * Additional payload to be stored on each query.\n * Use this property to pass information that can be used in other places.\n */\n meta?: QueryMeta\n /**\n * Maximum number of pages to store in the data of an infinite query.\n */\n maxPages?: number\n}\n\nexport interface InitialPageParam<TPageParam = unknown> {\n initialPageParam: TPageParam\n}\n\nexport interface InfiniteQueryPageParamsOptions<\n TQueryFnData = unknown,\n TPageParam = unknown,\n> extends InitialPageParam<TPageParam> {\n /**\n * This function can be set to automatically get the previous cursor for infinite queries.\n * The result will also be used to determine the value of `hasPreviousPage`.\n */\n getPreviousPageParam?: GetPreviousPageParamFunction<TPageParam, TQueryFnData>\n /**\n * This function can be set to automatically get the next cursor for infinite queries.\n * The result will also be used to determine the value of `hasNextPage`.\n */\n getNextPageParam: GetNextPageParamFunction<TPageParam, TQueryFnData>\n}\n\nexport type ThrowOnError<\n TQueryFnData,\n TError,\n TQueryData,\n TQueryKey extends QueryKey,\n> =\n | boolean\n | ((\n error: TError,\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n ) => boolean)\n\nexport interface QueryObserverOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> extends WithRequired<\n QueryOptions<TQueryFnData, TError, TQueryData, TQueryKey, TPageParam>,\n 'queryKey'\n> {\n /**\n * Set this to `false` or a function that returns `false` to disable automatic refetching when the query mounts or changes query keys.\n * To refetch the query, use the `refetch` method returned from the `useQuery` instance.\n * Accepts a boolean or function that returns a boolean.\n * Defaults to `true`.\n */\n enabled?: QueryBooleanOption<TQueryFnData, TError, TQueryData, TQueryKey>\n /**\n * The time in milliseconds after data is considered stale.\n * If set to `Infinity`, the data will never be considered stale.\n * If set to a function, the function will be executed with the query to compute a `staleTime`.\n * Defaults to `0`.\n */\n staleTime?: StaleTimeFunction<TQueryFnData, TError, TQueryData, TQueryKey>\n /**\n * If set to a number, the query will continuously refetch at this frequency in milliseconds.\n * If set to a function, the function will be executed with the latest data and query to compute a frequency\n * Defaults to `false`.\n */\n refetchInterval?:\n | number\n | false\n | ((\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n ) => number | false | undefined)\n /**\n * If set to `true`, the query will continue to refetch while their tab/window is in the background.\n * Defaults to `false`.\n */\n refetchIntervalInBackground?: boolean\n /**\n * If set to `true`, the query will refetch on window focus if the data is stale.\n * If set to `false`, the query will not refetch on window focus.\n * If set to `'always'`, the query will always refetch on window focus.\n * If set to a function, the function will be executed with the latest data and query to compute the value.\n * Defaults to `true`.\n */\n refetchOnWindowFocus?:\n | boolean\n | 'always'\n | ((\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n ) => boolean | 'always')\n /**\n * If set to `true`, the query will refetch on reconnect if the data is stale.\n * If set to `false`, the query will not refetch on reconnect.\n * If set to `'always'`, the query will always refetch on reconnect.\n * If set to a function, the function will be executed with the latest data and query to compute the value.\n * Defaults to `true` unless `networkMode` is `'always'`.\n */\n refetchOnReconnect?:\n | boolean\n | 'always'\n | ((\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n ) => boolean | 'always')\n /**\n * If set to `true`, the query will refetch on mount if the data is stale.\n * If set to `false`, will disable additional instances of a query to trigger background refetch.\n * If set to `'always'`, the query will always refetch on mount.\n * If set to a function, the function will be executed with the latest data and query to compute the value\n * Defaults to `true`.\n */\n refetchOnMount?:\n | boolean\n | 'always'\n | ((\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n ) => boolean | 'always')\n /**\n * If set to `false`, the query will not be retried on mount if it contains an error.\n * If set to a function, the function will be executed with the query to compute the value.\n * Defaults to `true`.\n */\n retryOnMount?: QueryBooleanOption<TQueryFnData, TError, TQueryData, TQueryKey>\n /**\n * If set, the component will only re-render if any of the listed properties change.\n * When set to `['data', 'error']`, the component will only re-render when the `data` or `error` properties change.\n * When set to `'all'`, the component will re-render whenever a query is updated.\n * When set to a function, the function will be executed to compute the list of properties.\n * By default, access to properties will be tracked, and the component will only re-render when one of the tracked properties change.\n */\n notifyOnChangeProps?: NotifyOnChangeProps\n /**\n * Whether errors should be thrown instead of setting the `error` property.\n * If set to `true` or `suspense` is `true`, all errors will be thrown to the error boundary.\n * If set to `false` and `suspense` is `false`, errors are returned as state.\n * If set to a function, it will be passed the error and the query, and it should return a boolean indicating whether to show the error in an error boundary (`true`) or return the error as state (`false`).\n * Defaults to `false`.\n */\n throwOnError?: ThrowOnError<TQueryFnData, TError, TQueryData, TQueryKey>\n /**\n * This option can be used to transform or select a part of the data returned by the query function.\n */\n select?: (data: TQueryData) => TData\n /**\n * If set to `true`, the query will suspend when `status === 'pending'`\n * and throw errors when `status === 'error'`.\n * Defaults to `false`.\n */\n suspense?: boolean\n /**\n * If set, this value will be used as the placeholder data for this particular query observer while the query is still in the `loading` data and no initialData has been provided.\n */\n placeholderData?:\n | NonFunctionGuard<TQueryData>\n | PlaceholderDataFunction<\n NonFunctionGuard<TQueryData>,\n TError,\n NonFunctionGuard<TQueryData>,\n TQueryKey\n >\n\n _optimisticResults?: 'optimistic' | 'isRestoring'\n}\n\nexport type WithRequired<TTarget, TKey extends keyof TTarget> = TTarget & {\n [_ in TKey]: {}\n}\n\nexport type DefaultedQueryObserverOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = WithRequired<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>,\n 'throwOnError' | 'refetchOnReconnect' | 'queryHash'\n>\n\nexport interface InfiniteQueryObserverOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>\n extends\n QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n InfiniteData<TQueryFnData, TPageParam>,\n TQueryKey,\n TPageParam\n >,\n InfiniteQueryPageParamsOptions<TQueryFnData, TPageParam> {}\n\nexport type DefaultedInfiniteQueryObserverOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = WithRequired<\n InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n 'throwOnError' | 'refetchOnReconnect' | 'queryHash'\n>\n\nexport interface QueryExecuteOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> extends WithRequired<\n QueryOptions<TQueryFnData, TError, TQueryData, TQueryKey, TPageParam>,\n 'queryKey'\n> {\n initialPageParam?: never\n select?: (data: TQueryData) => TData\n /**\n * The time in milliseconds after data is considered stale.\n * If the data is fresh it will be returned from the cache.\n */\n staleTime?: StaleTimeFunction<TQueryFnData, TError, TQueryData, TQueryKey>\n}\n\n/** @deprecated */\nexport interface FetchQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> extends WithRequired<\n QueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>,\n 'queryKey'\n> {\n initialPageParam?: never\n /**\n * The time in milliseconds after data is considered stale.\n * If the data is fresh it will be returned from the cache.\n */\n staleTime?: StaleTimeFunction<TQueryFnData, TError, TData, TQueryKey>\n}\n\n/** @deprecated */\nexport interface EnsureQueryDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> extends FetchQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n> {\n revalidateIfStale?: boolean\n}\n\n/** @deprecated */\nexport type EnsureInfiniteQueryDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n> & {\n revalidateIfStale?: boolean\n}\n\ntype InfiniteQueryPages<TQueryFnData = unknown, TPageParam = unknown> =\n | { pages?: never }\n | {\n pages: number\n getNextPageParam: GetNextPageParamFunction<TPageParam, TQueryFnData>\n }\n\nexport type InfiniteQueryExecuteOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = Omit<\n QueryExecuteOptions<\n TQueryFnData,\n TError,\n TData,\n InfiniteData<TQueryFnData, TPageParam>,\n TQueryKey,\n TPageParam\n >,\n 'initialPageParam'\n> &\n InitialPageParam<TPageParam> &\n InfiniteQueryPages<TQueryFnData, TPageParam>\n\n/** @deprecated */\nexport type FetchInfiniteQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = Omit<\n FetchQueryOptions<\n TQueryFnData,\n TError,\n InfiniteData<TData, TPageParam>,\n TQueryKey,\n TPageParam\n >,\n 'initialPageParam'\n> &\n InitialPageParam<TPageParam> &\n InfiniteQueryPages<TQueryFnData, TPageParam>\n\nexport interface ResultOptions {\n throwOnError?: boolean\n}\n\nexport interface RefetchOptions extends ResultOptions {\n /**\n * If set to `true`, a currently running request will be cancelled before a new request is made\n *\n * If set to `false`, no refetch will be made if there is already a request running.\n *\n * Defaults to `true`.\n */\n cancelRefetch?: boolean\n}\n\nexport interface InvalidateQueryFilters<\n TQueryKey extends QueryKey = QueryKey,\n> extends QueryFilters<TQueryKey> {\n refetchType?: QueryTypeFilter | 'none'\n}\n\nexport interface RefetchQueryFilters<\n TQueryKey extends QueryKey = QueryKey,\n> extends QueryFilters<TQueryKey> {}\n\nexport interface InvalidateOptions extends RefetchOptions {}\nexport interface ResetOptions extends RefetchOptions {}\n\nexport interface FetchNextPageOptions extends ResultOptions {\n /**\n * If set to `true`, calling `fetchNextPage` repeatedly will invoke `queryFn` every time,\n * whether the previous invocation has resolved or not. Also, the result from previous invocations will be ignored.\n *\n * If set to `false`, calling `fetchNextPage` repeatedly won't have any effect until the first invocation has resolved.\n *\n * Defaults to `true`.\n */\n cancelRefetch?: boolean\n}\n\nexport interface FetchPreviousPageOptions extends ResultOptions {\n /**\n * If set to `true`, calling `fetchPreviousPage` repeatedly will invoke `queryFn` every time,\n * whether the previous invocation has resolved or not. Also, the result from previous invocations will be ignored.\n *\n * If set to `false`, calling `fetchPreviousPage` repeatedly won't have any effect until the first invocation has resolved.\n *\n * Defaults to `true`.\n */\n cancelRefetch?: boolean\n}\n\nexport type QueryStatus = 'pending' | 'error' | 'success'\nexport type FetchStatus = 'fetching' | 'paused' | 'idle'\n\nexport interface QueryObserverBaseResult<\n TData = unknown,\n TError = DefaultError,\n> {\n /**\n * The last successfully resolved data for the query.\n */\n data: TData | undefined\n /**\n * The timestamp for when the query most recently returned the `status` as `\"success\"`.\n */\n dataUpdatedAt: number\n /**\n * The error object for the query, if an error was thrown.\n * - Defaults to `null`.\n */\n error: TError | null\n /**\n * The timestamp for when the query most recently returned the `status` as `\"error\"`.\n */\n errorUpdatedAt: number\n /**\n * The failure count for the query.\n * - Incremented every time the query fails.\n * - Reset to `0` when the query succeeds.\n */\n failureCount: number\n /**\n * The failure reason for the query retry.\n * - Reset to `null` when the query succeeds.\n */\n failureReason: TError | null\n /**\n * The sum of all errors.\n */\n errorUpdateCount: number\n /**\n * A derived boolean from the `status` variable, provided for convenience.\n * - `true` if the query attempt resulted in an error.\n */\n isError: boolean\n /**\n * Will be `true` if the query has been fetched.\n */\n isFetched: boolean\n /**\n * Will be `true` if the query has been fetched after the component mounted.\n * - This property can be used to not show any previously cached data.\n */\n isFetchedAfterMount: boolean\n /**\n * A derived boolean from the `fetchStatus` variable, provided for convenience.\n * - `true` whenever the `queryFn` is executing, which includes initial `pending` as well as background refetch.\n */\n isFetching: boolean\n /**\n * Is `true` whenever the first fetch for a query is in-flight.\n * - Is the same as `isFetching && isPending`.\n */\n isLoading: boolean\n /**\n * Will be `pending` if there's no cached data and no query attempt was finished yet.\n */\n isPending: boolean\n /**\n * Will be `true` if the query failed while fetching for the first time.\n */\n isLoadingError: boolean\n /**\n * @deprecated `isInitialLoading` is being deprecated in favor of `isLoading`\n * and will be removed in the next major version.\n */\n isInitialLoading: boolean\n /**\n * A derived boolean from the `fetchStatus` variable, provided for convenience.\n * - The query wanted to fetch, but has been `paused`.\n */\n isPaused: boolean\n /**\n * Will be `true` if the data shown is the placeholder data.\n */\n isPlaceholderData: boolean\n /**\n * Will be `true` if the query failed while refetching.\n */\n isRefetchError: boolean\n /**\n * Is `true` whenever a background refetch is in-flight, which _does not_ include initial `pending`.\n * - Is the same as `isFetching && !isPending`.\n */\n isRefetching: boolean\n /**\n * Will be `true` if the data in the cache is invalidated or if the data is older than the given `staleTime`.\n */\n isStale: boolean\n /**\n * A derived boolean from the `status` variable, provided for convenience.\n * - `true` if the query has received a response with no errors and is ready to display its data.\n */\n isSuccess: boolean\n /**\n * `true` if this observer is enabled, `false` otherwise.\n */\n isEnabled: boolean\n /**\n * A function to manually refetch the query.\n */\n refetch: (\n options?: RefetchOptions,\n ) => Promise<QueryObserverResult<TData, TError>>\n /**\n * The status of the query.\n * - Will be:\n * - `pending` if there's no cached data and no query attempt was finished yet.\n * - `error` if the query attempt resulted in an error.\n * - `success` if the query has received a response with no errors and is ready to display its data.\n */\n status: QueryStatus\n /**\n * The fetch status of the query.\n * - `fetching`: Is `true` whenever the queryFn is executing, which includes initial `pending` as well as background refetch.\n * - `paused`: The query wanted to fetch, but has been `paused`.\n * - `idle`: The query is not fetching.\n * - See [Network Mode](https://tanstack.com/query/latest/docs/framework/react/guides/network-mode) for more information.\n */\n fetchStatus: FetchStatus\n}\n\nexport interface QueryObserverPendingResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: undefined\n error: null\n isError: false\n isPending: true\n isLoadingError: false\n isRefetchError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'pending'\n}\n\nexport interface QueryObserverLoadingResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: undefined\n error: null\n isError: false\n isPending: true\n isLoading: true\n isLoadingError: false\n isRefetchError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'pending'\n}\n\nexport interface QueryObserverLoadingErrorResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: undefined\n error: TError\n isError: true\n isPending: false\n isLoading: false\n isLoadingError: true\n isRefetchError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'error'\n}\n\nexport interface QueryObserverRefetchErrorResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: TData\n error: TError\n isError: true\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: true\n isSuccess: false\n isPlaceholderData: false\n status: 'error'\n}\n\nexport interface QueryObserverSuccessResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: TData\n error: null\n isError: false\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: false\n isSuccess: true\n isPlaceholderData: false\n status: 'success'\n}\n\nexport interface QueryObserverPlaceholderResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: TData\n isError: false\n error: null\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: false\n isSuccess: true\n isPlaceholderData: true\n status: 'success'\n}\n\nexport type DefinedQueryObserverResult<\n TData = unknown,\n TError = DefaultError,\n> =\n | QueryObserverRefetchErrorResult<TData, TError>\n | QueryObserverSuccessResult<TData, TError>\n\nexport type QueryObserverResult<TData = unknown, TError = DefaultError> =\n | DefinedQueryObserverResult<TData, TError>\n | QueryObserverLoadingErrorResult<TData, TError>\n | QueryObserverLoadingResult<TData, TError>\n | QueryObserverPendingResult<TData, TError>\n | QueryObserverPlaceholderResult<TData, TError>\n\nexport interface InfiniteQueryObserverBaseResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n /**\n * This function allows you to fetch the next \"page\" of results.\n */\n fetchNextPage: (\n options?: FetchNextPageOptions,\n ) => Promise<InfiniteQueryObserverResult<TData, TError>>\n /**\n * This function allows you to fetch the previous \"page\" of results.\n */\n fetchPreviousPage: (\n options?: FetchPreviousPageOptions,\n ) => Promise<InfiniteQueryObserverResult<TData, TError>>\n /**\n * Will be `true` if there is a next page to be fetched (known via the `getNextPageParam` option).\n */\n hasNextPage: boolean\n /**\n * Will be `true` if there is a previous page to be fetched (known via the `getPreviousPageParam` option).\n */\n hasPreviousPage: boolean\n /**\n * Will be `true` if the query failed while fetching the next page.\n */\n isFetchNextPageError: boolean\n /**\n * Will be `true` while fetching the next page with `fetchNextPage`.\n */\n isFetchingNextPage: boolean\n /**\n * Will be `true` if the query failed while fetching the previous page.\n */\n isFetchPreviousPageError: boolean\n /**\n * Will be `true` while fetching the previous page with `fetchPreviousPage`.\n */\n isFetchingPreviousPage: boolean\n}\n\nexport interface InfiniteQueryObserverPendingResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: undefined\n error: null\n isError: false\n isPending: true\n isLoadingError: false\n isRefetchError: false\n isFetchNextPageError: false\n isFetchPreviousPageError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'pending'\n}\n\nexport interface InfiniteQueryObserverLoadingResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: undefined\n error: null\n isError: false\n isPending: true\n isLoading: true\n isLoadingError: false\n isRefetchError: false\n isFetchNextPageError: false\n isFetchPreviousPageError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'pending'\n}\n\nexport interface InfiniteQueryObserverLoadingErrorResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: undefined\n error: TError\n isError: true\n isPending: false\n isLoading: false\n isLoadingError: true\n isRefetchError: false\n isFetchNextPageError: false\n isFetchPreviousPageError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'error'\n}\n\nexport interface InfiniteQueryObserverRefetchErrorResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: TData\n error: TError\n isError: true\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: true\n isSuccess: false\n isPlaceholderData: false\n status: 'error'\n}\n\nexport interface InfiniteQueryObserverSuccessResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: TData\n error: null\n isError: false\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: false\n isFetchNextPageError: false\n isFetchPreviousPageError: false\n isSuccess: true\n isPlaceholderData: false\n status: 'success'\n}\n\nexport interface InfiniteQueryObserverPlaceholderResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: TData\n isError: false\n error: null\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: false\n isSuccess: true\n isPlaceholderData: true\n isFetchNextPageError: false\n isFetchPreviousPageError: false\n status: 'success'\n}\n\nexport type DefinedInfiniteQueryObserverResult<\n TData = unknown,\n TError = DefaultError,\n> =\n | InfiniteQueryObserverRefetchErrorResult<TData, TError>\n | InfiniteQueryObserverSuccessResult<TData, TError>\n\nexport type InfiniteQueryObserverResult<\n TData = unknown,\n TError = DefaultError,\n> =\n | DefinedInfiniteQueryObserverResult<TData, TError>\n | InfiniteQueryObserverLoadingErrorResult<TData, TError>\n | InfiniteQueryObserverLoadingResult<TData, TError>\n | InfiniteQueryObserverPendingResult<TData, TError>\n | InfiniteQueryObserverPlaceholderResult<TData, TError>\n\nexport type MutationKey = Register extends {\n mutationKey: infer TMutationKey\n}\n ? TMutationKey extends ReadonlyArray<unknown>\n ? TMutationKey\n : TMutationKey extends Array<unknown>\n ? TMutationKey\n : ReadonlyArray<unknown>\n : ReadonlyArray<unknown>\n\nexport type MutationStatus = 'idle' | 'pending' | 'success' | 'error'\n\nexport type MutationScope = {\n id: string\n}\n\nexport type MutationMeta = Register extends {\n mutationMeta: infer TMutationMeta\n}\n ? TMutationMeta extends Record<string, unknown>\n ? TMutationMeta\n : Record<string, unknown>\n : Record<string, unknown>\n\nexport type MutationFunctionContext = {\n client: QueryClient\n meta: MutationMeta | undefined\n mutationKey?: MutationKey\n}\n\nexport type MutationFunction<TData = unknown, TVariables = unknown> = (\n variables: TVariables,\n context: MutationFunctionContext,\n) => Promise<TData>\n\nexport interface MutationOptions<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> {\n mutationFn?: MutationFunction<TData, TVariables>\n mutationKey?: MutationKey\n onMutate?: (\n variables: TVariables,\n context: MutationFunctionContext,\n ) => Promise<TOnMutateResult> | TOnMutateResult\n onSuccess?: (\n data: TData,\n variables: TVariables,\n onMutateResult: TOnMutateResult,\n context: MutationFunctionContext,\n ) => Promise<unknown> | unknown\n onError?: (\n error: TError,\n variables: TVariables,\n onMutateResult: TOnMutateResult | undefined,\n context: MutationFunctionContext,\n ) => Promise<unknown> | unknown\n onSettled?: (\n data: TData | undefined,\n error: TError | null,\n variables: TVariables,\n onMutateResult: TOnMutateResult | undefined,\n context: MutationFunctionContext,\n ) => Promise<unknown> | unknown\n retry?: RetryValue<TError>\n retryDelay?: RetryDelayValue<TError>\n networkMode?: NetworkMode\n gcTime?: number\n _defaulted?: boolean\n meta?: MutationMeta\n scope?: MutationScope\n}\n\nexport interface MutationObserverOptions<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationOptions<TData, TError, TVariables, TOnMutateResult> {\n throwOnError?: boolean | ((error: TError) => boolean)\n}\n\nexport interface MutateOptions<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> {\n onSuccess?: (\n data: TData,\n variables: TVariables,\n onMutateResult: TOnMutateResult | undefined,\n context: MutationFunctionContext,\n ) => void\n onError?: (\n error: TError,\n variables: TVariables,\n onMutateResult: TOnMutateResult | undefined,\n context: MutationFunctionContext,\n ) => void\n onSettled?: (\n data: TData | undefined,\n error: TError | null,\n variables: TVariables,\n onMutateResult: TOnMutateResult | undefined,\n context: MutationFunctionContext,\n ) => void\n}\n\nexport type MutateFunctionRest<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> = undefined extends TVariables\n ? [\n variables?: TVariables,\n options?: MutateOptions<TData, TError, TVariables, TOnMutateResult>,\n ]\n : [\n variables: TVariables,\n options?: MutateOptions<TData, TError, TVariables, TOnMutateResult>,\n ]\n\nexport type MutateFunction<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> = (\n ...rest: MutateFunctionRest<TData, TError, TVariables, TOnMutateResult>\n) => Promise<TData>\n\nexport interface MutationObserverBaseResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationState<TData, TError, TVariables, TOnMutateResult> {\n /**\n * The last successfully resolved data for the mutation.\n */\n data: TData | undefined\n /**\n * The variables object passed to the `mutationFn`.\n */\n variables: TVariables | undefined\n /**\n * The error object for the mutation, if an error was encountered.\n * - Defaults to `null`.\n */\n error: TError | null\n /**\n * A boolean variable derived from `status`.\n * - `true` if the last mutation attempt resulted in an error.\n */\n isError: boolean\n /**\n * A boolean variable derived from `status`.\n * - `true` if the mutation is in its initial state prior to executing.\n */\n isIdle: boolean\n /**\n * A boolean variable derived from `status`.\n * - `true` if the mutation is currently executing.\n */\n isPending: boolean\n /**\n * A boolean variable derived from `status`.\n * - `true` if the last mutation attempt was successful.\n */\n isSuccess: boolean\n /**\n * The status of the mutation.\n * - Will be:\n * - `idle` initial status prior to the mutation function executing.\n * - `pending` if the mutation is currently executing.\n * - `error` if the last mutation attempt resulted in an error.\n * - `success` if the last mutation attempt was successful.\n */\n status: MutationStatus\n /**\n * The mutation function you can call with variables to trigger the mutation and optionally hooks on additional callback options.\n * @param variables - The variables object to pass to the `mutationFn`.\n * @param options.onSuccess - This function will fire when the mutation is successful and will be passed the mutation's result.\n * @param options.onError - This function will fire if the mutation encounters an error and will be passed the error.\n * @param options.onSettled - This function will fire when the mutation is either successfully fetched or encounters an error and be passed either the data or error.\n * @remarks\n * - If you make multiple requests, `onSuccess` will fire only after the latest call you've made.\n * - All the callback functions (`onSuccess`, `onError`, `onSettled`) are void functions, and the returned value will be ignored.\n */\n mutate: MutateFunction<TData, TError, TVariables, TOnMutateResult>\n /**\n * A function to clean the mutation internal state (i.e., it resets the mutation to its initial state).\n */\n reset: () => void\n}\n\nexport interface MutationObserverIdleResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationObserverBaseResult<\n TData,\n TError,\n TVariables,\n TOnMutateResult\n> {\n data: undefined\n variables: undefined\n error: null\n isError: false\n isIdle: true\n isPending: false\n isSuccess: false\n status: 'idle'\n}\n\nexport interface MutationObserverLoadingResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationObserverBaseResult<\n TData,\n TError,\n TVariables,\n TOnMutateResult\n> {\n data: undefined\n variables: TVariables\n error: null\n isError: false\n isIdle: false\n isPending: true\n isSuccess: false\n status: 'pending'\n}\n\nexport interface MutationObserverErrorResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationObserverBaseResult<\n TData,\n TError,\n TVariables,\n TOnMutateResult\n> {\n data: undefined\n error: TError\n variables: TVariables\n isError: true\n isIdle: false\n isPending: false\n isSuccess: false\n status: 'error'\n}\n\nexport interface MutationObserverSuccessResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationObserverBaseResult<\n TData,\n TError,\n TVariables,\n TOnMutateResult\n> {\n data: TData\n error: null\n variables: TVariables\n isError: false\n isIdle: false\n isPending: false\n isSuccess: true\n status: 'success'\n}\n\nexport type MutationObserverResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> =\n | MutationObserverIdleResult<TData, TError, TVariables, TOnMutateResult>\n | MutationObserverLoadingResult<TData, TError, TVariables, TOnMutateResult>\n | MutationObserverErrorResult<TData, TError, TVariables, TOnMutateResult>\n | MutationObserverSuccessResult<TData, TError, TVariables, TOnMutateResult>\n\nexport interface QueryClientConfig {\n queryCache?: QueryCache\n mutationCache?: MutationCache\n defaultOptions?: DefaultOptions\n}\n\nexport interface DefaultOptions<TError = DefaultError> {\n queries?: OmitKeyof<\n QueryObserverOptions<unknown, TError>,\n 'suspense' | 'queryKey'\n >\n mutations?: MutationObserverOptions<unknown, TError, unknown, unknown>\n hydrate?: HydrateOptions['defaultOptions']\n dehydrate?: DehydrateOptions\n}\n\nexport interface CancelOptions {\n revert?: boolean\n silent?: boolean\n}\n\nexport interface SetDataOptions {\n updatedAt?: number\n}\n\nexport type NotifyEventType =\n | 'added'\n | 'removed'\n | 'updated'\n | 'observerAdded'\n | 'observerRemoved'\n | 'observerResultsUpdated'\n | 'observerOptionsUpdated'\n\nexport interface NotifyEvent {\n type: NotifyEventType\n}\n"],"mappings":";;AA4DA,MAAa,gBAAgB,OAAO,eAAe;AAEnD,MAAa,qBAAqB,OAAO,oBAAoB;AAE7D,MAAa,cAAc,OAAO,aAAa"} | ||
| {"version":3,"file":"types.js","names":[],"sources":["../../src/types.ts"],"sourcesContent":["/* istanbul ignore file */\n\nimport type { QueryClient } from './queryClient'\nimport type { DehydrateOptions, HydrateOptions } from './hydration'\nimport type { MutationState } from './mutation'\nimport type { FetchDirection, Query, QueryBehavior } from './query'\nimport type { RetryDelayValue, RetryValue } from './retryer'\nimport type { QueryFilters, QueryTypeFilter, SkipToken } from './utils'\nimport type { QueryCache } from './queryCache'\nimport type { MutationCache } from './mutationCache'\n\nexport type NonUndefinedGuard<T> = T extends undefined ? never : T\n\nexport type DistributiveOmit<\n TObject,\n TKey extends keyof TObject,\n> = TObject extends any ? Omit<TObject, TKey> : never\n\nexport type OmitKeyof<\n TObject,\n TKey extends TStrictly extends 'safely'\n ?\n | keyof TObject\n | (string & Record<never, never>)\n | (number & Record<never, never>)\n | (symbol & Record<never, never>)\n : keyof TObject,\n TStrictly extends 'strictly' | 'safely' = 'strictly',\n> = Omit<TObject, TKey>\n\nexport type Override<TTargetA, TTargetB> = {\n [AKey in keyof TTargetA]: AKey extends keyof TTargetB\n ? TTargetB[AKey]\n : TTargetA[AKey]\n}\n\nexport interface Register {\n // defaultError: Error\n // queryMeta: Record<string, unknown>\n // mutationMeta: Record<string, unknown>\n // queryKey: ReadonlyArray<unknown>\n // mutationKey: ReadonlyArray<unknown>\n}\n\nexport type DefaultError = Register extends {\n defaultError: infer TError\n}\n ? TError\n : Error\n\nexport type QueryKey = Register extends {\n queryKey: infer TQueryKey\n}\n ? TQueryKey extends ReadonlyArray<unknown>\n ? TQueryKey\n : TQueryKey extends Array<unknown>\n ? TQueryKey\n : ReadonlyArray<unknown>\n : ReadonlyArray<unknown>\n\nexport const dataTagSymbol = Symbol()\nexport type dataTagSymbol = typeof dataTagSymbol\nexport const dataTagErrorSymbol = Symbol()\nexport type dataTagErrorSymbol = typeof dataTagErrorSymbol\nexport const unsetMarker = Symbol()\nexport type UnsetMarker = typeof unsetMarker\nexport type AnyDataTag = {\n [dataTagSymbol]: any\n [dataTagErrorSymbol]: any\n}\nexport type DataTag<\n TType,\n TValue,\n TError = UnsetMarker,\n> = TType extends AnyDataTag\n ? TType\n : TType & {\n [dataTagSymbol]: TValue\n [dataTagErrorSymbol]: TError\n }\n\nexport type QueryKeyWithDataTag<\n TQueryKey extends QueryKey = QueryKey,\n TQueryFnData = unknown,\n TError = DefaultError,\n> = {\n queryKey: DataTag<TQueryKey, TQueryFnData, TError>\n}\n\nexport type InferDataFromTag<TQueryFnData, TTaggedQueryKey extends QueryKey> =\n TTaggedQueryKey extends DataTag<unknown, infer TaggedValue, unknown>\n ? TaggedValue\n : TQueryFnData\n\nexport type InferErrorFromTag<TError, TTaggedQueryKey extends QueryKey> =\n TTaggedQueryKey extends DataTag<unknown, unknown, infer TaggedError>\n ? TaggedError extends UnsetMarker\n ? TError\n : TaggedError\n : TError\n\nexport type QueryFunction<\n T = unknown,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> = (context: QueryFunctionContext<TQueryKey, TPageParam>) => T | Promise<T>\n\nexport type StaleTime = number | 'static'\n\nexport type StaleTimeFunction<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> =\n | StaleTime\n | ((query: Query<TQueryFnData, TError, TData, TQueryKey>) => StaleTime)\n\nexport type QueryBooleanOption<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> =\n | boolean\n | ((query: Query<TQueryFnData, TError, TData, TQueryKey>) => boolean)\n\nexport type QueryPersister<\n T = unknown,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> = [TPageParam] extends [never]\n ? (\n queryFn: QueryFunction<T, TQueryKey, never>,\n context: QueryFunctionContext<TQueryKey>,\n query: Query,\n ) => T | Promise<T>\n : (\n queryFn: QueryFunction<T, TQueryKey, TPageParam>,\n context: QueryFunctionContext<TQueryKey>,\n query: Query,\n ) => T | Promise<T>\n\nexport type QueryFunctionContext<\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> = [TPageParam] extends [never]\n ? {\n client: QueryClient\n queryKey: TQueryKey\n signal: AbortSignal\n meta: QueryMeta | undefined\n pageParam?: unknown\n /**\n * @deprecated\n * if you want access to the direction, you can add it to the pageParam\n */\n direction?: unknown\n }\n : {\n client: QueryClient\n queryKey: TQueryKey\n signal: AbortSignal\n pageParam: TPageParam\n /**\n * @deprecated\n * if you want access to the direction, you can add it to the pageParam\n */\n direction: FetchDirection\n meta: QueryMeta | undefined\n }\n\nexport type InitialDataFunction<T> = () => T | undefined\n\ntype NonFunctionGuard<T> = T extends Function ? never : T\n\nexport type PlaceholderDataFunction<\n TQueryFnData = unknown,\n TError = DefaultError,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = (\n previousData: TQueryData | undefined,\n previousQuery: Query<TQueryFnData, TError, TQueryData, TQueryKey> | undefined,\n) => TQueryData | undefined\n\nexport type QueriesPlaceholderDataFunction<TQueryData> = (\n previousData: undefined,\n previousQuery: undefined,\n) => TQueryData | undefined\n\nexport type QueryKeyHashFunction<TQueryKey extends QueryKey> = (\n queryKey: TQueryKey,\n) => string\n\nexport type GetPreviousPageParamFunction<TPageParam, TQueryFnData = unknown> = (\n firstPage: TQueryFnData,\n allPages: Array<TQueryFnData>,\n firstPageParam: TPageParam,\n allPageParams: Array<TPageParam>,\n) => TPageParam | undefined | null\n\nexport type GetNextPageParamFunction<TPageParam, TQueryFnData = unknown> = (\n lastPage: TQueryFnData,\n allPages: Array<TQueryFnData>,\n lastPageParam: TPageParam,\n allPageParams: Array<TPageParam>,\n) => TPageParam | undefined | null\n\nexport interface InfiniteData<TData, TPageParam = unknown> {\n pages: Array<TData>\n pageParams: Array<TPageParam>\n}\n\nexport type QueryMeta = Register extends {\n queryMeta: infer TQueryMeta\n}\n ? TQueryMeta extends Record<string, unknown>\n ? TQueryMeta\n : Record<string, unknown>\n : Record<string, unknown>\n\nexport type NetworkMode = 'online' | 'always' | 'offlineFirst'\n\nexport type NotifyOnChangeProps =\n | Array<keyof InfiniteQueryObserverResult>\n | 'all'\n | undefined\n | (() => Array<keyof InfiniteQueryObserverResult> | 'all' | undefined)\n\nexport interface QueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> {\n /**\n * If `false`, failed queries will not retry by default.\n * If `true`, failed queries will retry infinitely.\n * If set to an integer number, e.g. 3, failed queries will retry until the failed query count meets that number.\n * If set to a function `(failureCount, error) => boolean` failed queries will retry until the function returns false.\n */\n retry?: RetryValue<TError>\n retryDelay?: RetryDelayValue<TError>\n networkMode?: NetworkMode\n /**\n * The time in milliseconds that unused/inactive cache data remains in memory.\n * When a query's cache becomes unused or inactive, that cache data will be garbage collected after this duration.\n * When different garbage collection times are specified, the longest one will be used.\n * Setting it to `Infinity` will disable garbage collection.\n */\n gcTime?: number\n queryFn?: QueryFunction<TQueryFnData, TQueryKey, TPageParam> | SkipToken\n persister?: QueryPersister<TQueryFnData, NoInfer<TQueryKey>, TPageParam>\n queryHash?: string\n queryKey?: TQueryKey\n queryKeyHashFn?: QueryKeyHashFunction<TQueryKey>\n initialData?: TData | InitialDataFunction<TData>\n initialDataUpdatedAt?: number | (() => number | undefined)\n behavior?: QueryBehavior<TQueryFnData, TError, TData, TQueryKey>\n /**\n * Set this to `false` to disable structural sharing between query results.\n * Set this to a function which accepts the old and new data and returns resolved data of the same type to implement custom structural sharing logic.\n * Defaults to `true`.\n */\n structuralSharing?:\n | boolean\n | ((oldData: unknown | undefined, newData: unknown) => unknown)\n _defaulted?: boolean\n _type?: 'infinite'\n /**\n * Additional payload to be stored on each query.\n * Use this property to pass information that can be used in other places.\n */\n meta?: QueryMeta\n /**\n * Maximum number of pages to store in the data of an infinite query.\n */\n maxPages?: number\n}\n\nexport interface InitialPageParam<TPageParam = unknown> {\n initialPageParam: TPageParam\n}\n\nexport interface InfiniteQueryPageParamsOptions<\n TQueryFnData = unknown,\n TPageParam = unknown,\n> extends InitialPageParam<TPageParam> {\n /**\n * This function can be set to automatically get the previous cursor for infinite queries.\n * The result will also be used to determine the value of `hasPreviousPage`.\n */\n getPreviousPageParam?: GetPreviousPageParamFunction<TPageParam, TQueryFnData>\n /**\n * This function can be set to automatically get the next cursor for infinite queries.\n * The result will also be used to determine the value of `hasNextPage`.\n */\n getNextPageParam: GetNextPageParamFunction<TPageParam, TQueryFnData>\n}\n\nexport type ThrowOnError<\n TQueryFnData,\n TError,\n TQueryData,\n TQueryKey extends QueryKey,\n> =\n | boolean\n | ((\n error: TError,\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n ) => boolean)\n\nexport interface QueryObserverOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> extends WithRequired<\n QueryOptions<TQueryFnData, TError, TQueryData, TQueryKey, TPageParam>,\n 'queryKey'\n> {\n /**\n * Set this to `false` or a function that returns `false` to disable automatic refetching when the query mounts or changes query keys.\n * To refetch the query, use the `refetch` method returned from the `useQuery` instance.\n * Accepts a boolean or function that returns a boolean.\n * Defaults to `true`.\n */\n enabled?: QueryBooleanOption<TQueryFnData, TError, TQueryData, TQueryKey>\n /**\n * The time in milliseconds after data is considered stale.\n * If set to `Infinity`, the data will never be considered stale.\n * If set to a function, the function will be executed with the query to compute a `staleTime`.\n * Defaults to `0`.\n */\n staleTime?: StaleTimeFunction<TQueryFnData, TError, TQueryData, TQueryKey>\n /**\n * If set to a number, the query will continuously refetch at this frequency in milliseconds.\n * If set to a function, the function will be executed with the latest data and query to compute a frequency\n * Defaults to `false`.\n */\n refetchInterval?:\n | number\n | false\n | ((\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n ) => number | false | undefined)\n /**\n * If set to `true`, the query will continue to refetch while their tab/window is in the background.\n * Defaults to `false`.\n */\n refetchIntervalInBackground?: boolean\n /**\n * If set to `true`, the query will refetch on window focus if the data is stale.\n * If set to `false`, the query will not refetch on window focus.\n * If set to `'always'`, the query will always refetch on window focus.\n * If set to a function, the function will be executed with the latest data and query to compute the value.\n * Defaults to `true`.\n */\n refetchOnWindowFocus?:\n | boolean\n | 'always'\n | ((\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n ) => boolean | 'always')\n /**\n * If set to `true`, the query will refetch on reconnect if the data is stale.\n * If set to `false`, the query will not refetch on reconnect.\n * If set to `'always'`, the query will always refetch on reconnect.\n * If set to a function, the function will be executed with the latest data and query to compute the value.\n * Defaults to `true` unless `networkMode` is `'always'`.\n */\n refetchOnReconnect?:\n | boolean\n | 'always'\n | ((\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n ) => boolean | 'always')\n /**\n * If set to `true`, the query will refetch on mount if the data is stale.\n * If set to `false`, will disable additional instances of a query to trigger background refetch.\n * If set to `'always'`, the query will always refetch on mount.\n * If set to a function, the function will be executed with the latest data and query to compute the value\n * Defaults to `true`.\n */\n refetchOnMount?:\n | boolean\n | 'always'\n | ((\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n ) => boolean | 'always')\n /**\n * If set to `false`, the query will not be retried on mount if it contains an error.\n * If set to a function, the function will be executed with the query to compute the value.\n * Defaults to `true`.\n */\n retryOnMount?: QueryBooleanOption<TQueryFnData, TError, TQueryData, TQueryKey>\n /**\n * If set, the component will only re-render if any of the listed properties change.\n * When set to `['data', 'error']`, the component will only re-render when the `data` or `error` properties change.\n * When set to `'all'`, the component will re-render whenever a query is updated.\n * When set to a function, the function will be executed to compute the list of properties.\n * By default, access to properties will be tracked, and the component will only re-render when one of the tracked properties change.\n */\n notifyOnChangeProps?: NotifyOnChangeProps\n /**\n * Whether errors should be thrown instead of setting the `error` property.\n * If set to `true` or `suspense` is `true`, all errors will be thrown to the error boundary.\n * If set to `false` and `suspense` is `false`, errors are returned as state.\n * If set to a function, it will be passed the error and the query, and it should return a boolean indicating whether to show the error in an error boundary (`true`) or return the error as state (`false`).\n * Defaults to `false`.\n */\n throwOnError?: ThrowOnError<TQueryFnData, TError, TQueryData, TQueryKey>\n /**\n * This option can be used to transform or select a part of the data returned by the query function.\n */\n select?: (data: TQueryData) => TData\n /**\n * If set to `true`, the query will suspend when `status === 'pending'`\n * and throw errors when `status === 'error'`.\n * Defaults to `false`.\n */\n suspense?: boolean\n /**\n * If set, this value will be used as the placeholder data for this particular query observer while the query is still in the `loading` data and no initialData has been provided.\n */\n placeholderData?:\n | NonFunctionGuard<TQueryData>\n | PlaceholderDataFunction<\n NonFunctionGuard<TQueryData>,\n TError,\n NonFunctionGuard<TQueryData>,\n TQueryKey\n >\n\n _optimisticResults?: 'optimistic' | 'isRestoring'\n}\n\nexport type WithRequired<TTarget, TKey extends keyof TTarget> = TTarget & {\n [_ in TKey]: {}\n}\n\nexport type DefaultedQueryObserverOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = WithRequired<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>,\n 'throwOnError' | 'refetchOnReconnect' | 'queryHash'\n>\n\nexport interface InfiniteQueryObserverOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>\n extends\n QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n InfiniteData<TQueryFnData, TPageParam>,\n TQueryKey,\n TPageParam\n >,\n InfiniteQueryPageParamsOptions<TQueryFnData, TPageParam> {}\n\nexport type DefaultedInfiniteQueryObserverOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = WithRequired<\n InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n 'throwOnError' | 'refetchOnReconnect' | 'queryHash'\n>\n\nexport interface QueryExecuteOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> extends WithRequired<\n QueryOptions<TQueryFnData, TError, TQueryData, TQueryKey, TPageParam>,\n 'queryKey'\n> {\n initialPageParam?: never\n select?: (data: TQueryData) => TData\n /**\n * The time in milliseconds after data is considered stale.\n * If the data is fresh it will be returned from the cache.\n */\n staleTime?: StaleTimeFunction<TQueryFnData, TError, TQueryData, TQueryKey>\n}\n\n/** @deprecated */\nexport interface FetchQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> extends WithRequired<\n QueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>,\n 'queryKey'\n> {\n initialPageParam?: never\n /**\n * The time in milliseconds after data is considered stale.\n * If the data is fresh it will be returned from the cache.\n */\n staleTime?: StaleTimeFunction<TQueryFnData, TError, TData, TQueryKey>\n}\n\n/** @deprecated */\nexport interface EnsureQueryDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> extends FetchQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n> {\n revalidateIfStale?: boolean\n}\n\n/** @deprecated */\nexport type EnsureInfiniteQueryDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n> & {\n revalidateIfStale?: boolean\n}\n\ntype InfiniteQueryPages<TQueryFnData = unknown, TPageParam = unknown> =\n | { pages?: never }\n | {\n pages: number\n getNextPageParam: GetNextPageParamFunction<TPageParam, TQueryFnData>\n }\n\nexport type InfiniteQueryExecuteOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = Omit<\n QueryExecuteOptions<\n TQueryFnData,\n TError,\n TData,\n InfiniteData<TQueryFnData, TPageParam>,\n TQueryKey,\n TPageParam\n >,\n 'initialPageParam'\n> &\n InitialPageParam<TPageParam> &\n InfiniteQueryPages<TQueryFnData, TPageParam>\n\n/** @deprecated */\nexport type FetchInfiniteQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = Omit<\n FetchQueryOptions<\n TQueryFnData,\n TError,\n InfiniteData<TData, TPageParam>,\n TQueryKey,\n TPageParam\n >,\n 'initialPageParam'\n> &\n InitialPageParam<TPageParam> &\n InfiniteQueryPages<TQueryFnData, TPageParam>\n\nexport interface ResultOptions {\n throwOnError?: boolean\n}\n\nexport interface RefetchOptions extends ResultOptions {\n /**\n * If set to `true`, a currently running request will be cancelled before a new request is made\n *\n * If set to `false`, no refetch will be made if there is already a request running.\n *\n * Defaults to `true`.\n */\n cancelRefetch?: boolean\n}\n\nexport interface InvalidateQueryFilters<\n TQueryKey extends QueryKey = QueryKey,\n> extends QueryFilters<TQueryKey> {\n refetchType?: QueryTypeFilter | 'none'\n}\n\nexport interface RefetchQueryFilters<\n TQueryKey extends QueryKey = QueryKey,\n> extends QueryFilters<TQueryKey> {}\n\nexport interface InvalidateOptions extends RefetchOptions {}\nexport interface ResetOptions extends RefetchOptions {}\n\nexport interface FetchNextPageOptions extends ResultOptions {\n /**\n * If set to `true`, calling `fetchNextPage` repeatedly will invoke `queryFn` every time,\n * whether the previous invocation has resolved or not. Also, the result from previous invocations will be ignored.\n *\n * If set to `false`, calling `fetchNextPage` repeatedly won't have any effect until the first invocation has resolved.\n *\n * Defaults to `true`.\n */\n cancelRefetch?: boolean\n}\n\nexport interface FetchPreviousPageOptions extends ResultOptions {\n /**\n * If set to `true`, calling `fetchPreviousPage` repeatedly will invoke `queryFn` every time,\n * whether the previous invocation has resolved or not. Also, the result from previous invocations will be ignored.\n *\n * If set to `false`, calling `fetchPreviousPage` repeatedly won't have any effect until the first invocation has resolved.\n *\n * Defaults to `true`.\n */\n cancelRefetch?: boolean\n}\n\nexport type QueryStatus = 'pending' | 'error' | 'success'\nexport type FetchStatus = 'fetching' | 'paused' | 'idle'\n\nexport interface QueryObserverBaseResult<\n TData = unknown,\n TError = DefaultError,\n> {\n /**\n * The last successfully resolved data for the query.\n */\n data: TData | undefined\n /**\n * The timestamp for when the query most recently returned the `status` as `\"success\"`.\n */\n dataUpdatedAt: number\n /**\n * The error object for the query, if an error was thrown.\n * - Defaults to `null`.\n */\n error: TError | null\n /**\n * The timestamp for when the query most recently returned the `status` as `\"error\"`.\n */\n errorUpdatedAt: number\n /**\n * The failure count for the query.\n * - Incremented every time the query fails.\n * - Reset to `0` when the query succeeds.\n */\n failureCount: number\n /**\n * The failure reason for the query retry.\n * - Reset to `null` when the query succeeds.\n */\n failureReason: TError | null\n /**\n * The sum of all errors.\n */\n errorUpdateCount: number\n /**\n * A derived boolean from the `status` variable, provided for convenience.\n * - `true` if the query attempt resulted in an error.\n */\n isError: boolean\n /**\n * Will be `true` if the query has been fetched.\n */\n isFetched: boolean\n /**\n * Will be `true` if the query has been fetched after the component mounted.\n * - This property can be used to not show any previously cached data.\n */\n isFetchedAfterMount: boolean\n /**\n * A derived boolean from the `fetchStatus` variable, provided for convenience.\n * - `true` whenever the `queryFn` is executing, which includes initial `pending` as well as background refetch.\n */\n isFetching: boolean\n /**\n * Is `true` whenever the first fetch for a query is in-flight.\n * - Is the same as `isFetching && isPending`.\n */\n isLoading: boolean\n /**\n * Will be `pending` if there's no cached data and no query attempt was finished yet.\n */\n isPending: boolean\n /**\n * Will be `true` if the query failed while fetching for the first time.\n */\n isLoadingError: boolean\n /**\n * @deprecated `isInitialLoading` is being deprecated in favor of `isLoading`\n * and will be removed in the next major version.\n */\n isInitialLoading: boolean\n /**\n * A derived boolean from the `fetchStatus` variable, provided for convenience.\n * - The query wanted to fetch, but has been `paused`.\n */\n isPaused: boolean\n /**\n * Will be `true` if the data shown is the placeholder data.\n */\n isPlaceholderData: boolean\n /**\n * Will be `true` if the query failed while refetching.\n */\n isRefetchError: boolean\n /**\n * Is `true` whenever a background refetch is in-flight, which _does not_ include initial `pending`.\n * - Is the same as `isFetching && !isPending`.\n */\n isRefetching: boolean\n /**\n * Will be `true` if the data in the cache is invalidated or if the data is older than the given `staleTime`.\n */\n isStale: boolean\n /**\n * A derived boolean from the `status` variable, provided for convenience.\n * - `true` if the query has received a response with no errors and is ready to display its data.\n */\n isSuccess: boolean\n /**\n * `true` if this observer is enabled, `false` otherwise.\n */\n isEnabled: boolean\n /**\n * A function to manually refetch the query.\n */\n refetch: (\n options?: RefetchOptions,\n ) => Promise<QueryObserverResult<TData, TError>>\n /**\n * The status of the query.\n * - Will be:\n * - `pending` if there's no cached data and no query attempt was finished yet.\n * - `error` if the query attempt resulted in an error.\n * - `success` if the query has received a response with no errors and is ready to display its data.\n */\n status: QueryStatus\n /**\n * The fetch status of the query.\n * - `fetching`: Is `true` whenever the queryFn is executing, which includes initial `pending` as well as background refetch.\n * - `paused`: The query wanted to fetch, but has been `paused`.\n * - `idle`: The query is not fetching.\n * - See [Network Mode](https://tanstack.com/query/latest/docs/framework/react/guides/network-mode) for more information.\n */\n fetchStatus: FetchStatus\n}\n\nexport interface QueryObserverPendingResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: undefined\n error: null\n isError: false\n isPending: true\n isLoadingError: false\n isRefetchError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'pending'\n}\n\nexport interface QueryObserverLoadingResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: undefined\n error: null\n isError: false\n isPending: true\n isLoading: true\n isLoadingError: false\n isRefetchError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'pending'\n}\n\nexport interface QueryObserverLoadingErrorResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: undefined\n error: TError\n isError: true\n isPending: false\n isLoading: false\n isLoadingError: true\n isRefetchError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'error'\n}\n\nexport interface QueryObserverRefetchErrorResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: TData\n error: TError\n isError: true\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: true\n isSuccess: false\n isPlaceholderData: false\n status: 'error'\n}\n\nexport interface QueryObserverSuccessResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: TData\n error: null\n isError: false\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: false\n isSuccess: true\n isPlaceholderData: false\n status: 'success'\n}\n\nexport interface QueryObserverPlaceholderResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: TData\n isError: false\n error: null\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: false\n isSuccess: true\n isPlaceholderData: true\n status: 'success'\n}\n\nexport type DefinedQueryObserverResult<\n TData = unknown,\n TError = DefaultError,\n> =\n | QueryObserverRefetchErrorResult<TData, TError>\n | QueryObserverSuccessResult<TData, TError>\n\nexport type QueryObserverResult<TData = unknown, TError = DefaultError> =\n | DefinedQueryObserverResult<TData, TError>\n | QueryObserverLoadingErrorResult<TData, TError>\n | QueryObserverLoadingResult<TData, TError>\n | QueryObserverPendingResult<TData, TError>\n | QueryObserverPlaceholderResult<TData, TError>\n\nexport interface InfiniteQueryObserverBaseResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n /**\n * This function allows you to fetch the next \"page\" of results.\n */\n fetchNextPage: (\n options?: FetchNextPageOptions,\n ) => Promise<InfiniteQueryObserverResult<TData, TError>>\n /**\n * This function allows you to fetch the previous \"page\" of results.\n */\n fetchPreviousPage: (\n options?: FetchPreviousPageOptions,\n ) => Promise<InfiniteQueryObserverResult<TData, TError>>\n /**\n * Will be `true` if there is a next page to be fetched (known via the `getNextPageParam` option).\n */\n hasNextPage: boolean\n /**\n * Will be `true` if there is a previous page to be fetched (known via the `getPreviousPageParam` option).\n */\n hasPreviousPage: boolean\n /**\n * Will be `true` if the query failed while fetching the next page.\n */\n isFetchNextPageError: boolean\n /**\n * Will be `true` while fetching the next page with `fetchNextPage`.\n */\n isFetchingNextPage: boolean\n /**\n * Will be `true` if the query failed while fetching the previous page.\n */\n isFetchPreviousPageError: boolean\n /**\n * Will be `true` while fetching the previous page with `fetchPreviousPage`.\n */\n isFetchingPreviousPage: boolean\n}\n\nexport interface InfiniteQueryObserverPendingResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: undefined\n error: null\n isError: false\n isPending: true\n isLoadingError: false\n isRefetchError: false\n isFetchNextPageError: false\n isFetchPreviousPageError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'pending'\n}\n\nexport interface InfiniteQueryObserverLoadingResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: undefined\n error: null\n isError: false\n isPending: true\n isLoading: true\n isLoadingError: false\n isRefetchError: false\n isFetchNextPageError: false\n isFetchPreviousPageError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'pending'\n}\n\nexport interface InfiniteQueryObserverLoadingErrorResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: undefined\n error: TError\n isError: true\n isPending: false\n isLoading: false\n isLoadingError: true\n isRefetchError: false\n isFetchNextPageError: false\n isFetchPreviousPageError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'error'\n}\n\nexport interface InfiniteQueryObserverRefetchErrorResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: TData\n error: TError\n isError: true\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: true\n isSuccess: false\n isPlaceholderData: false\n status: 'error'\n}\n\nexport interface InfiniteQueryObserverSuccessResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: TData\n error: null\n isError: false\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: false\n isFetchNextPageError: false\n isFetchPreviousPageError: false\n isSuccess: true\n isPlaceholderData: false\n status: 'success'\n}\n\nexport interface InfiniteQueryObserverPlaceholderResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: TData\n isError: false\n error: null\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: false\n isSuccess: true\n isPlaceholderData: true\n isFetchNextPageError: false\n isFetchPreviousPageError: false\n status: 'success'\n}\n\nexport type DefinedInfiniteQueryObserverResult<\n TData = unknown,\n TError = DefaultError,\n> =\n | InfiniteQueryObserverRefetchErrorResult<TData, TError>\n | InfiniteQueryObserverSuccessResult<TData, TError>\n\nexport type InfiniteQueryObserverResult<\n TData = unknown,\n TError = DefaultError,\n> =\n | DefinedInfiniteQueryObserverResult<TData, TError>\n | InfiniteQueryObserverLoadingErrorResult<TData, TError>\n | InfiniteQueryObserverLoadingResult<TData, TError>\n | InfiniteQueryObserverPendingResult<TData, TError>\n | InfiniteQueryObserverPlaceholderResult<TData, TError>\n\nexport type MutationKey = Register extends {\n mutationKey: infer TMutationKey\n}\n ? TMutationKey extends ReadonlyArray<unknown>\n ? TMutationKey\n : TMutationKey extends Array<unknown>\n ? TMutationKey\n : ReadonlyArray<unknown>\n : ReadonlyArray<unknown>\n\nexport type MutationStatus = 'idle' | 'pending' | 'success' | 'error'\n\nexport type MutationScope = {\n id: string\n}\n\nexport type MutationMeta = Register extends {\n mutationMeta: infer TMutationMeta\n}\n ? TMutationMeta extends Record<string, unknown>\n ? TMutationMeta\n : Record<string, unknown>\n : Record<string, unknown>\n\nexport type MutationFunctionContext = {\n client: QueryClient\n meta: MutationMeta | undefined\n mutationKey?: MutationKey\n}\n\nexport type MutationFunction<TData = unknown, TVariables = unknown> = (\n variables: TVariables,\n context: MutationFunctionContext,\n) => Promise<TData>\n\nexport interface MutationOptions<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> {\n mutationFn?: MutationFunction<TData, TVariables>\n mutationKey?: MutationKey\n onMutate?: (\n variables: TVariables,\n context: MutationFunctionContext,\n ) => Promise<TOnMutateResult> | TOnMutateResult\n onSuccess?: (\n data: TData,\n variables: TVariables,\n onMutateResult: TOnMutateResult,\n context: MutationFunctionContext,\n ) => Promise<unknown> | unknown\n onError?: (\n error: TError,\n variables: TVariables,\n onMutateResult: TOnMutateResult | undefined,\n context: MutationFunctionContext,\n ) => Promise<unknown> | unknown\n onSettled?: (\n data: TData | undefined,\n error: TError | null,\n variables: TVariables,\n onMutateResult: TOnMutateResult | undefined,\n context: MutationFunctionContext,\n ) => Promise<unknown> | unknown\n retry?: RetryValue<TError>\n retryDelay?: RetryDelayValue<TError>\n networkMode?: NetworkMode\n gcTime?: number\n _defaulted?: boolean\n meta?: MutationMeta\n scope?: MutationScope\n}\n\nexport interface MutationObserverOptions<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationOptions<TData, TError, TVariables, TOnMutateResult> {\n throwOnError?: boolean | ((error: TError) => boolean)\n}\n\nexport interface MutateOptions<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> {\n onSuccess?: (\n data: TData,\n variables: TVariables,\n onMutateResult: TOnMutateResult | undefined,\n context: MutationFunctionContext,\n ) => void\n onError?: (\n error: TError,\n variables: TVariables,\n onMutateResult: TOnMutateResult | undefined,\n context: MutationFunctionContext,\n ) => void\n onSettled?: (\n data: TData | undefined,\n error: TError | null,\n variables: TVariables,\n onMutateResult: TOnMutateResult | undefined,\n context: MutationFunctionContext,\n ) => void\n}\n\nexport type MutateFunctionRest<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> = undefined extends TVariables\n ? [\n variables?: TVariables,\n options?: MutateOptions<TData, TError, TVariables, TOnMutateResult>,\n ]\n : [\n variables: TVariables,\n options?: MutateOptions<TData, TError, TVariables, TOnMutateResult>,\n ]\n\nexport type MutateFunction<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> = (\n ...rest: MutateFunctionRest<TData, TError, TVariables, TOnMutateResult>\n) => Promise<TData>\n\nexport interface MutationObserverBaseResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationState<TData, TError, TVariables, TOnMutateResult> {\n /**\n * The last successfully resolved data for the mutation.\n */\n data: TData | undefined\n /**\n * The variables object passed to the `mutationFn`.\n */\n variables: TVariables | undefined\n /**\n * The error object for the mutation, if an error was encountered.\n * - Defaults to `null`.\n */\n error: TError | null\n /**\n * A boolean variable derived from `status`.\n * - `true` if the last mutation attempt resulted in an error.\n */\n isError: boolean\n /**\n * A boolean variable derived from `status`.\n * - `true` if the mutation is in its initial state prior to executing.\n */\n isIdle: boolean\n /**\n * A boolean variable derived from `status`.\n * - `true` if the mutation is currently executing.\n */\n isPending: boolean\n /**\n * A boolean variable derived from `status`.\n * - `true` if the last mutation attempt was successful.\n */\n isSuccess: boolean\n /**\n * The status of the mutation.\n * - Will be:\n * - `idle` initial status prior to the mutation function executing.\n * - `pending` if the mutation is currently executing.\n * - `error` if the last mutation attempt resulted in an error.\n * - `success` if the last mutation attempt was successful.\n */\n status: MutationStatus\n /**\n * The mutation function you can call with variables to trigger the mutation and optionally hooks on additional callback options.\n * @param variables - The variables object to pass to the `mutationFn`.\n * @param options.onSuccess - This function will fire when the mutation is successful and will be passed the mutation's result.\n * @param options.onError - This function will fire if the mutation encounters an error and will be passed the error.\n * @param options.onSettled - This function will fire when the mutation is either successfully fetched or encounters an error and be passed either the data or error.\n * @remarks\n * - If you make multiple requests, `onSuccess` will fire only after the latest call you've made.\n * - All the callback functions (`onSuccess`, `onError`, `onSettled`) are void functions, and the returned value will be ignored.\n */\n mutate: MutateFunction<TData, TError, TVariables, TOnMutateResult>\n /**\n * A function to clean the mutation internal state (i.e., it resets the mutation to its initial state).\n */\n reset: () => void\n}\n\nexport interface MutationObserverIdleResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationObserverBaseResult<\n TData,\n TError,\n TVariables,\n TOnMutateResult\n> {\n data: undefined\n variables: undefined\n error: null\n isError: false\n isIdle: true\n isPending: false\n isSuccess: false\n status: 'idle'\n}\n\nexport interface MutationObserverLoadingResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationObserverBaseResult<\n TData,\n TError,\n TVariables,\n TOnMutateResult\n> {\n data: undefined\n variables: TVariables\n error: null\n isError: false\n isIdle: false\n isPending: true\n isSuccess: false\n status: 'pending'\n}\n\nexport interface MutationObserverErrorResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationObserverBaseResult<\n TData,\n TError,\n TVariables,\n TOnMutateResult\n> {\n data: undefined\n error: TError\n variables: TVariables\n isError: true\n isIdle: false\n isPending: false\n isSuccess: false\n status: 'error'\n}\n\nexport interface MutationObserverSuccessResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationObserverBaseResult<\n TData,\n TError,\n TVariables,\n TOnMutateResult\n> {\n data: TData\n error: null\n variables: TVariables\n isError: false\n isIdle: false\n isPending: false\n isSuccess: true\n status: 'success'\n}\n\nexport type MutationObserverResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> =\n | MutationObserverIdleResult<TData, TError, TVariables, TOnMutateResult>\n | MutationObserverLoadingResult<TData, TError, TVariables, TOnMutateResult>\n | MutationObserverErrorResult<TData, TError, TVariables, TOnMutateResult>\n | MutationObserverSuccessResult<TData, TError, TVariables, TOnMutateResult>\n\nexport interface QueryClientConfig {\n queryCache?: QueryCache\n mutationCache?: MutationCache\n defaultOptions?: DefaultOptions\n}\n\nexport interface DefaultOptions<TError = DefaultError> {\n queries?: OmitKeyof<\n QueryObserverOptions<unknown, TError>,\n 'suspense' | 'queryKey'\n >\n mutations?: MutationObserverOptions<unknown, TError, unknown, unknown>\n hydrate?: HydrateOptions['defaultOptions']\n dehydrate?: DehydrateOptions\n}\n\nexport interface CancelOptions {\n revert?: boolean\n silent?: boolean\n}\n\nexport interface SetDataOptions {\n updatedAt?: number\n}\n\nexport type NotifyEventType =\n | 'added'\n | 'removed'\n | 'updated'\n | 'observerAdded'\n | 'observerRemoved'\n | 'observerResultsUpdated'\n | 'observerOptionsUpdated'\n\nexport interface NotifyEvent {\n type: NotifyEventType\n}\n"],"mappings":";;AA4DA,MAAa,gBAAgB,OAAO;AAEpC,MAAa,qBAAqB,OAAO;AAEzC,MAAa,cAAc,OAAO"} |
@@ -18,8 +18,5 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); | ||
| } | ||
| function resolveStaleTime(staleTime, query) { | ||
| return typeof staleTime === "function" ? staleTime(query) : staleTime; | ||
| function resolveQueryValue(value, query) { | ||
| return typeof value === "function" ? value(query) : value; | ||
| } | ||
| function resolveQueryBoolean(option, query) { | ||
| return typeof option === "function" ? option(query) : option; | ||
| } | ||
| function matchQuery(filters, query) { | ||
@@ -212,4 +209,3 @@ const { type = "all", exact, fetchStatus, predicate, queryKey, stale } = filters; | ||
| exports.replaceEqualDeep = replaceEqualDeep; | ||
| exports.resolveQueryBoolean = resolveQueryBoolean; | ||
| exports.resolveStaleTime = resolveStaleTime; | ||
| exports.resolveQueryValue = resolveQueryValue; | ||
| exports.shallowEqualObjects = shallowEqualObjects; | ||
@@ -216,0 +212,0 @@ exports.shouldThrowError = shouldThrowError; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"utils.cjs","names":[],"sources":["../../src/utils.ts"],"sourcesContent":["import { timeoutManager } from './timeoutManager'\nimport type {\n DefaultError,\n FetchStatus,\n MutationKey,\n MutationStatus,\n QueryBooleanOption,\n QueryFunction,\n QueryKey,\n QueryOptions,\n StaleTime,\n StaleTimeFunction,\n} from './types'\nimport type { Mutation } from './mutation'\nimport type { FetchOptions, Query } from './query'\n\n// TYPES\n\ntype DropLast<T extends ReadonlyArray<unknown>> = T extends readonly [\n ...infer R,\n unknown,\n]\n ? readonly [...R]\n : never\n\ntype TuplePrefixes<T extends ReadonlyArray<unknown>> = T extends readonly []\n ? readonly []\n : TuplePrefixes<DropLast<T>> | T\n\nexport interface QueryFilters<TQueryKey extends QueryKey = QueryKey> {\n /**\n * Filter to active queries, inactive queries or all queries\n */\n type?: QueryTypeFilter\n /**\n * Match query key exactly\n */\n exact?: boolean\n /**\n * Include queries matching this predicate function\n */\n predicate?: (query: Query) => boolean\n /**\n * Include queries matching this query key\n */\n queryKey?: TQueryKey | TuplePrefixes<TQueryKey>\n /**\n * Include or exclude stale queries\n */\n stale?: boolean\n /**\n * Include queries matching their fetchStatus\n */\n fetchStatus?: FetchStatus\n}\n\nexport interface MutationFilters<\n TData = unknown,\n TError = DefaultError,\n TVariables = unknown,\n TOnMutateResult = unknown,\n> {\n /**\n * Match mutation key exactly\n */\n exact?: boolean\n /**\n * Include mutations matching this predicate function\n */\n predicate?: (\n mutation: Mutation<TData, TError, TVariables, TOnMutateResult>,\n ) => boolean\n /**\n * Include mutations matching this mutation key\n */\n mutationKey?: TuplePrefixes<MutationKey>\n /**\n * Filter by mutation status\n */\n status?: MutationStatus\n}\n\nexport type Updater<TInput, TOutput> = TOutput | ((input: TInput) => TOutput)\n\nexport type QueryTypeFilter = 'all' | 'active' | 'inactive'\n\n// UTILS\n\n/** @deprecated\n * use `environmentManager.isServer()` instead.\n */\nexport const isServer = typeof window === 'undefined' || 'Deno' in globalThis\n\nexport function noop(): void\nexport function noop(): undefined\nexport function noop() {}\n\nexport function functionalUpdate<TInput, TOutput>(\n updater: Updater<TInput, TOutput>,\n input: TInput,\n): TOutput {\n return typeof updater === 'function'\n ? (updater as (_: TInput) => TOutput)(input)\n : updater\n}\n\nexport function isValidTimeout(value: unknown): value is number {\n return typeof value === 'number' && value >= 0 && value !== Infinity\n}\n\nexport function timeUntilStale(updatedAt: number, staleTime?: number): number {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0)\n}\n\nexport function resolveStaleTime<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n staleTime:\n | undefined\n | StaleTimeFunction<TQueryFnData, TError, TData, TQueryKey>,\n query: Query<TQueryFnData, TError, TData, TQueryKey>,\n): StaleTime | undefined {\n return typeof staleTime === 'function' ? staleTime(query) : staleTime\n}\n\nexport function resolveQueryBoolean<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n option:\n | undefined\n | QueryBooleanOption<TQueryFnData, TError, TData, TQueryKey>,\n query: Query<TQueryFnData, TError, TData, TQueryKey>,\n): boolean | undefined {\n return typeof option === 'function' ? option(query) : option\n}\n\nexport function matchQuery(\n filters: QueryFilters,\n query: Query<any, any, any, any>,\n): boolean {\n const {\n type = 'all',\n exact,\n fetchStatus,\n predicate,\n queryKey,\n stale,\n } = filters\n\n if (queryKey) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false\n }\n }\n\n if (type !== 'all') {\n const isActive = query.isActive()\n if (type === 'active' && !isActive) {\n return false\n }\n if (type === 'inactive' && isActive) {\n return false\n }\n }\n\n if (typeof stale === 'boolean' && query.isStale() !== stale) {\n return false\n }\n\n if (fetchStatus && fetchStatus !== query.state.fetchStatus) {\n return false\n }\n\n if (predicate && !predicate(query)) {\n return false\n }\n\n return true\n}\n\nexport function matchMutation(\n filters: MutationFilters,\n mutation: Mutation<any, any>,\n): boolean {\n const { exact, status, predicate, mutationKey } = filters\n if (mutationKey) {\n if (!mutation.options.mutationKey) {\n return false\n }\n if (exact) {\n if (hashKey(mutation.options.mutationKey) !== hashKey(mutationKey)) {\n return false\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false\n }\n }\n\n if (status && mutation.state.status !== status) {\n return false\n }\n\n if (predicate && !predicate(mutation)) {\n return false\n }\n\n return true\n}\n\nexport function hashQueryKeyByOptions<TQueryKey extends QueryKey = QueryKey>(\n queryKey: TQueryKey,\n options?: Pick<QueryOptions<any, any, any, any>, 'queryKeyHashFn'>,\n): string {\n const hashFn = options?.queryKeyHashFn || hashKey\n return hashFn(queryKey)\n}\n\n/**\n * Default query & mutation keys hash function.\n * Hashes the value into a stable hash.\n */\nexport function hashKey(queryKey: QueryKey | MutationKey): string {\n return JSON.stringify(queryKey, (_, val) =>\n isPlainObject(val)\n ? Object.keys(val)\n .sort()\n .reduce((result, key) => {\n result[key] = val[key]\n return result\n }, {} as any)\n : val,\n )\n}\n\n/**\n * Checks if key `b` partially matches with key `a`.\n */\nexport function partialMatchKey(a: QueryKey, b: QueryKey): boolean\nexport function partialMatchKey(a: any, b: any): boolean {\n if (a === b) {\n return true\n }\n\n if (typeof a !== typeof b) {\n return false\n }\n\n if (a && b && typeof a === 'object' && typeof b === 'object') {\n if (Array.isArray(a) && Array.isArray(b)) {\n for (let i = 0; i < b.length; i++) {\n if (!partialMatchKey(a[i], b[i])) {\n return false\n }\n }\n return true\n }\n\n const bKeys = Object.keys(b)\n for (const key of bKeys) {\n if (!partialMatchKey(a[key], b[key])) {\n return false\n }\n }\n return true\n }\n\n return false\n}\n\nconst hasOwn = Object.prototype.hasOwnProperty\n\n/**\n * This function returns `a` if `b` is deeply equal.\n * If not, it will replace any deeply equal children of `b` with those of `a`.\n * This can be used for structural sharing between JSON values for example.\n */\nexport function replaceEqualDeep<T>(a: unknown, b: T, depth?: number): T\nexport function replaceEqualDeep(a: any, b: any, depth = 0): any {\n if (a === b) {\n return a\n }\n\n if (depth > 500) return b\n\n const array = isPlainArray(a) && isPlainArray(b)\n\n if (!array && !(isPlainObject(a) && isPlainObject(b))) return b\n\n const aItems = array ? a : Object.keys(a)\n const aSize = aItems.length\n const bItems = array ? b : Object.keys(b)\n const bSize = bItems.length\n const copy: any = array ? new Array(bSize) : {}\n\n let equalItems = 0\n\n for (let i = 0; i < bSize; i++) {\n const key: any = array ? i : bItems[i]\n const aItem = a[key]\n const bItem = b[key]\n\n if (aItem === bItem) {\n copy[key] = aItem\n if (array ? i < aSize : hasOwn.call(a, key)) equalItems++\n continue\n }\n\n if (\n aItem === null ||\n bItem === null ||\n typeof aItem !== 'object' ||\n typeof bItem !== 'object'\n ) {\n copy[key] = bItem\n continue\n }\n\n const v = replaceEqualDeep(aItem, bItem, depth + 1)\n copy[key] = v\n if (v === aItem) equalItems++\n }\n\n return aSize === bSize && equalItems === aSize ? a : copy\n}\n\n/**\n * Shallow compare objects.\n */\nexport function shallowEqualObjects<T extends Record<string, any>>(\n a: T,\n b: T | undefined,\n): boolean {\n if (!b || Object.keys(a).length !== Object.keys(b).length) {\n return false\n }\n\n for (const key in a) {\n if (a[key] !== b[key]) {\n return false\n }\n }\n\n return true\n}\n\nexport function isPlainArray(value: unknown): value is Array<unknown> {\n return Array.isArray(value) && value.length === Object.keys(value).length\n}\n\n// Copied from: https://github.com/jonschlinkert/is-plain-object\nexport function isPlainObject(o: any): o is Record<PropertyKey, unknown> {\n if (!hasObjectPrototype(o)) {\n return false\n }\n\n // If has no constructor\n const ctor = o.constructor\n if (ctor === undefined) {\n return true\n }\n\n // If has modified prototype\n const prot = ctor.prototype\n if (!hasObjectPrototype(prot)) {\n return false\n }\n\n // If constructor does not have an Object-specific method\n if (!prot.hasOwnProperty('isPrototypeOf')) {\n return false\n }\n\n // Handles Objects created by Object.create(<arbitrary prototype>)\n if (Object.getPrototypeOf(o) !== Object.prototype) {\n return false\n }\n\n // Most likely a plain Object\n return true\n}\n\nfunction hasObjectPrototype(o: any): boolean {\n return Object.prototype.toString.call(o) === '[object Object]'\n}\n\nexport function sleep(timeout: number): Promise<void> {\n return new Promise((resolve) => {\n timeoutManager.setTimeout(resolve, timeout)\n })\n}\n\nexport function replaceData<\n TData,\n TOptions extends QueryOptions<any, any, any, any>,\n>(prevData: TData | undefined, data: TData, options: TOptions): TData {\n if (typeof options.structuralSharing === 'function') {\n return options.structuralSharing(prevData, data) as TData\n } else if (options.structuralSharing !== false) {\n if (process.env.NODE_ENV !== 'production') {\n try {\n return replaceEqualDeep(prevData, data)\n } catch (error) {\n console.error(\n `Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${options.queryHash}]: ${error}`,\n )\n\n // Prevent the replaceEqualDeep from being called again down below.\n throw error\n }\n }\n // Structurally share data between prev and new data if needed\n return replaceEqualDeep(prevData, data)\n }\n return data\n}\n\nexport function keepPreviousData<T>(\n previousData: T | undefined,\n): T | undefined {\n return previousData\n}\n\nexport function addToEnd<T>(items: Array<T>, item: T, max = 0): Array<T> {\n const newItems = [...items, item]\n return max && newItems.length > max ? newItems.slice(1) : newItems\n}\n\nexport function addToStart<T>(items: Array<T>, item: T, max = 0): Array<T> {\n const newItems = [item, ...items]\n return max && newItems.length > max ? newItems.slice(0, -1) : newItems\n}\n\nexport const skipToken = Symbol()\nexport type SkipToken = typeof skipToken\n\nexport function ensureQueryFn<\n TQueryFnData = unknown,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: {\n queryFn?: QueryFunction<TQueryFnData, TQueryKey> | SkipToken\n queryHash?: string\n },\n fetchOptions?: FetchOptions<TQueryFnData>,\n): QueryFunction<TQueryFnData, TQueryKey> {\n if (process.env.NODE_ENV !== 'production') {\n if (options.queryFn === skipToken) {\n console.error(\n `Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${options.queryHash}'`,\n )\n }\n }\n\n // if we attempt to retry a fetch that was triggered from an initialPromise\n // when we don't have a queryFn yet, we can't retry, so we just return the already rejected initialPromise\n // if an observer has already mounted, we will be able to retry with that queryFn\n if (!options.queryFn && fetchOptions?.initialPromise) {\n return () => fetchOptions.initialPromise!\n }\n\n if (!options.queryFn || options.queryFn === skipToken) {\n return () =>\n Promise.reject(new Error(`Missing queryFn: '${options.queryHash}'`))\n }\n\n return options.queryFn\n}\n\nexport function shouldThrowError<T extends (...args: Array<any>) => boolean>(\n throwOnError: boolean | T | undefined,\n params: Parameters<T>,\n): boolean {\n // Allow throwOnError function to override throwing behavior on a per-error basis\n if (typeof throwOnError === 'function') {\n return throwOnError(...params)\n }\n\n return !!throwOnError\n}\n\nexport function addConsumeAwareSignal<T>(\n object: T,\n getSignal: () => AbortSignal,\n onCancelled: VoidFunction,\n): T & { signal: AbortSignal } {\n let consumed = false\n let signal: AbortSignal | undefined\n\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n signal ??= getSignal()\n if (consumed) {\n return signal\n }\n\n consumed = true\n if (signal.aborted) {\n onCancelled()\n } else {\n signal.addEventListener('abort', onCancelled, { once: true })\n }\n\n return signal\n },\n })\n\n return object as T & { signal: AbortSignal }\n}\n"],"mappings":"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"} | ||
| {"version":3,"file":"utils.cjs","names":[],"sources":["../../src/utils.ts"],"sourcesContent":["import { timeoutManager } from './timeoutManager'\nimport type {\n DefaultError,\n FetchStatus,\n MutationKey,\n MutationStatus,\n QueryFunction,\n QueryKey,\n QueryOptions,\n} from './types'\nimport type { Mutation } from './mutation'\nimport type { FetchOptions, Query } from './query'\n\n// TYPES\n\ntype DropLast<T extends ReadonlyArray<unknown>> = T extends readonly [\n ...infer R,\n unknown,\n]\n ? readonly [...R]\n : never\n\ntype TuplePrefixes<T extends ReadonlyArray<unknown>> = T extends readonly []\n ? readonly []\n : TuplePrefixes<DropLast<T>> | T\n\nexport interface QueryFilters<TQueryKey extends QueryKey = QueryKey> {\n /**\n * Filter to active queries, inactive queries or all queries\n */\n type?: QueryTypeFilter\n /**\n * Match query key exactly\n */\n exact?: boolean\n /**\n * Include queries matching this predicate function\n */\n predicate?: (query: Query) => boolean\n /**\n * Include queries matching this query key\n */\n queryKey?: TQueryKey | TuplePrefixes<TQueryKey>\n /**\n * Include or exclude stale queries\n */\n stale?: boolean\n /**\n * Include queries matching their fetchStatus\n */\n fetchStatus?: FetchStatus\n}\n\nexport interface MutationFilters<\n TData = unknown,\n TError = DefaultError,\n TVariables = unknown,\n TOnMutateResult = unknown,\n> {\n /**\n * Match mutation key exactly\n */\n exact?: boolean\n /**\n * Include mutations matching this predicate function\n */\n predicate?: (\n mutation: Mutation<TData, TError, TVariables, TOnMutateResult>,\n ) => boolean\n /**\n * Include mutations matching this mutation key\n */\n mutationKey?: TuplePrefixes<MutationKey>\n /**\n * Filter by mutation status\n */\n status?: MutationStatus\n}\n\nexport type Updater<TInput, TOutput> = TOutput | ((input: TInput) => TOutput)\n\nexport type QueryTypeFilter = 'all' | 'active' | 'inactive'\n\n// UTILS\n\n/** @deprecated\n * use `environmentManager.isServer()` instead.\n */\nexport const isServer = typeof window === 'undefined' || 'Deno' in globalThis\n\nexport function noop(): void\nexport function noop(): undefined\nexport function noop() {}\n\nexport function functionalUpdate<TInput, TOutput>(\n updater: Updater<TInput, TOutput>,\n input: TInput,\n): TOutput {\n return typeof updater === 'function'\n ? (updater as (_: TInput) => TOutput)(input)\n : updater\n}\n\nexport function isValidTimeout(value: unknown): value is number {\n return typeof value === 'number' && value >= 0 && value !== Infinity\n}\n\nexport function timeUntilStale(updatedAt: number, staleTime?: number): number {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0)\n}\n\nexport function resolveQueryValue<\n TValue,\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n value:\n | undefined\n | TValue\n | ((query: Query<TQueryFnData, TError, TData, TQueryKey>) => TValue),\n query: Query<TQueryFnData, TError, TData, TQueryKey>,\n): TValue | undefined {\n return typeof value === 'function'\n ? (\n value as (\n query: Query<TQueryFnData, TError, TData, TQueryKey>,\n ) => TValue\n )(query)\n : value\n}\n\nexport function matchQuery(\n filters: QueryFilters,\n query: Query<any, any, any, any>,\n): boolean {\n const {\n type = 'all',\n exact,\n fetchStatus,\n predicate,\n queryKey,\n stale,\n } = filters\n\n if (queryKey) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false\n }\n }\n\n if (type !== 'all') {\n const isActive = query.isActive()\n if (type === 'active' && !isActive) {\n return false\n }\n if (type === 'inactive' && isActive) {\n return false\n }\n }\n\n if (typeof stale === 'boolean' && query.isStale() !== stale) {\n return false\n }\n\n if (fetchStatus && fetchStatus !== query.state.fetchStatus) {\n return false\n }\n\n if (predicate && !predicate(query)) {\n return false\n }\n\n return true\n}\n\nexport function matchMutation(\n filters: MutationFilters,\n mutation: Mutation<any, any>,\n): boolean {\n const { exact, status, predicate, mutationKey } = filters\n if (mutationKey) {\n if (!mutation.options.mutationKey) {\n return false\n }\n if (exact) {\n if (hashKey(mutation.options.mutationKey) !== hashKey(mutationKey)) {\n return false\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false\n }\n }\n\n if (status && mutation.state.status !== status) {\n return false\n }\n\n if (predicate && !predicate(mutation)) {\n return false\n }\n\n return true\n}\n\nexport function hashQueryKeyByOptions<TQueryKey extends QueryKey = QueryKey>(\n queryKey: TQueryKey,\n options?: Pick<QueryOptions<any, any, any, any>, 'queryKeyHashFn'>,\n): string {\n const hashFn = options?.queryKeyHashFn || hashKey\n return hashFn(queryKey)\n}\n\n/**\n * Default query & mutation keys hash function.\n * Hashes the value into a stable hash.\n */\nexport function hashKey(queryKey: QueryKey | MutationKey): string {\n return JSON.stringify(queryKey, (_, val) =>\n isPlainObject(val)\n ? Object.keys(val)\n .sort()\n .reduce((result, key) => {\n result[key] = val[key]\n return result\n }, {} as any)\n : val,\n )\n}\n\n/**\n * Checks if key `b` partially matches with key `a`.\n */\nexport function partialMatchKey(a: QueryKey, b: QueryKey): boolean\nexport function partialMatchKey(a: any, b: any): boolean {\n if (a === b) {\n return true\n }\n\n if (typeof a !== typeof b) {\n return false\n }\n\n if (a && b && typeof a === 'object' && typeof b === 'object') {\n if (Array.isArray(a) && Array.isArray(b)) {\n for (let i = 0; i < b.length; i++) {\n if (!partialMatchKey(a[i], b[i])) {\n return false\n }\n }\n return true\n }\n\n const bKeys = Object.keys(b)\n for (const key of bKeys) {\n if (!partialMatchKey(a[key], b[key])) {\n return false\n }\n }\n return true\n }\n\n return false\n}\n\nconst hasOwn = Object.prototype.hasOwnProperty\n\n/**\n * This function returns `a` if `b` is deeply equal.\n * If not, it will replace any deeply equal children of `b` with those of `a`.\n * This can be used for structural sharing between JSON values for example.\n */\nexport function replaceEqualDeep<T>(a: unknown, b: T, depth?: number): T\nexport function replaceEqualDeep(a: any, b: any, depth = 0): any {\n if (a === b) {\n return a\n }\n\n if (depth > 500) return b\n\n const array = isPlainArray(a) && isPlainArray(b)\n\n if (!array && !(isPlainObject(a) && isPlainObject(b))) return b\n\n const aItems = array ? a : Object.keys(a)\n const aSize = aItems.length\n const bItems = array ? b : Object.keys(b)\n const bSize = bItems.length\n const copy: any = array ? new Array(bSize) : {}\n\n let equalItems = 0\n\n for (let i = 0; i < bSize; i++) {\n const key: any = array ? i : bItems[i]\n const aItem = a[key]\n const bItem = b[key]\n\n if (aItem === bItem) {\n copy[key] = aItem\n if (array ? i < aSize : hasOwn.call(a, key)) equalItems++\n continue\n }\n\n if (\n aItem === null ||\n bItem === null ||\n typeof aItem !== 'object' ||\n typeof bItem !== 'object'\n ) {\n copy[key] = bItem\n continue\n }\n\n const v = replaceEqualDeep(aItem, bItem, depth + 1)\n copy[key] = v\n if (v === aItem) equalItems++\n }\n\n return aSize === bSize && equalItems === aSize ? a : copy\n}\n\n/**\n * Shallow compare objects.\n */\nexport function shallowEqualObjects<T extends Record<string, any>>(\n a: T,\n b: T | undefined,\n): boolean {\n if (!b || Object.keys(a).length !== Object.keys(b).length) {\n return false\n }\n\n for (const key in a) {\n if (a[key] !== b[key]) {\n return false\n }\n }\n\n return true\n}\n\nexport function isPlainArray(value: unknown): value is Array<unknown> {\n return Array.isArray(value) && value.length === Object.keys(value).length\n}\n\n// Copied from: https://github.com/jonschlinkert/is-plain-object\nexport function isPlainObject(o: any): o is Record<PropertyKey, unknown> {\n if (!hasObjectPrototype(o)) {\n return false\n }\n\n // If has no constructor\n const ctor = o.constructor\n if (ctor === undefined) {\n return true\n }\n\n // If has modified prototype\n const prot = ctor.prototype\n if (!hasObjectPrototype(prot)) {\n return false\n }\n\n // If constructor does not have an Object-specific method\n if (!prot.hasOwnProperty('isPrototypeOf')) {\n return false\n }\n\n // Handles Objects created by Object.create(<arbitrary prototype>)\n if (Object.getPrototypeOf(o) !== Object.prototype) {\n return false\n }\n\n // Most likely a plain Object\n return true\n}\n\nfunction hasObjectPrototype(o: any): boolean {\n return Object.prototype.toString.call(o) === '[object Object]'\n}\n\nexport function sleep(timeout: number): Promise<void> {\n return new Promise((resolve) => {\n timeoutManager.setTimeout(resolve, timeout)\n })\n}\n\nexport function replaceData<\n TData,\n TOptions extends QueryOptions<any, any, any, any>,\n>(prevData: TData | undefined, data: TData, options: TOptions): TData {\n if (typeof options.structuralSharing === 'function') {\n return options.structuralSharing(prevData, data) as TData\n } else if (options.structuralSharing !== false) {\n if (process.env.NODE_ENV !== 'production') {\n try {\n return replaceEqualDeep(prevData, data)\n } catch (error) {\n console.error(\n `Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${options.queryHash}]: ${error}`,\n )\n\n // Prevent the replaceEqualDeep from being called again down below.\n throw error\n }\n }\n // Structurally share data between prev and new data if needed\n return replaceEqualDeep(prevData, data)\n }\n return data\n}\n\nexport function keepPreviousData<T>(\n previousData: T | undefined,\n): T | undefined {\n return previousData\n}\n\nexport function addToEnd<T>(items: Array<T>, item: T, max = 0): Array<T> {\n const newItems = [...items, item]\n return max && newItems.length > max ? newItems.slice(1) : newItems\n}\n\nexport function addToStart<T>(items: Array<T>, item: T, max = 0): Array<T> {\n const newItems = [item, ...items]\n return max && newItems.length > max ? newItems.slice(0, -1) : newItems\n}\n\nexport const skipToken = Symbol()\nexport type SkipToken = typeof skipToken\n\nexport function ensureQueryFn<\n TQueryFnData = unknown,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: {\n queryFn?: QueryFunction<TQueryFnData, TQueryKey> | SkipToken\n queryHash?: string\n },\n fetchOptions?: FetchOptions<TQueryFnData>,\n): QueryFunction<TQueryFnData, TQueryKey> {\n if (process.env.NODE_ENV !== 'production') {\n if (options.queryFn === skipToken) {\n console.error(\n `Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${options.queryHash}'`,\n )\n }\n }\n\n // if we attempt to retry a fetch that was triggered from an initialPromise\n // when we don't have a queryFn yet, we can't retry, so we just return the already rejected initialPromise\n // if an observer has already mounted, we will be able to retry with that queryFn\n if (!options.queryFn && fetchOptions?.initialPromise) {\n return () => fetchOptions.initialPromise!\n }\n\n if (!options.queryFn || options.queryFn === skipToken) {\n return () =>\n Promise.reject(new Error(`Missing queryFn: '${options.queryHash}'`))\n }\n\n return options.queryFn\n}\n\nexport function shouldThrowError<T extends (...args: Array<any>) => boolean>(\n throwOnError: boolean | T | undefined,\n params: Parameters<T>,\n): boolean {\n // Allow throwOnError function to override throwing behavior on a per-error basis\n if (typeof throwOnError === 'function') {\n return throwOnError(...params)\n }\n\n return !!throwOnError\n}\n\nexport function addConsumeAwareSignal<T>(\n object: T,\n getSignal: () => AbortSignal,\n onCancelled: VoidFunction,\n): T & { signal: AbortSignal } {\n let consumed = false\n let signal: AbortSignal | undefined\n\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n signal ??= getSignal()\n if (consumed) {\n return signal\n }\n\n consumed = true\n if (signal.aborted) {\n onCancelled()\n } else {\n signal.addEventListener('abort', onCancelled, { once: true })\n }\n\n return signal\n },\n })\n\n return object as T & { signal: AbortSignal }\n}\n"],"mappings":"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"} |
@@ -1,2 +0,2 @@ | ||
| import { An as noop, Bn as timeUntilStale, Cn as isPlainArray, Dn as keepPreviousData, En as isValidTimeout, Fn as resolveStaleTime, In as shallowEqualObjects, Ln as shouldThrowError, Mn as replaceData, Nn as replaceEqualDeep, On as matchMutation, Pn as resolveQueryBoolean, Rn as skipToken, Sn as hashQueryKeyByOptions, Tn as isServer, _n as addToEnd, bn as functionalUpdate, dn as MutationFilters, fn as QueryFilters, gn as addConsumeAwareSignal, hn as Updater, jn as partialMatchKey, kn as matchQuery, mn as SkipToken, pn as QueryTypeFilter, vn as addToStart, wn as isPlainObject, xn as hashKey, yn as ensureQueryFn, zn as sleep } from "./hydration-BoHd-X9T.cjs"; | ||
| export { MutationFilters, QueryFilters, QueryTypeFilter, SkipToken, Updater, addConsumeAwareSignal, addToEnd, addToStart, ensureQueryFn, functionalUpdate, hashKey, hashQueryKeyByOptions, isPlainArray, isPlainObject, isServer, isValidTimeout, keepPreviousData, matchMutation, matchQuery, noop, partialMatchKey, replaceData, replaceEqualDeep, resolveQueryBoolean, resolveStaleTime, shallowEqualObjects, shouldThrowError, skipToken, sleep, timeUntilStale }; | ||
| import { An as noop, Cn as isPlainArray, Dn as keepPreviousData, En as isValidTimeout, Fn as shallowEqualObjects, In as shouldThrowError, Ln as skipToken, Mn as replaceData, Nn as replaceEqualDeep, On as matchMutation, Pn as resolveQueryValue, Rn as sleep, Sn as hashQueryKeyByOptions, Tn as isServer, _n as addToEnd, bn as functionalUpdate, dn as MutationFilters, fn as QueryFilters, gn as addConsumeAwareSignal, hn as Updater, jn as partialMatchKey, kn as matchQuery, mn as SkipToken, pn as QueryTypeFilter, vn as addToStart, wn as isPlainObject, xn as hashKey, yn as ensureQueryFn, zn as timeUntilStale } from "./hydration-DWGr3cFC.cjs"; | ||
| export { MutationFilters, QueryFilters, QueryTypeFilter, SkipToken, Updater, addConsumeAwareSignal, addToEnd, addToStart, ensureQueryFn, functionalUpdate, hashKey, hashQueryKeyByOptions, isPlainArray, isPlainObject, isServer, isValidTimeout, keepPreviousData, matchMutation, matchQuery, noop, partialMatchKey, replaceData, replaceEqualDeep, resolveQueryValue, shallowEqualObjects, shouldThrowError, skipToken, sleep, timeUntilStale }; |
@@ -1,2 +0,2 @@ | ||
| import { An as noop, Bn as timeUntilStale, Cn as isPlainArray, Dn as keepPreviousData, En as isValidTimeout, Fn as resolveStaleTime, In as shallowEqualObjects, Ln as shouldThrowError, Mn as replaceData, Nn as replaceEqualDeep, On as matchMutation, Pn as resolveQueryBoolean, Rn as skipToken, Sn as hashQueryKeyByOptions, Tn as isServer, _n as addToEnd, bn as functionalUpdate, dn as MutationFilters, fn as QueryFilters, gn as addConsumeAwareSignal, hn as Updater, jn as partialMatchKey, kn as matchQuery, mn as SkipToken, pn as QueryTypeFilter, vn as addToStart, wn as isPlainObject, xn as hashKey, yn as ensureQueryFn, zn as sleep } from "./hydration-DFwTM9vM.js"; | ||
| export { MutationFilters, QueryFilters, QueryTypeFilter, SkipToken, Updater, addConsumeAwareSignal, addToEnd, addToStart, ensureQueryFn, functionalUpdate, hashKey, hashQueryKeyByOptions, isPlainArray, isPlainObject, isServer, isValidTimeout, keepPreviousData, matchMutation, matchQuery, noop, partialMatchKey, replaceData, replaceEqualDeep, resolveQueryBoolean, resolveStaleTime, shallowEqualObjects, shouldThrowError, skipToken, sleep, timeUntilStale }; | ||
| import { An as noop, Cn as isPlainArray, Dn as keepPreviousData, En as isValidTimeout, Fn as shallowEqualObjects, In as shouldThrowError, Ln as skipToken, Mn as replaceData, Nn as replaceEqualDeep, On as matchMutation, Pn as resolveQueryValue, Rn as sleep, Sn as hashQueryKeyByOptions, Tn as isServer, _n as addToEnd, bn as functionalUpdate, dn as MutationFilters, fn as QueryFilters, gn as addConsumeAwareSignal, hn as Updater, jn as partialMatchKey, kn as matchQuery, mn as SkipToken, pn as QueryTypeFilter, vn as addToStart, wn as isPlainObject, xn as hashKey, yn as ensureQueryFn, zn as timeUntilStale } from "./hydration-Bjs0MSgg.js"; | ||
| export { MutationFilters, QueryFilters, QueryTypeFilter, SkipToken, Updater, addConsumeAwareSignal, addToEnd, addToStart, ensureQueryFn, functionalUpdate, hashKey, hashQueryKeyByOptions, isPlainArray, isPlainObject, isServer, isValidTimeout, keepPreviousData, matchMutation, matchQuery, noop, partialMatchKey, replaceData, replaceEqualDeep, resolveQueryValue, shallowEqualObjects, shouldThrowError, skipToken, sleep, timeUntilStale }; |
@@ -17,8 +17,5 @@ import { timeoutManager } from "./timeoutManager.js"; | ||
| } | ||
| function resolveStaleTime(staleTime, query) { | ||
| return typeof staleTime === "function" ? staleTime(query) : staleTime; | ||
| function resolveQueryValue(value, query) { | ||
| return typeof value === "function" ? value(query) : value; | ||
| } | ||
| function resolveQueryBoolean(option, query) { | ||
| return typeof option === "function" ? option(query) : option; | ||
| } | ||
| function matchQuery(filters, query) { | ||
@@ -193,4 +190,4 @@ const { type = "all", exact, fetchStatus, predicate, queryKey, stale } = filters; | ||
| //#endregion | ||
| export { addConsumeAwareSignal, addToEnd, addToStart, ensureQueryFn, functionalUpdate, hashKey, hashQueryKeyByOptions, isPlainArray, isPlainObject, isServer, isValidTimeout, keepPreviousData, matchMutation, matchQuery, noop, partialMatchKey, replaceData, replaceEqualDeep, resolveQueryBoolean, resolveStaleTime, shallowEqualObjects, shouldThrowError, skipToken, sleep, timeUntilStale }; | ||
| export { addConsumeAwareSignal, addToEnd, addToStart, ensureQueryFn, functionalUpdate, hashKey, hashQueryKeyByOptions, isPlainArray, isPlainObject, isServer, isValidTimeout, keepPreviousData, matchMutation, matchQuery, noop, partialMatchKey, replaceData, replaceEqualDeep, resolveQueryValue, shallowEqualObjects, shouldThrowError, skipToken, sleep, timeUntilStale }; | ||
| //# sourceMappingURL=utils.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"utils.js","names":[],"sources":["../../src/utils.ts"],"sourcesContent":["import { timeoutManager } from './timeoutManager'\nimport type {\n DefaultError,\n FetchStatus,\n MutationKey,\n MutationStatus,\n QueryBooleanOption,\n QueryFunction,\n QueryKey,\n QueryOptions,\n StaleTime,\n StaleTimeFunction,\n} from './types'\nimport type { Mutation } from './mutation'\nimport type { FetchOptions, Query } from './query'\n\n// TYPES\n\ntype DropLast<T extends ReadonlyArray<unknown>> = T extends readonly [\n ...infer R,\n unknown,\n]\n ? readonly [...R]\n : never\n\ntype TuplePrefixes<T extends ReadonlyArray<unknown>> = T extends readonly []\n ? readonly []\n : TuplePrefixes<DropLast<T>> | T\n\nexport interface QueryFilters<TQueryKey extends QueryKey = QueryKey> {\n /**\n * Filter to active queries, inactive queries or all queries\n */\n type?: QueryTypeFilter\n /**\n * Match query key exactly\n */\n exact?: boolean\n /**\n * Include queries matching this predicate function\n */\n predicate?: (query: Query) => boolean\n /**\n * Include queries matching this query key\n */\n queryKey?: TQueryKey | TuplePrefixes<TQueryKey>\n /**\n * Include or exclude stale queries\n */\n stale?: boolean\n /**\n * Include queries matching their fetchStatus\n */\n fetchStatus?: FetchStatus\n}\n\nexport interface MutationFilters<\n TData = unknown,\n TError = DefaultError,\n TVariables = unknown,\n TOnMutateResult = unknown,\n> {\n /**\n * Match mutation key exactly\n */\n exact?: boolean\n /**\n * Include mutations matching this predicate function\n */\n predicate?: (\n mutation: Mutation<TData, TError, TVariables, TOnMutateResult>,\n ) => boolean\n /**\n * Include mutations matching this mutation key\n */\n mutationKey?: TuplePrefixes<MutationKey>\n /**\n * Filter by mutation status\n */\n status?: MutationStatus\n}\n\nexport type Updater<TInput, TOutput> = TOutput | ((input: TInput) => TOutput)\n\nexport type QueryTypeFilter = 'all' | 'active' | 'inactive'\n\n// UTILS\n\n/** @deprecated\n * use `environmentManager.isServer()` instead.\n */\nexport const isServer = typeof window === 'undefined' || 'Deno' in globalThis\n\nexport function noop(): void\nexport function noop(): undefined\nexport function noop() {}\n\nexport function functionalUpdate<TInput, TOutput>(\n updater: Updater<TInput, TOutput>,\n input: TInput,\n): TOutput {\n return typeof updater === 'function'\n ? (updater as (_: TInput) => TOutput)(input)\n : updater\n}\n\nexport function isValidTimeout(value: unknown): value is number {\n return typeof value === 'number' && value >= 0 && value !== Infinity\n}\n\nexport function timeUntilStale(updatedAt: number, staleTime?: number): number {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0)\n}\n\nexport function resolveStaleTime<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n staleTime:\n | undefined\n | StaleTimeFunction<TQueryFnData, TError, TData, TQueryKey>,\n query: Query<TQueryFnData, TError, TData, TQueryKey>,\n): StaleTime | undefined {\n return typeof staleTime === 'function' ? staleTime(query) : staleTime\n}\n\nexport function resolveQueryBoolean<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n option:\n | undefined\n | QueryBooleanOption<TQueryFnData, TError, TData, TQueryKey>,\n query: Query<TQueryFnData, TError, TData, TQueryKey>,\n): boolean | undefined {\n return typeof option === 'function' ? option(query) : option\n}\n\nexport function matchQuery(\n filters: QueryFilters,\n query: Query<any, any, any, any>,\n): boolean {\n const {\n type = 'all',\n exact,\n fetchStatus,\n predicate,\n queryKey,\n stale,\n } = filters\n\n if (queryKey) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false\n }\n }\n\n if (type !== 'all') {\n const isActive = query.isActive()\n if (type === 'active' && !isActive) {\n return false\n }\n if (type === 'inactive' && isActive) {\n return false\n }\n }\n\n if (typeof stale === 'boolean' && query.isStale() !== stale) {\n return false\n }\n\n if (fetchStatus && fetchStatus !== query.state.fetchStatus) {\n return false\n }\n\n if (predicate && !predicate(query)) {\n return false\n }\n\n return true\n}\n\nexport function matchMutation(\n filters: MutationFilters,\n mutation: Mutation<any, any>,\n): boolean {\n const { exact, status, predicate, mutationKey } = filters\n if (mutationKey) {\n if (!mutation.options.mutationKey) {\n return false\n }\n if (exact) {\n if (hashKey(mutation.options.mutationKey) !== hashKey(mutationKey)) {\n return false\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false\n }\n }\n\n if (status && mutation.state.status !== status) {\n return false\n }\n\n if (predicate && !predicate(mutation)) {\n return false\n }\n\n return true\n}\n\nexport function hashQueryKeyByOptions<TQueryKey extends QueryKey = QueryKey>(\n queryKey: TQueryKey,\n options?: Pick<QueryOptions<any, any, any, any>, 'queryKeyHashFn'>,\n): string {\n const hashFn = options?.queryKeyHashFn || hashKey\n return hashFn(queryKey)\n}\n\n/**\n * Default query & mutation keys hash function.\n * Hashes the value into a stable hash.\n */\nexport function hashKey(queryKey: QueryKey | MutationKey): string {\n return JSON.stringify(queryKey, (_, val) =>\n isPlainObject(val)\n ? Object.keys(val)\n .sort()\n .reduce((result, key) => {\n result[key] = val[key]\n return result\n }, {} as any)\n : val,\n )\n}\n\n/**\n * Checks if key `b` partially matches with key `a`.\n */\nexport function partialMatchKey(a: QueryKey, b: QueryKey): boolean\nexport function partialMatchKey(a: any, b: any): boolean {\n if (a === b) {\n return true\n }\n\n if (typeof a !== typeof b) {\n return false\n }\n\n if (a && b && typeof a === 'object' && typeof b === 'object') {\n if (Array.isArray(a) && Array.isArray(b)) {\n for (let i = 0; i < b.length; i++) {\n if (!partialMatchKey(a[i], b[i])) {\n return false\n }\n }\n return true\n }\n\n const bKeys = Object.keys(b)\n for (const key of bKeys) {\n if (!partialMatchKey(a[key], b[key])) {\n return false\n }\n }\n return true\n }\n\n return false\n}\n\nconst hasOwn = Object.prototype.hasOwnProperty\n\n/**\n * This function returns `a` if `b` is deeply equal.\n * If not, it will replace any deeply equal children of `b` with those of `a`.\n * This can be used for structural sharing between JSON values for example.\n */\nexport function replaceEqualDeep<T>(a: unknown, b: T, depth?: number): T\nexport function replaceEqualDeep(a: any, b: any, depth = 0): any {\n if (a === b) {\n return a\n }\n\n if (depth > 500) return b\n\n const array = isPlainArray(a) && isPlainArray(b)\n\n if (!array && !(isPlainObject(a) && isPlainObject(b))) return b\n\n const aItems = array ? a : Object.keys(a)\n const aSize = aItems.length\n const bItems = array ? b : Object.keys(b)\n const bSize = bItems.length\n const copy: any = array ? new Array(bSize) : {}\n\n let equalItems = 0\n\n for (let i = 0; i < bSize; i++) {\n const key: any = array ? i : bItems[i]\n const aItem = a[key]\n const bItem = b[key]\n\n if (aItem === bItem) {\n copy[key] = aItem\n if (array ? i < aSize : hasOwn.call(a, key)) equalItems++\n continue\n }\n\n if (\n aItem === null ||\n bItem === null ||\n typeof aItem !== 'object' ||\n typeof bItem !== 'object'\n ) {\n copy[key] = bItem\n continue\n }\n\n const v = replaceEqualDeep(aItem, bItem, depth + 1)\n copy[key] = v\n if (v === aItem) equalItems++\n }\n\n return aSize === bSize && equalItems === aSize ? a : copy\n}\n\n/**\n * Shallow compare objects.\n */\nexport function shallowEqualObjects<T extends Record<string, any>>(\n a: T,\n b: T | undefined,\n): boolean {\n if (!b || Object.keys(a).length !== Object.keys(b).length) {\n return false\n }\n\n for (const key in a) {\n if (a[key] !== b[key]) {\n return false\n }\n }\n\n return true\n}\n\nexport function isPlainArray(value: unknown): value is Array<unknown> {\n return Array.isArray(value) && value.length === Object.keys(value).length\n}\n\n// Copied from: https://github.com/jonschlinkert/is-plain-object\nexport function isPlainObject(o: any): o is Record<PropertyKey, unknown> {\n if (!hasObjectPrototype(o)) {\n return false\n }\n\n // If has no constructor\n const ctor = o.constructor\n if (ctor === undefined) {\n return true\n }\n\n // If has modified prototype\n const prot = ctor.prototype\n if (!hasObjectPrototype(prot)) {\n return false\n }\n\n // If constructor does not have an Object-specific method\n if (!prot.hasOwnProperty('isPrototypeOf')) {\n return false\n }\n\n // Handles Objects created by Object.create(<arbitrary prototype>)\n if (Object.getPrototypeOf(o) !== Object.prototype) {\n return false\n }\n\n // Most likely a plain Object\n return true\n}\n\nfunction hasObjectPrototype(o: any): boolean {\n return Object.prototype.toString.call(o) === '[object Object]'\n}\n\nexport function sleep(timeout: number): Promise<void> {\n return new Promise((resolve) => {\n timeoutManager.setTimeout(resolve, timeout)\n })\n}\n\nexport function replaceData<\n TData,\n TOptions extends QueryOptions<any, any, any, any>,\n>(prevData: TData | undefined, data: TData, options: TOptions): TData {\n if (typeof options.structuralSharing === 'function') {\n return options.structuralSharing(prevData, data) as TData\n } else if (options.structuralSharing !== false) {\n if (process.env.NODE_ENV !== 'production') {\n try {\n return replaceEqualDeep(prevData, data)\n } catch (error) {\n console.error(\n `Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${options.queryHash}]: ${error}`,\n )\n\n // Prevent the replaceEqualDeep from being called again down below.\n throw error\n }\n }\n // Structurally share data between prev and new data if needed\n return replaceEqualDeep(prevData, data)\n }\n return data\n}\n\nexport function keepPreviousData<T>(\n previousData: T | undefined,\n): T | undefined {\n return previousData\n}\n\nexport function addToEnd<T>(items: Array<T>, item: T, max = 0): Array<T> {\n const newItems = [...items, item]\n return max && newItems.length > max ? newItems.slice(1) : newItems\n}\n\nexport function addToStart<T>(items: Array<T>, item: T, max = 0): Array<T> {\n const newItems = [item, ...items]\n return max && newItems.length > max ? newItems.slice(0, -1) : newItems\n}\n\nexport const skipToken = Symbol()\nexport type SkipToken = typeof skipToken\n\nexport function ensureQueryFn<\n TQueryFnData = unknown,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: {\n queryFn?: QueryFunction<TQueryFnData, TQueryKey> | SkipToken\n queryHash?: string\n },\n fetchOptions?: FetchOptions<TQueryFnData>,\n): QueryFunction<TQueryFnData, TQueryKey> {\n if (process.env.NODE_ENV !== 'production') {\n if (options.queryFn === skipToken) {\n console.error(\n `Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${options.queryHash}'`,\n )\n }\n }\n\n // if we attempt to retry a fetch that was triggered from an initialPromise\n // when we don't have a queryFn yet, we can't retry, so we just return the already rejected initialPromise\n // if an observer has already mounted, we will be able to retry with that queryFn\n if (!options.queryFn && fetchOptions?.initialPromise) {\n return () => fetchOptions.initialPromise!\n }\n\n if (!options.queryFn || options.queryFn === skipToken) {\n return () =>\n Promise.reject(new Error(`Missing queryFn: '${options.queryHash}'`))\n }\n\n return options.queryFn\n}\n\nexport function shouldThrowError<T extends (...args: Array<any>) => boolean>(\n throwOnError: boolean | T | undefined,\n params: Parameters<T>,\n): boolean {\n // Allow throwOnError function to override throwing behavior on a per-error basis\n if (typeof throwOnError === 'function') {\n return throwOnError(...params)\n }\n\n return !!throwOnError\n}\n\nexport function addConsumeAwareSignal<T>(\n object: T,\n getSignal: () => AbortSignal,\n onCancelled: VoidFunction,\n): T & { signal: AbortSignal } {\n let consumed = false\n let signal: AbortSignal | undefined\n\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n signal ??= getSignal()\n if (consumed) {\n return signal\n }\n\n consumed = true\n if (signal.aborted) {\n onCancelled()\n } else {\n signal.addEventListener('abort', onCancelled, { once: true })\n }\n\n return signal\n },\n })\n\n return object as T & { signal: AbortSignal }\n}\n"],"mappings":"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"} | ||
| {"version":3,"file":"utils.js","names":[],"sources":["../../src/utils.ts"],"sourcesContent":["import { timeoutManager } from './timeoutManager'\nimport type {\n DefaultError,\n FetchStatus,\n MutationKey,\n MutationStatus,\n QueryFunction,\n QueryKey,\n QueryOptions,\n} from './types'\nimport type { Mutation } from './mutation'\nimport type { FetchOptions, Query } from './query'\n\n// TYPES\n\ntype DropLast<T extends ReadonlyArray<unknown>> = T extends readonly [\n ...infer R,\n unknown,\n]\n ? readonly [...R]\n : never\n\ntype TuplePrefixes<T extends ReadonlyArray<unknown>> = T extends readonly []\n ? readonly []\n : TuplePrefixes<DropLast<T>> | T\n\nexport interface QueryFilters<TQueryKey extends QueryKey = QueryKey> {\n /**\n * Filter to active queries, inactive queries or all queries\n */\n type?: QueryTypeFilter\n /**\n * Match query key exactly\n */\n exact?: boolean\n /**\n * Include queries matching this predicate function\n */\n predicate?: (query: Query) => boolean\n /**\n * Include queries matching this query key\n */\n queryKey?: TQueryKey | TuplePrefixes<TQueryKey>\n /**\n * Include or exclude stale queries\n */\n stale?: boolean\n /**\n * Include queries matching their fetchStatus\n */\n fetchStatus?: FetchStatus\n}\n\nexport interface MutationFilters<\n TData = unknown,\n TError = DefaultError,\n TVariables = unknown,\n TOnMutateResult = unknown,\n> {\n /**\n * Match mutation key exactly\n */\n exact?: boolean\n /**\n * Include mutations matching this predicate function\n */\n predicate?: (\n mutation: Mutation<TData, TError, TVariables, TOnMutateResult>,\n ) => boolean\n /**\n * Include mutations matching this mutation key\n */\n mutationKey?: TuplePrefixes<MutationKey>\n /**\n * Filter by mutation status\n */\n status?: MutationStatus\n}\n\nexport type Updater<TInput, TOutput> = TOutput | ((input: TInput) => TOutput)\n\nexport type QueryTypeFilter = 'all' | 'active' | 'inactive'\n\n// UTILS\n\n/** @deprecated\n * use `environmentManager.isServer()` instead.\n */\nexport const isServer = typeof window === 'undefined' || 'Deno' in globalThis\n\nexport function noop(): void\nexport function noop(): undefined\nexport function noop() {}\n\nexport function functionalUpdate<TInput, TOutput>(\n updater: Updater<TInput, TOutput>,\n input: TInput,\n): TOutput {\n return typeof updater === 'function'\n ? (updater as (_: TInput) => TOutput)(input)\n : updater\n}\n\nexport function isValidTimeout(value: unknown): value is number {\n return typeof value === 'number' && value >= 0 && value !== Infinity\n}\n\nexport function timeUntilStale(updatedAt: number, staleTime?: number): number {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0)\n}\n\nexport function resolveQueryValue<\n TValue,\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n value:\n | undefined\n | TValue\n | ((query: Query<TQueryFnData, TError, TData, TQueryKey>) => TValue),\n query: Query<TQueryFnData, TError, TData, TQueryKey>,\n): TValue | undefined {\n return typeof value === 'function'\n ? (\n value as (\n query: Query<TQueryFnData, TError, TData, TQueryKey>,\n ) => TValue\n )(query)\n : value\n}\n\nexport function matchQuery(\n filters: QueryFilters,\n query: Query<any, any, any, any>,\n): boolean {\n const {\n type = 'all',\n exact,\n fetchStatus,\n predicate,\n queryKey,\n stale,\n } = filters\n\n if (queryKey) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false\n }\n }\n\n if (type !== 'all') {\n const isActive = query.isActive()\n if (type === 'active' && !isActive) {\n return false\n }\n if (type === 'inactive' && isActive) {\n return false\n }\n }\n\n if (typeof stale === 'boolean' && query.isStale() !== stale) {\n return false\n }\n\n if (fetchStatus && fetchStatus !== query.state.fetchStatus) {\n return false\n }\n\n if (predicate && !predicate(query)) {\n return false\n }\n\n return true\n}\n\nexport function matchMutation(\n filters: MutationFilters,\n mutation: Mutation<any, any>,\n): boolean {\n const { exact, status, predicate, mutationKey } = filters\n if (mutationKey) {\n if (!mutation.options.mutationKey) {\n return false\n }\n if (exact) {\n if (hashKey(mutation.options.mutationKey) !== hashKey(mutationKey)) {\n return false\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false\n }\n }\n\n if (status && mutation.state.status !== status) {\n return false\n }\n\n if (predicate && !predicate(mutation)) {\n return false\n }\n\n return true\n}\n\nexport function hashQueryKeyByOptions<TQueryKey extends QueryKey = QueryKey>(\n queryKey: TQueryKey,\n options?: Pick<QueryOptions<any, any, any, any>, 'queryKeyHashFn'>,\n): string {\n const hashFn = options?.queryKeyHashFn || hashKey\n return hashFn(queryKey)\n}\n\n/**\n * Default query & mutation keys hash function.\n * Hashes the value into a stable hash.\n */\nexport function hashKey(queryKey: QueryKey | MutationKey): string {\n return JSON.stringify(queryKey, (_, val) =>\n isPlainObject(val)\n ? Object.keys(val)\n .sort()\n .reduce((result, key) => {\n result[key] = val[key]\n return result\n }, {} as any)\n : val,\n )\n}\n\n/**\n * Checks if key `b` partially matches with key `a`.\n */\nexport function partialMatchKey(a: QueryKey, b: QueryKey): boolean\nexport function partialMatchKey(a: any, b: any): boolean {\n if (a === b) {\n return true\n }\n\n if (typeof a !== typeof b) {\n return false\n }\n\n if (a && b && typeof a === 'object' && typeof b === 'object') {\n if (Array.isArray(a) && Array.isArray(b)) {\n for (let i = 0; i < b.length; i++) {\n if (!partialMatchKey(a[i], b[i])) {\n return false\n }\n }\n return true\n }\n\n const bKeys = Object.keys(b)\n for (const key of bKeys) {\n if (!partialMatchKey(a[key], b[key])) {\n return false\n }\n }\n return true\n }\n\n return false\n}\n\nconst hasOwn = Object.prototype.hasOwnProperty\n\n/**\n * This function returns `a` if `b` is deeply equal.\n * If not, it will replace any deeply equal children of `b` with those of `a`.\n * This can be used for structural sharing between JSON values for example.\n */\nexport function replaceEqualDeep<T>(a: unknown, b: T, depth?: number): T\nexport function replaceEqualDeep(a: any, b: any, depth = 0): any {\n if (a === b) {\n return a\n }\n\n if (depth > 500) return b\n\n const array = isPlainArray(a) && isPlainArray(b)\n\n if (!array && !(isPlainObject(a) && isPlainObject(b))) return b\n\n const aItems = array ? a : Object.keys(a)\n const aSize = aItems.length\n const bItems = array ? b : Object.keys(b)\n const bSize = bItems.length\n const copy: any = array ? new Array(bSize) : {}\n\n let equalItems = 0\n\n for (let i = 0; i < bSize; i++) {\n const key: any = array ? i : bItems[i]\n const aItem = a[key]\n const bItem = b[key]\n\n if (aItem === bItem) {\n copy[key] = aItem\n if (array ? i < aSize : hasOwn.call(a, key)) equalItems++\n continue\n }\n\n if (\n aItem === null ||\n bItem === null ||\n typeof aItem !== 'object' ||\n typeof bItem !== 'object'\n ) {\n copy[key] = bItem\n continue\n }\n\n const v = replaceEqualDeep(aItem, bItem, depth + 1)\n copy[key] = v\n if (v === aItem) equalItems++\n }\n\n return aSize === bSize && equalItems === aSize ? a : copy\n}\n\n/**\n * Shallow compare objects.\n */\nexport function shallowEqualObjects<T extends Record<string, any>>(\n a: T,\n b: T | undefined,\n): boolean {\n if (!b || Object.keys(a).length !== Object.keys(b).length) {\n return false\n }\n\n for (const key in a) {\n if (a[key] !== b[key]) {\n return false\n }\n }\n\n return true\n}\n\nexport function isPlainArray(value: unknown): value is Array<unknown> {\n return Array.isArray(value) && value.length === Object.keys(value).length\n}\n\n// Copied from: https://github.com/jonschlinkert/is-plain-object\nexport function isPlainObject(o: any): o is Record<PropertyKey, unknown> {\n if (!hasObjectPrototype(o)) {\n return false\n }\n\n // If has no constructor\n const ctor = o.constructor\n if (ctor === undefined) {\n return true\n }\n\n // If has modified prototype\n const prot = ctor.prototype\n if (!hasObjectPrototype(prot)) {\n return false\n }\n\n // If constructor does not have an Object-specific method\n if (!prot.hasOwnProperty('isPrototypeOf')) {\n return false\n }\n\n // Handles Objects created by Object.create(<arbitrary prototype>)\n if (Object.getPrototypeOf(o) !== Object.prototype) {\n return false\n }\n\n // Most likely a plain Object\n return true\n}\n\nfunction hasObjectPrototype(o: any): boolean {\n return Object.prototype.toString.call(o) === '[object Object]'\n}\n\nexport function sleep(timeout: number): Promise<void> {\n return new Promise((resolve) => {\n timeoutManager.setTimeout(resolve, timeout)\n })\n}\n\nexport function replaceData<\n TData,\n TOptions extends QueryOptions<any, any, any, any>,\n>(prevData: TData | undefined, data: TData, options: TOptions): TData {\n if (typeof options.structuralSharing === 'function') {\n return options.structuralSharing(prevData, data) as TData\n } else if (options.structuralSharing !== false) {\n if (process.env.NODE_ENV !== 'production') {\n try {\n return replaceEqualDeep(prevData, data)\n } catch (error) {\n console.error(\n `Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${options.queryHash}]: ${error}`,\n )\n\n // Prevent the replaceEqualDeep from being called again down below.\n throw error\n }\n }\n // Structurally share data between prev and new data if needed\n return replaceEqualDeep(prevData, data)\n }\n return data\n}\n\nexport function keepPreviousData<T>(\n previousData: T | undefined,\n): T | undefined {\n return previousData\n}\n\nexport function addToEnd<T>(items: Array<T>, item: T, max = 0): Array<T> {\n const newItems = [...items, item]\n return max && newItems.length > max ? newItems.slice(1) : newItems\n}\n\nexport function addToStart<T>(items: Array<T>, item: T, max = 0): Array<T> {\n const newItems = [item, ...items]\n return max && newItems.length > max ? newItems.slice(0, -1) : newItems\n}\n\nexport const skipToken = Symbol()\nexport type SkipToken = typeof skipToken\n\nexport function ensureQueryFn<\n TQueryFnData = unknown,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: {\n queryFn?: QueryFunction<TQueryFnData, TQueryKey> | SkipToken\n queryHash?: string\n },\n fetchOptions?: FetchOptions<TQueryFnData>,\n): QueryFunction<TQueryFnData, TQueryKey> {\n if (process.env.NODE_ENV !== 'production') {\n if (options.queryFn === skipToken) {\n console.error(\n `Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${options.queryHash}'`,\n )\n }\n }\n\n // if we attempt to retry a fetch that was triggered from an initialPromise\n // when we don't have a queryFn yet, we can't retry, so we just return the already rejected initialPromise\n // if an observer has already mounted, we will be able to retry with that queryFn\n if (!options.queryFn && fetchOptions?.initialPromise) {\n return () => fetchOptions.initialPromise!\n }\n\n if (!options.queryFn || options.queryFn === skipToken) {\n return () =>\n Promise.reject(new Error(`Missing queryFn: '${options.queryHash}'`))\n }\n\n return options.queryFn\n}\n\nexport function shouldThrowError<T extends (...args: Array<any>) => boolean>(\n throwOnError: boolean | T | undefined,\n params: Parameters<T>,\n): boolean {\n // Allow throwOnError function to override throwing behavior on a per-error basis\n if (typeof throwOnError === 'function') {\n return throwOnError(...params)\n }\n\n return !!throwOnError\n}\n\nexport function addConsumeAwareSignal<T>(\n object: T,\n getSignal: () => AbortSignal,\n onCancelled: VoidFunction,\n): T & { signal: AbortSignal } {\n let consumed = false\n let signal: AbortSignal | undefined\n\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n signal ??= getSignal()\n if (consumed) {\n return signal\n }\n\n consumed = true\n if (signal.aborted) {\n onCancelled()\n } else {\n signal.addEventListener('abort', onCancelled, { once: true })\n }\n\n return signal\n },\n })\n\n return object as T & { signal: AbortSignal }\n}\n"],"mappings":";;;;;AAwFA,MAAa,WAAW,OAAO,WAAW,eAAe,UAAU;AAInE,SAAgB,OAAO,CAAC;AAExB,SAAgB,iBACd,SACA,OACS;CACT,OAAO,OAAO,YAAY,aACrB,QAAmC,KAAK,IACzC;AACN;AAEA,SAAgB,eAAe,OAAiC;CAC9D,OAAO,OAAO,UAAU,YAAY,SAAS,KAAK,UAAU;AAC9D;AAEA,SAAgB,eAAe,WAAmB,WAA4B;CAC5E,OAAO,KAAK,IAAI,aAAa,aAAa,KAAK,KAAK,IAAI,GAAG,CAAC;AAC9D;AAEA,SAAgB,kBAOd,OAIA,OACoB;CACpB,OAAO,OAAO,UAAU,aAElB,MAGA,KAAK,IACP;AACN;AAEA,SAAgB,WACd,SACA,OACS;CACT,MAAM,EACJ,OAAO,OACP,OACA,aACA,WACA,UACA,UACE;CAEJ,IAAI,UAAU;EACZ,IAAI,OACE;OAAA,MAAM,cAAc,sBAAsB,UAAU,MAAM,OAAO,GACnE,OAAO;EAAA,OAEJ,IAAI,CAAC,gBAAgB,MAAM,UAAU,QAAQ,GAClD,OAAO;CAEX;CAEA,IAAI,SAAS,OAAO;EAClB,MAAM,WAAW,MAAM,SAAS;EAChC,IAAI,SAAS,YAAY,CAAC,UACxB,OAAO;EAET,IAAI,SAAS,cAAc,UACzB,OAAO;CAEX;CAEA,IAAI,OAAO,UAAU,aAAa,MAAM,QAAQ,MAAM,OACpD,OAAO;CAGT,IAAI,eAAe,gBAAgB,MAAM,MAAM,aAC7C,OAAO;CAGT,IAAI,aAAa,CAAC,UAAU,KAAK,GAC/B,OAAO;CAGT,OAAO;AACT;AAEA,SAAgB,cACd,SACA,UACS;CACT,MAAM,EAAE,OAAO,QAAQ,WAAW,gBAAgB;CAClD,IAAI,aAAa;EACf,IAAI,CAAC,SAAS,QAAQ,aACpB,OAAO;EAET,IAAI,OACE;OAAA,QAAQ,SAAS,QAAQ,WAAW,MAAM,QAAQ,WAAW,GAC/D,OAAO;EAAA,OAEJ,IAAI,CAAC,gBAAgB,SAAS,QAAQ,aAAa,WAAW,GACnE,OAAO;CAEX;CAEA,IAAI,UAAU,SAAS,MAAM,WAAW,QACtC,OAAO;CAGT,IAAI,aAAa,CAAC,UAAU,QAAQ,GAClC,OAAO;CAGT,OAAO;AACT;AAEA,SAAgB,sBACd,UACA,SACQ;CAER,SAAA,YAAA,QAAA,YAAA,KAAA,IAAA,KAAA,IADe,QAAS,mBAAkB,QAAA,CAC5B,QAAQ;AACxB;;;;;AAMA,SAAgB,QAAQ,UAA0C;CAChE,OAAO,KAAK,UAAU,WAAW,GAAG,QAClC,cAAc,GAAG,IACb,OAAO,KAAK,GAAG,CAAC,CACb,KAAK,CAAC,CACN,QAAQ,QAAQ,QAAQ;EACvB,OAAO,OAAO,IAAI;EAClB,OAAO;CACT,GAAG,CAAC,CAAQ,IACd,GACN;AACF;AAMA,SAAgB,gBAAgB,GAAQ,GAAiB;CACvD,IAAI,MAAM,GACR,OAAO;CAGT,IAAI,OAAO,MAAM,OAAO,GACtB,OAAO;CAGT,IAAI,KAAK,KAAK,OAAO,MAAM,YAAY,OAAO,MAAM,UAAU;EAC5D,IAAI,MAAM,QAAQ,CAAC,KAAK,MAAM,QAAQ,CAAC,GAAG;GACxC,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,KAC5B,IAAI,CAAC,gBAAgB,EAAE,IAAI,EAAE,EAAE,GAC7B,OAAO;GAGX,OAAO;EACT;EAEA,MAAM,QAAQ,OAAO,KAAK,CAAC;EAC3B,KAAK,MAAM,OAAO,OAChB,IAAI,CAAC,gBAAgB,EAAE,MAAM,EAAE,IAAI,GACjC,OAAO;EAGX,OAAO;CACT;CAEA,OAAO;AACT;AAEA,MAAM,SAAS,OAAO,UAAU;AAQhC,SAAgB,iBAAiB,GAAQ,GAAQ,QAAQ,GAAQ;CAC/D,IAAI,MAAM,GACR,OAAO;CAGT,IAAI,QAAQ,KAAK,OAAO;CAExB,MAAM,QAAQ,aAAa,CAAC,KAAK,aAAa,CAAC;CAE/C,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,KAAK,cAAc,CAAC,IAAI,OAAO;CAG9D,MAAM,SADS,QAAQ,IAAI,OAAO,KAAK,CAAC,EAAA,CACnB;CACrB,MAAM,SAAS,QAAQ,IAAI,OAAO,KAAK,CAAC;CACxC,MAAM,QAAQ,OAAO;CACrB,MAAM,OAAY,QAAQ,IAAI,MAAM,KAAK,IAAI,CAAC;CAE9C,IAAI,aAAa;CAEjB,KAAK,IAAI,IAAI,GAAG,IAAI,OAAO,KAAK;EAC9B,MAAM,MAAW,QAAQ,IAAI,OAAO;EACpC,MAAM,QAAQ,EAAE;EAChB,MAAM,QAAQ,EAAE;EAEhB,IAAI,UAAU,OAAO;GACnB,KAAK,OAAO;GACZ,IAAI,QAAQ,IAAI,QAAQ,OAAO,KAAK,GAAG,GAAG,GAAG;GAC7C;EACF;EAEA,IACE,UAAU,QACV,UAAU,QACV,OAAO,UAAU,YACjB,OAAO,UAAU,UACjB;GACA,KAAK,OAAO;GACZ;EACF;EAEA,MAAM,IAAI,iBAAiB,OAAO,OAAO,QAAQ,CAAC;EAClD,KAAK,OAAO;EACZ,IAAI,MAAM,OAAO;CACnB;CAEA,OAAO,UAAU,SAAS,eAAe,QAAQ,IAAI;AACvD;;;;AAKA,SAAgB,oBACd,GACA,GACS;CACT,IAAI,CAAC,KAAK,OAAO,KAAK,CAAC,CAAC,CAAC,WAAW,OAAO,KAAK,CAAC,CAAC,CAAC,QACjD,OAAO;CAGT,KAAK,MAAM,OAAO,GAChB,IAAI,EAAE,SAAS,EAAE,MACf,OAAO;CAIX,OAAO;AACT;AAEA,SAAgB,aAAa,OAAyC;CACpE,OAAO,MAAM,QAAQ,KAAK,KAAK,MAAM,WAAW,OAAO,KAAK,KAAK,CAAC,CAAC;AACrE;AAGA,SAAgB,cAAc,GAA2C;CACvE,IAAI,CAAC,mBAAmB,CAAC,GACvB,OAAO;CAIT,MAAM,OAAO,EAAE;CACf,IAAI,SAAS,KAAA,GACX,OAAO;CAIT,MAAM,OAAO,KAAK;CAClB,IAAI,CAAC,mBAAmB,IAAI,GAC1B,OAAO;CAIT,IAAI,CAAC,KAAK,eAAe,eAAe,GACtC,OAAO;CAIT,IAAI,OAAO,eAAe,CAAC,MAAM,OAAO,WACtC,OAAO;CAIT,OAAO;AACT;AAEA,SAAS,mBAAmB,GAAiB;CAC3C,OAAO,OAAO,UAAU,SAAS,KAAK,CAAC,MAAM;AAC/C;AAEA,SAAgB,MAAM,SAAgC;CACpD,OAAO,IAAI,SAAS,YAAY;EAC9B,eAAe,WAAW,SAAS,OAAO;CAC5C,CAAC;AACH;AAEA,SAAgB,YAGd,UAA6B,MAAa,SAA0B;CACpE,IAAI,OAAO,QAAQ,sBAAsB,YACvC,OAAO,QAAQ,kBAAkB,UAAU,IAAI;MAC1C,IAAI,QAAQ,sBAAsB,OAAO;EAC9C,IAAI,QAAQ,IAAI,aAAa,cAC3B,IAAI;GACF,OAAO,iBAAiB,UAAU,IAAI;EACxC,SAAS,OAAO;GACd,QAAQ,MACN,0JAA0J,QAAQ,UAAU,KAAK,OACnL;GAGA,MAAM;EACR;EAGF,OAAO,iBAAiB,UAAU,IAAI;CACxC;CACA,OAAO;AACT;AAEA,SAAgB,iBACd,cACe;CACf,OAAO;AACT;AAEA,SAAgB,SAAY,OAAiB,MAAS,MAAM,GAAa;CACvE,MAAM,WAAW,CAAC,GAAG,OAAO,IAAI;CAChC,OAAO,OAAO,SAAS,SAAS,MAAM,SAAS,MAAM,CAAC,IAAI;AAC5D;AAEA,SAAgB,WAAc,OAAiB,MAAS,MAAM,GAAa;CACzE,MAAM,WAAW,CAAC,MAAM,GAAG,KAAK;CAChC,OAAO,OAAO,SAAS,SAAS,MAAM,SAAS,MAAM,GAAG,EAAE,IAAI;AAChE;AAEA,MAAa,YAAY,OAAO;AAGhC,SAAgB,cAId,SAIA,cACwC;CACxC,IAAI,QAAQ,IAAI,aAAa,cACvB;MAAA,QAAQ,YAAY,WACtB,QAAQ,MACN,yGAAyG,QAAQ,UAAU,EAC7H;CAAA;CAOJ,IAAI,CAAC,QAAQ,YAAA,iBAAA,QAAA,iBAAA,KAAA,IAAA,KAAA,IAAW,aAAc,iBACpC,aAAa,aAAa;CAG5B,IAAI,CAAC,QAAQ,WAAW,QAAQ,YAAY,WAC1C,aACE,QAAQ,uBAAO,IAAI,MAAM,qBAAqB,QAAQ,UAAU,EAAE,CAAC;CAGvE,OAAO,QAAQ;AACjB;AAEA,SAAgB,iBACd,cACA,QACS;CAET,IAAI,OAAO,iBAAiB,YAC1B,OAAO,aAAa,GAAG,MAAM;CAG/B,OAAO,CAAC,CAAC;AACX;AAEA,SAAgB,sBACd,QACA,WACA,aAC6B;CAC7B,IAAI,WAAW;CACf,IAAI;CAEJ,OAAO,eAAe,QAAQ,UAAU;EACtC,YAAY;EACZ,WAAW;GACT,WAAA,SAAW,UAAU;GACrB,IAAI,UACF,OAAO;GAGT,WAAW;GACX,IAAI,OAAO,SACT,YAAY;QAEZ,OAAO,iBAAiB,SAAS,aAAa,EAAE,MAAM,KAAK,CAAC;GAG9D,OAAO;EACT;CACF,CAAC;CAED,OAAO;AACT"} |
| Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); | ||
| const require_utils = require("./utils.cjs"); | ||
| //#region src/environmentManager.ts | ||
| let isServerFn = () => require_utils.isServer; | ||
| /** | ||
| * Returns whether the current runtime should be treated as a server environment. | ||
| */ | ||
| const isServer = () => isServerFn(); | ||
| /** | ||
| * Manages environment detection used by TanStack Query internals. | ||
| */ | ||
| const environmentManager = (() => { | ||
| let isServerFn = () => require_utils.isServer; | ||
| return { | ||
| /** | ||
| * Returns whether the current runtime should be treated as a server environment. | ||
| */ | ||
| isServer() { | ||
| return isServerFn(); | ||
| }, | ||
| /** | ||
| * Overrides the server check globally. | ||
| */ | ||
| setIsServer(isServerValue) { | ||
| isServerFn = isServerValue; | ||
| } | ||
| }; | ||
| })(); | ||
| const environmentManager = { | ||
| isServer, | ||
| /** | ||
| * Overrides the server check globally. | ||
| */ | ||
| setIsServer(isServerValue) { | ||
| isServerFn = isServerValue; | ||
| } | ||
| }; | ||
| //#endregion | ||
| exports.environmentManager = environmentManager; | ||
| exports.isServer = isServer; | ||
| //# sourceMappingURL=environmentManager.cjs.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"environmentManager.cjs","names":["isServer"],"sources":["../../src/environmentManager.ts"],"sourcesContent":["import { isServer } from './utils'\n\nexport type IsServerValue = () => boolean\n\n/**\n * Manages environment detection used by TanStack Query internals.\n */\nexport const environmentManager = (() => {\n let isServerFn: IsServerValue = () => isServer\n\n return {\n /**\n * Returns whether the current runtime should be treated as a server environment.\n */\n isServer(): boolean {\n return isServerFn()\n },\n /**\n * Overrides the server check globally.\n */\n setIsServer(isServerValue: IsServerValue): void {\n isServerFn = isServerValue\n },\n }\n})()\n"],"mappings":";;;;;;AAOA,MAAa,4BAA4B;CACvC,IAAI,mBAAkCA,cAAAA;CAEtC,OAAO;;;;EAIL,WAAoB;GAClB,OAAO,WAAW;EACpB;;;;EAIA,YAAY,eAAoC;GAC9C,aAAa;EACf;CACF;AACF,EAAA,CAAG"} | ||
| {"version":3,"file":"environmentManager.cjs","names":["defaultIsServer"],"sources":["../../src/environmentManager.ts"],"sourcesContent":["import { isServer as defaultIsServer } from './utils'\n\nexport type IsServerValue = () => boolean\n\nlet isServerFn: IsServerValue = () => defaultIsServer\n\n/**\n * Returns whether the current runtime should be treated as a server environment.\n */\nexport const isServer = (): boolean => isServerFn()\n\n/**\n * Manages environment detection used by TanStack Query internals.\n */\nexport const environmentManager = {\n isServer,\n /**\n * Overrides the server check globally.\n */\n setIsServer(isServerValue: IsServerValue): void {\n isServerFn = isServerValue\n },\n}\n"],"mappings":";;;AAIA,IAAI,mBAAkCA,cAAAA;;;;AAKtC,MAAa,iBAA0B,WAAW;;;;AAKlD,MAAa,qBAAqB;CAChC;;;;CAIA,YAAY,eAAoC;EAC9C,aAAa;CACf;AACF"} |
| //#region src/environmentManager.d.ts | ||
| type IsServerValue = () => boolean; | ||
| /** | ||
| * Returns whether the current runtime should be treated as a server environment. | ||
| */ | ||
| declare const isServer: () => boolean; | ||
| /** | ||
| * Manages environment detection used by TanStack Query internals. | ||
| */ | ||
| declare const environmentManager: { | ||
| isServer: () => boolean; | ||
| /** | ||
| * Returns whether the current runtime should be treated as a server environment. | ||
| */ | ||
| isServer(): boolean; | ||
| /** | ||
| * Overrides the server check globally. | ||
@@ -17,3 +18,3 @@ */ | ||
| //#endregion | ||
| export { IsServerValue, environmentManager }; | ||
| export { IsServerValue, environmentManager, isServer }; | ||
| //# sourceMappingURL=environmentManager.d.cts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"environmentManager.d.cts","names":[],"sources":["../../src/environmentManager.ts"],"mappings":";KAEY;;;;cAKC;;;;EAOG;;;;EAMe,YAAA,eAAA"} | ||
| {"version":3,"file":"environmentManager.d.cts","names":[],"sources":["../../src/environmentManager.ts"],"mappings":";KAEY;;;;cAOC;;;;cAKA;EALe;;;;EAUC,YAAA,eAAA"} |
| //#region src/environmentManager.d.ts | ||
| type IsServerValue = () => boolean; | ||
| /** | ||
| * Returns whether the current runtime should be treated as a server environment. | ||
| */ | ||
| declare const isServer: () => boolean; | ||
| /** | ||
| * Manages environment detection used by TanStack Query internals. | ||
| */ | ||
| declare const environmentManager: { | ||
| isServer: () => boolean; | ||
| /** | ||
| * Returns whether the current runtime should be treated as a server environment. | ||
| */ | ||
| isServer(): boolean; | ||
| /** | ||
| * Overrides the server check globally. | ||
@@ -17,3 +18,3 @@ */ | ||
| //#endregion | ||
| export { IsServerValue, environmentManager }; | ||
| export { IsServerValue, environmentManager, isServer }; | ||
| //# sourceMappingURL=environmentManager.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"environmentManager.d.ts","names":[],"sources":["../../src/environmentManager.ts"],"mappings":";KAEY;;;;cAKC;;;;EAOG;;;;EAMe,YAAA,eAAA"} | ||
| {"version":3,"file":"environmentManager.d.ts","names":[],"sources":["../../src/environmentManager.ts"],"mappings":";KAEY;;;;cAOC;;;;cAKA;EALe;;;;EAUC,YAAA,eAAA"} |
@@ -1,26 +0,23 @@ | ||
| import { isServer } from "./utils.js"; | ||
| import { isServer as isServer$1 } from "./utils.js"; | ||
| //#region src/environmentManager.ts | ||
| let isServerFn = () => isServer$1; | ||
| /** | ||
| * Returns whether the current runtime should be treated as a server environment. | ||
| */ | ||
| const isServer = () => isServerFn(); | ||
| /** | ||
| * Manages environment detection used by TanStack Query internals. | ||
| */ | ||
| const environmentManager = (() => { | ||
| let isServerFn = () => isServer; | ||
| return { | ||
| /** | ||
| * Returns whether the current runtime should be treated as a server environment. | ||
| */ | ||
| isServer() { | ||
| return isServerFn(); | ||
| }, | ||
| /** | ||
| * Overrides the server check globally. | ||
| */ | ||
| setIsServer(isServerValue) { | ||
| isServerFn = isServerValue; | ||
| } | ||
| }; | ||
| })(); | ||
| const environmentManager = { | ||
| isServer, | ||
| /** | ||
| * Overrides the server check globally. | ||
| */ | ||
| setIsServer(isServerValue) { | ||
| isServerFn = isServerValue; | ||
| } | ||
| }; | ||
| //#endregion | ||
| export { environmentManager }; | ||
| export { environmentManager, isServer }; | ||
| //# sourceMappingURL=environmentManager.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"environmentManager.js","names":[],"sources":["../../src/environmentManager.ts"],"sourcesContent":["import { isServer } from './utils'\n\nexport type IsServerValue = () => boolean\n\n/**\n * Manages environment detection used by TanStack Query internals.\n */\nexport const environmentManager = (() => {\n let isServerFn: IsServerValue = () => isServer\n\n return {\n /**\n * Returns whether the current runtime should be treated as a server environment.\n */\n isServer(): boolean {\n return isServerFn()\n },\n /**\n * Overrides the server check globally.\n */\n setIsServer(isServerValue: IsServerValue): void {\n isServerFn = isServerValue\n },\n }\n})()\n"],"mappings":";;;;;AAOA,MAAa,4BAA4B;CACvC,IAAI,mBAAkC;CAEtC,OAAO;;;;EAIL,WAAoB;GAClB,OAAO,WAAW;EACpB;;;;EAIA,YAAY,eAAoC;GAC9C,aAAa;EACf;CACF;AACF,EAAA,CAAG"} | ||
| {"version":3,"file":"environmentManager.js","names":["defaultIsServer"],"sources":["../../src/environmentManager.ts"],"sourcesContent":["import { isServer as defaultIsServer } from './utils'\n\nexport type IsServerValue = () => boolean\n\nlet isServerFn: IsServerValue = () => defaultIsServer\n\n/**\n * Returns whether the current runtime should be treated as a server environment.\n */\nexport const isServer = (): boolean => isServerFn()\n\n/**\n * Manages environment detection used by TanStack Query internals.\n */\nexport const environmentManager = {\n isServer,\n /**\n * Overrides the server check globally.\n */\n setIsServer(isServerValue: IsServerValue): void {\n isServerFn = isServerValue\n },\n}\n"],"mappings":";;AAIA,IAAI,mBAAkCA;;;;AAKtC,MAAa,iBAA0B,WAAW;;;;AAKlD,MAAa,qBAAqB;CAChC;;;;CAIA,YAAY,eAAoC;EAC9C,aAAa;CACf;AACF"} |
@@ -1,2 +0,2 @@ | ||
| import { a as defaultShouldDehydrateQuery, c as hydrate, i as defaultShouldDehydrateMutation, n as DehydratedState, o as dehydrate, r as HydrateOptions, s as dehydrateQuery, t as DehydrateOptions } from "./hydration-BoHd-X9T.cjs"; | ||
| import { a as defaultShouldDehydrateQuery, c as hydrate, i as defaultShouldDehydrateMutation, n as DehydratedState, o as dehydrate, r as HydrateOptions, s as dehydrateQuery, t as DehydrateOptions } from "./hydration-DWGr3cFC.cjs"; | ||
| export { DehydrateOptions, DehydratedState, HydrateOptions, defaultShouldDehydrateMutation, defaultShouldDehydrateQuery, dehydrate, dehydrateQuery, hydrate }; |
@@ -1,2 +0,2 @@ | ||
| import { a as defaultShouldDehydrateQuery, c as hydrate, i as defaultShouldDehydrateMutation, n as DehydratedState, o as dehydrate, r as HydrateOptions, s as dehydrateQuery, t as DehydrateOptions } from "./hydration-DFwTM9vM.js"; | ||
| import { a as defaultShouldDehydrateQuery, c as hydrate, i as defaultShouldDehydrateMutation, n as DehydratedState, o as dehydrate, r as HydrateOptions, s as dehydrateQuery, t as DehydrateOptions } from "./hydration-Bjs0MSgg.js"; | ||
| export { DehydrateOptions, DehydratedState, HydrateOptions, defaultShouldDehydrateMutation, defaultShouldDehydrateQuery, dehydrate, dehydrateQuery, hydrate }; |
| import { environmentManager } from "./environmentManager.cjs"; | ||
| import { focusManager } from "./focusManager.cjs"; | ||
| import { $ as MutationObserverBaseResult, $t as CancelledError, A as InfiniteData, An as noop, At as QueryObserverOptions, B as InfiniteQueryObserverSuccessResult, Bt as RefetchQueryFilters, C as FetchPreviousPageOptions, Ct as QueryKey, D as GetPreviousPageParamFunction, Dn as keepPreviousData, Dt as QueryObserverBaseResult, E as GetNextPageParamFunction, Et as QueryMeta, F as InfiniteQueryObserverOptions, Ft as QueryObserverSuccessResult, G as InvalidateQueryFilters, Gn as MutationCache, Gt as StaleTime, H as InitialDataFunction, Hn as Mutation, Ht as ResetOptions, I as InfiniteQueryObserverPendingResult, It as QueryOptions, J as MutateOptions, Jn as MutationObserver, Jt as UnsetMarker, K as MutateFunction, Kn as MutationCacheConfig, Kt as StaleTimeFunction, L as InfiniteQueryObserverPlaceholderResult, Ln as shouldThrowError, Lt as QueryPersister, M as InfiniteQueryObserverBaseResult, Mt as QueryObserverPlaceholderResult, N as InfiniteQueryObserverLoadingErrorResult, Nn as replaceEqualDeep, Nt as QueryObserverRefetchErrorResult, O as InferDataFromTag, On as matchMutation, Ot as QueryObserverLoadingErrorResult, P as InfiniteQueryObserverLoadingResult, Pt as QueryObserverResult, Q as MutationMeta, Qt as unsetMarker, R as InfiniteQueryObserverRefetchErrorResult, Rn as skipToken, Rt as QueryStatus, S as FetchNextPageOptions, St as QueryFunctionContext, T as FetchStatus, Tn as isServer, Tt as QueryKeyWithDataTag, U as InitialPageParam, Un as MutationState, Ut as ResultOptions, V as InfiniteQueryPageParamsOptions, Vt as Register, W as InvalidateOptions, Wt as SetDataOptions, X as MutationFunctionContext, Xt as dataTagErrorSymbol, Y as MutationFunction, Yt as WithRequired, Z as MutationKey, Zt as dataTagSymbol, _ as DefinedQueryObserverResult, _t as QueriesPlaceholderDataFunction, a as defaultShouldDehydrateQuery, an as isCancelledError, at as MutationObserverSuccessResult, b as EnsureQueryDataOptions, bt as QueryExecuteOptions, c as hydrate, cn as QueryCacheConfig, ct as MutationStatus, d as DataTag, dn as MutationFilters, dt as NotifyEvent, er as Query, et as MutationObserverErrorResult, f as DefaultError, fn as QueryFilters, ft as NotifyEventType, g as DefinedInfiniteQueryObserverResult, gt as PlaceholderDataFunction, h as DefaultedQueryObserverOptions, hn as Updater, ht as Override, i as defaultShouldDehydrateMutation, ir as QueryObserver, it as MutationObserverResult, j as InfiniteQueryExecuteOptions, jn as partialMatchKey, jt as QueryObserverPendingResult, k as InferErrorFromTag, kn as matchQuery, kt as QueryObserverLoadingResult, l as AnyDataTag, ln as QueryCacheNotifyEvent, lt as NetworkMode, m as DefaultedInfiniteQueryObserverOptions, mn as SkipToken, mt as OmitKeyof, n as DehydratedState, nr as QueryState, nt as MutationObserverLoadingResult, o as dehydrate, on as QueryClient, ot as MutationOptions, p as DefaultOptions, pt as NotifyOnChangeProps, q as MutateFunctionRest, qn as MutationCacheNotifyEvent, qt as ThrowOnError, r as HydrateOptions, rt as MutationObserverOptions, s as dehydrateQuery, sn as QueryCache, st as MutationScope, t as DehydrateOptions, tt as MutationObserverIdleResult, u as CancelOptions, ut as NonUndefinedGuard, v as DistributiveOmit, vt as QueryBooleanOption, w as FetchQueryOptions, wt as QueryKeyHashFunction, x as FetchInfiniteQueryOptions, xn as hashKey, xt as QueryFunction, y as EnsureInfiniteQueryDataOptions, yt as QueryClientConfig, z as InfiniteQueryObserverResult, zt as RefetchOptions } from "./hydration-BoHd-X9T.cjs"; | ||
| import { $ as MutationObserverBaseResult, $n as Query, $t as CancelledError, A as InfiniteData, An as noop, At as QueryObserverOptions, B as InfiniteQueryObserverSuccessResult, Bt as RefetchQueryFilters, C as FetchPreviousPageOptions, Ct as QueryKey, D as GetPreviousPageParamFunction, Dn as keepPreviousData, Dt as QueryObserverBaseResult, E as GetNextPageParamFunction, Et as QueryMeta, F as InfiniteQueryObserverOptions, Ft as QueryObserverSuccessResult, G as InvalidateQueryFilters, Gn as MutationCacheConfig, Gt as StaleTime, H as InitialDataFunction, Hn as MutationState, Ht as ResetOptions, I as InfiniteQueryObserverPendingResult, In as shouldThrowError, It as QueryOptions, J as MutateOptions, Jt as UnsetMarker, K as MutateFunction, Kn as MutationCacheNotifyEvent, Kt as StaleTimeFunction, L as InfiniteQueryObserverPlaceholderResult, Ln as skipToken, Lt as QueryPersister, M as InfiniteQueryObserverBaseResult, Mt as QueryObserverPlaceholderResult, N as InfiniteQueryObserverLoadingErrorResult, Nn as replaceEqualDeep, Nt as QueryObserverRefetchErrorResult, O as InferDataFromTag, On as matchMutation, Ot as QueryObserverLoadingErrorResult, P as InfiniteQueryObserverLoadingResult, Pt as QueryObserverResult, Q as MutationMeta, Qt as unsetMarker, R as InfiniteQueryObserverRefetchErrorResult, Rt as QueryStatus, S as FetchNextPageOptions, St as QueryFunctionContext, T as FetchStatus, Tn as isServer, Tt as QueryKeyWithDataTag, U as InitialPageParam, Ut as ResultOptions, V as InfiniteQueryPageParamsOptions, Vn as Mutation, Vt as Register, W as InvalidateOptions, Wn as MutationCache, Wt as SetDataOptions, X as MutationFunctionContext, Xt as dataTagErrorSymbol, Y as MutationFunction, Yt as WithRequired, Z as MutationKey, Zt as dataTagSymbol, _ as DefinedQueryObserverResult, _t as QueriesPlaceholderDataFunction, a as defaultShouldDehydrateQuery, an as isCancelledError, at as MutationObserverSuccessResult, b as EnsureQueryDataOptions, bt as QueryExecuteOptions, c as hydrate, cn as QueryCacheConfig, ct as MutationStatus, d as DataTag, dn as MutationFilters, dt as NotifyEvent, et as MutationObserverErrorResult, f as DefaultError, fn as QueryFilters, ft as NotifyEventType, g as DefinedInfiniteQueryObserverResult, gt as PlaceholderDataFunction, h as DefaultedQueryObserverOptions, hn as Updater, ht as Override, i as defaultShouldDehydrateMutation, it as MutationObserverResult, j as InfiniteQueryExecuteOptions, jn as partialMatchKey, jt as QueryObserverPendingResult, k as InferErrorFromTag, kn as matchQuery, kt as QueryObserverLoadingResult, l as AnyDataTag, ln as QueryCacheNotifyEvent, lt as NetworkMode, m as DefaultedInfiniteQueryObserverOptions, mn as SkipToken, mt as OmitKeyof, n as DehydratedState, nt as MutationObserverLoadingResult, o as dehydrate, on as QueryClient, ot as MutationOptions, p as DefaultOptions, pt as NotifyOnChangeProps, q as MutateFunctionRest, qn as MutationObserver, qt as ThrowOnError, r as HydrateOptions, rr as QueryObserver, rt as MutationObserverOptions, s as dehydrateQuery, sn as QueryCache, st as MutationScope, t as DehydrateOptions, tr as QueryState, tt as MutationObserverIdleResult, u as CancelOptions, ut as NonUndefinedGuard, v as DistributiveOmit, vt as QueryBooleanOption, w as FetchQueryOptions, wt as QueryKeyHashFunction, x as FetchInfiniteQueryOptions, xn as hashKey, xt as QueryFunction, y as EnsureInfiniteQueryDataOptions, yt as QueryClientConfig, z as InfiniteQueryObserverResult, zt as RefetchOptions } from "./hydration-DWGr3cFC.cjs"; | ||
| import { InfiniteQueryObserver } from "./infiniteQueryObserver.cjs"; | ||
@@ -5,0 +5,0 @@ import { defaultScheduler, notifyManager } from "./notifyManager.cjs"; |
| import { environmentManager } from "./environmentManager.js"; | ||
| import { focusManager } from "./focusManager.js"; | ||
| import { $ as MutationObserverBaseResult, $t as CancelledError, A as InfiniteData, An as noop, At as QueryObserverOptions, B as InfiniteQueryObserverSuccessResult, Bt as RefetchQueryFilters, C as FetchPreviousPageOptions, Ct as QueryKey, D as GetPreviousPageParamFunction, Dn as keepPreviousData, Dt as QueryObserverBaseResult, E as GetNextPageParamFunction, Et as QueryMeta, F as InfiniteQueryObserverOptions, Ft as QueryObserverSuccessResult, G as InvalidateQueryFilters, Gn as MutationCache, Gt as StaleTime, H as InitialDataFunction, Hn as Mutation, Ht as ResetOptions, I as InfiniteQueryObserverPendingResult, It as QueryOptions, J as MutateOptions, Jn as MutationObserver, Jt as UnsetMarker, K as MutateFunction, Kn as MutationCacheConfig, Kt as StaleTimeFunction, L as InfiniteQueryObserverPlaceholderResult, Ln as shouldThrowError, Lt as QueryPersister, M as InfiniteQueryObserverBaseResult, Mt as QueryObserverPlaceholderResult, N as InfiniteQueryObserverLoadingErrorResult, Nn as replaceEqualDeep, Nt as QueryObserverRefetchErrorResult, O as InferDataFromTag, On as matchMutation, Ot as QueryObserverLoadingErrorResult, P as InfiniteQueryObserverLoadingResult, Pt as QueryObserverResult, Q as MutationMeta, Qt as unsetMarker, R as InfiniteQueryObserverRefetchErrorResult, Rn as skipToken, Rt as QueryStatus, S as FetchNextPageOptions, St as QueryFunctionContext, T as FetchStatus, Tn as isServer, Tt as QueryKeyWithDataTag, U as InitialPageParam, Un as MutationState, Ut as ResultOptions, V as InfiniteQueryPageParamsOptions, Vt as Register, W as InvalidateOptions, Wt as SetDataOptions, X as MutationFunctionContext, Xt as dataTagErrorSymbol, Y as MutationFunction, Yt as WithRequired, Z as MutationKey, Zt as dataTagSymbol, _ as DefinedQueryObserverResult, _t as QueriesPlaceholderDataFunction, a as defaultShouldDehydrateQuery, an as isCancelledError, at as MutationObserverSuccessResult, b as EnsureQueryDataOptions, bt as QueryExecuteOptions, c as hydrate, cn as QueryCacheConfig, ct as MutationStatus, d as DataTag, dn as MutationFilters, dt as NotifyEvent, er as Query, et as MutationObserverErrorResult, f as DefaultError, fn as QueryFilters, ft as NotifyEventType, g as DefinedInfiniteQueryObserverResult, gt as PlaceholderDataFunction, h as DefaultedQueryObserverOptions, hn as Updater, ht as Override, i as defaultShouldDehydrateMutation, ir as QueryObserver, it as MutationObserverResult, j as InfiniteQueryExecuteOptions, jn as partialMatchKey, jt as QueryObserverPendingResult, k as InferErrorFromTag, kn as matchQuery, kt as QueryObserverLoadingResult, l as AnyDataTag, ln as QueryCacheNotifyEvent, lt as NetworkMode, m as DefaultedInfiniteQueryObserverOptions, mn as SkipToken, mt as OmitKeyof, n as DehydratedState, nr as QueryState, nt as MutationObserverLoadingResult, o as dehydrate, on as QueryClient, ot as MutationOptions, p as DefaultOptions, pt as NotifyOnChangeProps, q as MutateFunctionRest, qn as MutationCacheNotifyEvent, qt as ThrowOnError, r as HydrateOptions, rt as MutationObserverOptions, s as dehydrateQuery, sn as QueryCache, st as MutationScope, t as DehydrateOptions, tt as MutationObserverIdleResult, u as CancelOptions, ut as NonUndefinedGuard, v as DistributiveOmit, vt as QueryBooleanOption, w as FetchQueryOptions, wt as QueryKeyHashFunction, x as FetchInfiniteQueryOptions, xn as hashKey, xt as QueryFunction, y as EnsureInfiniteQueryDataOptions, yt as QueryClientConfig, z as InfiniteQueryObserverResult, zt as RefetchOptions } from "./hydration-DFwTM9vM.js"; | ||
| import { $ as MutationObserverBaseResult, $n as Query, $t as CancelledError, A as InfiniteData, An as noop, At as QueryObserverOptions, B as InfiniteQueryObserverSuccessResult, Bt as RefetchQueryFilters, C as FetchPreviousPageOptions, Ct as QueryKey, D as GetPreviousPageParamFunction, Dn as keepPreviousData, Dt as QueryObserverBaseResult, E as GetNextPageParamFunction, Et as QueryMeta, F as InfiniteQueryObserverOptions, Ft as QueryObserverSuccessResult, G as InvalidateQueryFilters, Gn as MutationCacheConfig, Gt as StaleTime, H as InitialDataFunction, Hn as MutationState, Ht as ResetOptions, I as InfiniteQueryObserverPendingResult, In as shouldThrowError, It as QueryOptions, J as MutateOptions, Jt as UnsetMarker, K as MutateFunction, Kn as MutationCacheNotifyEvent, Kt as StaleTimeFunction, L as InfiniteQueryObserverPlaceholderResult, Ln as skipToken, Lt as QueryPersister, M as InfiniteQueryObserverBaseResult, Mt as QueryObserverPlaceholderResult, N as InfiniteQueryObserverLoadingErrorResult, Nn as replaceEqualDeep, Nt as QueryObserverRefetchErrorResult, O as InferDataFromTag, On as matchMutation, Ot as QueryObserverLoadingErrorResult, P as InfiniteQueryObserverLoadingResult, Pt as QueryObserverResult, Q as MutationMeta, Qt as unsetMarker, R as InfiniteQueryObserverRefetchErrorResult, Rt as QueryStatus, S as FetchNextPageOptions, St as QueryFunctionContext, T as FetchStatus, Tn as isServer, Tt as QueryKeyWithDataTag, U as InitialPageParam, Ut as ResultOptions, V as InfiniteQueryPageParamsOptions, Vn as Mutation, Vt as Register, W as InvalidateOptions, Wn as MutationCache, Wt as SetDataOptions, X as MutationFunctionContext, Xt as dataTagErrorSymbol, Y as MutationFunction, Yt as WithRequired, Z as MutationKey, Zt as dataTagSymbol, _ as DefinedQueryObserverResult, _t as QueriesPlaceholderDataFunction, a as defaultShouldDehydrateQuery, an as isCancelledError, at as MutationObserverSuccessResult, b as EnsureQueryDataOptions, bt as QueryExecuteOptions, c as hydrate, cn as QueryCacheConfig, ct as MutationStatus, d as DataTag, dn as MutationFilters, dt as NotifyEvent, et as MutationObserverErrorResult, f as DefaultError, fn as QueryFilters, ft as NotifyEventType, g as DefinedInfiniteQueryObserverResult, gt as PlaceholderDataFunction, h as DefaultedQueryObserverOptions, hn as Updater, ht as Override, i as defaultShouldDehydrateMutation, it as MutationObserverResult, j as InfiniteQueryExecuteOptions, jn as partialMatchKey, jt as QueryObserverPendingResult, k as InferErrorFromTag, kn as matchQuery, kt as QueryObserverLoadingResult, l as AnyDataTag, ln as QueryCacheNotifyEvent, lt as NetworkMode, m as DefaultedInfiniteQueryObserverOptions, mn as SkipToken, mt as OmitKeyof, n as DehydratedState, nt as MutationObserverLoadingResult, o as dehydrate, on as QueryClient, ot as MutationOptions, p as DefaultOptions, pt as NotifyOnChangeProps, q as MutateFunctionRest, qn as MutationObserver, qt as ThrowOnError, r as HydrateOptions, rr as QueryObserver, rt as MutationObserverOptions, s as dehydrateQuery, sn as QueryCache, st as MutationScope, t as DehydrateOptions, tr as QueryState, tt as MutationObserverIdleResult, u as CancelOptions, ut as NonUndefinedGuard, v as DistributiveOmit, vt as QueryBooleanOption, w as FetchQueryOptions, wt as QueryKeyHashFunction, x as FetchInfiniteQueryOptions, xn as hashKey, xt as QueryFunction, y as EnsureInfiniteQueryDataOptions, yt as QueryClientConfig, z as InfiniteQueryObserverResult, zt as RefetchOptions } from "./hydration-Bjs0MSgg.js"; | ||
| import { InfiniteQueryObserver } from "./infiniteQueryObserver.js"; | ||
@@ -5,0 +5,0 @@ import { defaultScheduler, notifyManager } from "./notifyManager.js"; |
@@ -1,2 +0,2 @@ | ||
| import { A as InfiniteData, V as InfiniteQueryPageParamsOptions, tr as QueryBehavior } from "./hydration-BoHd-X9T.cjs"; | ||
| import { A as InfiniteData, V as InfiniteQueryPageParamsOptions, er as QueryBehavior } from "./hydration-DWGr3cFC.cjs"; | ||
| //#region src/infiniteQueryBehavior.d.ts | ||
@@ -3,0 +3,0 @@ declare function infiniteQueryBehavior<TQueryFnData, TError, TData, TPageParam>(pages?: number): QueryBehavior<TQueryFnData, TError, InfiniteData<TData, TPageParam>>; |
@@ -1,2 +0,2 @@ | ||
| import { A as InfiniteData, V as InfiniteQueryPageParamsOptions, tr as QueryBehavior } from "./hydration-DFwTM9vM.js"; | ||
| import { A as InfiniteData, V as InfiniteQueryPageParamsOptions, er as QueryBehavior } from "./hydration-Bjs0MSgg.js"; | ||
| //#region src/infiniteQueryBehavior.d.ts | ||
@@ -3,0 +3,0 @@ declare function infiniteQueryBehavior<TQueryFnData, TError, TData, TPageParam>(pages?: number): QueryBehavior<TQueryFnData, TError, InfiniteData<TData, TPageParam>>; |
| import { t as Subscribable } from "./subscribable-CbifVTKz.cjs"; | ||
| import { A as InfiniteData, C as FetchPreviousPageOptions, Ct as QueryKey, F as InfiniteQueryObserverOptions, S as FetchNextPageOptions, er as Query, f as DefaultError, ir as QueryObserver, m as DefaultedInfiniteQueryObserverOptions, on as QueryClient, z as InfiniteQueryObserverResult } from "./hydration-BoHd-X9T.cjs"; | ||
| import { $n as Query, A as InfiniteData, C as FetchPreviousPageOptions, Ct as QueryKey, F as InfiniteQueryObserverOptions, S as FetchNextPageOptions, f as DefaultError, m as DefaultedInfiniteQueryObserverOptions, on as QueryClient, rr as QueryObserver, z as InfiniteQueryObserverResult } from "./hydration-DWGr3cFC.cjs"; | ||
| //#region src/infiniteQueryObserver.d.ts | ||
@@ -4,0 +4,0 @@ type InfiniteQueryObserverListener<TData, TError> = (result: InfiniteQueryObserverResult<TData, TError>) => void; |
| import { t as Subscribable } from "./subscribable-CbifVTKz.js"; | ||
| import { A as InfiniteData, C as FetchPreviousPageOptions, Ct as QueryKey, F as InfiniteQueryObserverOptions, S as FetchNextPageOptions, er as Query, f as DefaultError, ir as QueryObserver, m as DefaultedInfiniteQueryObserverOptions, on as QueryClient, z as InfiniteQueryObserverResult } from "./hydration-DFwTM9vM.js"; | ||
| import { $n as Query, A as InfiniteData, C as FetchPreviousPageOptions, Ct as QueryKey, F as InfiniteQueryObserverOptions, S as FetchNextPageOptions, f as DefaultError, m as DefaultedInfiniteQueryObserverOptions, on as QueryClient, rr as QueryObserver, z as InfiniteQueryObserverResult } from "./hydration-Bjs0MSgg.js"; | ||
| //#region src/infiniteQueryObserver.d.ts | ||
@@ -4,0 +4,0 @@ type InfiniteQueryObserverListener<TData, TError> = (result: InfiniteQueryObserverResult<TData, TError>) => void; |
@@ -1,2 +0,2 @@ | ||
| import { Hn as Mutation, Un as MutationState, Vn as Action, Wn as getDefaultState } from "./hydration-BoHd-X9T.cjs"; | ||
| import { Bn as Action, Hn as MutationState, Un as getDefaultState, Vn as Mutation } from "./hydration-DWGr3cFC.cjs"; | ||
| export { Action, Mutation, MutationState, getDefaultState }; |
@@ -1,2 +0,2 @@ | ||
| import { Hn as Mutation, Un as MutationState, Vn as Action, Wn as getDefaultState } from "./hydration-DFwTM9vM.js"; | ||
| import { Bn as Action, Hn as MutationState, Un as getDefaultState, Vn as Mutation } from "./hydration-Bjs0MSgg.js"; | ||
| export { Action, Mutation, MutationState, getDefaultState }; |
@@ -1,2 +0,2 @@ | ||
| import { Gn as MutationCache, Kn as MutationCacheConfig, qn as MutationCacheNotifyEvent } from "./hydration-BoHd-X9T.cjs"; | ||
| import { Gn as MutationCacheConfig, Kn as MutationCacheNotifyEvent, Wn as MutationCache } from "./hydration-DWGr3cFC.cjs"; | ||
| export { MutationCache, MutationCacheConfig, MutationCacheNotifyEvent }; |
@@ -1,2 +0,2 @@ | ||
| import { Gn as MutationCache, Kn as MutationCacheConfig, qn as MutationCacheNotifyEvent } from "./hydration-DFwTM9vM.js"; | ||
| import { Gn as MutationCacheConfig, Kn as MutationCacheNotifyEvent, Wn as MutationCache } from "./hydration-Bjs0MSgg.js"; | ||
| export { MutationCache, MutationCacheConfig, MutationCacheNotifyEvent }; |
@@ -1,2 +0,2 @@ | ||
| import { Jn as MutationObserver } from "./hydration-BoHd-X9T.cjs"; | ||
| import { qn as MutationObserver } from "./hydration-DWGr3cFC.cjs"; | ||
| export { MutationObserver }; |
@@ -1,2 +0,2 @@ | ||
| import { Jn as MutationObserver } from "./hydration-DFwTM9vM.js"; | ||
| import { qn as MutationObserver } from "./hydration-Bjs0MSgg.js"; | ||
| export { MutationObserver }; |
@@ -11,7 +11,2 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); | ||
| } | ||
| function replaceAt(array, index, value) { | ||
| const copy = array.slice(0); | ||
| copy[index] = value; | ||
| return copy; | ||
| } | ||
| var QueriesObserver = class extends require_subscribable.Subscribable { | ||
@@ -172,3 +167,4 @@ #client; | ||
| if (index !== -1) { | ||
| this.#result = replaceAt(this.#result, index, result); | ||
| this.#result = this.#result.slice(); | ||
| this.#result[index] = result; | ||
| this.#notify(); | ||
@@ -175,0 +171,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"queriesObserver.cjs","names":["Subscribable","#client","#options","#queries","#observers","#result","#onUpdate","#findMatchingObservers","shallowEqualObjects","#observerMatches","#notify","#combineResult","#trackResult","#lastQueryHashes","#lastResult","#lastCombine","#combinedResult","replaceEqualDeep","QueryObserver","#shouldSkipCombine"],"sources":["../../src/queriesObserver.ts"],"sourcesContent":["import { notifyManager } from './notifyManager'\nimport { QueryObserver } from './queryObserver'\nimport { Subscribable } from './subscribable'\nimport { replaceEqualDeep, shallowEqualObjects } from './utils'\nimport type {\n DefaultedQueryObserverOptions,\n QueryObserverOptions,\n QueryObserverResult,\n} from './types'\nimport type { QueryClient } from './queryClient'\n\nfunction difference<T>(array1: Array<T>, array2: Array<T>): Array<T> {\n const excludeSet = new Set(array2)\n return array1.filter((x) => !excludeSet.has(x))\n}\n\nfunction replaceAt<T>(array: Array<T>, index: number, value: T): Array<T> {\n const copy = array.slice(0)\n copy[index] = value\n return copy\n}\n\ntype QueriesObserverListener = (result: Array<QueryObserverResult>) => void\n\ntype CombineFn<TCombinedResult> = (\n result: Array<QueryObserverResult>,\n) => TCombinedResult\n\nexport interface QueriesObserverOptions<\n TCombinedResult = Array<QueryObserverResult>,\n> {\n combine?: CombineFn<TCombinedResult>\n}\n\nexport class QueriesObserver<\n TCombinedResult = Array<QueryObserverResult>,\n> extends Subscribable<QueriesObserverListener> {\n #client: QueryClient\n #result!: Array<QueryObserverResult>\n #queries: Array<QueryObserverOptions>\n #options?: QueriesObserverOptions<TCombinedResult>\n #observers: Array<QueryObserver>\n #combinedResult!: TCombinedResult\n #lastCombine?: CombineFn<TCombinedResult>\n #lastResult?: Array<QueryObserverResult>\n #lastQueryHashes?: Array<string>\n #observerMatches: Array<QueryObserverMatch> = []\n\n constructor(\n client: QueryClient,\n queries: Array<QueryObserverOptions<any, any, any, any, any>>,\n options?: QueriesObserverOptions<TCombinedResult>,\n ) {\n super()\n\n this.#client = client\n this.#options = options\n this.#queries = []\n this.#observers = []\n this.#result = []\n\n this.setQueries(queries)\n }\n\n protected onSubscribe(): void {\n if (this.listeners.size === 1) {\n this.#observers.forEach((observer) => {\n observer.subscribe((result) => {\n this.#onUpdate(observer, result)\n })\n })\n }\n }\n\n protected onUnsubscribe(): void {\n if (!this.listeners.size) {\n this.destroy()\n }\n }\n\n destroy(): void {\n this.listeners = new Set()\n this.#observers.forEach((observer) => {\n observer.destroy()\n })\n }\n\n setQueries(\n queries: Array<QueryObserverOptions>,\n options?: QueriesObserverOptions<TCombinedResult>,\n ): void {\n this.#queries = queries\n this.#options = options\n\n if (process.env.NODE_ENV !== 'production') {\n const queryHashes = queries.map(\n (query) => this.#client.defaultQueryOptions(query).queryHash,\n )\n if (new Set(queryHashes).size !== queryHashes.length) {\n console.warn(\n '[QueriesObserver]: Duplicate Queries found. This might result in unexpected behavior.',\n )\n }\n }\n\n notifyManager.batch(() => {\n const prevObservers = this.#observers\n\n const newObserverMatches = this.#findMatchingObservers(this.#queries)\n\n // set options for the new observers to notify of changes\n newObserverMatches.forEach((match) =>\n match.observer.setOptions(match.defaultedQueryOptions),\n )\n\n const newObservers = newObserverMatches.map((match) => match.observer)\n const newResult = newObservers.map((observer) =>\n observer.getCurrentResult(),\n )\n\n const hasLengthChange = prevObservers.length !== newObservers.length\n const hasIndexChange = newObservers.some(\n (observer, index) => observer !== prevObservers[index],\n )\n const hasStructuralChange = hasLengthChange || hasIndexChange\n\n const hasResultChange = hasStructuralChange\n ? true\n : newResult.some((result, index) => {\n const prev = this.#result[index]\n return !prev || !shallowEqualObjects(result, prev)\n })\n\n if (!hasStructuralChange && !hasResultChange) return\n\n if (hasStructuralChange) {\n this.#observerMatches = newObserverMatches\n this.#observers = newObservers\n }\n\n this.#result = newResult\n\n if (!this.hasListeners()) return\n\n if (hasStructuralChange) {\n difference(prevObservers, newObservers).forEach((observer) => {\n observer.destroy()\n })\n difference(newObservers, prevObservers).forEach((observer) => {\n observer.subscribe((result) => {\n this.#onUpdate(observer, result)\n })\n })\n }\n\n this.#notify()\n })\n }\n\n getCurrentResult(): Array<QueryObserverResult> {\n return this.#result\n }\n\n getQueries() {\n return this.#observers.map((observer) => observer.getCurrentQuery())\n }\n\n getObservers() {\n return this.#observers\n }\n\n getOptimisticResult(\n queries: Array<QueryObserverOptions>,\n combine: CombineFn<TCombinedResult> | undefined,\n ): [\n rawResult: Array<QueryObserverResult>,\n combineResult: (r?: Array<QueryObserverResult>) => TCombinedResult,\n trackResult: () => Array<QueryObserverResult>,\n ] {\n const matches = this.#findMatchingObservers(queries)\n const result = matches.map((match) =>\n match.observer.getOptimisticResult(match.defaultedQueryOptions),\n )\n const queryHashes = matches.map(\n (match) => match.defaultedQueryOptions.queryHash,\n )\n\n return [\n result,\n (r?: Array<QueryObserverResult>) => {\n return this.#combineResult(r ?? result, combine, queryHashes)\n },\n () => {\n return this.#trackResult(result, matches)\n },\n ]\n }\n\n #trackResult(\n result: Array<QueryObserverResult>,\n matches: Array<QueryObserverMatch>,\n ) {\n const trackedProps = new Set<keyof QueryObserverResult>()\n\n return matches.map((match, index) => {\n const observerResult = result[index]!\n return !match.defaultedQueryOptions.notifyOnChangeProps\n ? match.observer.trackResult(observerResult, (accessedProp) => {\n // track property on all observers to ensure proper (synchronized) tracking (#7000)\n if (!trackedProps.has(accessedProp)) {\n trackedProps.add(accessedProp)\n matches.forEach((m) => {\n m.observer.trackProp(accessedProp)\n })\n }\n })\n : observerResult\n })\n }\n\n #combineResult(\n input: Array<QueryObserverResult>,\n combine: CombineFn<TCombinedResult> | undefined,\n queryHashes?: Array<string>,\n ): TCombinedResult {\n if (combine) {\n const lastHashes = this.#lastQueryHashes\n const queryHashesChanged =\n queryHashes !== undefined &&\n lastHashes !== undefined &&\n (lastHashes.length !== queryHashes.length ||\n queryHashes.some((hash, i) => hash !== lastHashes[i]))\n\n if (\n this.#result !== this.#lastResult ||\n queryHashesChanged ||\n combine !== this.#lastCombine\n ) {\n this.#lastCombine = combine\n this.#lastResult = this.#result\n\n if (queryHashes !== undefined) {\n this.#lastQueryHashes = queryHashes\n }\n this.#combinedResult = replaceEqualDeep(\n this.#combinedResult,\n combine(input),\n )\n }\n\n return this.#combinedResult\n }\n return input as any\n }\n\n #shouldSkipCombine(): boolean {\n return (\n !this.#options?.combine ||\n this.#observers.some((observer, index) => {\n return (\n observer.options.suspense && this.#result[index]?.data === undefined\n )\n })\n )\n }\n\n #findMatchingObservers(\n queries: Array<QueryObserverOptions>,\n ): Array<QueryObserverMatch> {\n const prevObserversMap = new Map<string, Array<QueryObserver>>()\n\n this.#observers.forEach((observer) => {\n const key = observer.options.queryHash\n if (!key) return\n\n const previousObservers = prevObserversMap.get(key)\n\n if (previousObservers) {\n previousObservers.push(observer)\n } else {\n prevObserversMap.set(key, [observer])\n }\n })\n\n const observers: Array<QueryObserverMatch> = []\n\n queries.forEach((options) => {\n const defaultedOptions = this.#client.defaultQueryOptions(options)\n const match = prevObserversMap.get(defaultedOptions.queryHash)?.shift()\n const observer =\n match ?? new QueryObserver(this.#client, defaultedOptions)\n\n observers.push({\n defaultedQueryOptions: defaultedOptions,\n observer,\n })\n })\n\n return observers\n }\n\n #onUpdate(observer: QueryObserver, result: QueryObserverResult): void {\n const index = this.#observers.indexOf(observer)\n if (index !== -1) {\n this.#result = replaceAt(this.#result, index, result)\n this.#notify()\n }\n }\n\n #notify(): void {\n if (this.hasListeners()) {\n const shouldSkipCombine = this.#shouldSkipCombine()\n const previousResult = this.#combinedResult\n const newResult = shouldSkipCombine\n ? previousResult\n : this.#combineResult(\n this.#trackResult(this.#result, this.#observerMatches),\n this.#options?.combine,\n )\n\n if (shouldSkipCombine || previousResult !== newResult) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(this.#result)\n })\n })\n }\n }\n }\n}\n\ntype QueryObserverMatch = {\n defaultedQueryOptions: DefaultedQueryObserverOptions\n observer: QueryObserver\n}\n"],"mappings":"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"} | ||
| {"version":3,"file":"queriesObserver.cjs","names":["Subscribable","#client","#options","#queries","#observers","#result","#onUpdate","#findMatchingObservers","shallowEqualObjects","#observerMatches","#notify","#combineResult","#trackResult","#lastQueryHashes","#lastResult","#lastCombine","#combinedResult","replaceEqualDeep","QueryObserver","#shouldSkipCombine"],"sources":["../../src/queriesObserver.ts"],"sourcesContent":["import { notifyManager } from './notifyManager'\nimport { QueryObserver } from './queryObserver'\nimport { Subscribable } from './subscribable'\nimport { replaceEqualDeep, shallowEqualObjects } from './utils'\nimport type {\n DefaultedQueryObserverOptions,\n QueryObserverOptions,\n QueryObserverResult,\n} from './types'\nimport type { QueryClient } from './queryClient'\n\nfunction difference<T>(array1: Array<T>, array2: Array<T>): Array<T> {\n const excludeSet = new Set(array2)\n return array1.filter((x) => !excludeSet.has(x))\n}\n\ntype QueriesObserverListener = (result: Array<QueryObserverResult>) => void\n\ntype CombineFn<TCombinedResult> = (\n result: Array<QueryObserverResult>,\n) => TCombinedResult\n\nexport interface QueriesObserverOptions<\n TCombinedResult = Array<QueryObserverResult>,\n> {\n combine?: CombineFn<TCombinedResult>\n}\n\nexport class QueriesObserver<\n TCombinedResult = Array<QueryObserverResult>,\n> extends Subscribable<QueriesObserverListener> {\n #client: QueryClient\n #result!: Array<QueryObserverResult>\n #queries: Array<QueryObserverOptions>\n #options?: QueriesObserverOptions<TCombinedResult>\n #observers: Array<QueryObserver>\n #combinedResult!: TCombinedResult\n #lastCombine?: CombineFn<TCombinedResult>\n #lastResult?: Array<QueryObserverResult>\n #lastQueryHashes?: Array<string>\n #observerMatches: Array<QueryObserverMatch> = []\n\n constructor(\n client: QueryClient,\n queries: Array<QueryObserverOptions<any, any, any, any, any>>,\n options?: QueriesObserverOptions<TCombinedResult>,\n ) {\n super()\n\n this.#client = client\n this.#options = options\n this.#queries = []\n this.#observers = []\n this.#result = []\n\n this.setQueries(queries)\n }\n\n protected onSubscribe(): void {\n if (this.listeners.size === 1) {\n this.#observers.forEach((observer) => {\n observer.subscribe((result) => {\n this.#onUpdate(observer, result)\n })\n })\n }\n }\n\n protected onUnsubscribe(): void {\n if (!this.listeners.size) {\n this.destroy()\n }\n }\n\n destroy(): void {\n this.listeners = new Set()\n this.#observers.forEach((observer) => {\n observer.destroy()\n })\n }\n\n setQueries(\n queries: Array<QueryObserverOptions>,\n options?: QueriesObserverOptions<TCombinedResult>,\n ): void {\n this.#queries = queries\n this.#options = options\n\n if (process.env.NODE_ENV !== 'production') {\n const queryHashes = queries.map(\n (query) => this.#client.defaultQueryOptions(query).queryHash,\n )\n if (new Set(queryHashes).size !== queryHashes.length) {\n console.warn(\n '[QueriesObserver]: Duplicate Queries found. This might result in unexpected behavior.',\n )\n }\n }\n\n notifyManager.batch(() => {\n const prevObservers = this.#observers\n\n const newObserverMatches = this.#findMatchingObservers(this.#queries)\n\n // set options for the new observers to notify of changes\n newObserverMatches.forEach((match) =>\n match.observer.setOptions(match.defaultedQueryOptions),\n )\n\n const newObservers = newObserverMatches.map((match) => match.observer)\n const newResult = newObservers.map((observer) =>\n observer.getCurrentResult(),\n )\n\n const hasLengthChange = prevObservers.length !== newObservers.length\n const hasIndexChange = newObservers.some(\n (observer, index) => observer !== prevObservers[index],\n )\n const hasStructuralChange = hasLengthChange || hasIndexChange\n\n const hasResultChange = hasStructuralChange\n ? true\n : newResult.some((result, index) => {\n const prev = this.#result[index]\n return !prev || !shallowEqualObjects(result, prev)\n })\n\n if (!hasStructuralChange && !hasResultChange) return\n\n if (hasStructuralChange) {\n this.#observerMatches = newObserverMatches\n this.#observers = newObservers\n }\n\n this.#result = newResult\n\n if (!this.hasListeners()) return\n\n if (hasStructuralChange) {\n difference(prevObservers, newObservers).forEach((observer) => {\n observer.destroy()\n })\n difference(newObservers, prevObservers).forEach((observer) => {\n observer.subscribe((result) => {\n this.#onUpdate(observer, result)\n })\n })\n }\n\n this.#notify()\n })\n }\n\n getCurrentResult(): Array<QueryObserverResult> {\n return this.#result\n }\n\n getQueries() {\n return this.#observers.map((observer) => observer.getCurrentQuery())\n }\n\n getObservers() {\n return this.#observers\n }\n\n getOptimisticResult(\n queries: Array<QueryObserverOptions>,\n combine: CombineFn<TCombinedResult> | undefined,\n ): [\n rawResult: Array<QueryObserverResult>,\n combineResult: (r?: Array<QueryObserverResult>) => TCombinedResult,\n trackResult: () => Array<QueryObserverResult>,\n ] {\n const matches = this.#findMatchingObservers(queries)\n const result = matches.map((match) =>\n match.observer.getOptimisticResult(match.defaultedQueryOptions),\n )\n const queryHashes = matches.map(\n (match) => match.defaultedQueryOptions.queryHash,\n )\n\n return [\n result,\n (r?: Array<QueryObserverResult>) => {\n return this.#combineResult(r ?? result, combine, queryHashes)\n },\n () => {\n return this.#trackResult(result, matches)\n },\n ]\n }\n\n #trackResult(\n result: Array<QueryObserverResult>,\n matches: Array<QueryObserverMatch>,\n ) {\n const trackedProps = new Set<keyof QueryObserverResult>()\n\n return matches.map((match, index) => {\n const observerResult = result[index]!\n return !match.defaultedQueryOptions.notifyOnChangeProps\n ? match.observer.trackResult(observerResult, (accessedProp) => {\n // track property on all observers to ensure proper (synchronized) tracking (#7000)\n if (!trackedProps.has(accessedProp)) {\n trackedProps.add(accessedProp)\n matches.forEach((m) => {\n m.observer.trackProp(accessedProp)\n })\n }\n })\n : observerResult\n })\n }\n\n #combineResult(\n input: Array<QueryObserverResult>,\n combine: CombineFn<TCombinedResult> | undefined,\n queryHashes?: Array<string>,\n ): TCombinedResult {\n if (combine) {\n const lastHashes = this.#lastQueryHashes\n const queryHashesChanged =\n queryHashes !== undefined &&\n lastHashes !== undefined &&\n (lastHashes.length !== queryHashes.length ||\n queryHashes.some((hash, i) => hash !== lastHashes[i]))\n\n if (\n this.#result !== this.#lastResult ||\n queryHashesChanged ||\n combine !== this.#lastCombine\n ) {\n this.#lastCombine = combine\n this.#lastResult = this.#result\n\n if (queryHashes !== undefined) {\n this.#lastQueryHashes = queryHashes\n }\n this.#combinedResult = replaceEqualDeep(\n this.#combinedResult,\n combine(input),\n )\n }\n\n return this.#combinedResult\n }\n return input as any\n }\n\n #shouldSkipCombine(): boolean {\n return (\n !this.#options?.combine ||\n this.#observers.some((observer, index) => {\n return (\n observer.options.suspense && this.#result[index]?.data === undefined\n )\n })\n )\n }\n\n #findMatchingObservers(\n queries: Array<QueryObserverOptions>,\n ): Array<QueryObserverMatch> {\n const prevObserversMap = new Map<string, Array<QueryObserver>>()\n\n this.#observers.forEach((observer) => {\n const key = observer.options.queryHash\n if (!key) return\n\n const previousObservers = prevObserversMap.get(key)\n\n if (previousObservers) {\n previousObservers.push(observer)\n } else {\n prevObserversMap.set(key, [observer])\n }\n })\n\n const observers: Array<QueryObserverMatch> = []\n\n queries.forEach((options) => {\n const defaultedOptions = this.#client.defaultQueryOptions(options)\n const match = prevObserversMap.get(defaultedOptions.queryHash)?.shift()\n const observer =\n match ?? new QueryObserver(this.#client, defaultedOptions)\n\n observers.push({\n defaultedQueryOptions: defaultedOptions,\n observer,\n })\n })\n\n return observers\n }\n\n #onUpdate(observer: QueryObserver, result: QueryObserverResult): void {\n const index = this.#observers.indexOf(observer)\n if (index !== -1) {\n this.#result = this.#result.slice()\n this.#result[index] = result\n this.#notify()\n }\n }\n\n #notify(): void {\n if (this.hasListeners()) {\n const shouldSkipCombine = this.#shouldSkipCombine()\n const previousResult = this.#combinedResult\n const newResult = shouldSkipCombine\n ? previousResult\n : this.#combineResult(\n this.#trackResult(this.#result, this.#observerMatches),\n this.#options?.combine,\n )\n\n if (shouldSkipCombine || previousResult !== newResult) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(this.#result)\n })\n })\n }\n }\n }\n}\n\ntype QueryObserverMatch = {\n defaultedQueryOptions: DefaultedQueryObserverOptions\n observer: QueryObserver\n}\n"],"mappings":"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"} |
| import { t as Subscribable } from "./subscribable-CbifVTKz.cjs"; | ||
| import { At as QueryObserverOptions, Pt as QueryObserverResult, er as Query, ir as QueryObserver, on as QueryClient } from "./hydration-BoHd-X9T.cjs"; | ||
| import { $n as Query, At as QueryObserverOptions, Pt as QueryObserverResult, on as QueryClient, rr as QueryObserver } from "./hydration-DWGr3cFC.cjs"; | ||
| //#region src/queriesObserver.d.ts | ||
@@ -4,0 +4,0 @@ type QueriesObserverListener = (result: Array<QueryObserverResult>) => void; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"queriesObserver.d.cts","names":[],"sources":["../../src/queriesObserver.ts"],"mappings":";;;KAsBK,2BAA2B,QAAQ,MAAM;KAEzC,UAAU,oBACb,QAAQ,MAAM,yBACX;UAEY,uBACf,kBAAkB,MAAM;EAExB,UAAU,UAAU;;cAGT,gBACX,kBAAkB,MAAM,8BAChB,aAAa;;EAanB,YAAA,QAAQ,aACR,SAAS,MAAM,gDACf,UAAU,uBAAuB;YAazB;YAUA;EAMV;EAOA,WACE,SAAS,MAAM,uBACf,UAAU,uBAAuB;EAsEnC,oBAAoB,MAAM;EAI1B,cAAU,eAAA;EAIV,gBAAY,uBAAA;EAIZ,oBACE,SAAS,MAAM,uBACf,SAAS,UAAU,gCAEnB,WAAW,MAAM,sBACjB,gBAAgB,IAAI,MAAM,yBAAyB,iBACnD,mBAAmB,MAAM"} | ||
| {"version":3,"file":"queriesObserver.d.cts","names":[],"sources":["../../src/queriesObserver.ts"],"mappings":";;;KAgBK,2BAA2B,QAAQ,MAAM;KAEzC,UAAU,oBACb,QAAQ,MAAM,yBACX;UAEY,uBACf,kBAAkB,MAAM;EAExB,UAAU,UAAU;;cAGT,gBACX,kBAAkB,MAAM,8BAChB,aAAa;;EAanB,YAAA,QAAQ,aACR,SAAS,MAAM,gDACf,UAAU,uBAAuB;YAazB;YAUA;EAMV;EAOA,WACE,SAAS,MAAM,uBACf,UAAU,uBAAuB;EAsEnC,oBAAoB,MAAM;EAI1B,cAAU,eAAA;EAIV,gBAAY,uBAAA;EAIZ,oBACE,SAAS,MAAM,uBACf,SAAS,UAAU,gCAEnB,WAAW,MAAM,sBACjB,gBAAgB,IAAI,MAAM,yBAAyB,iBACnD,mBAAmB,MAAM"} |
| import { t as Subscribable } from "./subscribable-CbifVTKz.js"; | ||
| import { At as QueryObserverOptions, Pt as QueryObserverResult, er as Query, ir as QueryObserver, on as QueryClient } from "./hydration-DFwTM9vM.js"; | ||
| import { $n as Query, At as QueryObserverOptions, Pt as QueryObserverResult, on as QueryClient, rr as QueryObserver } from "./hydration-Bjs0MSgg.js"; | ||
| //#region src/queriesObserver.d.ts | ||
@@ -4,0 +4,0 @@ type QueriesObserverListener = (result: Array<QueryObserverResult>) => void; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"queriesObserver.d.ts","names":[],"sources":["../../src/queriesObserver.ts"],"mappings":";;;KAsBK,2BAA2B,QAAQ,MAAM;KAEzC,UAAU,oBACb,QAAQ,MAAM,yBACX;UAEY,uBACf,kBAAkB,MAAM;EAExB,UAAU,UAAU;;cAGT,gBACX,kBAAkB,MAAM,8BAChB,aAAa;;EAanB,YAAA,QAAQ,aACR,SAAS,MAAM,gDACf,UAAU,uBAAuB;YAazB;YAUA;EAMV;EAOA,WACE,SAAS,MAAM,uBACf,UAAU,uBAAuB;EAsEnC,oBAAoB,MAAM;EAI1B,cAAU,eAAA;EAIV,gBAAY,uBAAA;EAIZ,oBACE,SAAS,MAAM,uBACf,SAAS,UAAU,gCAEnB,WAAW,MAAM,sBACjB,gBAAgB,IAAI,MAAM,yBAAyB,iBACnD,mBAAmB,MAAM"} | ||
| {"version":3,"file":"queriesObserver.d.ts","names":[],"sources":["../../src/queriesObserver.ts"],"mappings":";;;KAgBK,2BAA2B,QAAQ,MAAM;KAEzC,UAAU,oBACb,QAAQ,MAAM,yBACX;UAEY,uBACf,kBAAkB,MAAM;EAExB,UAAU,UAAU;;cAGT,gBACX,kBAAkB,MAAM,8BAChB,aAAa;;EAanB,YAAA,QAAQ,aACR,SAAS,MAAM,gDACf,UAAU,uBAAuB;YAazB;YAUA;EAMV;EAOA,WACE,SAAS,MAAM,uBACf,UAAU,uBAAuB;EAsEnC,oBAAoB,MAAM;EAI1B,cAAU,eAAA;EAIV,gBAAY,uBAAA;EAIZ,oBACE,SAAS,MAAM,uBACf,SAAS,UAAU,gCAEnB,WAAW,MAAM,sBACjB,gBAAgB,IAAI,MAAM,yBAAyB,iBACnD,mBAAmB,MAAM"} |
@@ -10,7 +10,2 @@ import { replaceEqualDeep, shallowEqualObjects } from "./utils.js"; | ||
| } | ||
| function replaceAt(array, index, value) { | ||
| const copy = array.slice(0); | ||
| copy[index] = value; | ||
| return copy; | ||
| } | ||
| var QueriesObserver = class extends Subscribable { | ||
@@ -171,3 +166,4 @@ #client; | ||
| if (index !== -1) { | ||
| this.#result = replaceAt(this.#result, index, result); | ||
| this.#result = this.#result.slice(); | ||
| this.#result[index] = result; | ||
| this.#notify(); | ||
@@ -174,0 +170,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"queriesObserver.js","names":["#client","#options","#queries","#observers","#result","#onUpdate","#findMatchingObservers","#observerMatches","#notify","#combineResult","#trackResult","#lastQueryHashes","#lastResult","#lastCombine","#combinedResult","#shouldSkipCombine"],"sources":["../../src/queriesObserver.ts"],"sourcesContent":["import { notifyManager } from './notifyManager'\nimport { QueryObserver } from './queryObserver'\nimport { Subscribable } from './subscribable'\nimport { replaceEqualDeep, shallowEqualObjects } from './utils'\nimport type {\n DefaultedQueryObserverOptions,\n QueryObserverOptions,\n QueryObserverResult,\n} from './types'\nimport type { QueryClient } from './queryClient'\n\nfunction difference<T>(array1: Array<T>, array2: Array<T>): Array<T> {\n const excludeSet = new Set(array2)\n return array1.filter((x) => !excludeSet.has(x))\n}\n\nfunction replaceAt<T>(array: Array<T>, index: number, value: T): Array<T> {\n const copy = array.slice(0)\n copy[index] = value\n return copy\n}\n\ntype QueriesObserverListener = (result: Array<QueryObserverResult>) => void\n\ntype CombineFn<TCombinedResult> = (\n result: Array<QueryObserverResult>,\n) => TCombinedResult\n\nexport interface QueriesObserverOptions<\n TCombinedResult = Array<QueryObserverResult>,\n> {\n combine?: CombineFn<TCombinedResult>\n}\n\nexport class QueriesObserver<\n TCombinedResult = Array<QueryObserverResult>,\n> extends Subscribable<QueriesObserverListener> {\n #client: QueryClient\n #result!: Array<QueryObserverResult>\n #queries: Array<QueryObserverOptions>\n #options?: QueriesObserverOptions<TCombinedResult>\n #observers: Array<QueryObserver>\n #combinedResult!: TCombinedResult\n #lastCombine?: CombineFn<TCombinedResult>\n #lastResult?: Array<QueryObserverResult>\n #lastQueryHashes?: Array<string>\n #observerMatches: Array<QueryObserverMatch> = []\n\n constructor(\n client: QueryClient,\n queries: Array<QueryObserverOptions<any, any, any, any, any>>,\n options?: QueriesObserverOptions<TCombinedResult>,\n ) {\n super()\n\n this.#client = client\n this.#options = options\n this.#queries = []\n this.#observers = []\n this.#result = []\n\n this.setQueries(queries)\n }\n\n protected onSubscribe(): void {\n if (this.listeners.size === 1) {\n this.#observers.forEach((observer) => {\n observer.subscribe((result) => {\n this.#onUpdate(observer, result)\n })\n })\n }\n }\n\n protected onUnsubscribe(): void {\n if (!this.listeners.size) {\n this.destroy()\n }\n }\n\n destroy(): void {\n this.listeners = new Set()\n this.#observers.forEach((observer) => {\n observer.destroy()\n })\n }\n\n setQueries(\n queries: Array<QueryObserverOptions>,\n options?: QueriesObserverOptions<TCombinedResult>,\n ): void {\n this.#queries = queries\n this.#options = options\n\n if (process.env.NODE_ENV !== 'production') {\n const queryHashes = queries.map(\n (query) => this.#client.defaultQueryOptions(query).queryHash,\n )\n if (new Set(queryHashes).size !== queryHashes.length) {\n console.warn(\n '[QueriesObserver]: Duplicate Queries found. This might result in unexpected behavior.',\n )\n }\n }\n\n notifyManager.batch(() => {\n const prevObservers = this.#observers\n\n const newObserverMatches = this.#findMatchingObservers(this.#queries)\n\n // set options for the new observers to notify of changes\n newObserverMatches.forEach((match) =>\n match.observer.setOptions(match.defaultedQueryOptions),\n )\n\n const newObservers = newObserverMatches.map((match) => match.observer)\n const newResult = newObservers.map((observer) =>\n observer.getCurrentResult(),\n )\n\n const hasLengthChange = prevObservers.length !== newObservers.length\n const hasIndexChange = newObservers.some(\n (observer, index) => observer !== prevObservers[index],\n )\n const hasStructuralChange = hasLengthChange || hasIndexChange\n\n const hasResultChange = hasStructuralChange\n ? true\n : newResult.some((result, index) => {\n const prev = this.#result[index]\n return !prev || !shallowEqualObjects(result, prev)\n })\n\n if (!hasStructuralChange && !hasResultChange) return\n\n if (hasStructuralChange) {\n this.#observerMatches = newObserverMatches\n this.#observers = newObservers\n }\n\n this.#result = newResult\n\n if (!this.hasListeners()) return\n\n if (hasStructuralChange) {\n difference(prevObservers, newObservers).forEach((observer) => {\n observer.destroy()\n })\n difference(newObservers, prevObservers).forEach((observer) => {\n observer.subscribe((result) => {\n this.#onUpdate(observer, result)\n })\n })\n }\n\n this.#notify()\n })\n }\n\n getCurrentResult(): Array<QueryObserverResult> {\n return this.#result\n }\n\n getQueries() {\n return this.#observers.map((observer) => observer.getCurrentQuery())\n }\n\n getObservers() {\n return this.#observers\n }\n\n getOptimisticResult(\n queries: Array<QueryObserverOptions>,\n combine: CombineFn<TCombinedResult> | undefined,\n ): [\n rawResult: Array<QueryObserverResult>,\n combineResult: (r?: Array<QueryObserverResult>) => TCombinedResult,\n trackResult: () => Array<QueryObserverResult>,\n ] {\n const matches = this.#findMatchingObservers(queries)\n const result = matches.map((match) =>\n match.observer.getOptimisticResult(match.defaultedQueryOptions),\n )\n const queryHashes = matches.map(\n (match) => match.defaultedQueryOptions.queryHash,\n )\n\n return [\n result,\n (r?: Array<QueryObserverResult>) => {\n return this.#combineResult(r ?? result, combine, queryHashes)\n },\n () => {\n return this.#trackResult(result, matches)\n },\n ]\n }\n\n #trackResult(\n result: Array<QueryObserverResult>,\n matches: Array<QueryObserverMatch>,\n ) {\n const trackedProps = new Set<keyof QueryObserverResult>()\n\n return matches.map((match, index) => {\n const observerResult = result[index]!\n return !match.defaultedQueryOptions.notifyOnChangeProps\n ? match.observer.trackResult(observerResult, (accessedProp) => {\n // track property on all observers to ensure proper (synchronized) tracking (#7000)\n if (!trackedProps.has(accessedProp)) {\n trackedProps.add(accessedProp)\n matches.forEach((m) => {\n m.observer.trackProp(accessedProp)\n })\n }\n })\n : observerResult\n })\n }\n\n #combineResult(\n input: Array<QueryObserverResult>,\n combine: CombineFn<TCombinedResult> | undefined,\n queryHashes?: Array<string>,\n ): TCombinedResult {\n if (combine) {\n const lastHashes = this.#lastQueryHashes\n const queryHashesChanged =\n queryHashes !== undefined &&\n lastHashes !== undefined &&\n (lastHashes.length !== queryHashes.length ||\n queryHashes.some((hash, i) => hash !== lastHashes[i]))\n\n if (\n this.#result !== this.#lastResult ||\n queryHashesChanged ||\n combine !== this.#lastCombine\n ) {\n this.#lastCombine = combine\n this.#lastResult = this.#result\n\n if (queryHashes !== undefined) {\n this.#lastQueryHashes = queryHashes\n }\n this.#combinedResult = replaceEqualDeep(\n this.#combinedResult,\n combine(input),\n )\n }\n\n return this.#combinedResult\n }\n return input as any\n }\n\n #shouldSkipCombine(): boolean {\n return (\n !this.#options?.combine ||\n this.#observers.some((observer, index) => {\n return (\n observer.options.suspense && this.#result[index]?.data === undefined\n )\n })\n )\n }\n\n #findMatchingObservers(\n queries: Array<QueryObserverOptions>,\n ): Array<QueryObserverMatch> {\n const prevObserversMap = new Map<string, Array<QueryObserver>>()\n\n this.#observers.forEach((observer) => {\n const key = observer.options.queryHash\n if (!key) return\n\n const previousObservers = prevObserversMap.get(key)\n\n if (previousObservers) {\n previousObservers.push(observer)\n } else {\n prevObserversMap.set(key, [observer])\n }\n })\n\n const observers: Array<QueryObserverMatch> = []\n\n queries.forEach((options) => {\n const defaultedOptions = this.#client.defaultQueryOptions(options)\n const match = prevObserversMap.get(defaultedOptions.queryHash)?.shift()\n const observer =\n match ?? new QueryObserver(this.#client, defaultedOptions)\n\n observers.push({\n defaultedQueryOptions: defaultedOptions,\n observer,\n })\n })\n\n return observers\n }\n\n #onUpdate(observer: QueryObserver, result: QueryObserverResult): void {\n const index = this.#observers.indexOf(observer)\n if (index !== -1) {\n this.#result = replaceAt(this.#result, index, result)\n this.#notify()\n }\n }\n\n #notify(): void {\n if (this.hasListeners()) {\n const shouldSkipCombine = this.#shouldSkipCombine()\n const previousResult = this.#combinedResult\n const newResult = shouldSkipCombine\n ? previousResult\n : this.#combineResult(\n this.#trackResult(this.#result, this.#observerMatches),\n this.#options?.combine,\n )\n\n if (shouldSkipCombine || previousResult !== newResult) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(this.#result)\n })\n })\n }\n }\n }\n}\n\ntype QueryObserverMatch = {\n defaultedQueryOptions: DefaultedQueryObserverOptions\n observer: QueryObserver\n}\n"],"mappings":"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"} | ||
| {"version":3,"file":"queriesObserver.js","names":["#client","#options","#queries","#observers","#result","#onUpdate","#findMatchingObservers","#observerMatches","#notify","#combineResult","#trackResult","#lastQueryHashes","#lastResult","#lastCombine","#combinedResult","#shouldSkipCombine"],"sources":["../../src/queriesObserver.ts"],"sourcesContent":["import { notifyManager } from './notifyManager'\nimport { QueryObserver } from './queryObserver'\nimport { Subscribable } from './subscribable'\nimport { replaceEqualDeep, shallowEqualObjects } from './utils'\nimport type {\n DefaultedQueryObserverOptions,\n QueryObserverOptions,\n QueryObserverResult,\n} from './types'\nimport type { QueryClient } from './queryClient'\n\nfunction difference<T>(array1: Array<T>, array2: Array<T>): Array<T> {\n const excludeSet = new Set(array2)\n return array1.filter((x) => !excludeSet.has(x))\n}\n\ntype QueriesObserverListener = (result: Array<QueryObserverResult>) => void\n\ntype CombineFn<TCombinedResult> = (\n result: Array<QueryObserverResult>,\n) => TCombinedResult\n\nexport interface QueriesObserverOptions<\n TCombinedResult = Array<QueryObserverResult>,\n> {\n combine?: CombineFn<TCombinedResult>\n}\n\nexport class QueriesObserver<\n TCombinedResult = Array<QueryObserverResult>,\n> extends Subscribable<QueriesObserverListener> {\n #client: QueryClient\n #result!: Array<QueryObserverResult>\n #queries: Array<QueryObserverOptions>\n #options?: QueriesObserverOptions<TCombinedResult>\n #observers: Array<QueryObserver>\n #combinedResult!: TCombinedResult\n #lastCombine?: CombineFn<TCombinedResult>\n #lastResult?: Array<QueryObserverResult>\n #lastQueryHashes?: Array<string>\n #observerMatches: Array<QueryObserverMatch> = []\n\n constructor(\n client: QueryClient,\n queries: Array<QueryObserverOptions<any, any, any, any, any>>,\n options?: QueriesObserverOptions<TCombinedResult>,\n ) {\n super()\n\n this.#client = client\n this.#options = options\n this.#queries = []\n this.#observers = []\n this.#result = []\n\n this.setQueries(queries)\n }\n\n protected onSubscribe(): void {\n if (this.listeners.size === 1) {\n this.#observers.forEach((observer) => {\n observer.subscribe((result) => {\n this.#onUpdate(observer, result)\n })\n })\n }\n }\n\n protected onUnsubscribe(): void {\n if (!this.listeners.size) {\n this.destroy()\n }\n }\n\n destroy(): void {\n this.listeners = new Set()\n this.#observers.forEach((observer) => {\n observer.destroy()\n })\n }\n\n setQueries(\n queries: Array<QueryObserverOptions>,\n options?: QueriesObserverOptions<TCombinedResult>,\n ): void {\n this.#queries = queries\n this.#options = options\n\n if (process.env.NODE_ENV !== 'production') {\n const queryHashes = queries.map(\n (query) => this.#client.defaultQueryOptions(query).queryHash,\n )\n if (new Set(queryHashes).size !== queryHashes.length) {\n console.warn(\n '[QueriesObserver]: Duplicate Queries found. This might result in unexpected behavior.',\n )\n }\n }\n\n notifyManager.batch(() => {\n const prevObservers = this.#observers\n\n const newObserverMatches = this.#findMatchingObservers(this.#queries)\n\n // set options for the new observers to notify of changes\n newObserverMatches.forEach((match) =>\n match.observer.setOptions(match.defaultedQueryOptions),\n )\n\n const newObservers = newObserverMatches.map((match) => match.observer)\n const newResult = newObservers.map((observer) =>\n observer.getCurrentResult(),\n )\n\n const hasLengthChange = prevObservers.length !== newObservers.length\n const hasIndexChange = newObservers.some(\n (observer, index) => observer !== prevObservers[index],\n )\n const hasStructuralChange = hasLengthChange || hasIndexChange\n\n const hasResultChange = hasStructuralChange\n ? true\n : newResult.some((result, index) => {\n const prev = this.#result[index]\n return !prev || !shallowEqualObjects(result, prev)\n })\n\n if (!hasStructuralChange && !hasResultChange) return\n\n if (hasStructuralChange) {\n this.#observerMatches = newObserverMatches\n this.#observers = newObservers\n }\n\n this.#result = newResult\n\n if (!this.hasListeners()) return\n\n if (hasStructuralChange) {\n difference(prevObservers, newObservers).forEach((observer) => {\n observer.destroy()\n })\n difference(newObservers, prevObservers).forEach((observer) => {\n observer.subscribe((result) => {\n this.#onUpdate(observer, result)\n })\n })\n }\n\n this.#notify()\n })\n }\n\n getCurrentResult(): Array<QueryObserverResult> {\n return this.#result\n }\n\n getQueries() {\n return this.#observers.map((observer) => observer.getCurrentQuery())\n }\n\n getObservers() {\n return this.#observers\n }\n\n getOptimisticResult(\n queries: Array<QueryObserverOptions>,\n combine: CombineFn<TCombinedResult> | undefined,\n ): [\n rawResult: Array<QueryObserverResult>,\n combineResult: (r?: Array<QueryObserverResult>) => TCombinedResult,\n trackResult: () => Array<QueryObserverResult>,\n ] {\n const matches = this.#findMatchingObservers(queries)\n const result = matches.map((match) =>\n match.observer.getOptimisticResult(match.defaultedQueryOptions),\n )\n const queryHashes = matches.map(\n (match) => match.defaultedQueryOptions.queryHash,\n )\n\n return [\n result,\n (r?: Array<QueryObserverResult>) => {\n return this.#combineResult(r ?? result, combine, queryHashes)\n },\n () => {\n return this.#trackResult(result, matches)\n },\n ]\n }\n\n #trackResult(\n result: Array<QueryObserverResult>,\n matches: Array<QueryObserverMatch>,\n ) {\n const trackedProps = new Set<keyof QueryObserverResult>()\n\n return matches.map((match, index) => {\n const observerResult = result[index]!\n return !match.defaultedQueryOptions.notifyOnChangeProps\n ? match.observer.trackResult(observerResult, (accessedProp) => {\n // track property on all observers to ensure proper (synchronized) tracking (#7000)\n if (!trackedProps.has(accessedProp)) {\n trackedProps.add(accessedProp)\n matches.forEach((m) => {\n m.observer.trackProp(accessedProp)\n })\n }\n })\n : observerResult\n })\n }\n\n #combineResult(\n input: Array<QueryObserverResult>,\n combine: CombineFn<TCombinedResult> | undefined,\n queryHashes?: Array<string>,\n ): TCombinedResult {\n if (combine) {\n const lastHashes = this.#lastQueryHashes\n const queryHashesChanged =\n queryHashes !== undefined &&\n lastHashes !== undefined &&\n (lastHashes.length !== queryHashes.length ||\n queryHashes.some((hash, i) => hash !== lastHashes[i]))\n\n if (\n this.#result !== this.#lastResult ||\n queryHashesChanged ||\n combine !== this.#lastCombine\n ) {\n this.#lastCombine = combine\n this.#lastResult = this.#result\n\n if (queryHashes !== undefined) {\n this.#lastQueryHashes = queryHashes\n }\n this.#combinedResult = replaceEqualDeep(\n this.#combinedResult,\n combine(input),\n )\n }\n\n return this.#combinedResult\n }\n return input as any\n }\n\n #shouldSkipCombine(): boolean {\n return (\n !this.#options?.combine ||\n this.#observers.some((observer, index) => {\n return (\n observer.options.suspense && this.#result[index]?.data === undefined\n )\n })\n )\n }\n\n #findMatchingObservers(\n queries: Array<QueryObserverOptions>,\n ): Array<QueryObserverMatch> {\n const prevObserversMap = new Map<string, Array<QueryObserver>>()\n\n this.#observers.forEach((observer) => {\n const key = observer.options.queryHash\n if (!key) return\n\n const previousObservers = prevObserversMap.get(key)\n\n if (previousObservers) {\n previousObservers.push(observer)\n } else {\n prevObserversMap.set(key, [observer])\n }\n })\n\n const observers: Array<QueryObserverMatch> = []\n\n queries.forEach((options) => {\n const defaultedOptions = this.#client.defaultQueryOptions(options)\n const match = prevObserversMap.get(defaultedOptions.queryHash)?.shift()\n const observer =\n match ?? new QueryObserver(this.#client, defaultedOptions)\n\n observers.push({\n defaultedQueryOptions: defaultedOptions,\n observer,\n })\n })\n\n return observers\n }\n\n #onUpdate(observer: QueryObserver, result: QueryObserverResult): void {\n const index = this.#observers.indexOf(observer)\n if (index !== -1) {\n this.#result = this.#result.slice()\n this.#result[index] = result\n this.#notify()\n }\n }\n\n #notify(): void {\n if (this.hasListeners()) {\n const shouldSkipCombine = this.#shouldSkipCombine()\n const previousResult = this.#combinedResult\n const newResult = shouldSkipCombine\n ? previousResult\n : this.#combineResult(\n this.#trackResult(this.#result, this.#observerMatches),\n this.#options?.combine,\n )\n\n if (shouldSkipCombine || previousResult !== newResult) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(this.#result)\n })\n })\n }\n }\n }\n}\n\ntype QueryObserverMatch = {\n defaultedQueryOptions: DefaultedQueryObserverOptions\n observer: QueryObserver\n}\n"],"mappings":"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"} |
@@ -91,3 +91,3 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); | ||
| isActive() { | ||
| return this.observers.some((observer) => require_utils.resolveQueryBoolean(observer.options.enabled, this) !== false); | ||
| return this.observers.some((observer) => require_utils.resolveQueryValue(observer.options.enabled, this) !== false); | ||
| } | ||
@@ -102,3 +102,3 @@ isDisabled() { | ||
| isStatic() { | ||
| if (this.getObserversCount() > 0) return this.observers.some((observer) => require_utils.resolveStaleTime(observer.options.staleTime, this) === "static"); | ||
| if (this.getObserversCount() > 0) return this.observers.some((observer) => require_utils.resolveQueryValue(observer.options.staleTime, this) === "static"); | ||
| return false; | ||
@@ -141,3 +141,3 @@ } | ||
| if (this.#retryer) { | ||
| if (this.#abortSignalConsumed || this.#isInitialPausedFetch()) this.#retryer.cancel({ revert: true }); | ||
| if (this.#abortSignalConsumed || this.state.fetchStatus === "paused" && this.state.status === "pending") this.#retryer.cancel({ revert: true }); | ||
| else this.#retryer.cancelRetry(); | ||
@@ -157,5 +157,2 @@ } | ||
| } | ||
| #isInitialPausedFetch() { | ||
| return this.state.fetchStatus === "paused" && this.state.status === "pending"; | ||
| } | ||
| invalidate() { | ||
@@ -162,0 +159,0 @@ if (!this.state.isInvalidated) this.#dispatch({ type: "invalidate" }); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"query.cjs","names":["Removable","#abortSignalConsumed","#defaultOptions","#client","#cache","#initialState","#queryType","#retryer","replaceData","#dispatch","noop","resolveQueryBoolean","skipToken","resolveStaleTime","timeUntilStale","#isInitialPausedFetch","ensureQueryFn","infiniteQueryBehavior","#revertState","createRetryer","CancelledError","canFetch"],"sources":["../../src/query.ts"],"sourcesContent":["import {\n ensureQueryFn,\n noop,\n replaceData,\n resolveQueryBoolean,\n resolveStaleTime,\n skipToken,\n timeUntilStale,\n} from './utils'\nimport { notifyManager } from './notifyManager'\nimport { CancelledError, canFetch, createRetryer } from './retryer'\nimport { Removable } from './removable'\nimport { infiniteQueryBehavior } from './infiniteQueryBehavior'\nimport type { QueryCache } from './queryCache'\nimport type { QueryClient } from './queryClient'\nimport type {\n CancelOptions,\n DefaultError,\n FetchStatus,\n InitialDataFunction,\n OmitKeyof,\n QueryFunctionContext,\n QueryKey,\n QueryMeta,\n QueryOptions,\n QueryStatus,\n SetDataOptions,\n StaleTime,\n} from './types'\nimport type { QueryObserver } from './queryObserver'\nimport type { Retryer } from './retryer'\n\n// TYPES\n\ninterface QueryConfig<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n client: QueryClient\n queryKey: TQueryKey\n queryHash: string\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n defaultOptions?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n state?: QueryState<TData, TError>\n}\n\nexport interface QueryState<TData = unknown, TError = DefaultError> {\n data: TData | undefined\n dataUpdateCount: number\n dataUpdatedAt: number\n error: TError | null\n errorUpdateCount: number\n errorUpdatedAt: number\n fetchFailureCount: number\n fetchFailureReason: TError | null\n fetchMeta: FetchMeta | null\n isInvalidated: boolean\n status: QueryStatus\n fetchStatus: FetchStatus\n}\n\nexport interface FetchContext<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n fetchFn: () => unknown | Promise<unknown>\n fetchOptions?: FetchOptions\n signal: AbortSignal\n options: QueryOptions<TQueryFnData, TError, TData, any>\n client: QueryClient\n queryKey: TQueryKey\n state: QueryState<TData, TError>\n}\n\nexport interface QueryBehavior<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n onFetch: (\n context: FetchContext<TQueryFnData, TError, TData, TQueryKey>,\n query: Query,\n ) => void\n}\n\nexport type FetchDirection = 'forward' | 'backward'\n\nexport interface FetchMeta {\n fetchMore?: { direction: FetchDirection }\n}\n\nexport interface FetchOptions<TData = unknown> {\n cancelRefetch?: boolean\n meta?: FetchMeta\n initialPromise?: Promise<TData>\n}\n\ninterface FailedAction<TError> {\n type: 'failed'\n failureCount: number\n error: TError\n}\n\ninterface FetchAction {\n type: 'fetch'\n meta?: FetchMeta\n}\n\ninterface SuccessAction<TData> {\n data: TData | undefined\n type: 'success'\n dataUpdatedAt?: number\n manual?: boolean\n}\n\ninterface ErrorAction<TError> {\n type: 'error'\n error: TError\n}\n\ninterface InvalidateAction {\n type: 'invalidate'\n}\n\ninterface PauseAction {\n type: 'pause'\n}\n\ninterface ContinueAction {\n type: 'continue'\n}\n\ninterface SetStateAction<TData, TError> {\n type: 'setState'\n state: Partial<QueryState<TData, TError>>\n}\n\nexport type Action<TData, TError> =\n | ContinueAction\n | ErrorAction<TError>\n | FailedAction<TError>\n | FetchAction\n | InvalidateAction\n | PauseAction\n | SetStateAction<TData, TError>\n | SuccessAction<TData>\n\n// CLASS\n\nexport class Query<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends Removable {\n queryKey: TQueryKey\n queryHash: string\n options!: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n state: QueryState<TData, TError>\n #queryType?: 'infinite'\n\n #initialState: QueryState<TData, TError>\n #revertState?: QueryState<TData, TError>\n #cache: QueryCache\n #client: QueryClient\n #retryer?: Retryer<TData>\n observers: Array<QueryObserver<any, any, any, any, any>>\n #defaultOptions?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n #abortSignalConsumed: boolean\n\n constructor(config: QueryConfig<TQueryFnData, TError, TData, TQueryKey>) {\n super()\n\n this.#abortSignalConsumed = false\n this.#defaultOptions = config.defaultOptions\n this.setOptions(config.options)\n this.observers = []\n this.#client = config.client\n this.#cache = this.#client.getQueryCache()\n this.queryKey = config.queryKey\n this.queryHash = config.queryHash\n this.#initialState = getDefaultState(this.options)\n this.state = config.state ?? this.#initialState\n this.scheduleGc()\n }\n get meta(): QueryMeta | undefined {\n return this.options.meta\n }\n\n get queryType() {\n return this.#queryType\n }\n\n get promise(): Promise<TData> | undefined {\n return this.#retryer?.promise\n }\n\n setOptions(\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): void {\n this.options = { ...this.#defaultOptions, ...options }\n\n if (options?._type) {\n this.#queryType = options._type\n }\n\n this.updateGcTime(this.options.gcTime)\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (this.state && this.state.data === undefined) {\n const defaultState = getDefaultState(this.options)\n if (defaultState.data !== undefined) {\n this.setState(\n successState(defaultState.data, defaultState.dataUpdatedAt),\n )\n this.#initialState = defaultState\n }\n }\n }\n\n protected optionalRemove() {\n if (!this.observers.length && this.state.fetchStatus === 'idle') {\n this.#cache.remove(this)\n }\n }\n\n setData(\n newData: TData,\n options?: SetDataOptions & { manual: boolean },\n ): TData {\n const data = replaceData(this.state.data, newData, this.options)\n\n // Set data and mark it as cached\n this.#dispatch({\n data,\n type: 'success',\n dataUpdatedAt: options?.updatedAt,\n manual: options?.manual,\n })\n\n return data\n }\n\n setState(state: Partial<QueryState<TData, TError>>): void {\n this.#dispatch({ type: 'setState', state })\n }\n\n cancel(options?: CancelOptions): Promise<void> {\n const promise = this.#retryer?.promise\n this.#retryer?.cancel(options)\n return promise ? promise.then(noop).catch(noop) : Promise.resolve()\n }\n\n destroy(): void {\n super.destroy()\n\n this.cancel({ silent: true })\n }\n\n get resetState(): QueryState<TData, TError> {\n return this.#initialState\n }\n\n reset(): void {\n this.destroy()\n this.setState(this.resetState)\n }\n\n isActive(): boolean {\n return this.observers.some(\n (observer) =>\n resolveQueryBoolean(observer.options.enabled, this) !== false,\n )\n }\n\n isDisabled(): boolean {\n if (this.getObserversCount() > 0) {\n return !this.isActive()\n }\n // if a query has no observers, it should still be considered disabled if it never attempted a fetch\n return this.options.queryFn === skipToken || !this.isFetched()\n }\n\n isFetched() {\n return this.state.dataUpdateCount + this.state.errorUpdateCount > 0\n }\n\n isStatic(): boolean {\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) =>\n resolveStaleTime(observer.options.staleTime, this) === 'static',\n )\n }\n\n return false\n }\n\n isStale(): boolean {\n // check observers first, their `isStale` has the source of truth\n // calculated with `isStaleByTime` and it takes `enabled` into account\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) => observer.getCurrentResult().isStale,\n )\n }\n\n return this.state.data === undefined || this.state.isInvalidated\n }\n\n isStaleByTime(staleTime: StaleTime = 0): boolean {\n // no data is always stale\n if (this.state.data === undefined) {\n return true\n }\n // static is never stale\n if (staleTime === 'static') {\n return false\n }\n // if the query is invalidated, it is stale\n if (this.state.isInvalidated) {\n return true\n }\n\n return !timeUntilStale(this.state.dataUpdatedAt, staleTime)\n }\n\n onFocus(): void {\n const observer = this.observers.find((x) => x.shouldFetchOnWindowFocus())\n\n observer?.refetch({ cancelRefetch: false })\n\n // Continue fetch if currently paused\n this.#retryer?.continue()\n }\n\n onOnline(): void {\n const observer = this.observers.find((x) => x.shouldFetchOnReconnect())\n\n observer?.refetch({ cancelRefetch: false })\n\n // Continue fetch if currently paused\n this.#retryer?.continue()\n }\n\n addObserver(observer: QueryObserver<any, any, any, any, any>): void {\n if (!this.observers.includes(observer)) {\n this.observers.push(observer)\n\n // Stop the query from being garbage collected\n this.clearGcTimeout()\n\n this.#cache.notify({ type: 'observerAdded', query: this, observer })\n }\n }\n\n removeObserver(observer: QueryObserver<any, any, any, any, any>): void {\n const index = this.observers.indexOf(observer)\n if (index !== -1) {\n this.observers.splice(index, 1)\n\n if (!this.observers.length) {\n // If the transport layer does not support cancellation\n // we'll let the query continue so the result can be cached\n if (this.#retryer) {\n if (this.#abortSignalConsumed || this.#isInitialPausedFetch()) {\n this.#retryer.cancel({ revert: true })\n } else {\n this.#retryer.cancelRetry()\n }\n }\n\n this.scheduleGc()\n }\n\n this.#cache.notify({ type: 'observerRemoved', query: this, observer })\n }\n }\n\n getObserversCount(): number {\n return this.observers.length\n }\n\n #isInitialPausedFetch(): boolean {\n return (\n this.state.fetchStatus === 'paused' && this.state.status === 'pending'\n )\n }\n\n invalidate(): void {\n if (!this.state.isInvalidated) {\n this.#dispatch({ type: 'invalidate' })\n }\n }\n\n async fetch(\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n fetchOptions?: FetchOptions<TQueryFnData>,\n ): Promise<TData> {\n if (\n this.state.fetchStatus !== 'idle' &&\n // If the promise in the retryer is already rejected, we have to definitely\n // re-start the fetch; there is a chance that the query is still in a\n // pending state when that happens\n this.#retryer?.status() !== 'rejected'\n ) {\n if (this.state.data !== undefined && fetchOptions?.cancelRefetch) {\n // Silently cancel current fetch if the user wants to cancel refetch\n this.cancel({ silent: true })\n } else if (this.#retryer) {\n // make sure that retries that were potentially cancelled due to unmounts can continue\n this.#retryer.continueRetry()\n // Return current promise if we are already fetching\n return this.#retryer.promise\n }\n }\n\n // Update config if passed, otherwise the config from the last execution is used\n if (options) {\n this.setOptions(options)\n }\n\n // Use the options from the first observer with a query function if no function is found.\n // This can happen when the query is hydrated or created with setQueryData.\n if (!this.options.queryFn) {\n const observer = this.observers.find((x) => x.options.queryFn)\n if (observer) {\n this.setOptions(observer.options)\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (!Array.isArray(this.options.queryKey)) {\n console.error(\n `As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`,\n )\n }\n }\n\n const abortController = new AbortController()\n\n // Adds an enumerable signal property to the object that\n // which sets abortSignalConsumed to true when the signal\n // is read.\n const addSignalProperty = (object: unknown) => {\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n this.#abortSignalConsumed = true\n return abortController.signal\n },\n })\n }\n\n // Create fetch function\n const fetchFn = () => {\n const queryFn = ensureQueryFn(this.options, fetchOptions)\n\n // Create query function context\n const createQueryFnContext = (): QueryFunctionContext<TQueryKey> => {\n const queryFnContext: OmitKeyof<\n QueryFunctionContext<TQueryKey>,\n 'signal'\n > = {\n client: this.#client,\n queryKey: this.queryKey,\n meta: this.meta,\n }\n addSignalProperty(queryFnContext)\n return queryFnContext as QueryFunctionContext<TQueryKey>\n }\n\n const queryFnContext = createQueryFnContext()\n\n this.#abortSignalConsumed = false\n if (this.options.persister) {\n return this.options.persister(\n queryFn,\n queryFnContext,\n this as unknown as Query,\n )\n }\n\n return queryFn(queryFnContext)\n }\n\n // Trigger behavior hook\n const createFetchContext = (): FetchContext<\n TQueryFnData,\n TError,\n TData,\n TQueryKey\n > => {\n const context: OmitKeyof<\n FetchContext<TQueryFnData, TError, TData, TQueryKey>,\n 'signal'\n > = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n client: this.#client,\n state: this.state,\n fetchFn,\n }\n\n addSignalProperty(context)\n return context as FetchContext<TQueryFnData, TError, TData, TQueryKey>\n }\n\n const context = createFetchContext()\n\n const behavior =\n this.#queryType === 'infinite'\n ? (infiniteQueryBehavior(\n (this.options as { pages?: number }).pages,\n ) as QueryBehavior<TQueryFnData, TError, TData, TQueryKey>)\n : this.options.behavior\n behavior?.onFetch(context, this as unknown as Query)\n\n // Store state in case the current fetch needs to be reverted\n this.#revertState = this.state\n\n // Set to fetching state if not already in it\n if (\n this.state.fetchStatus === 'idle' ||\n this.state.fetchMeta !== context.fetchOptions?.meta\n ) {\n this.#dispatch({ type: 'fetch', meta: context.fetchOptions?.meta })\n }\n\n // Try to fetch the data\n const retryer = (this.#retryer = createRetryer({\n initialPromise: fetchOptions?.initialPromise as\n | Promise<TData>\n | undefined,\n fn: context.fetchFn as () => Promise<TData>,\n onCancel: (error) => {\n if (error instanceof CancelledError && error.revert) {\n this.setState({\n ...this.#revertState,\n fetchStatus: 'idle' as const,\n })\n }\n abortController.abort()\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: 'failed', failureCount, error })\n },\n onPause: () => {\n this.#dispatch({ type: 'pause' })\n },\n onContinue: () => {\n this.#dispatch({ type: 'continue' })\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode,\n canRun: () => true,\n }))\n\n try {\n const data = await retryer.start()\n // this is more of a runtime guard\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (data === undefined) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(\n `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`,\n )\n }\n throw new Error(`${this.queryHash} data is undefined`)\n }\n\n this.setData(data)\n\n // Notify cache callback\n this.#cache.config.onSuccess?.(data, this as Query<any, any, any, any>)\n this.#cache.config.onSettled?.(\n data,\n this.state.error as any,\n this as Query<any, any, any, any>,\n )\n return data\n } catch (error) {\n if (error instanceof CancelledError) {\n if (error.silent) {\n // silent cancellation implies a new fetch is going to be started,\n // so we piggyback onto that promise\n return this.#retryer.promise\n } else if (error.revert) {\n // transform error into reverted state data\n // if the initial fetch was cancelled, we have no data, so we have\n // to get reject with a CancelledError\n if (this.state.data === undefined) {\n throw error\n }\n return this.state.data\n }\n }\n this.#dispatch({\n type: 'error',\n error: error as TError,\n })\n\n // Notify cache callback\n this.#cache.config.onError?.(\n error as any,\n this as Query<any, any, any, any>,\n )\n this.#cache.config.onSettled?.(\n this.state.data,\n error as any,\n this as Query<any, any, any, any>,\n )\n\n throw error // rethrow the error for further handling\n } finally {\n // The settled retryer's promise would otherwise pin this fetch's raw\n // result (a second copy after structural sharing) for the query's lifetime\n if (this.#retryer === retryer) {\n this.#retryer = undefined\n }\n // Schedule query gc after fetching\n this.scheduleGc()\n }\n }\n\n #dispatch(action: Action<TData, TError>): void {\n const reducer = (\n state: QueryState<TData, TError>,\n ): QueryState<TData, TError> => {\n switch (action.type) {\n case 'failed':\n return {\n ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error,\n }\n case 'pause':\n return {\n ...state,\n fetchStatus: 'paused',\n }\n case 'continue':\n return {\n ...state,\n fetchStatus: 'fetching',\n }\n case 'fetch':\n return {\n ...state,\n ...fetchState(state.data, this.options),\n fetchMeta: action.meta ?? null,\n }\n case 'success':\n const newState = {\n ...state,\n ...successState(action.data, action.dataUpdatedAt),\n dataUpdateCount: state.dataUpdateCount + 1,\n ...(!action.manual && {\n fetchStatus: 'idle' as const,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n }),\n }\n // If fetching ends successfully, we don't need revertState as a fallback anymore.\n // For manual updates, capture the state to revert to it in case of a cancellation.\n this.#revertState = action.manual ? newState : undefined\n\n return newState\n case 'error':\n const error = action.error\n return {\n ...state,\n error,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchFailureReason: error,\n fetchStatus: 'idle',\n status: 'error',\n // flag existing data as invalidated if we get a background error\n // note that \"no data\" always means stale so we can set unconditionally here\n isInvalidated: true,\n }\n case 'invalidate':\n return {\n ...state,\n isInvalidated: true,\n }\n case 'setState':\n return {\n ...state,\n ...action.state,\n }\n }\n }\n\n this.state = reducer(this.state)\n\n notifyManager.batch(() => {\n // Keep the current iteration stable if an observer unsubscribes\n // synchronously while it is being notified.\n this.observers.slice().forEach((observer) => {\n observer.onQueryUpdate()\n })\n\n this.#cache.notify({ query: this, type: 'updated', action })\n })\n }\n}\n\nexport function fetchState<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n data: TData | undefined,\n options: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n) {\n return {\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchStatus: canFetch(options.networkMode) ? 'fetching' : 'paused',\n ...(data === undefined &&\n ({\n error: null,\n status: 'pending',\n } as const)),\n } as const\n}\n\nfunction successState<TData>(data: TData | undefined, dataUpdatedAt?: number) {\n return {\n data,\n dataUpdatedAt: dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: 'success' as const,\n }\n}\n\nfunction getDefaultState<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n options: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n): QueryState<TData, TError> {\n const data =\n typeof options.initialData === 'function'\n ? (options.initialData as InitialDataFunction<TData>)()\n : options.initialData\n\n const hasData = data !== undefined\n\n const initialDataUpdatedAt = hasData\n ? typeof options.initialDataUpdatedAt === 'function'\n ? options.initialDataUpdatedAt()\n : options.initialDataUpdatedAt\n : 0\n\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? (initialDataUpdatedAt ?? Date.now()) : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? 'success' : 'pending',\n fetchStatus: 'idle',\n }\n}\n"],"mappings":";;;;;;;AA0JA,IAAa,QAAb,cAKUA,kBAAAA,UAAU;CAKlB;CAEA;CACA;CACA;CACA;CACA;CAEA;CACA;CAEA,YAAY,QAA6D;EACvE,MAAM;EAEN,KAAKC,uBAAuB;EAC5B,KAAKC,kBAAkB,OAAO;EAC9B,KAAK,WAAW,OAAO,OAAO;EAC9B,KAAK,YAAY,CAAC;EAClB,KAAKC,UAAU,OAAO;EACtB,KAAKC,SAAS,KAAKD,QAAQ,cAAc;EACzC,KAAK,WAAW,OAAO;EACvB,KAAK,YAAY,OAAO;EACxB,KAAKE,gBAAgB,gBAAgB,KAAK,OAAO;EACjD,KAAK,QAAQ,OAAO,SAAS,KAAKA;EAClC,KAAK,WAAW;CAClB;CACA,IAAI,OAA8B;EAChC,OAAO,KAAK,QAAQ;CACtB;CAEA,IAAI,YAAY;EACd,OAAO,KAAKC;CACd;CAEA,IAAI,UAAsC;EACxC,OAAO,KAAKC,UAAU;CACxB;CAEA,WACE,SACM;EACN,KAAK,UAAU;GAAE,GAAG,KAAKL;GAAiB,GAAG;EAAQ;EAErD,IAAI,SAAS,OACX,KAAKI,aAAa,QAAQ;EAG5B,KAAK,aAAa,KAAK,QAAQ,MAAM;EAGrC,IAAI,KAAK,SAAS,KAAK,MAAM,SAAS,KAAA,GAAW;GAC/C,MAAM,eAAe,gBAAgB,KAAK,OAAO;GACjD,IAAI,aAAa,SAAS,KAAA,GAAW;IACnC,KAAK,SACH,aAAa,aAAa,MAAM,aAAa,aAAa,CAC5D;IACA,KAAKD,gBAAgB;GACvB;EACF;CACF;CAEA,iBAA2B;EACzB,IAAI,CAAC,KAAK,UAAU,UAAU,KAAK,MAAM,gBAAgB,QACvD,KAAKD,OAAO,OAAO,IAAI;CAE3B;CAEA,QACE,SACA,SACO;EACP,MAAM,OAAOI,cAAAA,YAAY,KAAK,MAAM,MAAM,SAAS,KAAK,OAAO;EAG/D,KAAKC,UAAU;GACb;GACA,MAAM;GACN,eAAe,SAAS;GACxB,QAAQ,SAAS;EACnB,CAAC;EAED,OAAO;CACT;CAEA,SAAS,OAAiD;EACxD,KAAKA,UAAU;GAAE,MAAM;GAAY;EAAM,CAAC;CAC5C;CAEA,OAAO,SAAwC;EAC7C,MAAM,UAAU,KAAKF,UAAU;EAC/B,KAAKA,UAAU,OAAO,OAAO;EAC7B,OAAO,UAAU,QAAQ,KAAKG,cAAAA,IAAI,CAAC,CAAC,MAAMA,cAAAA,IAAI,IAAI,QAAQ,QAAQ;CACpE;CAEA,UAAgB;EACd,MAAM,QAAQ;EAEd,KAAK,OAAO,EAAE,QAAQ,KAAK,CAAC;CAC9B;CAEA,IAAI,aAAwC;EAC1C,OAAO,KAAKL;CACd;CAEA,QAAc;EACZ,KAAK,QAAQ;EACb,KAAK,SAAS,KAAK,UAAU;CAC/B;CAEA,WAAoB;EAClB,OAAO,KAAK,UAAU,MACnB,aACCM,cAAAA,oBAAoB,SAAS,QAAQ,SAAS,IAAI,MAAM,KAC5D;CACF;CAEA,aAAsB;EACpB,IAAI,KAAK,kBAAkB,IAAI,GAC7B,OAAO,CAAC,KAAK,SAAS;EAGxB,OAAO,KAAK,QAAQ,YAAYC,cAAAA,aAAa,CAAC,KAAK,UAAU;CAC/D;CAEA,YAAY;EACV,OAAO,KAAK,MAAM,kBAAkB,KAAK,MAAM,mBAAmB;CACpE;CAEA,WAAoB;EAClB,IAAI,KAAK,kBAAkB,IAAI,GAC7B,OAAO,KAAK,UAAU,MACnB,aACCC,cAAAA,iBAAiB,SAAS,QAAQ,WAAW,IAAI,MAAM,QAC3D;EAGF,OAAO;CACT;CAEA,UAAmB;EAGjB,IAAI,KAAK,kBAAkB,IAAI,GAC7B,OAAO,KAAK,UAAU,MACnB,aAAa,SAAS,iBAAiB,CAAC,CAAC,OAC5C;EAGF,OAAO,KAAK,MAAM,SAAS,KAAA,KAAa,KAAK,MAAM;CACrD;CAEA,cAAc,YAAuB,GAAY;EAE/C,IAAI,KAAK,MAAM,SAAS,KAAA,GACtB,OAAO;EAGT,IAAI,cAAc,UAChB,OAAO;EAGT,IAAI,KAAK,MAAM,eACb,OAAO;EAGT,OAAO,CAACC,cAAAA,eAAe,KAAK,MAAM,eAAe,SAAS;CAC5D;CAEA,UAAgB;EAGd,KAFsB,UAAU,MAAM,MAAM,EAAE,yBAAyB,CAEhE,CAAC,EAAE,QAAQ,EAAE,eAAe,MAAM,CAAC;EAG1C,KAAKP,UAAU,SAAS;CAC1B;CAEA,WAAiB;EAGf,KAFsB,UAAU,MAAM,MAAM,EAAE,uBAAuB,CAE9D,CAAC,EAAE,QAAQ,EAAE,eAAe,MAAM,CAAC;EAG1C,KAAKA,UAAU,SAAS;CAC1B;CAEA,YAAY,UAAwD;EAClE,IAAI,CAAC,KAAK,UAAU,SAAS,QAAQ,GAAG;GACtC,KAAK,UAAU,KAAK,QAAQ;GAG5B,KAAK,eAAe;GAEpB,KAAKH,OAAO,OAAO;IAAE,MAAM;IAAiB,OAAO;IAAM;GAAS,CAAC;EACrE;CACF;CAEA,eAAe,UAAwD;EACrE,MAAM,QAAQ,KAAK,UAAU,QAAQ,QAAQ;EAC7C,IAAI,UAAU,IAAI;GAChB,KAAK,UAAU,OAAO,OAAO,CAAC;GAE9B,IAAI,CAAC,KAAK,UAAU,QAAQ;IAG1B,IAAI,KAAKG,UAAU;KACjB,IAAI,KAAKN,wBAAwB,KAAKc,sBAAsB,GAC1D,KAAKR,SAAS,OAAO,EAAE,QAAQ,KAAK,CAAC;UAErC,KAAKA,SAAS,YAAY;IAE9B;IAEA,KAAK,WAAW;GAClB;GAEA,KAAKH,OAAO,OAAO;IAAE,MAAM;IAAmB,OAAO;IAAM;GAAS,CAAC;EACvE;CACF;CAEA,oBAA4B;EAC1B,OAAO,KAAK,UAAU;CACxB;CAEA,wBAAiC;EAC/B,OACE,KAAK,MAAM,gBAAgB,YAAY,KAAK,MAAM,WAAW;CAEjE;CAEA,aAAmB;EACjB,IAAI,CAAC,KAAK,MAAM,eACd,KAAKK,UAAU,EAAE,MAAM,aAAa,CAAC;CAEzC;CAEA,MAAM,MACJ,SACA,cACgB;EAChB,IACE,KAAK,MAAM,gBAAgB,UAI3B,KAAKF,UAAU,OAAO,MAAM,YAC5B;GACA,IAAI,KAAK,MAAM,SAAS,KAAA,KAAa,cAAc,eAEjD,KAAK,OAAO,EAAE,QAAQ,KAAK,CAAC;QACvB,IAAI,KAAKA,UAAU;IAExB,KAAKA,SAAS,cAAc;IAE5B,OAAO,KAAKA,SAAS;GACvB;EACF;EAGA,IAAI,SACF,KAAK,WAAW,OAAO;EAKzB,IAAI,CAAC,KAAK,QAAQ,SAAS;GACzB,MAAM,WAAW,KAAK,UAAU,MAAM,MAAM,EAAE,QAAQ,OAAO;GAC7D,IAAI,UACF,KAAK,WAAW,SAAS,OAAO;EAEpC;EAEA,IAAI,QAAQ,IAAI,aAAa,cACvB;OAAA,CAAC,MAAM,QAAQ,KAAK,QAAQ,QAAQ,GACtC,QAAQ,MACN,qIACF;EAAA;EAIJ,MAAM,kBAAkB,IAAI,gBAAgB;EAK5C,MAAM,qBAAqB,WAAoB;GAC7C,OAAO,eAAe,QAAQ,UAAU;IACtC,YAAY;IACZ,WAAW;KACT,KAAKN,uBAAuB;KAC5B,OAAO,gBAAgB;IACzB;GACF,CAAC;EACH;EAGA,MAAM,gBAAgB;GACpB,MAAM,UAAUe,cAAAA,cAAc,KAAK,SAAS,YAAY;GAGxD,MAAM,6BAA8D;IAClE,MAAM,iBAGF;KACF,QAAQ,KAAKb;KACb,UAAU,KAAK;KACf,MAAM,KAAK;IACb;IACA,kBAAkB,cAAc;IAChC,OAAO;GACT;GAEA,MAAM,iBAAiB,qBAAqB;GAE5C,KAAKF,uBAAuB;GAC5B,IAAI,KAAK,QAAQ,WACf,OAAO,KAAK,QAAQ,UAClB,SACA,gBACA,IACF;GAGF,OAAO,QAAQ,cAAc;EAC/B;EAGA,MAAM,2BAKD;GACH,MAAM,UAGF;IACF;IACA,SAAS,KAAK;IACd,UAAU,KAAK;IACf,QAAQ,KAAKE;IACb,OAAO,KAAK;IACZ;GACF;GAEA,kBAAkB,OAAO;GACzB,OAAO;EACT;EAEA,MAAM,UAAU,mBAAmB;EAQnC,CALE,KAAKG,eAAe,aACfW,8BAAAA,sBACE,KAAK,QAA+B,KACvC,IACA,KAAK,QAAQ,SAAA,EACT,QAAQ,SAAS,IAAwB;EAGnD,KAAKC,eAAe,KAAK;EAGzB,IACE,KAAK,MAAM,gBAAgB,UAC3B,KAAK,MAAM,cAAc,QAAQ,cAAc,MAE/C,KAAKT,UAAU;GAAE,MAAM;GAAS,MAAM,QAAQ,cAAc;EAAK,CAAC;EAIpE,MAAM,UAAW,KAAKF,WAAWY,gBAAAA,cAAc;GAC7C,gBAAgB,cAAc;GAG9B,IAAI,QAAQ;GACZ,WAAW,UAAU;IACnB,IAAI,iBAAiBC,gBAAAA,kBAAkB,MAAM,QAC3C,KAAK,SAAS;KACZ,GAAG,KAAKF;KACR,aAAa;IACf,CAAC;IAEH,gBAAgB,MAAM;GACxB;GACA,SAAS,cAAc,UAAU;IAC/B,KAAKT,UAAU;KAAE,MAAM;KAAU;KAAc;IAAM,CAAC;GACxD;GACA,eAAe;IACb,KAAKA,UAAU,EAAE,MAAM,QAAQ,CAAC;GAClC;GACA,kBAAkB;IAChB,KAAKA,UAAU,EAAE,MAAM,WAAW,CAAC;GACrC;GACA,OAAO,QAAQ,QAAQ;GACvB,YAAY,QAAQ,QAAQ;GAC5B,aAAa,QAAQ,QAAQ;GAC7B,cAAc;EAChB,CAAC;EAED,IAAI;GACF,MAAM,OAAO,MAAM,QAAQ,MAAM;GAGjC,IAAI,SAAS,KAAA,GAAW;IACtB,IAAI,QAAQ,IAAI,aAAa,cAC3B,QAAQ,MACN,yIAAyI,KAAK,WAChJ;IAEF,MAAM,IAAI,MAAM,GAAG,KAAK,UAAU,mBAAmB;GACvD;GAEA,KAAK,QAAQ,IAAI;GAGjB,KAAKL,OAAO,OAAO,YAAY,MAAM,IAAiC;GACtE,KAAKA,OAAO,OAAO,YACjB,MACA,KAAK,MAAM,OACX,IACF;GACA,OAAO;EACT,SAAS,OAAO;GACd,IAAI,iBAAiBgB,gBAAAA,gBAAgB;IACnC,IAAI,MAAM,QAGR,OAAO,KAAKb,SAAS;SAChB,IAAI,MAAM,QAAQ;KAIvB,IAAI,KAAK,MAAM,SAAS,KAAA,GACtB,MAAM;KAER,OAAO,KAAK,MAAM;IACpB;GACF;GACA,KAAKE,UAAU;IACb,MAAM;IACC;GACT,CAAC;GAGD,KAAKL,OAAO,OAAO,UACjB,OACA,IACF;GACA,KAAKA,OAAO,OAAO,YACjB,KAAK,MAAM,MACX,OACA,IACF;GAEA,MAAM;EACR,UAAU;GAGR,IAAI,KAAKG,aAAa,SACpB,KAAKA,WAAW,KAAA;GAGlB,KAAK,WAAW;EAClB;CACF;CAEA,UAAU,QAAqC;EAC7C,MAAM,WACJ,UAC8B;GAC9B,QAAQ,OAAO,MAAf;IACE,KAAK,UACH,OAAO;KACL,GAAG;KACH,mBAAmB,OAAO;KAC1B,oBAAoB,OAAO;IAC7B;IACF,KAAK,SACH,OAAO;KACL,GAAG;KACH,aAAa;IACf;IACF,KAAK,YACH,OAAO;KACL,GAAG;KACH,aAAa;IACf;IACF,KAAK,SACH,OAAO;KACL,GAAG;KACH,GAAG,WAAW,MAAM,MAAM,KAAK,OAAO;KACtC,WAAW,OAAO,QAAQ;IAC5B;IACF,KAAK;KACH,MAAM,WAAW;MACf,GAAG;MACH,GAAG,aAAa,OAAO,MAAM,OAAO,aAAa;MACjD,iBAAiB,MAAM,kBAAkB;MACzC,GAAI,CAAC,OAAO,UAAU;OACpB,aAAa;OACb,mBAAmB;OACnB,oBAAoB;MACtB;KACF;KAGA,KAAKW,eAAe,OAAO,SAAS,WAAW,KAAA;KAE/C,OAAO;IACT,KAAK;KACH,MAAM,QAAQ,OAAO;KACrB,OAAO;MACL,GAAG;MACH;MACA,kBAAkB,MAAM,mBAAmB;MAC3C,gBAAgB,KAAK,IAAI;MACzB,mBAAmB,MAAM,oBAAoB;MAC7C,oBAAoB;MACpB,aAAa;MACb,QAAQ;MAGR,eAAe;KACjB;IACF,KAAK,cACH,OAAO;KACL,GAAG;KACH,eAAe;IACjB;IACF,KAAK,YACH,OAAO;KACL,GAAG;KACH,GAAG,OAAO;IACZ;GACJ;EACF;EAEA,KAAK,QAAQ,QAAQ,KAAK,KAAK;EAE/B,sBAAA,cAAc,YAAY;GAGxB,KAAK,UAAU,MAAM,CAAC,CAAC,SAAS,aAAa;IAC3C,SAAS,cAAc;GACzB,CAAC;GAED,KAAKd,OAAO,OAAO;IAAE,OAAO;IAAM,MAAM;IAAW;GAAO,CAAC;EAC7D,CAAC;CACH;AACF;AAEA,SAAgB,WAMd,MACA,SACA;CACA,OAAO;EACL,mBAAmB;EACnB,oBAAoB;EACpB,aAAaiB,gBAAAA,SAAS,QAAQ,WAAW,IAAI,aAAa;EAC1D,GAAI,SAAS,KAAA,KACV;GACC,OAAO;GACP,QAAQ;EACV;CACJ;AACF;AAEA,SAAS,aAAoB,MAAyB,eAAwB;CAC5E,OAAO;EACL;EACA,eAAe,iBAAiB,KAAK,IAAI;EACzC,OAAO;EACP,eAAe;EACf,QAAQ;CACV;AACF;AAEA,SAAS,gBAMP,SAC2B;CAC3B,MAAM,OACJ,OAAO,QAAQ,gBAAgB,aAC1B,QAAQ,YAA2C,IACpD,QAAQ;CAEd,MAAM,UAAU,SAAS,KAAA;CAEzB,MAAM,uBAAuB,UACzB,OAAO,QAAQ,yBAAyB,aACtC,QAAQ,qBAAqB,IAC7B,QAAQ,uBACV;CAEJ,OAAO;EACL;EACA,iBAAiB;EACjB,eAAe,UAAW,wBAAwB,KAAK,IAAI,IAAK;EAChE,OAAO;EACP,kBAAkB;EAClB,gBAAgB;EAChB,mBAAmB;EACnB,oBAAoB;EACpB,WAAW;EACX,eAAe;EACf,QAAQ,UAAU,YAAY;EAC9B,aAAa;CACf;AACF"} | ||
| {"version":3,"file":"query.cjs","names":["Removable","#abortSignalConsumed","#defaultOptions","#client","#cache","#initialState","#queryType","#retryer","replaceData","#dispatch","noop","resolveQueryValue","skipToken","timeUntilStale","ensureQueryFn","infiniteQueryBehavior","#revertState","createRetryer","CancelledError","canFetch"],"sources":["../../src/query.ts"],"sourcesContent":["import {\n ensureQueryFn,\n noop,\n replaceData,\n resolveQueryValue,\n skipToken,\n timeUntilStale,\n} from './utils'\nimport { notifyManager } from './notifyManager'\nimport { CancelledError, canFetch, createRetryer } from './retryer'\nimport { Removable } from './removable'\nimport { infiniteQueryBehavior } from './infiniteQueryBehavior'\nimport type { QueryCache } from './queryCache'\nimport type { QueryClient } from './queryClient'\nimport type {\n CancelOptions,\n DefaultError,\n FetchStatus,\n InitialDataFunction,\n OmitKeyof,\n QueryFunctionContext,\n QueryKey,\n QueryMeta,\n QueryOptions,\n QueryStatus,\n SetDataOptions,\n StaleTime,\n} from './types'\nimport type { QueryObserver } from './queryObserver'\nimport type { Retryer } from './retryer'\n\n// TYPES\n\ninterface QueryConfig<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n client: QueryClient\n queryKey: TQueryKey\n queryHash: string\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n defaultOptions?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n state?: QueryState<TData, TError>\n}\n\nexport interface QueryState<TData = unknown, TError = DefaultError> {\n data: TData | undefined\n dataUpdateCount: number\n dataUpdatedAt: number\n error: TError | null\n errorUpdateCount: number\n errorUpdatedAt: number\n fetchFailureCount: number\n fetchFailureReason: TError | null\n fetchMeta: FetchMeta | null\n isInvalidated: boolean\n status: QueryStatus\n fetchStatus: FetchStatus\n}\n\nexport interface FetchContext<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n fetchFn: () => unknown | Promise<unknown>\n fetchOptions?: FetchOptions\n signal: AbortSignal\n options: QueryOptions<TQueryFnData, TError, TData, any>\n client: QueryClient\n queryKey: TQueryKey\n state: QueryState<TData, TError>\n}\n\nexport interface QueryBehavior<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n onFetch: (\n context: FetchContext<TQueryFnData, TError, TData, TQueryKey>,\n query: Query,\n ) => void\n}\n\nexport type FetchDirection = 'forward' | 'backward'\n\nexport interface FetchMeta {\n fetchMore?: { direction: FetchDirection }\n}\n\nexport interface FetchOptions<TData = unknown> {\n cancelRefetch?: boolean\n meta?: FetchMeta\n initialPromise?: Promise<TData>\n}\n\ninterface FailedAction<TError> {\n type: 'failed'\n failureCount: number\n error: TError\n}\n\ninterface FetchAction {\n type: 'fetch'\n meta?: FetchMeta\n}\n\ninterface SuccessAction<TData> {\n data: TData | undefined\n type: 'success'\n dataUpdatedAt?: number\n manual?: boolean\n}\n\ninterface ErrorAction<TError> {\n type: 'error'\n error: TError\n}\n\ninterface InvalidateAction {\n type: 'invalidate'\n}\n\ninterface PauseAction {\n type: 'pause'\n}\n\ninterface ContinueAction {\n type: 'continue'\n}\n\ninterface SetStateAction<TData, TError> {\n type: 'setState'\n state: Partial<QueryState<TData, TError>>\n}\n\nexport type Action<TData, TError> =\n | ContinueAction\n | ErrorAction<TError>\n | FailedAction<TError>\n | FetchAction\n | InvalidateAction\n | PauseAction\n | SetStateAction<TData, TError>\n | SuccessAction<TData>\n\n// CLASS\n\nexport class Query<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends Removable {\n queryKey: TQueryKey\n queryHash: string\n options!: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n state: QueryState<TData, TError>\n #queryType?: 'infinite'\n\n #initialState: QueryState<TData, TError>\n #revertState?: QueryState<TData, TError>\n #cache: QueryCache\n #client: QueryClient\n #retryer?: Retryer<TData>\n observers: Array<QueryObserver<any, any, any, any, any>>\n #defaultOptions?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n #abortSignalConsumed: boolean\n\n constructor(config: QueryConfig<TQueryFnData, TError, TData, TQueryKey>) {\n super()\n\n this.#abortSignalConsumed = false\n this.#defaultOptions = config.defaultOptions\n this.setOptions(config.options)\n this.observers = []\n this.#client = config.client\n this.#cache = this.#client.getQueryCache()\n this.queryKey = config.queryKey\n this.queryHash = config.queryHash\n this.#initialState = getDefaultState(this.options)\n this.state = config.state ?? this.#initialState\n this.scheduleGc()\n }\n get meta(): QueryMeta | undefined {\n return this.options.meta\n }\n\n get queryType() {\n return this.#queryType\n }\n\n get promise(): Promise<TData> | undefined {\n return this.#retryer?.promise\n }\n\n setOptions(\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): void {\n this.options = { ...this.#defaultOptions, ...options }\n\n if (options?._type) {\n this.#queryType = options._type\n }\n\n this.updateGcTime(this.options.gcTime)\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (this.state && this.state.data === undefined) {\n const defaultState = getDefaultState(this.options)\n if (defaultState.data !== undefined) {\n this.setState(\n successState(defaultState.data, defaultState.dataUpdatedAt),\n )\n this.#initialState = defaultState\n }\n }\n }\n\n protected optionalRemove() {\n if (!this.observers.length && this.state.fetchStatus === 'idle') {\n this.#cache.remove(this)\n }\n }\n\n setData(\n newData: TData,\n options?: SetDataOptions & { manual: boolean },\n ): TData {\n const data = replaceData(this.state.data, newData, this.options)\n\n // Set data and mark it as cached\n this.#dispatch({\n data,\n type: 'success',\n dataUpdatedAt: options?.updatedAt,\n manual: options?.manual,\n })\n\n return data\n }\n\n setState(state: Partial<QueryState<TData, TError>>): void {\n this.#dispatch({ type: 'setState', state })\n }\n\n cancel(options?: CancelOptions): Promise<void> {\n const promise = this.#retryer?.promise\n this.#retryer?.cancel(options)\n return promise ? promise.then(noop).catch(noop) : Promise.resolve()\n }\n\n destroy(): void {\n super.destroy()\n\n this.cancel({ silent: true })\n }\n\n get resetState(): QueryState<TData, TError> {\n return this.#initialState\n }\n\n reset(): void {\n this.destroy()\n this.setState(this.resetState)\n }\n\n isActive(): boolean {\n return this.observers.some(\n (observer) => resolveQueryValue(observer.options.enabled, this) !== false,\n )\n }\n\n isDisabled(): boolean {\n if (this.getObserversCount() > 0) {\n return !this.isActive()\n }\n // if a query has no observers, it should still be considered disabled if it never attempted a fetch\n return this.options.queryFn === skipToken || !this.isFetched()\n }\n\n isFetched() {\n return this.state.dataUpdateCount + this.state.errorUpdateCount > 0\n }\n\n isStatic(): boolean {\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) =>\n resolveQueryValue(observer.options.staleTime, this) === 'static',\n )\n }\n\n return false\n }\n\n isStale(): boolean {\n // check observers first, their `isStale` has the source of truth\n // calculated with `isStaleByTime` and it takes `enabled` into account\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) => observer.getCurrentResult().isStale,\n )\n }\n\n return this.state.data === undefined || this.state.isInvalidated\n }\n\n isStaleByTime(staleTime: StaleTime = 0): boolean {\n // no data is always stale\n if (this.state.data === undefined) {\n return true\n }\n // static is never stale\n if (staleTime === 'static') {\n return false\n }\n // if the query is invalidated, it is stale\n if (this.state.isInvalidated) {\n return true\n }\n\n return !timeUntilStale(this.state.dataUpdatedAt, staleTime)\n }\n\n onFocus(): void {\n const observer = this.observers.find((x) => x.shouldFetchOnWindowFocus())\n\n observer?.refetch({ cancelRefetch: false })\n\n // Continue fetch if currently paused\n this.#retryer?.continue()\n }\n\n onOnline(): void {\n const observer = this.observers.find((x) => x.shouldFetchOnReconnect())\n\n observer?.refetch({ cancelRefetch: false })\n\n // Continue fetch if currently paused\n this.#retryer?.continue()\n }\n\n addObserver(observer: QueryObserver<any, any, any, any, any>): void {\n if (!this.observers.includes(observer)) {\n this.observers.push(observer)\n\n // Stop the query from being garbage collected\n this.clearGcTimeout()\n\n this.#cache.notify({ type: 'observerAdded', query: this, observer })\n }\n }\n\n removeObserver(observer: QueryObserver<any, any, any, any, any>): void {\n const index = this.observers.indexOf(observer)\n if (index !== -1) {\n this.observers.splice(index, 1)\n\n if (!this.observers.length) {\n // If the transport layer does not support cancellation\n // we'll let the query continue so the result can be cached\n if (this.#retryer) {\n if (\n this.#abortSignalConsumed ||\n (this.state.fetchStatus === 'paused' &&\n this.state.status === 'pending')\n ) {\n this.#retryer.cancel({ revert: true })\n } else {\n this.#retryer.cancelRetry()\n }\n }\n\n this.scheduleGc()\n }\n\n this.#cache.notify({ type: 'observerRemoved', query: this, observer })\n }\n }\n\n getObserversCount(): number {\n return this.observers.length\n }\n\n invalidate(): void {\n if (!this.state.isInvalidated) {\n this.#dispatch({ type: 'invalidate' })\n }\n }\n\n async fetch(\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n fetchOptions?: FetchOptions<TQueryFnData>,\n ): Promise<TData> {\n if (\n this.state.fetchStatus !== 'idle' &&\n // If the promise in the retryer is already rejected, we have to definitely\n // re-start the fetch; there is a chance that the query is still in a\n // pending state when that happens\n this.#retryer?.status() !== 'rejected'\n ) {\n if (this.state.data !== undefined && fetchOptions?.cancelRefetch) {\n // Silently cancel current fetch if the user wants to cancel refetch\n this.cancel({ silent: true })\n } else if (this.#retryer) {\n // make sure that retries that were potentially cancelled due to unmounts can continue\n this.#retryer.continueRetry()\n // Return current promise if we are already fetching\n return this.#retryer.promise\n }\n }\n\n // Update config if passed, otherwise the config from the last execution is used\n if (options) {\n this.setOptions(options)\n }\n\n // Use the options from the first observer with a query function if no function is found.\n // This can happen when the query is hydrated or created with setQueryData.\n if (!this.options.queryFn) {\n const observer = this.observers.find((x) => x.options.queryFn)\n if (observer) {\n this.setOptions(observer.options)\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (!Array.isArray(this.options.queryKey)) {\n console.error(\n `As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`,\n )\n }\n }\n\n const abortController = new AbortController()\n\n // Adds an enumerable signal property to the object that\n // which sets abortSignalConsumed to true when the signal\n // is read.\n const addSignalProperty = (object: unknown) => {\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n this.#abortSignalConsumed = true\n return abortController.signal\n },\n })\n }\n\n // Create fetch function\n const fetchFn = () => {\n const queryFn = ensureQueryFn(this.options, fetchOptions)\n\n // Create query function context\n const createQueryFnContext = (): QueryFunctionContext<TQueryKey> => {\n const queryFnContext: OmitKeyof<\n QueryFunctionContext<TQueryKey>,\n 'signal'\n > = {\n client: this.#client,\n queryKey: this.queryKey,\n meta: this.meta,\n }\n addSignalProperty(queryFnContext)\n return queryFnContext as QueryFunctionContext<TQueryKey>\n }\n\n const queryFnContext = createQueryFnContext()\n\n this.#abortSignalConsumed = false\n if (this.options.persister) {\n return this.options.persister(\n queryFn,\n queryFnContext,\n this as unknown as Query,\n )\n }\n\n return queryFn(queryFnContext)\n }\n\n // Trigger behavior hook\n const createFetchContext = (): FetchContext<\n TQueryFnData,\n TError,\n TData,\n TQueryKey\n > => {\n const context: OmitKeyof<\n FetchContext<TQueryFnData, TError, TData, TQueryKey>,\n 'signal'\n > = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n client: this.#client,\n state: this.state,\n fetchFn,\n }\n\n addSignalProperty(context)\n return context as FetchContext<TQueryFnData, TError, TData, TQueryKey>\n }\n\n const context = createFetchContext()\n\n const behavior =\n this.#queryType === 'infinite'\n ? (infiniteQueryBehavior(\n (this.options as { pages?: number }).pages,\n ) as QueryBehavior<TQueryFnData, TError, TData, TQueryKey>)\n : this.options.behavior\n behavior?.onFetch(context, this as unknown as Query)\n\n // Store state in case the current fetch needs to be reverted\n this.#revertState = this.state\n\n // Set to fetching state if not already in it\n if (\n this.state.fetchStatus === 'idle' ||\n this.state.fetchMeta !== context.fetchOptions?.meta\n ) {\n this.#dispatch({ type: 'fetch', meta: context.fetchOptions?.meta })\n }\n\n // Try to fetch the data\n const retryer = (this.#retryer = createRetryer({\n initialPromise: fetchOptions?.initialPromise as\n | Promise<TData>\n | undefined,\n fn: context.fetchFn as () => Promise<TData>,\n onCancel: (error) => {\n if (error instanceof CancelledError && error.revert) {\n this.setState({\n ...this.#revertState,\n fetchStatus: 'idle' as const,\n })\n }\n abortController.abort()\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: 'failed', failureCount, error })\n },\n onPause: () => {\n this.#dispatch({ type: 'pause' })\n },\n onContinue: () => {\n this.#dispatch({ type: 'continue' })\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode,\n canRun: () => true,\n }))\n\n try {\n const data = await retryer.start()\n // this is more of a runtime guard\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (data === undefined) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(\n `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`,\n )\n }\n throw new Error(`${this.queryHash} data is undefined`)\n }\n\n this.setData(data)\n\n // Notify cache callback\n this.#cache.config.onSuccess?.(data, this as Query<any, any, any, any>)\n this.#cache.config.onSettled?.(\n data,\n this.state.error as any,\n this as Query<any, any, any, any>,\n )\n return data\n } catch (error) {\n if (error instanceof CancelledError) {\n if (error.silent) {\n // silent cancellation implies a new fetch is going to be started,\n // so we piggyback onto that promise\n return this.#retryer.promise\n } else if (error.revert) {\n // transform error into reverted state data\n // if the initial fetch was cancelled, we have no data, so we have\n // to get reject with a CancelledError\n if (this.state.data === undefined) {\n throw error\n }\n return this.state.data\n }\n }\n this.#dispatch({\n type: 'error',\n error: error as TError,\n })\n\n // Notify cache callback\n this.#cache.config.onError?.(\n error as any,\n this as Query<any, any, any, any>,\n )\n this.#cache.config.onSettled?.(\n this.state.data,\n error as any,\n this as Query<any, any, any, any>,\n )\n\n throw error // rethrow the error for further handling\n } finally {\n // The settled retryer's promise would otherwise pin this fetch's raw\n // result (a second copy after structural sharing) for the query's lifetime\n if (this.#retryer === retryer) {\n this.#retryer = undefined\n }\n // Schedule query gc after fetching\n this.scheduleGc()\n }\n }\n\n #dispatch(action: Action<TData, TError>): void {\n const reducer = (\n state: QueryState<TData, TError>,\n ): QueryState<TData, TError> => {\n switch (action.type) {\n case 'failed':\n return {\n ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error,\n }\n case 'pause':\n return {\n ...state,\n fetchStatus: 'paused',\n }\n case 'continue':\n return {\n ...state,\n fetchStatus: 'fetching',\n }\n case 'fetch':\n return {\n ...state,\n ...fetchState(state.data, this.options),\n fetchMeta: action.meta ?? null,\n }\n case 'success':\n const newState = {\n ...state,\n ...successState(action.data, action.dataUpdatedAt),\n dataUpdateCount: state.dataUpdateCount + 1,\n ...(!action.manual && {\n fetchStatus: 'idle' as const,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n }),\n }\n // If fetching ends successfully, we don't need revertState as a fallback anymore.\n // For manual updates, capture the state to revert to it in case of a cancellation.\n this.#revertState = action.manual ? newState : undefined\n\n return newState\n case 'error':\n const error = action.error\n return {\n ...state,\n error,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchFailureReason: error,\n fetchStatus: 'idle',\n status: 'error',\n // flag existing data as invalidated if we get a background error\n // note that \"no data\" always means stale so we can set unconditionally here\n isInvalidated: true,\n }\n case 'invalidate':\n return {\n ...state,\n isInvalidated: true,\n }\n case 'setState':\n return {\n ...state,\n ...action.state,\n }\n }\n }\n\n this.state = reducer(this.state)\n\n notifyManager.batch(() => {\n // Keep the current iteration stable if an observer unsubscribes\n // synchronously while it is being notified.\n this.observers.slice().forEach((observer) => {\n observer.onQueryUpdate()\n })\n\n this.#cache.notify({ query: this, type: 'updated', action })\n })\n }\n}\n\nexport function fetchState<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n data: TData | undefined,\n options: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n) {\n return {\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchStatus: canFetch(options.networkMode) ? 'fetching' : 'paused',\n ...(data === undefined &&\n ({\n error: null,\n status: 'pending',\n } as const)),\n } as const\n}\n\nfunction successState<TData>(data: TData | undefined, dataUpdatedAt?: number) {\n return {\n data,\n dataUpdatedAt: dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: 'success' as const,\n }\n}\n\nfunction getDefaultState<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n options: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n): QueryState<TData, TError> {\n const data =\n typeof options.initialData === 'function'\n ? (options.initialData as InitialDataFunction<TData>)()\n : options.initialData\n\n const hasData = data !== undefined\n\n const initialDataUpdatedAt = hasData\n ? typeof options.initialDataUpdatedAt === 'function'\n ? options.initialDataUpdatedAt()\n : options.initialDataUpdatedAt\n : 0\n\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? (initialDataUpdatedAt ?? Date.now()) : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? 'success' : 'pending',\n fetchStatus: 'idle',\n }\n}\n"],"mappings":"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"} |
@@ -1,2 +0,2 @@ | ||
| import { $n as FetchOptions, Qn as FetchMeta, Xn as FetchContext, Yn as Action, Zn as FetchDirection, er as Query, nr as QueryState, rr as fetchState, tr as QueryBehavior } from "./hydration-BoHd-X9T.cjs"; | ||
| import { $n as Query, Jn as Action, Qn as FetchOptions, Xn as FetchDirection, Yn as FetchContext, Zn as FetchMeta, er as QueryBehavior, nr as fetchState, tr as QueryState } from "./hydration-DWGr3cFC.cjs"; | ||
| export { Action, FetchContext, FetchDirection, FetchMeta, FetchOptions, Query, QueryBehavior, QueryState, fetchState }; |
@@ -1,2 +0,2 @@ | ||
| import { $n as FetchOptions, Qn as FetchMeta, Xn as FetchContext, Yn as Action, Zn as FetchDirection, er as Query, nr as QueryState, rr as fetchState, tr as QueryBehavior } from "./hydration-DFwTM9vM.js"; | ||
| import { $n as Query, Jn as Action, Qn as FetchOptions, Xn as FetchDirection, Yn as FetchContext, Zn as FetchMeta, er as QueryBehavior, nr as fetchState, tr as QueryState } from "./hydration-Bjs0MSgg.js"; | ||
| export { Action, FetchContext, FetchDirection, FetchMeta, FetchOptions, Query, QueryBehavior, QueryState, fetchState }; |
@@ -1,2 +0,2 @@ | ||
| import { ensureQueryFn, noop, replaceData, resolveQueryBoolean, resolveStaleTime, skipToken, timeUntilStale } from "./utils.js"; | ||
| import { ensureQueryFn, noop, replaceData, resolveQueryValue, skipToken, timeUntilStale } from "./utils.js"; | ||
| import { notifyManager } from "./notifyManager.js"; | ||
@@ -90,3 +90,3 @@ import { CancelledError, canFetch, createRetryer } from "./retryer.js"; | ||
| isActive() { | ||
| return this.observers.some((observer) => resolveQueryBoolean(observer.options.enabled, this) !== false); | ||
| return this.observers.some((observer) => resolveQueryValue(observer.options.enabled, this) !== false); | ||
| } | ||
@@ -101,3 +101,3 @@ isDisabled() { | ||
| isStatic() { | ||
| if (this.getObserversCount() > 0) return this.observers.some((observer) => resolveStaleTime(observer.options.staleTime, this) === "static"); | ||
| if (this.getObserversCount() > 0) return this.observers.some((observer) => resolveQueryValue(observer.options.staleTime, this) === "static"); | ||
| return false; | ||
@@ -140,3 +140,3 @@ } | ||
| if (this.#retryer) { | ||
| if (this.#abortSignalConsumed || this.#isInitialPausedFetch()) this.#retryer.cancel({ revert: true }); | ||
| if (this.#abortSignalConsumed || this.state.fetchStatus === "paused" && this.state.status === "pending") this.#retryer.cancel({ revert: true }); | ||
| else this.#retryer.cancelRetry(); | ||
@@ -156,5 +156,2 @@ } | ||
| } | ||
| #isInitialPausedFetch() { | ||
| return this.state.fetchStatus === "paused" && this.state.status === "pending"; | ||
| } | ||
| invalidate() { | ||
@@ -161,0 +158,0 @@ if (!this.state.isInvalidated) this.#dispatch({ type: "invalidate" }); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"query.js","names":["#abortSignalConsumed","#defaultOptions","#client","#cache","#initialState","#queryType","#retryer","#dispatch","#isInitialPausedFetch","#revertState"],"sources":["../../src/query.ts"],"sourcesContent":["import {\n ensureQueryFn,\n noop,\n replaceData,\n resolveQueryBoolean,\n resolveStaleTime,\n skipToken,\n timeUntilStale,\n} from './utils'\nimport { notifyManager } from './notifyManager'\nimport { CancelledError, canFetch, createRetryer } from './retryer'\nimport { Removable } from './removable'\nimport { infiniteQueryBehavior } from './infiniteQueryBehavior'\nimport type { QueryCache } from './queryCache'\nimport type { QueryClient } from './queryClient'\nimport type {\n CancelOptions,\n DefaultError,\n FetchStatus,\n InitialDataFunction,\n OmitKeyof,\n QueryFunctionContext,\n QueryKey,\n QueryMeta,\n QueryOptions,\n QueryStatus,\n SetDataOptions,\n StaleTime,\n} from './types'\nimport type { QueryObserver } from './queryObserver'\nimport type { Retryer } from './retryer'\n\n// TYPES\n\ninterface QueryConfig<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n client: QueryClient\n queryKey: TQueryKey\n queryHash: string\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n defaultOptions?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n state?: QueryState<TData, TError>\n}\n\nexport interface QueryState<TData = unknown, TError = DefaultError> {\n data: TData | undefined\n dataUpdateCount: number\n dataUpdatedAt: number\n error: TError | null\n errorUpdateCount: number\n errorUpdatedAt: number\n fetchFailureCount: number\n fetchFailureReason: TError | null\n fetchMeta: FetchMeta | null\n isInvalidated: boolean\n status: QueryStatus\n fetchStatus: FetchStatus\n}\n\nexport interface FetchContext<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n fetchFn: () => unknown | Promise<unknown>\n fetchOptions?: FetchOptions\n signal: AbortSignal\n options: QueryOptions<TQueryFnData, TError, TData, any>\n client: QueryClient\n queryKey: TQueryKey\n state: QueryState<TData, TError>\n}\n\nexport interface QueryBehavior<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n onFetch: (\n context: FetchContext<TQueryFnData, TError, TData, TQueryKey>,\n query: Query,\n ) => void\n}\n\nexport type FetchDirection = 'forward' | 'backward'\n\nexport interface FetchMeta {\n fetchMore?: { direction: FetchDirection }\n}\n\nexport interface FetchOptions<TData = unknown> {\n cancelRefetch?: boolean\n meta?: FetchMeta\n initialPromise?: Promise<TData>\n}\n\ninterface FailedAction<TError> {\n type: 'failed'\n failureCount: number\n error: TError\n}\n\ninterface FetchAction {\n type: 'fetch'\n meta?: FetchMeta\n}\n\ninterface SuccessAction<TData> {\n data: TData | undefined\n type: 'success'\n dataUpdatedAt?: number\n manual?: boolean\n}\n\ninterface ErrorAction<TError> {\n type: 'error'\n error: TError\n}\n\ninterface InvalidateAction {\n type: 'invalidate'\n}\n\ninterface PauseAction {\n type: 'pause'\n}\n\ninterface ContinueAction {\n type: 'continue'\n}\n\ninterface SetStateAction<TData, TError> {\n type: 'setState'\n state: Partial<QueryState<TData, TError>>\n}\n\nexport type Action<TData, TError> =\n | ContinueAction\n | ErrorAction<TError>\n | FailedAction<TError>\n | FetchAction\n | InvalidateAction\n | PauseAction\n | SetStateAction<TData, TError>\n | SuccessAction<TData>\n\n// CLASS\n\nexport class Query<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends Removable {\n queryKey: TQueryKey\n queryHash: string\n options!: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n state: QueryState<TData, TError>\n #queryType?: 'infinite'\n\n #initialState: QueryState<TData, TError>\n #revertState?: QueryState<TData, TError>\n #cache: QueryCache\n #client: QueryClient\n #retryer?: Retryer<TData>\n observers: Array<QueryObserver<any, any, any, any, any>>\n #defaultOptions?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n #abortSignalConsumed: boolean\n\n constructor(config: QueryConfig<TQueryFnData, TError, TData, TQueryKey>) {\n super()\n\n this.#abortSignalConsumed = false\n this.#defaultOptions = config.defaultOptions\n this.setOptions(config.options)\n this.observers = []\n this.#client = config.client\n this.#cache = this.#client.getQueryCache()\n this.queryKey = config.queryKey\n this.queryHash = config.queryHash\n this.#initialState = getDefaultState(this.options)\n this.state = config.state ?? this.#initialState\n this.scheduleGc()\n }\n get meta(): QueryMeta | undefined {\n return this.options.meta\n }\n\n get queryType() {\n return this.#queryType\n }\n\n get promise(): Promise<TData> | undefined {\n return this.#retryer?.promise\n }\n\n setOptions(\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): void {\n this.options = { ...this.#defaultOptions, ...options }\n\n if (options?._type) {\n this.#queryType = options._type\n }\n\n this.updateGcTime(this.options.gcTime)\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (this.state && this.state.data === undefined) {\n const defaultState = getDefaultState(this.options)\n if (defaultState.data !== undefined) {\n this.setState(\n successState(defaultState.data, defaultState.dataUpdatedAt),\n )\n this.#initialState = defaultState\n }\n }\n }\n\n protected optionalRemove() {\n if (!this.observers.length && this.state.fetchStatus === 'idle') {\n this.#cache.remove(this)\n }\n }\n\n setData(\n newData: TData,\n options?: SetDataOptions & { manual: boolean },\n ): TData {\n const data = replaceData(this.state.data, newData, this.options)\n\n // Set data and mark it as cached\n this.#dispatch({\n data,\n type: 'success',\n dataUpdatedAt: options?.updatedAt,\n manual: options?.manual,\n })\n\n return data\n }\n\n setState(state: Partial<QueryState<TData, TError>>): void {\n this.#dispatch({ type: 'setState', state })\n }\n\n cancel(options?: CancelOptions): Promise<void> {\n const promise = this.#retryer?.promise\n this.#retryer?.cancel(options)\n return promise ? promise.then(noop).catch(noop) : Promise.resolve()\n }\n\n destroy(): void {\n super.destroy()\n\n this.cancel({ silent: true })\n }\n\n get resetState(): QueryState<TData, TError> {\n return this.#initialState\n }\n\n reset(): void {\n this.destroy()\n this.setState(this.resetState)\n }\n\n isActive(): boolean {\n return this.observers.some(\n (observer) =>\n resolveQueryBoolean(observer.options.enabled, this) !== false,\n )\n }\n\n isDisabled(): boolean {\n if (this.getObserversCount() > 0) {\n return !this.isActive()\n }\n // if a query has no observers, it should still be considered disabled if it never attempted a fetch\n return this.options.queryFn === skipToken || !this.isFetched()\n }\n\n isFetched() {\n return this.state.dataUpdateCount + this.state.errorUpdateCount > 0\n }\n\n isStatic(): boolean {\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) =>\n resolveStaleTime(observer.options.staleTime, this) === 'static',\n )\n }\n\n return false\n }\n\n isStale(): boolean {\n // check observers first, their `isStale` has the source of truth\n // calculated with `isStaleByTime` and it takes `enabled` into account\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) => observer.getCurrentResult().isStale,\n )\n }\n\n return this.state.data === undefined || this.state.isInvalidated\n }\n\n isStaleByTime(staleTime: StaleTime = 0): boolean {\n // no data is always stale\n if (this.state.data === undefined) {\n return true\n }\n // static is never stale\n if (staleTime === 'static') {\n return false\n }\n // if the query is invalidated, it is stale\n if (this.state.isInvalidated) {\n return true\n }\n\n return !timeUntilStale(this.state.dataUpdatedAt, staleTime)\n }\n\n onFocus(): void {\n const observer = this.observers.find((x) => x.shouldFetchOnWindowFocus())\n\n observer?.refetch({ cancelRefetch: false })\n\n // Continue fetch if currently paused\n this.#retryer?.continue()\n }\n\n onOnline(): void {\n const observer = this.observers.find((x) => x.shouldFetchOnReconnect())\n\n observer?.refetch({ cancelRefetch: false })\n\n // Continue fetch if currently paused\n this.#retryer?.continue()\n }\n\n addObserver(observer: QueryObserver<any, any, any, any, any>): void {\n if (!this.observers.includes(observer)) {\n this.observers.push(observer)\n\n // Stop the query from being garbage collected\n this.clearGcTimeout()\n\n this.#cache.notify({ type: 'observerAdded', query: this, observer })\n }\n }\n\n removeObserver(observer: QueryObserver<any, any, any, any, any>): void {\n const index = this.observers.indexOf(observer)\n if (index !== -1) {\n this.observers.splice(index, 1)\n\n if (!this.observers.length) {\n // If the transport layer does not support cancellation\n // we'll let the query continue so the result can be cached\n if (this.#retryer) {\n if (this.#abortSignalConsumed || this.#isInitialPausedFetch()) {\n this.#retryer.cancel({ revert: true })\n } else {\n this.#retryer.cancelRetry()\n }\n }\n\n this.scheduleGc()\n }\n\n this.#cache.notify({ type: 'observerRemoved', query: this, observer })\n }\n }\n\n getObserversCount(): number {\n return this.observers.length\n }\n\n #isInitialPausedFetch(): boolean {\n return (\n this.state.fetchStatus === 'paused' && this.state.status === 'pending'\n )\n }\n\n invalidate(): void {\n if (!this.state.isInvalidated) {\n this.#dispatch({ type: 'invalidate' })\n }\n }\n\n async fetch(\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n fetchOptions?: FetchOptions<TQueryFnData>,\n ): Promise<TData> {\n if (\n this.state.fetchStatus !== 'idle' &&\n // If the promise in the retryer is already rejected, we have to definitely\n // re-start the fetch; there is a chance that the query is still in a\n // pending state when that happens\n this.#retryer?.status() !== 'rejected'\n ) {\n if (this.state.data !== undefined && fetchOptions?.cancelRefetch) {\n // Silently cancel current fetch if the user wants to cancel refetch\n this.cancel({ silent: true })\n } else if (this.#retryer) {\n // make sure that retries that were potentially cancelled due to unmounts can continue\n this.#retryer.continueRetry()\n // Return current promise if we are already fetching\n return this.#retryer.promise\n }\n }\n\n // Update config if passed, otherwise the config from the last execution is used\n if (options) {\n this.setOptions(options)\n }\n\n // Use the options from the first observer with a query function if no function is found.\n // This can happen when the query is hydrated or created with setQueryData.\n if (!this.options.queryFn) {\n const observer = this.observers.find((x) => x.options.queryFn)\n if (observer) {\n this.setOptions(observer.options)\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (!Array.isArray(this.options.queryKey)) {\n console.error(\n `As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`,\n )\n }\n }\n\n const abortController = new AbortController()\n\n // Adds an enumerable signal property to the object that\n // which sets abortSignalConsumed to true when the signal\n // is read.\n const addSignalProperty = (object: unknown) => {\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n this.#abortSignalConsumed = true\n return abortController.signal\n },\n })\n }\n\n // Create fetch function\n const fetchFn = () => {\n const queryFn = ensureQueryFn(this.options, fetchOptions)\n\n // Create query function context\n const createQueryFnContext = (): QueryFunctionContext<TQueryKey> => {\n const queryFnContext: OmitKeyof<\n QueryFunctionContext<TQueryKey>,\n 'signal'\n > = {\n client: this.#client,\n queryKey: this.queryKey,\n meta: this.meta,\n }\n addSignalProperty(queryFnContext)\n return queryFnContext as QueryFunctionContext<TQueryKey>\n }\n\n const queryFnContext = createQueryFnContext()\n\n this.#abortSignalConsumed = false\n if (this.options.persister) {\n return this.options.persister(\n queryFn,\n queryFnContext,\n this as unknown as Query,\n )\n }\n\n return queryFn(queryFnContext)\n }\n\n // Trigger behavior hook\n const createFetchContext = (): FetchContext<\n TQueryFnData,\n TError,\n TData,\n TQueryKey\n > => {\n const context: OmitKeyof<\n FetchContext<TQueryFnData, TError, TData, TQueryKey>,\n 'signal'\n > = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n client: this.#client,\n state: this.state,\n fetchFn,\n }\n\n addSignalProperty(context)\n return context as FetchContext<TQueryFnData, TError, TData, TQueryKey>\n }\n\n const context = createFetchContext()\n\n const behavior =\n this.#queryType === 'infinite'\n ? (infiniteQueryBehavior(\n (this.options as { pages?: number }).pages,\n ) as QueryBehavior<TQueryFnData, TError, TData, TQueryKey>)\n : this.options.behavior\n behavior?.onFetch(context, this as unknown as Query)\n\n // Store state in case the current fetch needs to be reverted\n this.#revertState = this.state\n\n // Set to fetching state if not already in it\n if (\n this.state.fetchStatus === 'idle' ||\n this.state.fetchMeta !== context.fetchOptions?.meta\n ) {\n this.#dispatch({ type: 'fetch', meta: context.fetchOptions?.meta })\n }\n\n // Try to fetch the data\n const retryer = (this.#retryer = createRetryer({\n initialPromise: fetchOptions?.initialPromise as\n | Promise<TData>\n | undefined,\n fn: context.fetchFn as () => Promise<TData>,\n onCancel: (error) => {\n if (error instanceof CancelledError && error.revert) {\n this.setState({\n ...this.#revertState,\n fetchStatus: 'idle' as const,\n })\n }\n abortController.abort()\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: 'failed', failureCount, error })\n },\n onPause: () => {\n this.#dispatch({ type: 'pause' })\n },\n onContinue: () => {\n this.#dispatch({ type: 'continue' })\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode,\n canRun: () => true,\n }))\n\n try {\n const data = await retryer.start()\n // this is more of a runtime guard\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (data === undefined) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(\n `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`,\n )\n }\n throw new Error(`${this.queryHash} data is undefined`)\n }\n\n this.setData(data)\n\n // Notify cache callback\n this.#cache.config.onSuccess?.(data, this as Query<any, any, any, any>)\n this.#cache.config.onSettled?.(\n data,\n this.state.error as any,\n this as Query<any, any, any, any>,\n )\n return data\n } catch (error) {\n if (error instanceof CancelledError) {\n if (error.silent) {\n // silent cancellation implies a new fetch is going to be started,\n // so we piggyback onto that promise\n return this.#retryer.promise\n } else if (error.revert) {\n // transform error into reverted state data\n // if the initial fetch was cancelled, we have no data, so we have\n // to get reject with a CancelledError\n if (this.state.data === undefined) {\n throw error\n }\n return this.state.data\n }\n }\n this.#dispatch({\n type: 'error',\n error: error as TError,\n })\n\n // Notify cache callback\n this.#cache.config.onError?.(\n error as any,\n this as Query<any, any, any, any>,\n )\n this.#cache.config.onSettled?.(\n this.state.data,\n error as any,\n this as Query<any, any, any, any>,\n )\n\n throw error // rethrow the error for further handling\n } finally {\n // The settled retryer's promise would otherwise pin this fetch's raw\n // result (a second copy after structural sharing) for the query's lifetime\n if (this.#retryer === retryer) {\n this.#retryer = undefined\n }\n // Schedule query gc after fetching\n this.scheduleGc()\n }\n }\n\n #dispatch(action: Action<TData, TError>): void {\n const reducer = (\n state: QueryState<TData, TError>,\n ): QueryState<TData, TError> => {\n switch (action.type) {\n case 'failed':\n return {\n ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error,\n }\n case 'pause':\n return {\n ...state,\n fetchStatus: 'paused',\n }\n case 'continue':\n return {\n ...state,\n fetchStatus: 'fetching',\n }\n case 'fetch':\n return {\n ...state,\n ...fetchState(state.data, this.options),\n fetchMeta: action.meta ?? null,\n }\n case 'success':\n const newState = {\n ...state,\n ...successState(action.data, action.dataUpdatedAt),\n dataUpdateCount: state.dataUpdateCount + 1,\n ...(!action.manual && {\n fetchStatus: 'idle' as const,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n }),\n }\n // If fetching ends successfully, we don't need revertState as a fallback anymore.\n // For manual updates, capture the state to revert to it in case of a cancellation.\n this.#revertState = action.manual ? newState : undefined\n\n return newState\n case 'error':\n const error = action.error\n return {\n ...state,\n error,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchFailureReason: error,\n fetchStatus: 'idle',\n status: 'error',\n // flag existing data as invalidated if we get a background error\n // note that \"no data\" always means stale so we can set unconditionally here\n isInvalidated: true,\n }\n case 'invalidate':\n return {\n ...state,\n isInvalidated: true,\n }\n case 'setState':\n return {\n ...state,\n ...action.state,\n }\n }\n }\n\n this.state = reducer(this.state)\n\n notifyManager.batch(() => {\n // Keep the current iteration stable if an observer unsubscribes\n // synchronously while it is being notified.\n this.observers.slice().forEach((observer) => {\n observer.onQueryUpdate()\n })\n\n this.#cache.notify({ query: this, type: 'updated', action })\n })\n }\n}\n\nexport function fetchState<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n data: TData | undefined,\n options: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n) {\n return {\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchStatus: canFetch(options.networkMode) ? 'fetching' : 'paused',\n ...(data === undefined &&\n ({\n error: null,\n status: 'pending',\n } as const)),\n } as const\n}\n\nfunction successState<TData>(data: TData | undefined, dataUpdatedAt?: number) {\n return {\n data,\n dataUpdatedAt: dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: 'success' as const,\n }\n}\n\nfunction getDefaultState<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n options: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n): QueryState<TData, TError> {\n const data =\n typeof options.initialData === 'function'\n ? (options.initialData as InitialDataFunction<TData>)()\n : options.initialData\n\n const hasData = data !== undefined\n\n const initialDataUpdatedAt = hasData\n ? typeof options.initialDataUpdatedAt === 'function'\n ? options.initialDataUpdatedAt()\n : options.initialDataUpdatedAt\n : 0\n\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? (initialDataUpdatedAt ?? Date.now()) : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? 'success' : 'pending',\n fetchStatus: 'idle',\n }\n}\n"],"mappings":"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"} | ||
| {"version":3,"file":"query.js","names":["#abortSignalConsumed","#defaultOptions","#client","#cache","#initialState","#queryType","#retryer","#dispatch","#revertState"],"sources":["../../src/query.ts"],"sourcesContent":["import {\n ensureQueryFn,\n noop,\n replaceData,\n resolveQueryValue,\n skipToken,\n timeUntilStale,\n} from './utils'\nimport { notifyManager } from './notifyManager'\nimport { CancelledError, canFetch, createRetryer } from './retryer'\nimport { Removable } from './removable'\nimport { infiniteQueryBehavior } from './infiniteQueryBehavior'\nimport type { QueryCache } from './queryCache'\nimport type { QueryClient } from './queryClient'\nimport type {\n CancelOptions,\n DefaultError,\n FetchStatus,\n InitialDataFunction,\n OmitKeyof,\n QueryFunctionContext,\n QueryKey,\n QueryMeta,\n QueryOptions,\n QueryStatus,\n SetDataOptions,\n StaleTime,\n} from './types'\nimport type { QueryObserver } from './queryObserver'\nimport type { Retryer } from './retryer'\n\n// TYPES\n\ninterface QueryConfig<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n client: QueryClient\n queryKey: TQueryKey\n queryHash: string\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n defaultOptions?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n state?: QueryState<TData, TError>\n}\n\nexport interface QueryState<TData = unknown, TError = DefaultError> {\n data: TData | undefined\n dataUpdateCount: number\n dataUpdatedAt: number\n error: TError | null\n errorUpdateCount: number\n errorUpdatedAt: number\n fetchFailureCount: number\n fetchFailureReason: TError | null\n fetchMeta: FetchMeta | null\n isInvalidated: boolean\n status: QueryStatus\n fetchStatus: FetchStatus\n}\n\nexport interface FetchContext<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n fetchFn: () => unknown | Promise<unknown>\n fetchOptions?: FetchOptions\n signal: AbortSignal\n options: QueryOptions<TQueryFnData, TError, TData, any>\n client: QueryClient\n queryKey: TQueryKey\n state: QueryState<TData, TError>\n}\n\nexport interface QueryBehavior<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n onFetch: (\n context: FetchContext<TQueryFnData, TError, TData, TQueryKey>,\n query: Query,\n ) => void\n}\n\nexport type FetchDirection = 'forward' | 'backward'\n\nexport interface FetchMeta {\n fetchMore?: { direction: FetchDirection }\n}\n\nexport interface FetchOptions<TData = unknown> {\n cancelRefetch?: boolean\n meta?: FetchMeta\n initialPromise?: Promise<TData>\n}\n\ninterface FailedAction<TError> {\n type: 'failed'\n failureCount: number\n error: TError\n}\n\ninterface FetchAction {\n type: 'fetch'\n meta?: FetchMeta\n}\n\ninterface SuccessAction<TData> {\n data: TData | undefined\n type: 'success'\n dataUpdatedAt?: number\n manual?: boolean\n}\n\ninterface ErrorAction<TError> {\n type: 'error'\n error: TError\n}\n\ninterface InvalidateAction {\n type: 'invalidate'\n}\n\ninterface PauseAction {\n type: 'pause'\n}\n\ninterface ContinueAction {\n type: 'continue'\n}\n\ninterface SetStateAction<TData, TError> {\n type: 'setState'\n state: Partial<QueryState<TData, TError>>\n}\n\nexport type Action<TData, TError> =\n | ContinueAction\n | ErrorAction<TError>\n | FailedAction<TError>\n | FetchAction\n | InvalidateAction\n | PauseAction\n | SetStateAction<TData, TError>\n | SuccessAction<TData>\n\n// CLASS\n\nexport class Query<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends Removable {\n queryKey: TQueryKey\n queryHash: string\n options!: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n state: QueryState<TData, TError>\n #queryType?: 'infinite'\n\n #initialState: QueryState<TData, TError>\n #revertState?: QueryState<TData, TError>\n #cache: QueryCache\n #client: QueryClient\n #retryer?: Retryer<TData>\n observers: Array<QueryObserver<any, any, any, any, any>>\n #defaultOptions?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n #abortSignalConsumed: boolean\n\n constructor(config: QueryConfig<TQueryFnData, TError, TData, TQueryKey>) {\n super()\n\n this.#abortSignalConsumed = false\n this.#defaultOptions = config.defaultOptions\n this.setOptions(config.options)\n this.observers = []\n this.#client = config.client\n this.#cache = this.#client.getQueryCache()\n this.queryKey = config.queryKey\n this.queryHash = config.queryHash\n this.#initialState = getDefaultState(this.options)\n this.state = config.state ?? this.#initialState\n this.scheduleGc()\n }\n get meta(): QueryMeta | undefined {\n return this.options.meta\n }\n\n get queryType() {\n return this.#queryType\n }\n\n get promise(): Promise<TData> | undefined {\n return this.#retryer?.promise\n }\n\n setOptions(\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): void {\n this.options = { ...this.#defaultOptions, ...options }\n\n if (options?._type) {\n this.#queryType = options._type\n }\n\n this.updateGcTime(this.options.gcTime)\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (this.state && this.state.data === undefined) {\n const defaultState = getDefaultState(this.options)\n if (defaultState.data !== undefined) {\n this.setState(\n successState(defaultState.data, defaultState.dataUpdatedAt),\n )\n this.#initialState = defaultState\n }\n }\n }\n\n protected optionalRemove() {\n if (!this.observers.length && this.state.fetchStatus === 'idle') {\n this.#cache.remove(this)\n }\n }\n\n setData(\n newData: TData,\n options?: SetDataOptions & { manual: boolean },\n ): TData {\n const data = replaceData(this.state.data, newData, this.options)\n\n // Set data and mark it as cached\n this.#dispatch({\n data,\n type: 'success',\n dataUpdatedAt: options?.updatedAt,\n manual: options?.manual,\n })\n\n return data\n }\n\n setState(state: Partial<QueryState<TData, TError>>): void {\n this.#dispatch({ type: 'setState', state })\n }\n\n cancel(options?: CancelOptions): Promise<void> {\n const promise = this.#retryer?.promise\n this.#retryer?.cancel(options)\n return promise ? promise.then(noop).catch(noop) : Promise.resolve()\n }\n\n destroy(): void {\n super.destroy()\n\n this.cancel({ silent: true })\n }\n\n get resetState(): QueryState<TData, TError> {\n return this.#initialState\n }\n\n reset(): void {\n this.destroy()\n this.setState(this.resetState)\n }\n\n isActive(): boolean {\n return this.observers.some(\n (observer) => resolveQueryValue(observer.options.enabled, this) !== false,\n )\n }\n\n isDisabled(): boolean {\n if (this.getObserversCount() > 0) {\n return !this.isActive()\n }\n // if a query has no observers, it should still be considered disabled if it never attempted a fetch\n return this.options.queryFn === skipToken || !this.isFetched()\n }\n\n isFetched() {\n return this.state.dataUpdateCount + this.state.errorUpdateCount > 0\n }\n\n isStatic(): boolean {\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) =>\n resolveQueryValue(observer.options.staleTime, this) === 'static',\n )\n }\n\n return false\n }\n\n isStale(): boolean {\n // check observers first, their `isStale` has the source of truth\n // calculated with `isStaleByTime` and it takes `enabled` into account\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) => observer.getCurrentResult().isStale,\n )\n }\n\n return this.state.data === undefined || this.state.isInvalidated\n }\n\n isStaleByTime(staleTime: StaleTime = 0): boolean {\n // no data is always stale\n if (this.state.data === undefined) {\n return true\n }\n // static is never stale\n if (staleTime === 'static') {\n return false\n }\n // if the query is invalidated, it is stale\n if (this.state.isInvalidated) {\n return true\n }\n\n return !timeUntilStale(this.state.dataUpdatedAt, staleTime)\n }\n\n onFocus(): void {\n const observer = this.observers.find((x) => x.shouldFetchOnWindowFocus())\n\n observer?.refetch({ cancelRefetch: false })\n\n // Continue fetch if currently paused\n this.#retryer?.continue()\n }\n\n onOnline(): void {\n const observer = this.observers.find((x) => x.shouldFetchOnReconnect())\n\n observer?.refetch({ cancelRefetch: false })\n\n // Continue fetch if currently paused\n this.#retryer?.continue()\n }\n\n addObserver(observer: QueryObserver<any, any, any, any, any>): void {\n if (!this.observers.includes(observer)) {\n this.observers.push(observer)\n\n // Stop the query from being garbage collected\n this.clearGcTimeout()\n\n this.#cache.notify({ type: 'observerAdded', query: this, observer })\n }\n }\n\n removeObserver(observer: QueryObserver<any, any, any, any, any>): void {\n const index = this.observers.indexOf(observer)\n if (index !== -1) {\n this.observers.splice(index, 1)\n\n if (!this.observers.length) {\n // If the transport layer does not support cancellation\n // we'll let the query continue so the result can be cached\n if (this.#retryer) {\n if (\n this.#abortSignalConsumed ||\n (this.state.fetchStatus === 'paused' &&\n this.state.status === 'pending')\n ) {\n this.#retryer.cancel({ revert: true })\n } else {\n this.#retryer.cancelRetry()\n }\n }\n\n this.scheduleGc()\n }\n\n this.#cache.notify({ type: 'observerRemoved', query: this, observer })\n }\n }\n\n getObserversCount(): number {\n return this.observers.length\n }\n\n invalidate(): void {\n if (!this.state.isInvalidated) {\n this.#dispatch({ type: 'invalidate' })\n }\n }\n\n async fetch(\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n fetchOptions?: FetchOptions<TQueryFnData>,\n ): Promise<TData> {\n if (\n this.state.fetchStatus !== 'idle' &&\n // If the promise in the retryer is already rejected, we have to definitely\n // re-start the fetch; there is a chance that the query is still in a\n // pending state when that happens\n this.#retryer?.status() !== 'rejected'\n ) {\n if (this.state.data !== undefined && fetchOptions?.cancelRefetch) {\n // Silently cancel current fetch if the user wants to cancel refetch\n this.cancel({ silent: true })\n } else if (this.#retryer) {\n // make sure that retries that were potentially cancelled due to unmounts can continue\n this.#retryer.continueRetry()\n // Return current promise if we are already fetching\n return this.#retryer.promise\n }\n }\n\n // Update config if passed, otherwise the config from the last execution is used\n if (options) {\n this.setOptions(options)\n }\n\n // Use the options from the first observer with a query function if no function is found.\n // This can happen when the query is hydrated or created with setQueryData.\n if (!this.options.queryFn) {\n const observer = this.observers.find((x) => x.options.queryFn)\n if (observer) {\n this.setOptions(observer.options)\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (!Array.isArray(this.options.queryKey)) {\n console.error(\n `As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`,\n )\n }\n }\n\n const abortController = new AbortController()\n\n // Adds an enumerable signal property to the object that\n // which sets abortSignalConsumed to true when the signal\n // is read.\n const addSignalProperty = (object: unknown) => {\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n this.#abortSignalConsumed = true\n return abortController.signal\n },\n })\n }\n\n // Create fetch function\n const fetchFn = () => {\n const queryFn = ensureQueryFn(this.options, fetchOptions)\n\n // Create query function context\n const createQueryFnContext = (): QueryFunctionContext<TQueryKey> => {\n const queryFnContext: OmitKeyof<\n QueryFunctionContext<TQueryKey>,\n 'signal'\n > = {\n client: this.#client,\n queryKey: this.queryKey,\n meta: this.meta,\n }\n addSignalProperty(queryFnContext)\n return queryFnContext as QueryFunctionContext<TQueryKey>\n }\n\n const queryFnContext = createQueryFnContext()\n\n this.#abortSignalConsumed = false\n if (this.options.persister) {\n return this.options.persister(\n queryFn,\n queryFnContext,\n this as unknown as Query,\n )\n }\n\n return queryFn(queryFnContext)\n }\n\n // Trigger behavior hook\n const createFetchContext = (): FetchContext<\n TQueryFnData,\n TError,\n TData,\n TQueryKey\n > => {\n const context: OmitKeyof<\n FetchContext<TQueryFnData, TError, TData, TQueryKey>,\n 'signal'\n > = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n client: this.#client,\n state: this.state,\n fetchFn,\n }\n\n addSignalProperty(context)\n return context as FetchContext<TQueryFnData, TError, TData, TQueryKey>\n }\n\n const context = createFetchContext()\n\n const behavior =\n this.#queryType === 'infinite'\n ? (infiniteQueryBehavior(\n (this.options as { pages?: number }).pages,\n ) as QueryBehavior<TQueryFnData, TError, TData, TQueryKey>)\n : this.options.behavior\n behavior?.onFetch(context, this as unknown as Query)\n\n // Store state in case the current fetch needs to be reverted\n this.#revertState = this.state\n\n // Set to fetching state if not already in it\n if (\n this.state.fetchStatus === 'idle' ||\n this.state.fetchMeta !== context.fetchOptions?.meta\n ) {\n this.#dispatch({ type: 'fetch', meta: context.fetchOptions?.meta })\n }\n\n // Try to fetch the data\n const retryer = (this.#retryer = createRetryer({\n initialPromise: fetchOptions?.initialPromise as\n | Promise<TData>\n | undefined,\n fn: context.fetchFn as () => Promise<TData>,\n onCancel: (error) => {\n if (error instanceof CancelledError && error.revert) {\n this.setState({\n ...this.#revertState,\n fetchStatus: 'idle' as const,\n })\n }\n abortController.abort()\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: 'failed', failureCount, error })\n },\n onPause: () => {\n this.#dispatch({ type: 'pause' })\n },\n onContinue: () => {\n this.#dispatch({ type: 'continue' })\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode,\n canRun: () => true,\n }))\n\n try {\n const data = await retryer.start()\n // this is more of a runtime guard\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (data === undefined) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(\n `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`,\n )\n }\n throw new Error(`${this.queryHash} data is undefined`)\n }\n\n this.setData(data)\n\n // Notify cache callback\n this.#cache.config.onSuccess?.(data, this as Query<any, any, any, any>)\n this.#cache.config.onSettled?.(\n data,\n this.state.error as any,\n this as Query<any, any, any, any>,\n )\n return data\n } catch (error) {\n if (error instanceof CancelledError) {\n if (error.silent) {\n // silent cancellation implies a new fetch is going to be started,\n // so we piggyback onto that promise\n return this.#retryer.promise\n } else if (error.revert) {\n // transform error into reverted state data\n // if the initial fetch was cancelled, we have no data, so we have\n // to get reject with a CancelledError\n if (this.state.data === undefined) {\n throw error\n }\n return this.state.data\n }\n }\n this.#dispatch({\n type: 'error',\n error: error as TError,\n })\n\n // Notify cache callback\n this.#cache.config.onError?.(\n error as any,\n this as Query<any, any, any, any>,\n )\n this.#cache.config.onSettled?.(\n this.state.data,\n error as any,\n this as Query<any, any, any, any>,\n )\n\n throw error // rethrow the error for further handling\n } finally {\n // The settled retryer's promise would otherwise pin this fetch's raw\n // result (a second copy after structural sharing) for the query's lifetime\n if (this.#retryer === retryer) {\n this.#retryer = undefined\n }\n // Schedule query gc after fetching\n this.scheduleGc()\n }\n }\n\n #dispatch(action: Action<TData, TError>): void {\n const reducer = (\n state: QueryState<TData, TError>,\n ): QueryState<TData, TError> => {\n switch (action.type) {\n case 'failed':\n return {\n ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error,\n }\n case 'pause':\n return {\n ...state,\n fetchStatus: 'paused',\n }\n case 'continue':\n return {\n ...state,\n fetchStatus: 'fetching',\n }\n case 'fetch':\n return {\n ...state,\n ...fetchState(state.data, this.options),\n fetchMeta: action.meta ?? null,\n }\n case 'success':\n const newState = {\n ...state,\n ...successState(action.data, action.dataUpdatedAt),\n dataUpdateCount: state.dataUpdateCount + 1,\n ...(!action.manual && {\n fetchStatus: 'idle' as const,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n }),\n }\n // If fetching ends successfully, we don't need revertState as a fallback anymore.\n // For manual updates, capture the state to revert to it in case of a cancellation.\n this.#revertState = action.manual ? newState : undefined\n\n return newState\n case 'error':\n const error = action.error\n return {\n ...state,\n error,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchFailureReason: error,\n fetchStatus: 'idle',\n status: 'error',\n // flag existing data as invalidated if we get a background error\n // note that \"no data\" always means stale so we can set unconditionally here\n isInvalidated: true,\n }\n case 'invalidate':\n return {\n ...state,\n isInvalidated: true,\n }\n case 'setState':\n return {\n ...state,\n ...action.state,\n }\n }\n }\n\n this.state = reducer(this.state)\n\n notifyManager.batch(() => {\n // Keep the current iteration stable if an observer unsubscribes\n // synchronously while it is being notified.\n this.observers.slice().forEach((observer) => {\n observer.onQueryUpdate()\n })\n\n this.#cache.notify({ query: this, type: 'updated', action })\n })\n }\n}\n\nexport function fetchState<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n data: TData | undefined,\n options: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n) {\n return {\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchStatus: canFetch(options.networkMode) ? 'fetching' : 'paused',\n ...(data === undefined &&\n ({\n error: null,\n status: 'pending',\n } as const)),\n } as const\n}\n\nfunction successState<TData>(data: TData | undefined, dataUpdatedAt?: number) {\n return {\n data,\n dataUpdatedAt: dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: 'success' as const,\n }\n}\n\nfunction getDefaultState<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n options: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n): QueryState<TData, TError> {\n const data =\n typeof options.initialData === 'function'\n ? (options.initialData as InitialDataFunction<TData>)()\n : options.initialData\n\n const hasData = data !== undefined\n\n const initialDataUpdatedAt = hasData\n ? typeof options.initialDataUpdatedAt === 'function'\n ? options.initialDataUpdatedAt()\n : options.initialDataUpdatedAt\n : 0\n\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? (initialDataUpdatedAt ?? Date.now()) : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? 'success' : 'pending',\n fetchStatus: 'idle',\n }\n}\n"],"mappings":"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"} |
@@ -1,2 +0,2 @@ | ||
| import { cn as QueryCacheConfig, ln as QueryCacheNotifyEvent, sn as QueryCache, un as QueryStore } from "./hydration-BoHd-X9T.cjs"; | ||
| import { cn as QueryCacheConfig, ln as QueryCacheNotifyEvent, sn as QueryCache, un as QueryStore } from "./hydration-DWGr3cFC.cjs"; | ||
| export { QueryCache, QueryCacheConfig, QueryCacheNotifyEvent, QueryStore }; |
@@ -1,2 +0,2 @@ | ||
| import { cn as QueryCacheConfig, ln as QueryCacheNotifyEvent, sn as QueryCache, un as QueryStore } from "./hydration-DFwTM9vM.js"; | ||
| import { cn as QueryCacheConfig, ln as QueryCacheNotifyEvent, sn as QueryCache, un as QueryStore } from "./hydration-Bjs0MSgg.js"; | ||
| export { QueryCache, QueryCacheConfig, QueryCacheNotifyEvent, QueryStore }; |
@@ -81,3 +81,3 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); | ||
| if (cachedData === void 0) return this.fetchQuery(options); | ||
| if (options.revalidateIfStale && query.isStaleByTime(require_utils.resolveStaleTime(defaultedOptions.staleTime, query))) this.prefetchQuery(defaultedOptions); | ||
| if (options.revalidateIfStale && query.isStaleByTime(require_utils.resolveQueryValue(defaultedOptions.staleTime, query))) this.prefetchQuery(defaultedOptions); | ||
| return Promise.resolve(cachedData); | ||
@@ -165,3 +165,3 @@ } | ||
| const query = this.#queryCache.build(this, defaultedOptions); | ||
| const queryData = query.isStaleByTime(require_utils.resolveStaleTime(defaultedOptions.staleTime, query)) ? await query.fetch(defaultedOptions) : query.state.data; | ||
| const queryData = query.isStaleByTime(require_utils.resolveQueryValue(defaultedOptions.staleTime, query)) ? await query.fetch(defaultedOptions) : query.state.data; | ||
| const select = defaultedOptions.select; | ||
@@ -178,3 +178,3 @@ if (select) return select(queryData); | ||
| const query = this.#queryCache.build(this, defaultedOptions); | ||
| return query.isStaleByTime(require_utils.resolveStaleTime(defaultedOptions.staleTime, query)) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data); | ||
| return query.isStaleByTime(require_utils.resolveQueryValue(defaultedOptions.staleTime, query)) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data); | ||
| } | ||
@@ -181,0 +181,0 @@ /** |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"queryClient.cjs","names":["#queryCache","QueryCache","#mutationCache","MutationCache","#defaultOptions","#queryDefaults","#mutationDefaults","#mountCount","#unsubscribeFocus","focusManager","#unsubscribeOnline","onlineManager","resolveStaleTime","functionalUpdate","notifyManager","noop","hashKey","partialMatchKey","hashQueryKeyByOptions","skipToken"],"sources":["../../src/queryClient.ts"],"sourcesContent":["import {\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n noop,\n partialMatchKey,\n resolveStaleTime,\n skipToken,\n} from './utils'\nimport { QueryCache } from './queryCache'\nimport { MutationCache } from './mutationCache'\nimport { focusManager } from './focusManager'\nimport { onlineManager } from './onlineManager'\nimport { notifyManager } from './notifyManager'\nimport type {\n CancelOptions,\n DefaultError,\n DefaultOptions,\n DefaultedQueryObserverOptions,\n EnsureInfiniteQueryDataOptions,\n EnsureQueryDataOptions,\n FetchInfiniteQueryOptions,\n FetchQueryOptions,\n InferDataFromTag,\n InferErrorFromTag,\n InfiniteData,\n InfiniteQueryExecuteOptions,\n InvalidateOptions,\n InvalidateQueryFilters,\n MutationKey,\n MutationObserverOptions,\n MutationOptions,\n OmitKeyof,\n QueryClientConfig,\n QueryExecuteOptions,\n QueryKey,\n QueryObserverOptions,\n QueryOptions,\n RefetchOptions,\n RefetchQueryFilters,\n ResetOptions,\n SetDataOptions,\n} from './types'\nimport type { QueryState } from './query'\nimport type { MutationFilters, QueryFilters, Updater } from './utils'\n\n// TYPES\n\ninterface QueryDefaults {\n queryKey: QueryKey\n defaultOptions: OmitKeyof<QueryOptions<any, any, any>, 'queryKey'>\n}\n\ninterface MutationDefaults {\n mutationKey: MutationKey\n defaultOptions: MutationOptions<any, any, any, any>\n}\n\n// CLASS\n\nexport class QueryClient {\n #queryCache: QueryCache\n #mutationCache: MutationCache\n #defaultOptions: DefaultOptions\n #queryDefaults: Map<string, QueryDefaults>\n #mutationDefaults: Map<string, MutationDefaults>\n #mountCount: number\n #unsubscribeFocus?: () => void\n #unsubscribeOnline?: () => void\n\n constructor(config: QueryClientConfig = {}) {\n this.#queryCache = config.queryCache || new QueryCache()\n this.#mutationCache = config.mutationCache || new MutationCache()\n this.#defaultOptions = config.defaultOptions || {}\n this.#queryDefaults = new Map()\n this.#mutationDefaults = new Map()\n this.#mountCount = 0\n }\n\n mount(): void {\n this.#mountCount++\n if (this.#mountCount !== 1) return\n\n this.#unsubscribeFocus = focusManager.subscribe(async (focused) => {\n if (focused) {\n await this.resumePausedMutations()\n this.#queryCache.onFocus()\n }\n })\n this.#unsubscribeOnline = onlineManager.subscribe(async (online) => {\n if (online) {\n await this.resumePausedMutations()\n this.#queryCache.onOnline()\n }\n })\n }\n\n unmount(): void {\n this.#mountCount--\n if (this.#mountCount !== 0) return\n\n this.#unsubscribeFocus?.()\n this.#unsubscribeFocus = undefined\n\n this.#unsubscribeOnline?.()\n this.#unsubscribeOnline = undefined\n }\n\n isFetching<TQueryFilters extends QueryFilters<any> = QueryFilters>(\n filters?: TQueryFilters,\n ): number {\n return this.#queryCache.findAll({ ...filters, fetchStatus: 'fetching' })\n .length\n }\n\n isMutating<\n TMutationFilters extends MutationFilters<any, any> = MutationFilters,\n >(filters?: TMutationFilters): number {\n return this.#mutationCache.findAll({ ...filters, status: 'pending' }).length\n }\n\n /**\n * Imperative (non-reactive) way to retrieve data for a QueryKey.\n * Should only be used in callbacks or functions where reading the latest data is necessary, e.g. for optimistic updates.\n *\n * Hint: Do not use this function inside a component, because it won't receive updates.\n * Use `useQuery` to create a `QueryObserver` that subscribes to changes.\n */\n getQueryData<\n TQueryFnData = unknown,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,\n >(queryKey: TTaggedQueryKey): TInferredQueryFnData | undefined {\n const options = this.defaultQueryOptions({ queryKey })\n\n return this.#queryCache.get<TInferredQueryFnData>(options.queryHash)?.state\n .data\n }\n\n /**\n * @deprecated Use queryClient.query({ ...options, staleTime: 'static' }) instead. This method will be removed in the next major version.\n */\n ensureQueryData<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: EnsureQueryDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<TData> {\n const defaultedOptions = this.defaultQueryOptions(options)\n const query = this.#queryCache.build(this, defaultedOptions)\n const cachedData = query.state.data\n\n if (cachedData === undefined) {\n return this.fetchQuery(options)\n }\n\n if (\n options.revalidateIfStale &&\n query.isStaleByTime(resolveStaleTime(defaultedOptions.staleTime, query))\n ) {\n void this.prefetchQuery(defaultedOptions)\n }\n\n return Promise.resolve(cachedData)\n }\n\n getQueriesData<\n TQueryFnData = unknown,\n TQueryFilters extends QueryFilters<any> = QueryFilters,\n >(filters: TQueryFilters): Array<[QueryKey, TQueryFnData | undefined]> {\n return this.#queryCache.findAll(filters).map(({ queryKey, state }) => {\n const data = state.data as TQueryFnData | undefined\n return [queryKey, data]\n })\n }\n\n setQueryData<\n TQueryFnData = unknown,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,\n >(\n queryKey: TTaggedQueryKey,\n updater: Updater<\n NoInfer<TInferredQueryFnData> | undefined,\n NoInfer<TInferredQueryFnData> | undefined\n >,\n options?: SetDataOptions,\n ): NoInfer<TInferredQueryFnData> | undefined {\n const defaultedOptions = this.defaultQueryOptions<\n any,\n any,\n unknown,\n any,\n QueryKey\n >({ queryKey })\n\n const query = this.#queryCache.get<TInferredQueryFnData>(\n defaultedOptions.queryHash,\n )\n const prevData = query?.state.data\n const data = functionalUpdate(updater, prevData)\n\n if (data === undefined) {\n return undefined\n }\n\n return this.#queryCache\n .build(this, defaultedOptions)\n .setData(data, { ...options, manual: true })\n }\n\n setQueriesData<\n TQueryFnData,\n TQueryFilters extends QueryFilters<any> = QueryFilters,\n >(\n filters: TQueryFilters,\n updater: Updater<\n NoInfer<TQueryFnData> | undefined,\n NoInfer<TQueryFnData> | undefined\n >,\n options?: SetDataOptions,\n ): Array<[QueryKey, TQueryFnData | undefined]> {\n return notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .map(({ queryKey }) => [\n queryKey,\n this.setQueryData<TQueryFnData>(queryKey, updater, options),\n ]),\n )\n }\n\n getQueryState<\n TQueryFnData = unknown,\n TError = DefaultError,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,\n TInferredError = InferErrorFromTag<TError, TTaggedQueryKey>,\n >(\n queryKey: TTaggedQueryKey,\n ): QueryState<TInferredQueryFnData, TInferredError> | undefined {\n const options = this.defaultQueryOptions({ queryKey })\n return this.#queryCache.get<TInferredQueryFnData, TInferredError>(\n options.queryHash,\n )?.state\n }\n\n removeQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: QueryFilters<TTaggedQueryKey>,\n ): void {\n const queryCache = this.#queryCache\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n queryCache.remove(query)\n })\n })\n }\n\n resetQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: QueryFilters<TTaggedQueryKey>,\n options?: ResetOptions,\n ): Promise<void> {\n const queryCache = this.#queryCache\n\n return notifyManager.batch(() => {\n const matched = queryCache.findAll(filters)\n const queriesToRefetch = new Set(matched)\n matched.forEach((query) => {\n query.reset()\n })\n return this.refetchQueries(\n {\n type: 'active',\n predicate: (query) => queriesToRefetch.has(query),\n },\n options,\n )\n })\n }\n\n cancelQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: QueryFilters<TTaggedQueryKey>,\n cancelOptions: CancelOptions = {},\n ): Promise<void> {\n const defaultedCancelOptions = { revert: true, ...cancelOptions }\n\n const promises = notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .map((query) => query.cancel(defaultedCancelOptions)),\n )\n\n return Promise.all(promises).then(noop).catch(noop)\n }\n\n invalidateQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: InvalidateQueryFilters<TTaggedQueryKey>,\n options: InvalidateOptions = {},\n ): Promise<void> {\n return notifyManager.batch(() => {\n this.#queryCache.findAll(filters).forEach((query) => {\n query.invalidate()\n })\n\n if (filters?.refetchType === 'none') {\n return Promise.resolve()\n }\n return this.refetchQueries(\n {\n ...filters,\n type: filters?.refetchType ?? filters?.type ?? 'active',\n },\n options,\n )\n })\n }\n\n refetchQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: RefetchQueryFilters<TTaggedQueryKey>,\n options: RefetchOptions = {},\n ): Promise<void> {\n const fetchOptions = {\n ...options,\n cancelRefetch: options.cancelRefetch ?? true,\n }\n const promises = notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .filter((query) => !query.isDisabled() && !query.isStatic())\n .map((query) => {\n let promise = query.fetch(undefined, fetchOptions)\n if (!fetchOptions.throwOnError) {\n promise = promise.catch(noop)\n }\n return query.state.fetchStatus === 'paused'\n ? Promise.resolve()\n : promise\n }),\n )\n\n return Promise.all(promises).then(noop)\n }\n\n async query<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n >(\n options: QueryExecuteOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<TData> {\n const defaultedOptions = this.defaultQueryOptions(options)\n\n // https://github.com/tannerlinsley/react-query/issues/652\n if (defaultedOptions.retry === undefined) {\n defaultedOptions.retry = false\n }\n\n const query = this.#queryCache.build(this, defaultedOptions)\n\n const isStale = query.isStaleByTime(\n resolveStaleTime(defaultedOptions.staleTime, query),\n )\n\n const queryData = isStale\n ? await query.fetch(defaultedOptions)\n : (query.state.data as TQueryData)\n\n const select = defaultedOptions.select\n\n if (select) {\n return select(queryData)\n }\n\n return queryData as unknown as TData\n }\n\n /**\n * @deprecated Use queryClient.query(options) instead. This method will be removed in the next major version.\n */\n fetchQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n >(\n options: FetchQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<TData> {\n const defaultedOptions = this.defaultQueryOptions(options)\n\n // https://github.com/tannerlinsley/react-query/issues/652\n if (defaultedOptions.retry === undefined) {\n defaultedOptions.retry = false\n }\n\n const query = this.#queryCache.build(this, defaultedOptions)\n\n return query.isStaleByTime(\n resolveStaleTime(defaultedOptions.staleTime, query),\n )\n ? query.fetch(defaultedOptions)\n : Promise.resolve(query.state.data as TData)\n }\n\n /**\n * @deprecated Use queryClient.query(options) instead. You can swallow errors with `.catch(noop)`. This method will be removed in the next major version.\n */\n prefetchQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<void> {\n return this.fetchQuery(options).then(noop).catch(noop)\n }\n\n infiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: InfiniteQueryExecuteOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<\n Array<TData> extends Array<InfiniteData<TQueryFnData>>\n ? InfiniteData<TQueryFnData, TPageParam>\n : TData\n > {\n options._type = 'infinite'\n return this.query(options as any)\n }\n\n /**\n * @deprecated Use queryClient.infiniteQuery(options) instead. This method will be removed in the next major version.\n */\n fetchInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<InfiniteData<TData, TPageParam>> {\n options._type = 'infinite'\n return this.fetchQuery(options as any)\n }\n\n /**\n * @deprecated Use queryClient.infiniteQuery(options) instead. You can swallow errors with `.catch(noop)`. This method will be removed in the next major version.\n */\n prefetchInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<void> {\n return this.fetchInfiniteQuery(options).then(noop).catch(noop)\n }\n\n /**\n * @deprecated Use queryClient.infiniteQuery({ ...options, staleTime: 'static' }) instead. This method will be removed in the next major version.\n */\n ensureInfiniteQueryData<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: EnsureInfiniteQueryDataOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<InfiniteData<TData, TPageParam>> {\n options._type = 'infinite'\n\n return this.ensureQueryData(options as any)\n }\n\n resumePausedMutations(): Promise<unknown> {\n if (onlineManager.isOnline()) {\n return this.#mutationCache.resumePausedMutations()\n }\n return Promise.resolve()\n }\n\n getQueryCache(): QueryCache {\n return this.#queryCache\n }\n\n getMutationCache(): MutationCache {\n return this.#mutationCache\n }\n\n getDefaultOptions(): DefaultOptions {\n return this.#defaultOptions\n }\n\n setDefaultOptions(options: DefaultOptions): void {\n this.#defaultOptions = options\n }\n\n setQueryDefaults<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n >(\n queryKey: QueryKey,\n options: Partial<\n OmitKeyof<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData>,\n 'queryKey'\n >\n >,\n ): void {\n this.#queryDefaults.set(hashKey(queryKey), {\n queryKey,\n defaultOptions: options,\n })\n }\n\n getQueryDefaults(\n queryKey: QueryKey,\n ): OmitKeyof<QueryObserverOptions<any, any, any, any, any>, 'queryKey'> {\n const defaults = [...this.#queryDefaults.values()]\n\n const result: OmitKeyof<\n QueryObserverOptions<any, any, any, any, any>,\n 'queryKey'\n > = {}\n\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(queryKey, queryDefault.queryKey)) {\n Object.assign(result, queryDefault.defaultOptions)\n }\n })\n return result\n }\n\n setMutationDefaults<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n >(\n mutationKey: MutationKey,\n options: OmitKeyof<\n MutationObserverOptions<TData, TError, TVariables, TOnMutateResult>,\n 'mutationKey'\n >,\n ): void {\n this.#mutationDefaults.set(hashKey(mutationKey), {\n mutationKey,\n defaultOptions: options,\n })\n }\n\n getMutationDefaults(\n mutationKey: MutationKey,\n ): OmitKeyof<MutationObserverOptions<any, any, any, any>, 'mutationKey'> {\n const defaults = [...this.#mutationDefaults.values()]\n\n const result: OmitKeyof<\n MutationObserverOptions<any, any, any, any>,\n 'mutationKey'\n > = {}\n\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(mutationKey, queryDefault.mutationKey)) {\n Object.assign(result, queryDefault.defaultOptions)\n }\n })\n\n return result\n }\n\n defaultQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n >(\n options:\n | QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >\n | DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n > {\n if (options._defaulted) {\n return options as DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n }\n\n const defaultedOptions = {\n ...this.#defaultOptions.queries,\n ...this.getQueryDefaults(options.queryKey),\n ...options,\n _defaulted: true,\n }\n\n if (!defaultedOptions.queryHash) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(\n defaultedOptions.queryKey,\n defaultedOptions,\n )\n }\n\n // dependent default values\n if (defaultedOptions.refetchOnReconnect === undefined) {\n defaultedOptions.refetchOnReconnect =\n defaultedOptions.networkMode !== 'always'\n }\n if (defaultedOptions.throwOnError === undefined) {\n defaultedOptions.throwOnError = !!defaultedOptions.suspense\n }\n\n if (!defaultedOptions.networkMode && defaultedOptions.persister) {\n defaultedOptions.networkMode = 'offlineFirst'\n }\n\n if (defaultedOptions.queryFn === skipToken) {\n defaultedOptions.enabled = false\n }\n\n return defaultedOptions as DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n }\n\n defaultMutationOptions<T extends MutationOptions<any, any, any, any>>(\n options?: T,\n ): T {\n if (options?._defaulted) {\n return options\n }\n return {\n ...this.#defaultOptions.mutations,\n ...(options?.mutationKey &&\n this.getMutationDefaults(options.mutationKey)),\n ...options,\n _defaulted: true,\n } as T\n }\n\n clear(): void {\n this.#queryCache.clear()\n this.#mutationCache.clear()\n }\n}\n"],"mappings":"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"} | ||
| {"version":3,"file":"queryClient.cjs","names":["#queryCache","QueryCache","#mutationCache","MutationCache","#defaultOptions","#queryDefaults","#mutationDefaults","#mountCount","#unsubscribeFocus","focusManager","#unsubscribeOnline","onlineManager","resolveQueryValue","functionalUpdate","notifyManager","noop","hashKey","partialMatchKey","hashQueryKeyByOptions","skipToken"],"sources":["../../src/queryClient.ts"],"sourcesContent":["import {\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n noop,\n partialMatchKey,\n resolveQueryValue,\n skipToken,\n} from './utils'\nimport { QueryCache } from './queryCache'\nimport { MutationCache } from './mutationCache'\nimport { focusManager } from './focusManager'\nimport { onlineManager } from './onlineManager'\nimport { notifyManager } from './notifyManager'\nimport type {\n CancelOptions,\n DefaultError,\n DefaultOptions,\n DefaultedQueryObserverOptions,\n EnsureInfiniteQueryDataOptions,\n EnsureQueryDataOptions,\n FetchInfiniteQueryOptions,\n FetchQueryOptions,\n InferDataFromTag,\n InferErrorFromTag,\n InfiniteData,\n InfiniteQueryExecuteOptions,\n InvalidateOptions,\n InvalidateQueryFilters,\n MutationKey,\n MutationObserverOptions,\n MutationOptions,\n OmitKeyof,\n QueryClientConfig,\n QueryExecuteOptions,\n QueryKey,\n QueryObserverOptions,\n QueryOptions,\n RefetchOptions,\n RefetchQueryFilters,\n ResetOptions,\n SetDataOptions,\n} from './types'\nimport type { QueryState } from './query'\nimport type { MutationFilters, QueryFilters, Updater } from './utils'\n\n// TYPES\n\ninterface QueryDefaults {\n queryKey: QueryKey\n defaultOptions: OmitKeyof<QueryOptions<any, any, any>, 'queryKey'>\n}\n\ninterface MutationDefaults {\n mutationKey: MutationKey\n defaultOptions: MutationOptions<any, any, any, any>\n}\n\n// CLASS\n\nexport class QueryClient {\n #queryCache: QueryCache\n #mutationCache: MutationCache\n #defaultOptions: DefaultOptions\n #queryDefaults: Map<string, QueryDefaults>\n #mutationDefaults: Map<string, MutationDefaults>\n #mountCount: number\n #unsubscribeFocus?: () => void\n #unsubscribeOnline?: () => void\n\n constructor(config: QueryClientConfig = {}) {\n this.#queryCache = config.queryCache || new QueryCache()\n this.#mutationCache = config.mutationCache || new MutationCache()\n this.#defaultOptions = config.defaultOptions || {}\n this.#queryDefaults = new Map()\n this.#mutationDefaults = new Map()\n this.#mountCount = 0\n }\n\n mount(): void {\n this.#mountCount++\n if (this.#mountCount !== 1) return\n\n this.#unsubscribeFocus = focusManager.subscribe(async (focused) => {\n if (focused) {\n await this.resumePausedMutations()\n this.#queryCache.onFocus()\n }\n })\n this.#unsubscribeOnline = onlineManager.subscribe(async (online) => {\n if (online) {\n await this.resumePausedMutations()\n this.#queryCache.onOnline()\n }\n })\n }\n\n unmount(): void {\n this.#mountCount--\n if (this.#mountCount !== 0) return\n\n this.#unsubscribeFocus?.()\n this.#unsubscribeFocus = undefined\n\n this.#unsubscribeOnline?.()\n this.#unsubscribeOnline = undefined\n }\n\n isFetching<TQueryFilters extends QueryFilters<any> = QueryFilters>(\n filters?: TQueryFilters,\n ): number {\n return this.#queryCache.findAll({ ...filters, fetchStatus: 'fetching' })\n .length\n }\n\n isMutating<\n TMutationFilters extends MutationFilters<any, any> = MutationFilters,\n >(filters?: TMutationFilters): number {\n return this.#mutationCache.findAll({ ...filters, status: 'pending' }).length\n }\n\n /**\n * Imperative (non-reactive) way to retrieve data for a QueryKey.\n * Should only be used in callbacks or functions where reading the latest data is necessary, e.g. for optimistic updates.\n *\n * Hint: Do not use this function inside a component, because it won't receive updates.\n * Use `useQuery` to create a `QueryObserver` that subscribes to changes.\n */\n getQueryData<\n TQueryFnData = unknown,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,\n >(queryKey: TTaggedQueryKey): TInferredQueryFnData | undefined {\n const options = this.defaultQueryOptions({ queryKey })\n\n return this.#queryCache.get<TInferredQueryFnData>(options.queryHash)?.state\n .data\n }\n\n /**\n * @deprecated Use queryClient.query({ ...options, staleTime: 'static' }) instead. This method will be removed in the next major version.\n */\n ensureQueryData<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: EnsureQueryDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<TData> {\n const defaultedOptions = this.defaultQueryOptions(options)\n const query = this.#queryCache.build(this, defaultedOptions)\n const cachedData = query.state.data\n\n if (cachedData === undefined) {\n return this.fetchQuery(options)\n }\n\n if (\n options.revalidateIfStale &&\n query.isStaleByTime(resolveQueryValue(defaultedOptions.staleTime, query))\n ) {\n void this.prefetchQuery(defaultedOptions)\n }\n\n return Promise.resolve(cachedData)\n }\n\n getQueriesData<\n TQueryFnData = unknown,\n TQueryFilters extends QueryFilters<any> = QueryFilters,\n >(filters: TQueryFilters): Array<[QueryKey, TQueryFnData | undefined]> {\n return this.#queryCache.findAll(filters).map(({ queryKey, state }) => {\n const data = state.data as TQueryFnData | undefined\n return [queryKey, data]\n })\n }\n\n setQueryData<\n TQueryFnData = unknown,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,\n >(\n queryKey: TTaggedQueryKey,\n updater: Updater<\n NoInfer<TInferredQueryFnData> | undefined,\n NoInfer<TInferredQueryFnData> | undefined\n >,\n options?: SetDataOptions,\n ): NoInfer<TInferredQueryFnData> | undefined {\n const defaultedOptions = this.defaultQueryOptions<\n any,\n any,\n unknown,\n any,\n QueryKey\n >({ queryKey })\n\n const query = this.#queryCache.get<TInferredQueryFnData>(\n defaultedOptions.queryHash,\n )\n const prevData = query?.state.data\n const data = functionalUpdate(updater, prevData)\n\n if (data === undefined) {\n return undefined\n }\n\n return this.#queryCache\n .build(this, defaultedOptions)\n .setData(data, { ...options, manual: true })\n }\n\n setQueriesData<\n TQueryFnData,\n TQueryFilters extends QueryFilters<any> = QueryFilters,\n >(\n filters: TQueryFilters,\n updater: Updater<\n NoInfer<TQueryFnData> | undefined,\n NoInfer<TQueryFnData> | undefined\n >,\n options?: SetDataOptions,\n ): Array<[QueryKey, TQueryFnData | undefined]> {\n return notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .map(({ queryKey }) => [\n queryKey,\n this.setQueryData<TQueryFnData>(queryKey, updater, options),\n ]),\n )\n }\n\n getQueryState<\n TQueryFnData = unknown,\n TError = DefaultError,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,\n TInferredError = InferErrorFromTag<TError, TTaggedQueryKey>,\n >(\n queryKey: TTaggedQueryKey,\n ): QueryState<TInferredQueryFnData, TInferredError> | undefined {\n const options = this.defaultQueryOptions({ queryKey })\n return this.#queryCache.get<TInferredQueryFnData, TInferredError>(\n options.queryHash,\n )?.state\n }\n\n removeQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: QueryFilters<TTaggedQueryKey>,\n ): void {\n const queryCache = this.#queryCache\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n queryCache.remove(query)\n })\n })\n }\n\n resetQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: QueryFilters<TTaggedQueryKey>,\n options?: ResetOptions,\n ): Promise<void> {\n const queryCache = this.#queryCache\n\n return notifyManager.batch(() => {\n const matched = queryCache.findAll(filters)\n const queriesToRefetch = new Set(matched)\n matched.forEach((query) => {\n query.reset()\n })\n return this.refetchQueries(\n {\n type: 'active',\n predicate: (query) => queriesToRefetch.has(query),\n },\n options,\n )\n })\n }\n\n cancelQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: QueryFilters<TTaggedQueryKey>,\n cancelOptions: CancelOptions = {},\n ): Promise<void> {\n const defaultedCancelOptions = { revert: true, ...cancelOptions }\n\n const promises = notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .map((query) => query.cancel(defaultedCancelOptions)),\n )\n\n return Promise.all(promises).then(noop).catch(noop)\n }\n\n invalidateQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: InvalidateQueryFilters<TTaggedQueryKey>,\n options: InvalidateOptions = {},\n ): Promise<void> {\n return notifyManager.batch(() => {\n this.#queryCache.findAll(filters).forEach((query) => {\n query.invalidate()\n })\n\n if (filters?.refetchType === 'none') {\n return Promise.resolve()\n }\n return this.refetchQueries(\n {\n ...filters,\n type: filters?.refetchType ?? filters?.type ?? 'active',\n },\n options,\n )\n })\n }\n\n refetchQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: RefetchQueryFilters<TTaggedQueryKey>,\n options: RefetchOptions = {},\n ): Promise<void> {\n const fetchOptions = {\n ...options,\n cancelRefetch: options.cancelRefetch ?? true,\n }\n const promises = notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .filter((query) => !query.isDisabled() && !query.isStatic())\n .map((query) => {\n let promise = query.fetch(undefined, fetchOptions)\n if (!fetchOptions.throwOnError) {\n promise = promise.catch(noop)\n }\n return query.state.fetchStatus === 'paused'\n ? Promise.resolve()\n : promise\n }),\n )\n\n return Promise.all(promises).then(noop)\n }\n\n async query<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n >(\n options: QueryExecuteOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<TData> {\n const defaultedOptions = this.defaultQueryOptions(options)\n\n // https://github.com/tannerlinsley/react-query/issues/652\n if (defaultedOptions.retry === undefined) {\n defaultedOptions.retry = false\n }\n\n const query = this.#queryCache.build(this, defaultedOptions)\n\n const isStale = query.isStaleByTime(\n resolveQueryValue(defaultedOptions.staleTime, query),\n )\n\n const queryData = isStale\n ? await query.fetch(defaultedOptions)\n : (query.state.data as TQueryData)\n\n const select = defaultedOptions.select\n\n if (select) {\n return select(queryData)\n }\n\n return queryData as unknown as TData\n }\n\n /**\n * @deprecated Use queryClient.query(options) instead. This method will be removed in the next major version.\n */\n fetchQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n >(\n options: FetchQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<TData> {\n const defaultedOptions = this.defaultQueryOptions(options)\n\n // https://github.com/tannerlinsley/react-query/issues/652\n if (defaultedOptions.retry === undefined) {\n defaultedOptions.retry = false\n }\n\n const query = this.#queryCache.build(this, defaultedOptions)\n\n return query.isStaleByTime(\n resolveQueryValue(defaultedOptions.staleTime, query),\n )\n ? query.fetch(defaultedOptions)\n : Promise.resolve(query.state.data as TData)\n }\n\n /**\n * @deprecated Use queryClient.query(options) instead. You can swallow errors with `.catch(noop)`. This method will be removed in the next major version.\n */\n prefetchQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<void> {\n return this.fetchQuery(options).then(noop).catch(noop)\n }\n\n infiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: InfiniteQueryExecuteOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<\n Array<TData> extends Array<InfiniteData<TQueryFnData>>\n ? InfiniteData<TQueryFnData, TPageParam>\n : TData\n > {\n options._type = 'infinite'\n return this.query(options as any)\n }\n\n /**\n * @deprecated Use queryClient.infiniteQuery(options) instead. This method will be removed in the next major version.\n */\n fetchInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<InfiniteData<TData, TPageParam>> {\n options._type = 'infinite'\n return this.fetchQuery(options as any)\n }\n\n /**\n * @deprecated Use queryClient.infiniteQuery(options) instead. You can swallow errors with `.catch(noop)`. This method will be removed in the next major version.\n */\n prefetchInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<void> {\n return this.fetchInfiniteQuery(options).then(noop).catch(noop)\n }\n\n /**\n * @deprecated Use queryClient.infiniteQuery({ ...options, staleTime: 'static' }) instead. This method will be removed in the next major version.\n */\n ensureInfiniteQueryData<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: EnsureInfiniteQueryDataOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<InfiniteData<TData, TPageParam>> {\n options._type = 'infinite'\n\n return this.ensureQueryData(options as any)\n }\n\n resumePausedMutations(): Promise<unknown> {\n if (onlineManager.isOnline()) {\n return this.#mutationCache.resumePausedMutations()\n }\n return Promise.resolve()\n }\n\n getQueryCache(): QueryCache {\n return this.#queryCache\n }\n\n getMutationCache(): MutationCache {\n return this.#mutationCache\n }\n\n getDefaultOptions(): DefaultOptions {\n return this.#defaultOptions\n }\n\n setDefaultOptions(options: DefaultOptions): void {\n this.#defaultOptions = options\n }\n\n setQueryDefaults<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n >(\n queryKey: QueryKey,\n options: Partial<\n OmitKeyof<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData>,\n 'queryKey'\n >\n >,\n ): void {\n this.#queryDefaults.set(hashKey(queryKey), {\n queryKey,\n defaultOptions: options,\n })\n }\n\n getQueryDefaults(\n queryKey: QueryKey,\n ): OmitKeyof<QueryObserverOptions<any, any, any, any, any>, 'queryKey'> {\n const defaults = [...this.#queryDefaults.values()]\n\n const result: OmitKeyof<\n QueryObserverOptions<any, any, any, any, any>,\n 'queryKey'\n > = {}\n\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(queryKey, queryDefault.queryKey)) {\n Object.assign(result, queryDefault.defaultOptions)\n }\n })\n return result\n }\n\n setMutationDefaults<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n >(\n mutationKey: MutationKey,\n options: OmitKeyof<\n MutationObserverOptions<TData, TError, TVariables, TOnMutateResult>,\n 'mutationKey'\n >,\n ): void {\n this.#mutationDefaults.set(hashKey(mutationKey), {\n mutationKey,\n defaultOptions: options,\n })\n }\n\n getMutationDefaults(\n mutationKey: MutationKey,\n ): OmitKeyof<MutationObserverOptions<any, any, any, any>, 'mutationKey'> {\n const defaults = [...this.#mutationDefaults.values()]\n\n const result: OmitKeyof<\n MutationObserverOptions<any, any, any, any>,\n 'mutationKey'\n > = {}\n\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(mutationKey, queryDefault.mutationKey)) {\n Object.assign(result, queryDefault.defaultOptions)\n }\n })\n\n return result\n }\n\n defaultQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n >(\n options:\n | QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >\n | DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n > {\n if (options._defaulted) {\n return options as DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n }\n\n const defaultedOptions = {\n ...this.#defaultOptions.queries,\n ...this.getQueryDefaults(options.queryKey),\n ...options,\n _defaulted: true,\n }\n\n if (!defaultedOptions.queryHash) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(\n defaultedOptions.queryKey,\n defaultedOptions,\n )\n }\n\n // dependent default values\n if (defaultedOptions.refetchOnReconnect === undefined) {\n defaultedOptions.refetchOnReconnect =\n defaultedOptions.networkMode !== 'always'\n }\n if (defaultedOptions.throwOnError === undefined) {\n defaultedOptions.throwOnError = !!defaultedOptions.suspense\n }\n\n if (!defaultedOptions.networkMode && defaultedOptions.persister) {\n defaultedOptions.networkMode = 'offlineFirst'\n }\n\n if (defaultedOptions.queryFn === skipToken) {\n defaultedOptions.enabled = false\n }\n\n return defaultedOptions as DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n }\n\n defaultMutationOptions<T extends MutationOptions<any, any, any, any>>(\n options?: T,\n ): T {\n if (options?._defaulted) {\n return options\n }\n return {\n ...this.#defaultOptions.mutations,\n ...(options?.mutationKey &&\n this.getMutationDefaults(options.mutationKey)),\n ...options,\n _defaulted: true,\n } as T\n }\n\n clear(): void {\n this.#queryCache.clear()\n this.#mutationCache.clear()\n }\n}\n"],"mappings":"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"} |
@@ -1,2 +0,2 @@ | ||
| import { on as QueryClient } from "./hydration-BoHd-X9T.cjs"; | ||
| import { on as QueryClient } from "./hydration-DWGr3cFC.cjs"; | ||
| export { QueryClient }; |
@@ -1,2 +0,2 @@ | ||
| import { on as QueryClient } from "./hydration-DFwTM9vM.js"; | ||
| import { on as QueryClient } from "./hydration-Bjs0MSgg.js"; | ||
| export { QueryClient }; |
@@ -1,2 +0,2 @@ | ||
| import { functionalUpdate, hashKey, hashQueryKeyByOptions, noop, partialMatchKey, resolveStaleTime, skipToken } from "./utils.js"; | ||
| import { functionalUpdate, hashKey, hashQueryKeyByOptions, noop, partialMatchKey, resolveQueryValue, skipToken } from "./utils.js"; | ||
| import { focusManager } from "./focusManager.js"; | ||
@@ -80,3 +80,3 @@ import { notifyManager } from "./notifyManager.js"; | ||
| if (cachedData === void 0) return this.fetchQuery(options); | ||
| if (options.revalidateIfStale && query.isStaleByTime(resolveStaleTime(defaultedOptions.staleTime, query))) this.prefetchQuery(defaultedOptions); | ||
| if (options.revalidateIfStale && query.isStaleByTime(resolveQueryValue(defaultedOptions.staleTime, query))) this.prefetchQuery(defaultedOptions); | ||
| return Promise.resolve(cachedData); | ||
@@ -164,3 +164,3 @@ } | ||
| const query = this.#queryCache.build(this, defaultedOptions); | ||
| const queryData = query.isStaleByTime(resolveStaleTime(defaultedOptions.staleTime, query)) ? await query.fetch(defaultedOptions) : query.state.data; | ||
| const queryData = query.isStaleByTime(resolveQueryValue(defaultedOptions.staleTime, query)) ? await query.fetch(defaultedOptions) : query.state.data; | ||
| const select = defaultedOptions.select; | ||
@@ -177,3 +177,3 @@ if (select) return select(queryData); | ||
| const query = this.#queryCache.build(this, defaultedOptions); | ||
| return query.isStaleByTime(resolveStaleTime(defaultedOptions.staleTime, query)) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data); | ||
| return query.isStaleByTime(resolveQueryValue(defaultedOptions.staleTime, query)) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data); | ||
| } | ||
@@ -180,0 +180,0 @@ /** |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"queryClient.js","names":["#queryCache","#mutationCache","#defaultOptions","#queryDefaults","#mutationDefaults","#mountCount","#unsubscribeFocus","#unsubscribeOnline"],"sources":["../../src/queryClient.ts"],"sourcesContent":["import {\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n noop,\n partialMatchKey,\n resolveStaleTime,\n skipToken,\n} from './utils'\nimport { QueryCache } from './queryCache'\nimport { MutationCache } from './mutationCache'\nimport { focusManager } from './focusManager'\nimport { onlineManager } from './onlineManager'\nimport { notifyManager } from './notifyManager'\nimport type {\n CancelOptions,\n DefaultError,\n DefaultOptions,\n DefaultedQueryObserverOptions,\n EnsureInfiniteQueryDataOptions,\n EnsureQueryDataOptions,\n FetchInfiniteQueryOptions,\n FetchQueryOptions,\n InferDataFromTag,\n InferErrorFromTag,\n InfiniteData,\n InfiniteQueryExecuteOptions,\n InvalidateOptions,\n InvalidateQueryFilters,\n MutationKey,\n MutationObserverOptions,\n MutationOptions,\n OmitKeyof,\n QueryClientConfig,\n QueryExecuteOptions,\n QueryKey,\n QueryObserverOptions,\n QueryOptions,\n RefetchOptions,\n RefetchQueryFilters,\n ResetOptions,\n SetDataOptions,\n} from './types'\nimport type { QueryState } from './query'\nimport type { MutationFilters, QueryFilters, Updater } from './utils'\n\n// TYPES\n\ninterface QueryDefaults {\n queryKey: QueryKey\n defaultOptions: OmitKeyof<QueryOptions<any, any, any>, 'queryKey'>\n}\n\ninterface MutationDefaults {\n mutationKey: MutationKey\n defaultOptions: MutationOptions<any, any, any, any>\n}\n\n// CLASS\n\nexport class QueryClient {\n #queryCache: QueryCache\n #mutationCache: MutationCache\n #defaultOptions: DefaultOptions\n #queryDefaults: Map<string, QueryDefaults>\n #mutationDefaults: Map<string, MutationDefaults>\n #mountCount: number\n #unsubscribeFocus?: () => void\n #unsubscribeOnline?: () => void\n\n constructor(config: QueryClientConfig = {}) {\n this.#queryCache = config.queryCache || new QueryCache()\n this.#mutationCache = config.mutationCache || new MutationCache()\n this.#defaultOptions = config.defaultOptions || {}\n this.#queryDefaults = new Map()\n this.#mutationDefaults = new Map()\n this.#mountCount = 0\n }\n\n mount(): void {\n this.#mountCount++\n if (this.#mountCount !== 1) return\n\n this.#unsubscribeFocus = focusManager.subscribe(async (focused) => {\n if (focused) {\n await this.resumePausedMutations()\n this.#queryCache.onFocus()\n }\n })\n this.#unsubscribeOnline = onlineManager.subscribe(async (online) => {\n if (online) {\n await this.resumePausedMutations()\n this.#queryCache.onOnline()\n }\n })\n }\n\n unmount(): void {\n this.#mountCount--\n if (this.#mountCount !== 0) return\n\n this.#unsubscribeFocus?.()\n this.#unsubscribeFocus = undefined\n\n this.#unsubscribeOnline?.()\n this.#unsubscribeOnline = undefined\n }\n\n isFetching<TQueryFilters extends QueryFilters<any> = QueryFilters>(\n filters?: TQueryFilters,\n ): number {\n return this.#queryCache.findAll({ ...filters, fetchStatus: 'fetching' })\n .length\n }\n\n isMutating<\n TMutationFilters extends MutationFilters<any, any> = MutationFilters,\n >(filters?: TMutationFilters): number {\n return this.#mutationCache.findAll({ ...filters, status: 'pending' }).length\n }\n\n /**\n * Imperative (non-reactive) way to retrieve data for a QueryKey.\n * Should only be used in callbacks or functions where reading the latest data is necessary, e.g. for optimistic updates.\n *\n * Hint: Do not use this function inside a component, because it won't receive updates.\n * Use `useQuery` to create a `QueryObserver` that subscribes to changes.\n */\n getQueryData<\n TQueryFnData = unknown,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,\n >(queryKey: TTaggedQueryKey): TInferredQueryFnData | undefined {\n const options = this.defaultQueryOptions({ queryKey })\n\n return this.#queryCache.get<TInferredQueryFnData>(options.queryHash)?.state\n .data\n }\n\n /**\n * @deprecated Use queryClient.query({ ...options, staleTime: 'static' }) instead. This method will be removed in the next major version.\n */\n ensureQueryData<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: EnsureQueryDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<TData> {\n const defaultedOptions = this.defaultQueryOptions(options)\n const query = this.#queryCache.build(this, defaultedOptions)\n const cachedData = query.state.data\n\n if (cachedData === undefined) {\n return this.fetchQuery(options)\n }\n\n if (\n options.revalidateIfStale &&\n query.isStaleByTime(resolveStaleTime(defaultedOptions.staleTime, query))\n ) {\n void this.prefetchQuery(defaultedOptions)\n }\n\n return Promise.resolve(cachedData)\n }\n\n getQueriesData<\n TQueryFnData = unknown,\n TQueryFilters extends QueryFilters<any> = QueryFilters,\n >(filters: TQueryFilters): Array<[QueryKey, TQueryFnData | undefined]> {\n return this.#queryCache.findAll(filters).map(({ queryKey, state }) => {\n const data = state.data as TQueryFnData | undefined\n return [queryKey, data]\n })\n }\n\n setQueryData<\n TQueryFnData = unknown,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,\n >(\n queryKey: TTaggedQueryKey,\n updater: Updater<\n NoInfer<TInferredQueryFnData> | undefined,\n NoInfer<TInferredQueryFnData> | undefined\n >,\n options?: SetDataOptions,\n ): NoInfer<TInferredQueryFnData> | undefined {\n const defaultedOptions = this.defaultQueryOptions<\n any,\n any,\n unknown,\n any,\n QueryKey\n >({ queryKey })\n\n const query = this.#queryCache.get<TInferredQueryFnData>(\n defaultedOptions.queryHash,\n )\n const prevData = query?.state.data\n const data = functionalUpdate(updater, prevData)\n\n if (data === undefined) {\n return undefined\n }\n\n return this.#queryCache\n .build(this, defaultedOptions)\n .setData(data, { ...options, manual: true })\n }\n\n setQueriesData<\n TQueryFnData,\n TQueryFilters extends QueryFilters<any> = QueryFilters,\n >(\n filters: TQueryFilters,\n updater: Updater<\n NoInfer<TQueryFnData> | undefined,\n NoInfer<TQueryFnData> | undefined\n >,\n options?: SetDataOptions,\n ): Array<[QueryKey, TQueryFnData | undefined]> {\n return notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .map(({ queryKey }) => [\n queryKey,\n this.setQueryData<TQueryFnData>(queryKey, updater, options),\n ]),\n )\n }\n\n getQueryState<\n TQueryFnData = unknown,\n TError = DefaultError,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,\n TInferredError = InferErrorFromTag<TError, TTaggedQueryKey>,\n >(\n queryKey: TTaggedQueryKey,\n ): QueryState<TInferredQueryFnData, TInferredError> | undefined {\n const options = this.defaultQueryOptions({ queryKey })\n return this.#queryCache.get<TInferredQueryFnData, TInferredError>(\n options.queryHash,\n )?.state\n }\n\n removeQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: QueryFilters<TTaggedQueryKey>,\n ): void {\n const queryCache = this.#queryCache\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n queryCache.remove(query)\n })\n })\n }\n\n resetQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: QueryFilters<TTaggedQueryKey>,\n options?: ResetOptions,\n ): Promise<void> {\n const queryCache = this.#queryCache\n\n return notifyManager.batch(() => {\n const matched = queryCache.findAll(filters)\n const queriesToRefetch = new Set(matched)\n matched.forEach((query) => {\n query.reset()\n })\n return this.refetchQueries(\n {\n type: 'active',\n predicate: (query) => queriesToRefetch.has(query),\n },\n options,\n )\n })\n }\n\n cancelQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: QueryFilters<TTaggedQueryKey>,\n cancelOptions: CancelOptions = {},\n ): Promise<void> {\n const defaultedCancelOptions = { revert: true, ...cancelOptions }\n\n const promises = notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .map((query) => query.cancel(defaultedCancelOptions)),\n )\n\n return Promise.all(promises).then(noop).catch(noop)\n }\n\n invalidateQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: InvalidateQueryFilters<TTaggedQueryKey>,\n options: InvalidateOptions = {},\n ): Promise<void> {\n return notifyManager.batch(() => {\n this.#queryCache.findAll(filters).forEach((query) => {\n query.invalidate()\n })\n\n if (filters?.refetchType === 'none') {\n return Promise.resolve()\n }\n return this.refetchQueries(\n {\n ...filters,\n type: filters?.refetchType ?? filters?.type ?? 'active',\n },\n options,\n )\n })\n }\n\n refetchQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: RefetchQueryFilters<TTaggedQueryKey>,\n options: RefetchOptions = {},\n ): Promise<void> {\n const fetchOptions = {\n ...options,\n cancelRefetch: options.cancelRefetch ?? true,\n }\n const promises = notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .filter((query) => !query.isDisabled() && !query.isStatic())\n .map((query) => {\n let promise = query.fetch(undefined, fetchOptions)\n if (!fetchOptions.throwOnError) {\n promise = promise.catch(noop)\n }\n return query.state.fetchStatus === 'paused'\n ? Promise.resolve()\n : promise\n }),\n )\n\n return Promise.all(promises).then(noop)\n }\n\n async query<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n >(\n options: QueryExecuteOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<TData> {\n const defaultedOptions = this.defaultQueryOptions(options)\n\n // https://github.com/tannerlinsley/react-query/issues/652\n if (defaultedOptions.retry === undefined) {\n defaultedOptions.retry = false\n }\n\n const query = this.#queryCache.build(this, defaultedOptions)\n\n const isStale = query.isStaleByTime(\n resolveStaleTime(defaultedOptions.staleTime, query),\n )\n\n const queryData = isStale\n ? await query.fetch(defaultedOptions)\n : (query.state.data as TQueryData)\n\n const select = defaultedOptions.select\n\n if (select) {\n return select(queryData)\n }\n\n return queryData as unknown as TData\n }\n\n /**\n * @deprecated Use queryClient.query(options) instead. This method will be removed in the next major version.\n */\n fetchQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n >(\n options: FetchQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<TData> {\n const defaultedOptions = this.defaultQueryOptions(options)\n\n // https://github.com/tannerlinsley/react-query/issues/652\n if (defaultedOptions.retry === undefined) {\n defaultedOptions.retry = false\n }\n\n const query = this.#queryCache.build(this, defaultedOptions)\n\n return query.isStaleByTime(\n resolveStaleTime(defaultedOptions.staleTime, query),\n )\n ? query.fetch(defaultedOptions)\n : Promise.resolve(query.state.data as TData)\n }\n\n /**\n * @deprecated Use queryClient.query(options) instead. You can swallow errors with `.catch(noop)`. This method will be removed in the next major version.\n */\n prefetchQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<void> {\n return this.fetchQuery(options).then(noop).catch(noop)\n }\n\n infiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: InfiniteQueryExecuteOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<\n Array<TData> extends Array<InfiniteData<TQueryFnData>>\n ? InfiniteData<TQueryFnData, TPageParam>\n : TData\n > {\n options._type = 'infinite'\n return this.query(options as any)\n }\n\n /**\n * @deprecated Use queryClient.infiniteQuery(options) instead. This method will be removed in the next major version.\n */\n fetchInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<InfiniteData<TData, TPageParam>> {\n options._type = 'infinite'\n return this.fetchQuery(options as any)\n }\n\n /**\n * @deprecated Use queryClient.infiniteQuery(options) instead. You can swallow errors with `.catch(noop)`. This method will be removed in the next major version.\n */\n prefetchInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<void> {\n return this.fetchInfiniteQuery(options).then(noop).catch(noop)\n }\n\n /**\n * @deprecated Use queryClient.infiniteQuery({ ...options, staleTime: 'static' }) instead. This method will be removed in the next major version.\n */\n ensureInfiniteQueryData<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: EnsureInfiniteQueryDataOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<InfiniteData<TData, TPageParam>> {\n options._type = 'infinite'\n\n return this.ensureQueryData(options as any)\n }\n\n resumePausedMutations(): Promise<unknown> {\n if (onlineManager.isOnline()) {\n return this.#mutationCache.resumePausedMutations()\n }\n return Promise.resolve()\n }\n\n getQueryCache(): QueryCache {\n return this.#queryCache\n }\n\n getMutationCache(): MutationCache {\n return this.#mutationCache\n }\n\n getDefaultOptions(): DefaultOptions {\n return this.#defaultOptions\n }\n\n setDefaultOptions(options: DefaultOptions): void {\n this.#defaultOptions = options\n }\n\n setQueryDefaults<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n >(\n queryKey: QueryKey,\n options: Partial<\n OmitKeyof<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData>,\n 'queryKey'\n >\n >,\n ): void {\n this.#queryDefaults.set(hashKey(queryKey), {\n queryKey,\n defaultOptions: options,\n })\n }\n\n getQueryDefaults(\n queryKey: QueryKey,\n ): OmitKeyof<QueryObserverOptions<any, any, any, any, any>, 'queryKey'> {\n const defaults = [...this.#queryDefaults.values()]\n\n const result: OmitKeyof<\n QueryObserverOptions<any, any, any, any, any>,\n 'queryKey'\n > = {}\n\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(queryKey, queryDefault.queryKey)) {\n Object.assign(result, queryDefault.defaultOptions)\n }\n })\n return result\n }\n\n setMutationDefaults<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n >(\n mutationKey: MutationKey,\n options: OmitKeyof<\n MutationObserverOptions<TData, TError, TVariables, TOnMutateResult>,\n 'mutationKey'\n >,\n ): void {\n this.#mutationDefaults.set(hashKey(mutationKey), {\n mutationKey,\n defaultOptions: options,\n })\n }\n\n getMutationDefaults(\n mutationKey: MutationKey,\n ): OmitKeyof<MutationObserverOptions<any, any, any, any>, 'mutationKey'> {\n const defaults = [...this.#mutationDefaults.values()]\n\n const result: OmitKeyof<\n MutationObserverOptions<any, any, any, any>,\n 'mutationKey'\n > = {}\n\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(mutationKey, queryDefault.mutationKey)) {\n Object.assign(result, queryDefault.defaultOptions)\n }\n })\n\n return result\n }\n\n defaultQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n >(\n options:\n | QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >\n | DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n > {\n if (options._defaulted) {\n return options as DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n }\n\n const defaultedOptions = {\n ...this.#defaultOptions.queries,\n ...this.getQueryDefaults(options.queryKey),\n ...options,\n _defaulted: true,\n }\n\n if (!defaultedOptions.queryHash) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(\n defaultedOptions.queryKey,\n defaultedOptions,\n )\n }\n\n // dependent default values\n if (defaultedOptions.refetchOnReconnect === undefined) {\n defaultedOptions.refetchOnReconnect =\n defaultedOptions.networkMode !== 'always'\n }\n if (defaultedOptions.throwOnError === undefined) {\n defaultedOptions.throwOnError = !!defaultedOptions.suspense\n }\n\n if (!defaultedOptions.networkMode && defaultedOptions.persister) {\n defaultedOptions.networkMode = 'offlineFirst'\n }\n\n if (defaultedOptions.queryFn === skipToken) {\n defaultedOptions.enabled = false\n }\n\n return defaultedOptions as DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n }\n\n defaultMutationOptions<T extends MutationOptions<any, any, any, any>>(\n options?: T,\n ): T {\n if (options?._defaulted) {\n return options\n }\n return {\n ...this.#defaultOptions.mutations,\n ...(options?.mutationKey &&\n this.getMutationDefaults(options.mutationKey)),\n ...options,\n _defaulted: true,\n } as T\n }\n\n clear(): void {\n this.#queryCache.clear()\n this.#mutationCache.clear()\n }\n}\n"],"mappings":"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"} | ||
| {"version":3,"file":"queryClient.js","names":["#queryCache","#mutationCache","#defaultOptions","#queryDefaults","#mutationDefaults","#mountCount","#unsubscribeFocus","#unsubscribeOnline"],"sources":["../../src/queryClient.ts"],"sourcesContent":["import {\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n noop,\n partialMatchKey,\n resolveQueryValue,\n skipToken,\n} from './utils'\nimport { QueryCache } from './queryCache'\nimport { MutationCache } from './mutationCache'\nimport { focusManager } from './focusManager'\nimport { onlineManager } from './onlineManager'\nimport { notifyManager } from './notifyManager'\nimport type {\n CancelOptions,\n DefaultError,\n DefaultOptions,\n DefaultedQueryObserverOptions,\n EnsureInfiniteQueryDataOptions,\n EnsureQueryDataOptions,\n FetchInfiniteQueryOptions,\n FetchQueryOptions,\n InferDataFromTag,\n InferErrorFromTag,\n InfiniteData,\n InfiniteQueryExecuteOptions,\n InvalidateOptions,\n InvalidateQueryFilters,\n MutationKey,\n MutationObserverOptions,\n MutationOptions,\n OmitKeyof,\n QueryClientConfig,\n QueryExecuteOptions,\n QueryKey,\n QueryObserverOptions,\n QueryOptions,\n RefetchOptions,\n RefetchQueryFilters,\n ResetOptions,\n SetDataOptions,\n} from './types'\nimport type { QueryState } from './query'\nimport type { MutationFilters, QueryFilters, Updater } from './utils'\n\n// TYPES\n\ninterface QueryDefaults {\n queryKey: QueryKey\n defaultOptions: OmitKeyof<QueryOptions<any, any, any>, 'queryKey'>\n}\n\ninterface MutationDefaults {\n mutationKey: MutationKey\n defaultOptions: MutationOptions<any, any, any, any>\n}\n\n// CLASS\n\nexport class QueryClient {\n #queryCache: QueryCache\n #mutationCache: MutationCache\n #defaultOptions: DefaultOptions\n #queryDefaults: Map<string, QueryDefaults>\n #mutationDefaults: Map<string, MutationDefaults>\n #mountCount: number\n #unsubscribeFocus?: () => void\n #unsubscribeOnline?: () => void\n\n constructor(config: QueryClientConfig = {}) {\n this.#queryCache = config.queryCache || new QueryCache()\n this.#mutationCache = config.mutationCache || new MutationCache()\n this.#defaultOptions = config.defaultOptions || {}\n this.#queryDefaults = new Map()\n this.#mutationDefaults = new Map()\n this.#mountCount = 0\n }\n\n mount(): void {\n this.#mountCount++\n if (this.#mountCount !== 1) return\n\n this.#unsubscribeFocus = focusManager.subscribe(async (focused) => {\n if (focused) {\n await this.resumePausedMutations()\n this.#queryCache.onFocus()\n }\n })\n this.#unsubscribeOnline = onlineManager.subscribe(async (online) => {\n if (online) {\n await this.resumePausedMutations()\n this.#queryCache.onOnline()\n }\n })\n }\n\n unmount(): void {\n this.#mountCount--\n if (this.#mountCount !== 0) return\n\n this.#unsubscribeFocus?.()\n this.#unsubscribeFocus = undefined\n\n this.#unsubscribeOnline?.()\n this.#unsubscribeOnline = undefined\n }\n\n isFetching<TQueryFilters extends QueryFilters<any> = QueryFilters>(\n filters?: TQueryFilters,\n ): number {\n return this.#queryCache.findAll({ ...filters, fetchStatus: 'fetching' })\n .length\n }\n\n isMutating<\n TMutationFilters extends MutationFilters<any, any> = MutationFilters,\n >(filters?: TMutationFilters): number {\n return this.#mutationCache.findAll({ ...filters, status: 'pending' }).length\n }\n\n /**\n * Imperative (non-reactive) way to retrieve data for a QueryKey.\n * Should only be used in callbacks or functions where reading the latest data is necessary, e.g. for optimistic updates.\n *\n * Hint: Do not use this function inside a component, because it won't receive updates.\n * Use `useQuery` to create a `QueryObserver` that subscribes to changes.\n */\n getQueryData<\n TQueryFnData = unknown,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,\n >(queryKey: TTaggedQueryKey): TInferredQueryFnData | undefined {\n const options = this.defaultQueryOptions({ queryKey })\n\n return this.#queryCache.get<TInferredQueryFnData>(options.queryHash)?.state\n .data\n }\n\n /**\n * @deprecated Use queryClient.query({ ...options, staleTime: 'static' }) instead. This method will be removed in the next major version.\n */\n ensureQueryData<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: EnsureQueryDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<TData> {\n const defaultedOptions = this.defaultQueryOptions(options)\n const query = this.#queryCache.build(this, defaultedOptions)\n const cachedData = query.state.data\n\n if (cachedData === undefined) {\n return this.fetchQuery(options)\n }\n\n if (\n options.revalidateIfStale &&\n query.isStaleByTime(resolveQueryValue(defaultedOptions.staleTime, query))\n ) {\n void this.prefetchQuery(defaultedOptions)\n }\n\n return Promise.resolve(cachedData)\n }\n\n getQueriesData<\n TQueryFnData = unknown,\n TQueryFilters extends QueryFilters<any> = QueryFilters,\n >(filters: TQueryFilters): Array<[QueryKey, TQueryFnData | undefined]> {\n return this.#queryCache.findAll(filters).map(({ queryKey, state }) => {\n const data = state.data as TQueryFnData | undefined\n return [queryKey, data]\n })\n }\n\n setQueryData<\n TQueryFnData = unknown,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,\n >(\n queryKey: TTaggedQueryKey,\n updater: Updater<\n NoInfer<TInferredQueryFnData> | undefined,\n NoInfer<TInferredQueryFnData> | undefined\n >,\n options?: SetDataOptions,\n ): NoInfer<TInferredQueryFnData> | undefined {\n const defaultedOptions = this.defaultQueryOptions<\n any,\n any,\n unknown,\n any,\n QueryKey\n >({ queryKey })\n\n const query = this.#queryCache.get<TInferredQueryFnData>(\n defaultedOptions.queryHash,\n )\n const prevData = query?.state.data\n const data = functionalUpdate(updater, prevData)\n\n if (data === undefined) {\n return undefined\n }\n\n return this.#queryCache\n .build(this, defaultedOptions)\n .setData(data, { ...options, manual: true })\n }\n\n setQueriesData<\n TQueryFnData,\n TQueryFilters extends QueryFilters<any> = QueryFilters,\n >(\n filters: TQueryFilters,\n updater: Updater<\n NoInfer<TQueryFnData> | undefined,\n NoInfer<TQueryFnData> | undefined\n >,\n options?: SetDataOptions,\n ): Array<[QueryKey, TQueryFnData | undefined]> {\n return notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .map(({ queryKey }) => [\n queryKey,\n this.setQueryData<TQueryFnData>(queryKey, updater, options),\n ]),\n )\n }\n\n getQueryState<\n TQueryFnData = unknown,\n TError = DefaultError,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,\n TInferredError = InferErrorFromTag<TError, TTaggedQueryKey>,\n >(\n queryKey: TTaggedQueryKey,\n ): QueryState<TInferredQueryFnData, TInferredError> | undefined {\n const options = this.defaultQueryOptions({ queryKey })\n return this.#queryCache.get<TInferredQueryFnData, TInferredError>(\n options.queryHash,\n )?.state\n }\n\n removeQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: QueryFilters<TTaggedQueryKey>,\n ): void {\n const queryCache = this.#queryCache\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n queryCache.remove(query)\n })\n })\n }\n\n resetQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: QueryFilters<TTaggedQueryKey>,\n options?: ResetOptions,\n ): Promise<void> {\n const queryCache = this.#queryCache\n\n return notifyManager.batch(() => {\n const matched = queryCache.findAll(filters)\n const queriesToRefetch = new Set(matched)\n matched.forEach((query) => {\n query.reset()\n })\n return this.refetchQueries(\n {\n type: 'active',\n predicate: (query) => queriesToRefetch.has(query),\n },\n options,\n )\n })\n }\n\n cancelQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: QueryFilters<TTaggedQueryKey>,\n cancelOptions: CancelOptions = {},\n ): Promise<void> {\n const defaultedCancelOptions = { revert: true, ...cancelOptions }\n\n const promises = notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .map((query) => query.cancel(defaultedCancelOptions)),\n )\n\n return Promise.all(promises).then(noop).catch(noop)\n }\n\n invalidateQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: InvalidateQueryFilters<TTaggedQueryKey>,\n options: InvalidateOptions = {},\n ): Promise<void> {\n return notifyManager.batch(() => {\n this.#queryCache.findAll(filters).forEach((query) => {\n query.invalidate()\n })\n\n if (filters?.refetchType === 'none') {\n return Promise.resolve()\n }\n return this.refetchQueries(\n {\n ...filters,\n type: filters?.refetchType ?? filters?.type ?? 'active',\n },\n options,\n )\n })\n }\n\n refetchQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: RefetchQueryFilters<TTaggedQueryKey>,\n options: RefetchOptions = {},\n ): Promise<void> {\n const fetchOptions = {\n ...options,\n cancelRefetch: options.cancelRefetch ?? true,\n }\n const promises = notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .filter((query) => !query.isDisabled() && !query.isStatic())\n .map((query) => {\n let promise = query.fetch(undefined, fetchOptions)\n if (!fetchOptions.throwOnError) {\n promise = promise.catch(noop)\n }\n return query.state.fetchStatus === 'paused'\n ? Promise.resolve()\n : promise\n }),\n )\n\n return Promise.all(promises).then(noop)\n }\n\n async query<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n >(\n options: QueryExecuteOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<TData> {\n const defaultedOptions = this.defaultQueryOptions(options)\n\n // https://github.com/tannerlinsley/react-query/issues/652\n if (defaultedOptions.retry === undefined) {\n defaultedOptions.retry = false\n }\n\n const query = this.#queryCache.build(this, defaultedOptions)\n\n const isStale = query.isStaleByTime(\n resolveQueryValue(defaultedOptions.staleTime, query),\n )\n\n const queryData = isStale\n ? await query.fetch(defaultedOptions)\n : (query.state.data as TQueryData)\n\n const select = defaultedOptions.select\n\n if (select) {\n return select(queryData)\n }\n\n return queryData as unknown as TData\n }\n\n /**\n * @deprecated Use queryClient.query(options) instead. This method will be removed in the next major version.\n */\n fetchQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n >(\n options: FetchQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<TData> {\n const defaultedOptions = this.defaultQueryOptions(options)\n\n // https://github.com/tannerlinsley/react-query/issues/652\n if (defaultedOptions.retry === undefined) {\n defaultedOptions.retry = false\n }\n\n const query = this.#queryCache.build(this, defaultedOptions)\n\n return query.isStaleByTime(\n resolveQueryValue(defaultedOptions.staleTime, query),\n )\n ? query.fetch(defaultedOptions)\n : Promise.resolve(query.state.data as TData)\n }\n\n /**\n * @deprecated Use queryClient.query(options) instead. You can swallow errors with `.catch(noop)`. This method will be removed in the next major version.\n */\n prefetchQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<void> {\n return this.fetchQuery(options).then(noop).catch(noop)\n }\n\n infiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: InfiniteQueryExecuteOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<\n Array<TData> extends Array<InfiniteData<TQueryFnData>>\n ? InfiniteData<TQueryFnData, TPageParam>\n : TData\n > {\n options._type = 'infinite'\n return this.query(options as any)\n }\n\n /**\n * @deprecated Use queryClient.infiniteQuery(options) instead. This method will be removed in the next major version.\n */\n fetchInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<InfiniteData<TData, TPageParam>> {\n options._type = 'infinite'\n return this.fetchQuery(options as any)\n }\n\n /**\n * @deprecated Use queryClient.infiniteQuery(options) instead. You can swallow errors with `.catch(noop)`. This method will be removed in the next major version.\n */\n prefetchInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<void> {\n return this.fetchInfiniteQuery(options).then(noop).catch(noop)\n }\n\n /**\n * @deprecated Use queryClient.infiniteQuery({ ...options, staleTime: 'static' }) instead. This method will be removed in the next major version.\n */\n ensureInfiniteQueryData<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: EnsureInfiniteQueryDataOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<InfiniteData<TData, TPageParam>> {\n options._type = 'infinite'\n\n return this.ensureQueryData(options as any)\n }\n\n resumePausedMutations(): Promise<unknown> {\n if (onlineManager.isOnline()) {\n return this.#mutationCache.resumePausedMutations()\n }\n return Promise.resolve()\n }\n\n getQueryCache(): QueryCache {\n return this.#queryCache\n }\n\n getMutationCache(): MutationCache {\n return this.#mutationCache\n }\n\n getDefaultOptions(): DefaultOptions {\n return this.#defaultOptions\n }\n\n setDefaultOptions(options: DefaultOptions): void {\n this.#defaultOptions = options\n }\n\n setQueryDefaults<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n >(\n queryKey: QueryKey,\n options: Partial<\n OmitKeyof<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData>,\n 'queryKey'\n >\n >,\n ): void {\n this.#queryDefaults.set(hashKey(queryKey), {\n queryKey,\n defaultOptions: options,\n })\n }\n\n getQueryDefaults(\n queryKey: QueryKey,\n ): OmitKeyof<QueryObserverOptions<any, any, any, any, any>, 'queryKey'> {\n const defaults = [...this.#queryDefaults.values()]\n\n const result: OmitKeyof<\n QueryObserverOptions<any, any, any, any, any>,\n 'queryKey'\n > = {}\n\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(queryKey, queryDefault.queryKey)) {\n Object.assign(result, queryDefault.defaultOptions)\n }\n })\n return result\n }\n\n setMutationDefaults<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n >(\n mutationKey: MutationKey,\n options: OmitKeyof<\n MutationObserverOptions<TData, TError, TVariables, TOnMutateResult>,\n 'mutationKey'\n >,\n ): void {\n this.#mutationDefaults.set(hashKey(mutationKey), {\n mutationKey,\n defaultOptions: options,\n })\n }\n\n getMutationDefaults(\n mutationKey: MutationKey,\n ): OmitKeyof<MutationObserverOptions<any, any, any, any>, 'mutationKey'> {\n const defaults = [...this.#mutationDefaults.values()]\n\n const result: OmitKeyof<\n MutationObserverOptions<any, any, any, any>,\n 'mutationKey'\n > = {}\n\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(mutationKey, queryDefault.mutationKey)) {\n Object.assign(result, queryDefault.defaultOptions)\n }\n })\n\n return result\n }\n\n defaultQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n >(\n options:\n | QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >\n | DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n > {\n if (options._defaulted) {\n return options as DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n }\n\n const defaultedOptions = {\n ...this.#defaultOptions.queries,\n ...this.getQueryDefaults(options.queryKey),\n ...options,\n _defaulted: true,\n }\n\n if (!defaultedOptions.queryHash) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(\n defaultedOptions.queryKey,\n defaultedOptions,\n )\n }\n\n // dependent default values\n if (defaultedOptions.refetchOnReconnect === undefined) {\n defaultedOptions.refetchOnReconnect =\n defaultedOptions.networkMode !== 'always'\n }\n if (defaultedOptions.throwOnError === undefined) {\n defaultedOptions.throwOnError = !!defaultedOptions.suspense\n }\n\n if (!defaultedOptions.networkMode && defaultedOptions.persister) {\n defaultedOptions.networkMode = 'offlineFirst'\n }\n\n if (defaultedOptions.queryFn === skipToken) {\n defaultedOptions.enabled = false\n }\n\n return defaultedOptions as DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n }\n\n defaultMutationOptions<T extends MutationOptions<any, any, any, any>>(\n options?: T,\n ): T {\n if (options?._defaulted) {\n return options\n }\n return {\n ...this.#defaultOptions.mutations,\n ...(options?.mutationKey &&\n this.getMutationDefaults(options.mutationKey)),\n ...options,\n _defaulted: true,\n } as T\n }\n\n clear(): void {\n this.#queryCache.clear()\n this.#mutationCache.clear()\n }\n}\n"],"mappings":"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"} |
@@ -63,3 +63,3 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); | ||
| this.options = this.#client.defaultQueryOptions(options); | ||
| if (this.options.enabled !== void 0 && typeof this.options.enabled !== "boolean" && typeof this.options.enabled !== "function" && typeof require_utils.resolveQueryBoolean(this.options.enabled, this.#currentQuery) !== "boolean") throw new Error("Expected enabled to be a boolean or a callback that returns a boolean"); | ||
| if (this.options.enabled !== void 0 && typeof this.options.enabled !== "boolean" && typeof this.options.enabled !== "function" && typeof require_utils.resolveQueryValue(this.options.enabled, this.#currentQuery) !== "boolean") throw new Error("Expected enabled to be a boolean or a callback that returns a boolean"); | ||
| this.#updateQuery(); | ||
@@ -75,5 +75,5 @@ this.#currentQuery.setOptions(this.options); | ||
| this.updateResult(); | ||
| if (mounted && (this.#currentQuery !== prevQuery || require_utils.resolveQueryBoolean(this.options.enabled, this.#currentQuery) !== require_utils.resolveQueryBoolean(prevOptions.enabled, this.#currentQuery) || require_utils.resolveStaleTime(this.options.staleTime, this.#currentQuery) !== require_utils.resolveStaleTime(prevOptions.staleTime, this.#currentQuery))) this.#updateStaleTimeout(); | ||
| if (mounted && (this.#currentQuery !== prevQuery || require_utils.resolveQueryValue(this.options.enabled, this.#currentQuery) !== require_utils.resolveQueryValue(prevOptions.enabled, this.#currentQuery) || require_utils.resolveQueryValue(this.options.staleTime, this.#currentQuery) !== require_utils.resolveQueryValue(prevOptions.staleTime, this.#currentQuery))) this.#updateStaleTimeout(); | ||
| const nextRefetchInterval = this.#computeRefetchInterval(); | ||
| if (mounted && (this.#currentQuery !== prevQuery || require_utils.resolveQueryBoolean(this.options.enabled, this.#currentQuery) !== require_utils.resolveQueryBoolean(prevOptions.enabled, this.#currentQuery) || nextRefetchInterval !== this.#currentRefetchInterval)) this.#updateRefetchInterval(nextRefetchInterval); | ||
| if (mounted && (this.#currentQuery !== prevQuery || require_utils.resolveQueryValue(this.options.enabled, this.#currentQuery) !== require_utils.resolveQueryValue(prevOptions.enabled, this.#currentQuery) || nextRefetchInterval !== this.#currentRefetchInterval)) this.#updateRefetchInterval(nextRefetchInterval); | ||
| } | ||
@@ -83,3 +83,3 @@ getOptimisticResult(options) { | ||
| const result = this.createResult(query, options); | ||
| if (shouldAssignObserverCurrentProperties(this, result)) { | ||
| if (!require_utils.shallowEqualObjects(this.getCurrentResult(), result)) { | ||
| this.#currentResult = result; | ||
@@ -148,7 +148,7 @@ this.#currentResultOptions = this.options; | ||
| #shouldScheduleTimer(timeout) { | ||
| return !require_environmentManager.environmentManager.isServer() && require_utils.resolveQueryBoolean(this.options.enabled, this.#currentQuery) !== false && require_utils.isValidTimeout(timeout); | ||
| return !require_environmentManager.isServer() && require_utils.resolveQueryValue(this.options.enabled, this.#currentQuery) !== false && require_utils.isValidTimeout(timeout); | ||
| } | ||
| #updateStaleTimeout() { | ||
| this.#clearStaleTimeout(); | ||
| const staleTime = require_utils.resolveStaleTime(this.options.staleTime, this.#currentQuery); | ||
| const staleTime = require_utils.resolveQueryValue(this.options.staleTime, this.#currentQuery); | ||
| if (this.#currentResult.isStale || !this.#shouldScheduleTimer(staleTime)) return; | ||
@@ -272,3 +272,3 @@ const timeout = require_utils.timeUntilStale(this.#currentResult.dataUpdatedAt, staleTime) + 1; | ||
| refetch: this.refetch, | ||
| isEnabled: require_utils.resolveQueryBoolean(options.enabled, query) !== false | ||
| isEnabled: require_utils.resolveQueryValue(options.enabled, query) !== false | ||
| }; | ||
@@ -296,3 +296,12 @@ } | ||
| }; | ||
| this.#notify({ listeners: shouldNotifyListeners() }); | ||
| const notifyListeners = shouldNotifyListeners(); | ||
| require_notifyManager.notifyManager.batch(() => { | ||
| if (notifyListeners) this.listeners.forEach((listener) => { | ||
| listener(this.#currentResult); | ||
| }); | ||
| this.#client.getQueryCache().notify({ | ||
| query: this.#currentQuery, | ||
| type: "observerResultsUpdated" | ||
| }); | ||
| }); | ||
| } | ||
@@ -314,16 +323,5 @@ #updateQuery() { | ||
| } | ||
| #notify(notifyOptions) { | ||
| require_notifyManager.notifyManager.batch(() => { | ||
| if (notifyOptions.listeners) this.listeners.forEach((listener) => { | ||
| listener(this.#currentResult); | ||
| }); | ||
| this.#client.getQueryCache().notify({ | ||
| query: this.#currentQuery, | ||
| type: "observerResultsUpdated" | ||
| }); | ||
| }); | ||
| } | ||
| }; | ||
| function shouldLoadOnMount(query, options) { | ||
| return require_utils.resolveQueryBoolean(options.enabled, query) !== false && query.state.data === void 0 && !(query.state.status === "error" && require_utils.resolveQueryBoolean(options.retryOnMount, query) === false); | ||
| return require_utils.resolveQueryValue(options.enabled, query) !== false && query.state.data === void 0 && !(query.state.status === "error" && require_utils.resolveQueryValue(options.retryOnMount, query) === false); | ||
| } | ||
@@ -334,3 +332,3 @@ function shouldFetchOnMount(query, options) { | ||
| function shouldFetchOn(query, options, field) { | ||
| if (require_utils.resolveQueryBoolean(options.enabled, query) !== false && require_utils.resolveStaleTime(options.staleTime, query) !== "static") { | ||
| if (require_utils.resolveQueryValue(options.enabled, query) !== false && require_utils.resolveQueryValue(options.staleTime, query) !== "static") { | ||
| const value = typeof field === "function" ? field(query) : field; | ||
@@ -342,11 +340,7 @@ return value === "always" || value !== false && isStale(query, options); | ||
| function shouldFetchOptionally(query, prevQuery, options, prevOptions) { | ||
| return (query !== prevQuery || require_utils.resolveQueryBoolean(prevOptions.enabled, query) === false) && (!options.suspense || query.state.status !== "error") && isStale(query, options); | ||
| return (query !== prevQuery || require_utils.resolveQueryValue(prevOptions.enabled, query) === false) && (!options.suspense || query.state.status !== "error") && isStale(query, options); | ||
| } | ||
| function isStale(query, options) { | ||
| return require_utils.resolveQueryBoolean(options.enabled, query) !== false && query.isStaleByTime(require_utils.resolveStaleTime(options.staleTime, query)); | ||
| return require_utils.resolveQueryValue(options.enabled, query) !== false && query.isStaleByTime(require_utils.resolveQueryValue(options.staleTime, query)); | ||
| } | ||
| function shouldAssignObserverCurrentProperties(observer, optimisticResult) { | ||
| if (!require_utils.shallowEqualObjects(observer.getCurrentResult(), optimisticResult)) return true; | ||
| return false; | ||
| } | ||
| //#endregion | ||
@@ -353,0 +347,0 @@ exports.QueryObserver = QueryObserver; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"queryObserver.cjs","names":["Subscribable","#client","#selectError","#currentQuery","#executeFetch","#updateTimers","#clearStaleTimeout","#clearRefetchInterval","resolveQueryBoolean","#updateQuery","shallowEqualObjects","resolveStaleTime","#updateStaleTimeout","#computeRefetchInterval","#currentRefetchInterval","#updateRefetchInterval","#currentResult","#currentResultOptions","#currentResultState","#trackedProps","noop","environmentManager","isValidTimeout","#shouldScheduleTimer","timeUntilStale","#staleTimeoutId","timeoutManager","#refetchIntervalId","focusManager","#currentQueryInitialState","fetchState","#lastQueryWithDefinedData","replaceData","#selectFn","#selectResult","#notify"],"sources":["../../src/queryObserver.ts"],"sourcesContent":["import { focusManager } from './focusManager'\nimport { environmentManager } from './environmentManager'\nimport { notifyManager } from './notifyManager'\nimport { fetchState } from './query'\nimport { Subscribable } from './subscribable'\nimport {\n isValidTimeout,\n noop,\n replaceData,\n resolveQueryBoolean,\n resolveStaleTime,\n shallowEqualObjects,\n timeUntilStale,\n} from './utils'\nimport { timeoutManager } from './timeoutManager'\nimport type { ManagedTimerId } from './timeoutManager'\nimport type { FetchOptions, Query, QueryState } from './query'\nimport type { QueryClient } from './queryClient'\nimport type {\n DefaultError,\n DefaultedQueryObserverOptions,\n PlaceholderDataFunction,\n QueryKey,\n QueryObserverBaseResult,\n QueryObserverOptions,\n QueryObserverResult,\n RefetchOptions,\n} from './types'\n\ntype QueryObserverListener<TData, TError> = (\n result: QueryObserverResult<TData, TError>,\n) => void\n\ninterface ObserverFetchOptions extends FetchOptions {\n throwOnError?: boolean\n}\n\nexport class QueryObserver<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends Subscribable<QueryObserverListener<TData, TError>> {\n #client: QueryClient\n #currentQuery: Query<TQueryFnData, TError, TQueryData, TQueryKey> = undefined!\n #currentQueryInitialState: QueryState<TQueryData, TError> = undefined!\n #currentResult: QueryObserverResult<TData, TError> = undefined!\n #currentResultState?: QueryState<TQueryData, TError>\n #currentResultOptions?: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n #selectError: TError | null\n #selectFn?: (data: TQueryData) => TData\n #selectResult?: TData\n // This property keeps track of the last query with defined data.\n // It will be used to pass the previous data and query to the placeholder function between renders.\n #lastQueryWithDefinedData?: Query<TQueryFnData, TError, TQueryData, TQueryKey>\n #staleTimeoutId?: ManagedTimerId\n #refetchIntervalId?: ManagedTimerId\n #currentRefetchInterval?: number | false\n #trackedProps = new Set<keyof QueryObserverResult>()\n\n constructor(\n client: QueryClient,\n public options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ) {\n super()\n\n this.#client = client\n this.#selectError = null\n\n this.bindMethods()\n this.setOptions(options)\n }\n\n protected bindMethods(): void {\n this.refetch = this.refetch.bind(this)\n }\n\n protected onSubscribe(): void {\n if (this.listeners.size === 1) {\n this.#currentQuery.addObserver(this)\n\n if (shouldFetchOnMount(this.#currentQuery, this.options)) {\n this.#executeFetch()\n } else {\n this.updateResult()\n }\n\n this.#updateTimers()\n }\n }\n\n protected onUnsubscribe(): void {\n if (!this.hasListeners()) {\n this.destroy()\n }\n }\n\n shouldFetchOnReconnect(): boolean {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnReconnect,\n )\n }\n\n shouldFetchOnWindowFocus(): boolean {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnWindowFocus,\n )\n }\n\n destroy(): void {\n this.listeners = new Set()\n this.#clearStaleTimeout()\n this.#clearRefetchInterval()\n this.#currentQuery.removeObserver(this)\n }\n\n setOptions(\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): void {\n const prevOptions = this.options\n const prevQuery = this.#currentQuery\n\n this.options = this.#client.defaultQueryOptions(options)\n\n if (\n this.options.enabled !== undefined &&\n typeof this.options.enabled !== 'boolean' &&\n typeof this.options.enabled !== 'function' &&\n typeof resolveQueryBoolean(this.options.enabled, this.#currentQuery) !==\n 'boolean'\n ) {\n throw new Error(\n 'Expected enabled to be a boolean or a callback that returns a boolean',\n )\n }\n\n this.#updateQuery()\n this.#currentQuery.setOptions(this.options)\n\n if (\n prevOptions._defaulted &&\n !shallowEqualObjects(this.options, prevOptions)\n ) {\n this.#client.getQueryCache().notify({\n type: 'observerOptionsUpdated',\n query: this.#currentQuery,\n observer: this,\n })\n }\n\n const mounted = this.hasListeners()\n\n // Fetch if there are subscribers\n if (\n mounted &&\n shouldFetchOptionally(\n this.#currentQuery,\n prevQuery,\n this.options,\n prevOptions,\n )\n ) {\n this.#executeFetch()\n }\n\n // Update result\n this.updateResult()\n\n // Update stale interval if needed\n if (\n mounted &&\n (this.#currentQuery !== prevQuery ||\n resolveQueryBoolean(this.options.enabled, this.#currentQuery) !==\n resolveQueryBoolean(prevOptions.enabled, this.#currentQuery) ||\n resolveStaleTime(this.options.staleTime, this.#currentQuery) !==\n resolveStaleTime(prevOptions.staleTime, this.#currentQuery))\n ) {\n this.#updateStaleTimeout()\n }\n\n const nextRefetchInterval = this.#computeRefetchInterval()\n\n // Update refetch interval if needed\n if (\n mounted &&\n (this.#currentQuery !== prevQuery ||\n resolveQueryBoolean(this.options.enabled, this.#currentQuery) !==\n resolveQueryBoolean(prevOptions.enabled, this.#currentQuery) ||\n nextRefetchInterval !== this.#currentRefetchInterval)\n ) {\n this.#updateRefetchInterval(nextRefetchInterval)\n }\n }\n\n getOptimisticResult(\n options: DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): QueryObserverResult<TData, TError> {\n const query = this.#client.getQueryCache().build(this.#client, options)\n\n const result = this.createResult(query, options)\n\n if (shouldAssignObserverCurrentProperties(this, result)) {\n // this assigns the optimistic result to the current Observer\n // because if the query function changes, useQuery will be performing\n // an effect where it would fetch again.\n // When the fetch finishes, we perform a deep data cloning in order\n // to reuse objects references. This deep data clone is performed against\n // the `observer.currentResult.data` property\n // When QueryKey changes, we refresh the query and get new `optimistic`\n // result, while we leave the `observer.currentResult`, so when new data\n // arrives, it finds the old `observer.currentResult` which is related\n // to the old QueryKey. Which means that currentResult and selectData are\n // out of sync already.\n // To solve this, we move the cursor of the currentResult every time\n // an observer reads an optimistic value.\n\n // When keeping the previous data, the result doesn't change until new\n // data arrives.\n this.#currentResult = result\n this.#currentResultOptions = this.options\n this.#currentResultState = this.#currentQuery.state\n }\n return result\n }\n\n getCurrentResult(): QueryObserverResult<TData, TError> {\n return this.#currentResult\n }\n\n trackResult(\n result: QueryObserverResult<TData, TError>,\n onPropTracked?: (key: keyof QueryObserverResult) => void,\n ): QueryObserverResult<TData, TError> {\n return new Proxy(result, {\n get: (target, key) => {\n this.trackProp(key as keyof QueryObserverResult)\n onPropTracked?.(key as keyof QueryObserverResult)\n return Reflect.get(target, key)\n },\n })\n }\n\n trackProp(key: keyof QueryObserverResult) {\n this.#trackedProps.add(key)\n }\n\n getCurrentQuery(): Query<TQueryFnData, TError, TQueryData, TQueryKey> {\n return this.#currentQuery\n }\n\n refetch({ ...options }: RefetchOptions = {}): Promise<\n QueryObserverResult<TData, TError>\n > {\n return this.fetch({\n ...options,\n })\n }\n\n fetchOptimistic(\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): Promise<QueryObserverResult<TData, TError>> {\n const defaultedOptions = this.#client.defaultQueryOptions(options)\n\n const query = this.#client\n .getQueryCache()\n .build(this.#client, defaultedOptions)\n\n let unsubscribe = () => {}\n let resolveEarly:\n | ((result: QueryObserverResult<TData, TError>) => void)\n | undefined\n\n const cachePromise = new Promise<QueryObserverResult<TData, TError>>(\n (resolve) => {\n resolveEarly = resolve\n unsubscribe = this.#client.getQueryCache().subscribe((event) => {\n if (\n event.type === 'updated' &&\n event.query.queryHash === query.queryHash &&\n query.state.data !== undefined\n ) {\n unsubscribe()\n resolve(this.createResult(query, defaultedOptions))\n }\n })\n },\n )\n\n return Promise.race([\n query\n .fetch()\n .then(() => {\n const result = this.createResult(query, defaultedOptions)\n // Settle the subscriber promise so both branches always settle.\n // This value is ignored by Promise.race since the fetch branch already won.\n resolveEarly?.(result)\n return result\n })\n .finally(() => {\n unsubscribe()\n }),\n cachePromise,\n ])\n }\n\n protected fetch(\n fetchOptions: ObserverFetchOptions,\n ): Promise<QueryObserverResult<TData, TError>> {\n return this.#executeFetch({\n ...fetchOptions,\n cancelRefetch: fetchOptions.cancelRefetch ?? true,\n }).then(() => {\n this.updateResult()\n return this.#currentResult\n })\n }\n\n #executeFetch(\n fetchOptions?: Omit<ObserverFetchOptions, 'initialPromise'>,\n ): Promise<TQueryData | undefined> {\n // Make sure we reference the latest query as the current one might have been removed\n this.#updateQuery()\n\n // Fetch\n let promise: Promise<TQueryData | undefined> = this.#currentQuery.fetch(\n this.options,\n fetchOptions,\n )\n\n if (!fetchOptions?.throwOnError) {\n promise = promise.catch(noop)\n }\n\n return promise\n }\n\n #shouldScheduleTimer(timeout: unknown): timeout is number {\n return (\n !environmentManager.isServer() &&\n resolveQueryBoolean(this.options.enabled, this.#currentQuery) !== false &&\n isValidTimeout(timeout)\n )\n }\n\n #updateStaleTimeout(): void {\n this.#clearStaleTimeout()\n const staleTime = resolveStaleTime(\n this.options.staleTime,\n this.#currentQuery,\n )\n\n if (this.#currentResult.isStale || !this.#shouldScheduleTimer(staleTime)) {\n return\n }\n\n const time = timeUntilStale(this.#currentResult.dataUpdatedAt, staleTime)\n\n // The timeout is sometimes triggered 1 ms before the stale time expiration.\n // To mitigate this issue we always add 1 ms to the timeout.\n const timeout = time + 1\n\n this.#staleTimeoutId = timeoutManager.setTimeout(() => {\n if (!this.#currentResult.isStale) {\n this.updateResult()\n }\n }, timeout)\n }\n\n #computeRefetchInterval() {\n return (\n (typeof this.options.refetchInterval === 'function'\n ? this.options.refetchInterval(this.#currentQuery)\n : this.options.refetchInterval) ?? false\n )\n }\n\n #updateRefetchInterval(nextInterval: number | false): void {\n this.#clearRefetchInterval()\n\n this.#currentRefetchInterval = nextInterval\n\n if (\n this.#currentRefetchInterval === 0 ||\n !this.#shouldScheduleTimer(this.#currentRefetchInterval)\n ) {\n return\n }\n\n this.#refetchIntervalId = timeoutManager.setInterval(() => {\n if (\n this.options.refetchIntervalInBackground ||\n focusManager.isFocused()\n ) {\n this.#executeFetch()\n }\n }, this.#currentRefetchInterval)\n }\n\n #updateTimers(): void {\n this.#updateStaleTimeout()\n this.#updateRefetchInterval(this.#computeRefetchInterval())\n }\n\n #clearStaleTimeout(): void {\n if (this.#staleTimeoutId !== undefined) {\n timeoutManager.clearTimeout(this.#staleTimeoutId)\n this.#staleTimeoutId = undefined\n }\n }\n\n #clearRefetchInterval(): void {\n if (this.#refetchIntervalId !== undefined) {\n timeoutManager.clearInterval(this.#refetchIntervalId)\n this.#refetchIntervalId = undefined\n }\n }\n\n protected createResult(\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): QueryObserverResult<TData, TError> {\n const prevQuery = this.#currentQuery\n const prevOptions = this.options\n const prevResult = this.#currentResult as\n | QueryObserverResult<TData, TError>\n | undefined\n const prevResultState = this.#currentResultState\n const prevResultOptions = this.#currentResultOptions\n const queryChange = query !== prevQuery\n const queryInitialState = queryChange\n ? query.state\n : this.#currentQueryInitialState\n\n const { state } = query\n let newState = { ...state }\n let isPlaceholderData = false\n let data: TData | undefined\n\n // Optimistically set result in fetching state if needed\n if (options._optimisticResults) {\n const mounted = this.hasListeners()\n\n const fetchOnMount = !mounted && shouldFetchOnMount(query, options)\n\n const fetchOptionally =\n mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions)\n\n if (fetchOnMount || fetchOptionally) {\n newState = {\n ...newState,\n ...fetchState(state.data, query.options),\n }\n }\n if (options._optimisticResults === 'isRestoring') {\n newState.fetchStatus = 'idle'\n }\n }\n\n let { error, errorUpdatedAt, status } = newState\n\n // Per default, use query data\n data = newState.data as unknown as TData\n let skipSelect = false\n\n // use placeholderData if needed\n if (\n options.placeholderData !== undefined &&\n data === undefined &&\n status === 'pending'\n ) {\n let placeholderData\n\n // Memoize placeholder data\n if (\n prevResult?.isPlaceholderData &&\n options.placeholderData === prevResultOptions?.placeholderData\n ) {\n placeholderData = prevResult.data\n // we have to skip select when reading this memoization\n // because prevResult.data is already \"selected\"\n skipSelect = true\n } else {\n // compute placeholderData\n placeholderData =\n typeof options.placeholderData === 'function'\n ? (\n options.placeholderData as unknown as PlaceholderDataFunction<TQueryData>\n )(\n this.#lastQueryWithDefinedData?.state.data,\n this.#lastQueryWithDefinedData as any,\n )\n : options.placeholderData\n }\n\n if (placeholderData !== undefined) {\n status = 'success'\n data = replaceData(\n prevResult?.data,\n placeholderData as unknown,\n options,\n ) as TData\n isPlaceholderData = true\n }\n }\n\n // Select data if needed\n // this also runs placeholderData through the select function\n if (options.select && data !== undefined && !skipSelect) {\n // Memoize select result\n if (\n prevResult &&\n data === prevResultState?.data &&\n options.select === this.#selectFn\n ) {\n data = this.#selectResult\n } else {\n try {\n this.#selectFn = options.select\n data = options.select(data as any)\n data = replaceData(prevResult?.data, data, options)\n this.#selectResult = data\n this.#selectError = null\n } catch (selectError) {\n this.#selectError = selectError as TError\n }\n }\n } else if (data === undefined) {\n // a stored select error belongs to previously selected data; once that\n // data is gone (query switch or reset), it must not leak into this result\n this.#selectError = null\n }\n\n if (this.#selectError) {\n error = this.#selectError\n data = this.#selectResult\n errorUpdatedAt = Date.now()\n status = 'error'\n isPlaceholderData = false\n }\n\n const isFetching = newState.fetchStatus === 'fetching'\n const isPending = status === 'pending'\n const isError = status === 'error'\n\n const isLoading = isPending && isFetching\n const hasData = data !== undefined\n\n const result: QueryObserverBaseResult<TData, TError> = {\n status,\n fetchStatus: newState.fetchStatus,\n isPending,\n isSuccess: status === 'success',\n isError,\n isInitialLoading: isLoading,\n isLoading,\n data,\n dataUpdatedAt: newState.dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: newState.fetchFailureCount,\n failureReason: newState.fetchFailureReason,\n errorUpdateCount: newState.errorUpdateCount,\n isFetched: query.isFetched(),\n isFetchedAfterMount:\n newState.dataUpdateCount > queryInitialState.dataUpdateCount ||\n newState.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching,\n isRefetching: isFetching && !isPending,\n isLoadingError: isError && !hasData,\n isPaused: newState.fetchStatus === 'paused',\n isPlaceholderData,\n isRefetchError: isError && hasData,\n isStale: isStale(query, options),\n refetch: this.refetch,\n isEnabled: resolveQueryBoolean(options.enabled, query) !== false,\n }\n\n const nextResult = result as QueryObserverResult<TData, TError>\n\n return nextResult\n }\n\n updateResult(): void {\n const prevResult = this.#currentResult as\n | QueryObserverResult<TData, TError>\n | undefined\n\n const nextResult = this.createResult(this.#currentQuery, this.options)\n\n this.#currentResultState = this.#currentQuery.state\n this.#currentResultOptions = this.options\n\n if (this.#currentResultState.data !== undefined) {\n this.#lastQueryWithDefinedData = this.#currentQuery\n }\n\n // Only notify and update result if something has changed\n if (shallowEqualObjects(nextResult, prevResult)) {\n return\n }\n\n this.#currentResult = nextResult\n\n const shouldNotifyListeners = (): boolean => {\n if (!prevResult) {\n return true\n }\n\n const { notifyOnChangeProps } = this.options\n const notifyOnChangePropsValue =\n typeof notifyOnChangeProps === 'function'\n ? notifyOnChangeProps()\n : notifyOnChangeProps\n\n if (\n notifyOnChangePropsValue === 'all' ||\n (!notifyOnChangePropsValue && !this.#trackedProps.size)\n ) {\n return true\n }\n\n const includedProps = new Set(\n notifyOnChangePropsValue ?? this.#trackedProps,\n )\n\n if (this.options.throwOnError) {\n includedProps.add('error')\n }\n\n return Object.keys(this.#currentResult).some((key) => {\n const typedKey = key as keyof QueryObserverResult\n const changed = this.#currentResult[typedKey] !== prevResult[typedKey]\n\n return changed && includedProps.has(typedKey)\n })\n }\n\n this.#notify({ listeners: shouldNotifyListeners() })\n }\n\n #updateQuery(): void {\n const query = this.#client.getQueryCache().build(this.#client, this.options)\n\n if (query === this.#currentQuery) {\n return\n }\n\n const prevQuery = this.#currentQuery as\n | Query<TQueryFnData, TError, TQueryData, TQueryKey>\n | undefined\n this.#currentQuery = query\n this.#currentQueryInitialState = query.state\n\n if (this.hasListeners()) {\n prevQuery?.removeObserver(this)\n query.addObserver(this)\n }\n }\n\n onQueryUpdate(): void {\n this.updateResult()\n\n if (this.hasListeners()) {\n this.#updateTimers()\n }\n }\n\n #notify(notifyOptions: { listeners: boolean }): void {\n notifyManager.batch(() => {\n // First, trigger the listeners\n if (notifyOptions.listeners) {\n this.listeners.forEach((listener) => {\n listener(this.#currentResult)\n })\n }\n\n // Then the cache listeners\n this.#client.getQueryCache().notify({\n query: this.#currentQuery,\n type: 'observerResultsUpdated',\n })\n })\n }\n}\n\nfunction shouldLoadOnMount(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any>,\n): boolean {\n return (\n resolveQueryBoolean(options.enabled, query) !== false &&\n query.state.data === undefined &&\n !(\n query.state.status === 'error' &&\n resolveQueryBoolean(options.retryOnMount, query) === false\n )\n )\n}\n\nfunction shouldFetchOnMount(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n shouldLoadOnMount(query, options) ||\n (query.state.data !== undefined &&\n shouldFetchOn(query, options, options.refetchOnMount))\n )\n}\n\nfunction shouldFetchOn(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n field: (typeof options)['refetchOnMount'] &\n (typeof options)['refetchOnWindowFocus'] &\n (typeof options)['refetchOnReconnect'],\n) {\n if (\n resolveQueryBoolean(options.enabled, query) !== false &&\n resolveStaleTime(options.staleTime, query) !== 'static'\n ) {\n const value = typeof field === 'function' ? field(query) : field\n\n return value === 'always' || (value !== false && isStale(query, options))\n }\n return false\n}\n\nfunction shouldFetchOptionally(\n query: Query<any, any, any, any>,\n prevQuery: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n prevOptions: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n (query !== prevQuery ||\n resolveQueryBoolean(prevOptions.enabled, query) === false) &&\n (!options.suspense || query.state.status !== 'error') &&\n isStale(query, options)\n )\n}\n\nfunction isStale(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n resolveQueryBoolean(options.enabled, query) !== false &&\n query.isStaleByTime(resolveStaleTime(options.staleTime, query))\n )\n}\n\n// this function would decide if we will update the observer's 'current'\n// properties after an optimistic reading via getOptimisticResult\nfunction shouldAssignObserverCurrentProperties<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n observer: QueryObserver<TQueryFnData, TError, TData, TQueryData, TQueryKey>,\n optimisticResult: QueryObserverResult<TData, TError>,\n) {\n // if the newly created result isn't what the observer is holding as current,\n // then we'll need to update the properties as well\n if (!shallowEqualObjects(observer.getCurrentResult(), optimisticResult)) {\n return true\n }\n\n // basically, just keep previous properties if nothing changed\n return false\n}\n"],"mappings":"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"} | ||
| {"version":3,"file":"queryObserver.cjs","names":["Subscribable","#client","#selectError","#currentQuery","#executeFetch","#updateTimers","#clearStaleTimeout","#clearRefetchInterval","resolveQueryValue","#updateQuery","shallowEqualObjects","#updateStaleTimeout","#computeRefetchInterval","#currentRefetchInterval","#updateRefetchInterval","#currentResult","#currentResultOptions","#currentResultState","#trackedProps","noop","isServerEnvironment","isValidTimeout","#shouldScheduleTimer","timeUntilStale","#staleTimeoutId","timeoutManager","#refetchIntervalId","focusManager","#currentQueryInitialState","fetchState","#lastQueryWithDefinedData","replaceData","#selectFn","#selectResult"],"sources":["../../src/queryObserver.ts"],"sourcesContent":["import { focusManager } from './focusManager'\nimport { isServer as isServerEnvironment } from './environmentManager'\nimport { notifyManager } from './notifyManager'\nimport { fetchState } from './query'\nimport { Subscribable } from './subscribable'\nimport {\n isValidTimeout,\n noop,\n replaceData,\n resolveQueryValue,\n shallowEqualObjects,\n timeUntilStale,\n} from './utils'\nimport { timeoutManager } from './timeoutManager'\nimport type { ManagedTimerId } from './timeoutManager'\nimport type { FetchOptions, Query, QueryState } from './query'\nimport type { QueryClient } from './queryClient'\nimport type {\n DefaultError,\n DefaultedQueryObserverOptions,\n PlaceholderDataFunction,\n QueryKey,\n QueryObserverBaseResult,\n QueryObserverOptions,\n QueryObserverResult,\n RefetchOptions,\n} from './types'\n\ntype QueryObserverListener<TData, TError> = (\n result: QueryObserverResult<TData, TError>,\n) => void\n\ninterface ObserverFetchOptions extends FetchOptions {\n throwOnError?: boolean\n}\n\nexport class QueryObserver<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends Subscribable<QueryObserverListener<TData, TError>> {\n #client: QueryClient\n #currentQuery: Query<TQueryFnData, TError, TQueryData, TQueryKey> = undefined!\n #currentQueryInitialState: QueryState<TQueryData, TError> = undefined!\n #currentResult: QueryObserverResult<TData, TError> = undefined!\n #currentResultState?: QueryState<TQueryData, TError>\n #currentResultOptions?: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n #selectError: TError | null\n #selectFn?: (data: TQueryData) => TData\n #selectResult?: TData\n // This property keeps track of the last query with defined data.\n // It will be used to pass the previous data and query to the placeholder function between renders.\n #lastQueryWithDefinedData?: Query<TQueryFnData, TError, TQueryData, TQueryKey>\n #staleTimeoutId?: ManagedTimerId\n #refetchIntervalId?: ManagedTimerId\n #currentRefetchInterval?: number | false\n #trackedProps = new Set<keyof QueryObserverResult>()\n\n constructor(\n client: QueryClient,\n public options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ) {\n super()\n\n this.#client = client\n this.#selectError = null\n\n this.bindMethods()\n this.setOptions(options)\n }\n\n protected bindMethods(): void {\n this.refetch = this.refetch.bind(this)\n }\n\n protected onSubscribe(): void {\n if (this.listeners.size === 1) {\n this.#currentQuery.addObserver(this)\n\n if (shouldFetchOnMount(this.#currentQuery, this.options)) {\n this.#executeFetch()\n } else {\n this.updateResult()\n }\n\n this.#updateTimers()\n }\n }\n\n protected onUnsubscribe(): void {\n if (!this.hasListeners()) {\n this.destroy()\n }\n }\n\n shouldFetchOnReconnect(): boolean {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnReconnect,\n )\n }\n\n shouldFetchOnWindowFocus(): boolean {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnWindowFocus,\n )\n }\n\n destroy(): void {\n this.listeners = new Set()\n this.#clearStaleTimeout()\n this.#clearRefetchInterval()\n this.#currentQuery.removeObserver(this)\n }\n\n setOptions(\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): void {\n const prevOptions = this.options\n const prevQuery = this.#currentQuery\n\n this.options = this.#client.defaultQueryOptions(options)\n\n if (\n this.options.enabled !== undefined &&\n typeof this.options.enabled !== 'boolean' &&\n typeof this.options.enabled !== 'function' &&\n typeof resolveQueryValue(this.options.enabled, this.#currentQuery) !==\n 'boolean'\n ) {\n throw new Error(\n 'Expected enabled to be a boolean or a callback that returns a boolean',\n )\n }\n\n this.#updateQuery()\n this.#currentQuery.setOptions(this.options)\n\n if (\n prevOptions._defaulted &&\n !shallowEqualObjects(this.options, prevOptions)\n ) {\n this.#client.getQueryCache().notify({\n type: 'observerOptionsUpdated',\n query: this.#currentQuery,\n observer: this,\n })\n }\n\n const mounted = this.hasListeners()\n\n // Fetch if there are subscribers\n if (\n mounted &&\n shouldFetchOptionally(\n this.#currentQuery,\n prevQuery,\n this.options,\n prevOptions,\n )\n ) {\n this.#executeFetch()\n }\n\n // Update result\n this.updateResult()\n\n // Update stale interval if needed\n if (\n mounted &&\n (this.#currentQuery !== prevQuery ||\n resolveQueryValue(this.options.enabled, this.#currentQuery) !==\n resolveQueryValue(prevOptions.enabled, this.#currentQuery) ||\n resolveQueryValue(this.options.staleTime, this.#currentQuery) !==\n resolveQueryValue(prevOptions.staleTime, this.#currentQuery))\n ) {\n this.#updateStaleTimeout()\n }\n\n const nextRefetchInterval = this.#computeRefetchInterval()\n\n // Update refetch interval if needed\n if (\n mounted &&\n (this.#currentQuery !== prevQuery ||\n resolveQueryValue(this.options.enabled, this.#currentQuery) !==\n resolveQueryValue(prevOptions.enabled, this.#currentQuery) ||\n nextRefetchInterval !== this.#currentRefetchInterval)\n ) {\n this.#updateRefetchInterval(nextRefetchInterval)\n }\n }\n\n getOptimisticResult(\n options: DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): QueryObserverResult<TData, TError> {\n const query = this.#client.getQueryCache().build(this.#client, options)\n\n const result = this.createResult(query, options)\n\n if (!shallowEqualObjects(this.getCurrentResult(), result)) {\n // this assigns the optimistic result to the current Observer\n // because if the query function changes, useQuery will be performing\n // an effect where it would fetch again.\n // When the fetch finishes, we perform a deep data cloning in order\n // to reuse objects references. This deep data clone is performed against\n // the `observer.currentResult.data` property\n // When QueryKey changes, we refresh the query and get new `optimistic`\n // result, while we leave the `observer.currentResult`, so when new data\n // arrives, it finds the old `observer.currentResult` which is related\n // to the old QueryKey. Which means that currentResult and selectData are\n // out of sync already.\n // To solve this, we move the cursor of the currentResult every time\n // an observer reads an optimistic value.\n\n // When keeping the previous data, the result doesn't change until new\n // data arrives.\n this.#currentResult = result\n this.#currentResultOptions = this.options\n this.#currentResultState = this.#currentQuery.state\n }\n return result\n }\n\n getCurrentResult(): QueryObserverResult<TData, TError> {\n return this.#currentResult\n }\n\n trackResult(\n result: QueryObserverResult<TData, TError>,\n onPropTracked?: (key: keyof QueryObserverResult) => void,\n ): QueryObserverResult<TData, TError> {\n return new Proxy(result, {\n get: (target, key) => {\n this.trackProp(key as keyof QueryObserverResult)\n onPropTracked?.(key as keyof QueryObserverResult)\n return Reflect.get(target, key)\n },\n })\n }\n\n trackProp(key: keyof QueryObserverResult) {\n this.#trackedProps.add(key)\n }\n\n getCurrentQuery(): Query<TQueryFnData, TError, TQueryData, TQueryKey> {\n return this.#currentQuery\n }\n\n refetch({ ...options }: RefetchOptions = {}): Promise<\n QueryObserverResult<TData, TError>\n > {\n return this.fetch({\n ...options,\n })\n }\n\n fetchOptimistic(\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): Promise<QueryObserverResult<TData, TError>> {\n const defaultedOptions = this.#client.defaultQueryOptions(options)\n\n const query = this.#client\n .getQueryCache()\n .build(this.#client, defaultedOptions)\n\n let unsubscribe = () => {}\n let resolveEarly:\n | ((result: QueryObserverResult<TData, TError>) => void)\n | undefined\n\n const cachePromise = new Promise<QueryObserverResult<TData, TError>>(\n (resolve) => {\n resolveEarly = resolve\n unsubscribe = this.#client.getQueryCache().subscribe((event) => {\n if (\n event.type === 'updated' &&\n event.query.queryHash === query.queryHash &&\n query.state.data !== undefined\n ) {\n unsubscribe()\n resolve(this.createResult(query, defaultedOptions))\n }\n })\n },\n )\n\n return Promise.race([\n query\n .fetch()\n .then(() => {\n const result = this.createResult(query, defaultedOptions)\n // Settle the subscriber promise so both branches always settle.\n // This value is ignored by Promise.race since the fetch branch already won.\n resolveEarly?.(result)\n return result\n })\n .finally(() => {\n unsubscribe()\n }),\n cachePromise,\n ])\n }\n\n protected fetch(\n fetchOptions: ObserverFetchOptions,\n ): Promise<QueryObserverResult<TData, TError>> {\n return this.#executeFetch({\n ...fetchOptions,\n cancelRefetch: fetchOptions.cancelRefetch ?? true,\n }).then(() => {\n this.updateResult()\n return this.#currentResult\n })\n }\n\n #executeFetch(\n fetchOptions?: Omit<ObserverFetchOptions, 'initialPromise'>,\n ): Promise<TQueryData | undefined> {\n // Make sure we reference the latest query as the current one might have been removed\n this.#updateQuery()\n\n // Fetch\n let promise: Promise<TQueryData | undefined> = this.#currentQuery.fetch(\n this.options,\n fetchOptions,\n )\n\n if (!fetchOptions?.throwOnError) {\n promise = promise.catch(noop)\n }\n\n return promise\n }\n\n #shouldScheduleTimer(timeout: unknown): timeout is number {\n return (\n !isServerEnvironment() &&\n resolveQueryValue(this.options.enabled, this.#currentQuery) !== false &&\n isValidTimeout(timeout)\n )\n }\n\n #updateStaleTimeout(): void {\n this.#clearStaleTimeout()\n const staleTime = resolveQueryValue(\n this.options.staleTime,\n this.#currentQuery,\n )\n\n if (this.#currentResult.isStale || !this.#shouldScheduleTimer(staleTime)) {\n return\n }\n\n const time = timeUntilStale(this.#currentResult.dataUpdatedAt, staleTime)\n\n // The timeout is sometimes triggered 1 ms before the stale time expiration.\n // To mitigate this issue we always add 1 ms to the timeout.\n const timeout = time + 1\n\n this.#staleTimeoutId = timeoutManager.setTimeout(() => {\n if (!this.#currentResult.isStale) {\n this.updateResult()\n }\n }, timeout)\n }\n\n #computeRefetchInterval() {\n return (\n (typeof this.options.refetchInterval === 'function'\n ? this.options.refetchInterval(this.#currentQuery)\n : this.options.refetchInterval) ?? false\n )\n }\n\n #updateRefetchInterval(nextInterval: number | false): void {\n this.#clearRefetchInterval()\n\n this.#currentRefetchInterval = nextInterval\n\n if (\n this.#currentRefetchInterval === 0 ||\n !this.#shouldScheduleTimer(this.#currentRefetchInterval)\n ) {\n return\n }\n\n this.#refetchIntervalId = timeoutManager.setInterval(() => {\n if (\n this.options.refetchIntervalInBackground ||\n focusManager.isFocused()\n ) {\n this.#executeFetch()\n }\n }, this.#currentRefetchInterval)\n }\n\n #updateTimers(): void {\n this.#updateStaleTimeout()\n this.#updateRefetchInterval(this.#computeRefetchInterval())\n }\n\n #clearStaleTimeout(): void {\n if (this.#staleTimeoutId !== undefined) {\n timeoutManager.clearTimeout(this.#staleTimeoutId)\n this.#staleTimeoutId = undefined\n }\n }\n\n #clearRefetchInterval(): void {\n if (this.#refetchIntervalId !== undefined) {\n timeoutManager.clearInterval(this.#refetchIntervalId)\n this.#refetchIntervalId = undefined\n }\n }\n\n protected createResult(\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): QueryObserverResult<TData, TError> {\n const prevQuery = this.#currentQuery\n const prevOptions = this.options\n const prevResult = this.#currentResult as\n | QueryObserverResult<TData, TError>\n | undefined\n const prevResultState = this.#currentResultState\n const prevResultOptions = this.#currentResultOptions\n const queryChange = query !== prevQuery\n const queryInitialState = queryChange\n ? query.state\n : this.#currentQueryInitialState\n\n const { state } = query\n let newState = { ...state }\n let isPlaceholderData = false\n let data: TData | undefined\n\n // Optimistically set result in fetching state if needed\n if (options._optimisticResults) {\n const mounted = this.hasListeners()\n\n const fetchOnMount = !mounted && shouldFetchOnMount(query, options)\n\n const fetchOptionally =\n mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions)\n\n if (fetchOnMount || fetchOptionally) {\n newState = {\n ...newState,\n ...fetchState(state.data, query.options),\n }\n }\n if (options._optimisticResults === 'isRestoring') {\n newState.fetchStatus = 'idle'\n }\n }\n\n let { error, errorUpdatedAt, status } = newState\n\n // Per default, use query data\n data = newState.data as unknown as TData\n let skipSelect = false\n\n // use placeholderData if needed\n if (\n options.placeholderData !== undefined &&\n data === undefined &&\n status === 'pending'\n ) {\n let placeholderData\n\n // Memoize placeholder data\n if (\n prevResult?.isPlaceholderData &&\n options.placeholderData === prevResultOptions?.placeholderData\n ) {\n placeholderData = prevResult.data\n // we have to skip select when reading this memoization\n // because prevResult.data is already \"selected\"\n skipSelect = true\n } else {\n // compute placeholderData\n placeholderData =\n typeof options.placeholderData === 'function'\n ? (\n options.placeholderData as unknown as PlaceholderDataFunction<TQueryData>\n )(\n this.#lastQueryWithDefinedData?.state.data,\n this.#lastQueryWithDefinedData as any,\n )\n : options.placeholderData\n }\n\n if (placeholderData !== undefined) {\n status = 'success'\n data = replaceData(\n prevResult?.data,\n placeholderData as unknown,\n options,\n ) as TData\n isPlaceholderData = true\n }\n }\n\n // Select data if needed\n // this also runs placeholderData through the select function\n if (options.select && data !== undefined && !skipSelect) {\n // Memoize select result\n if (\n prevResult &&\n data === prevResultState?.data &&\n options.select === this.#selectFn\n ) {\n data = this.#selectResult\n } else {\n try {\n this.#selectFn = options.select\n data = options.select(data as any)\n data = replaceData(prevResult?.data, data, options)\n this.#selectResult = data\n this.#selectError = null\n } catch (selectError) {\n this.#selectError = selectError as TError\n }\n }\n } else if (data === undefined) {\n // a stored select error belongs to previously selected data; once that\n // data is gone (query switch or reset), it must not leak into this result\n this.#selectError = null\n }\n\n if (this.#selectError) {\n error = this.#selectError\n data = this.#selectResult\n errorUpdatedAt = Date.now()\n status = 'error'\n isPlaceholderData = false\n }\n\n const isFetching = newState.fetchStatus === 'fetching'\n const isPending = status === 'pending'\n const isError = status === 'error'\n\n const isLoading = isPending && isFetching\n const hasData = data !== undefined\n\n const result: QueryObserverBaseResult<TData, TError> = {\n status,\n fetchStatus: newState.fetchStatus,\n isPending,\n isSuccess: status === 'success',\n isError,\n isInitialLoading: isLoading,\n isLoading,\n data,\n dataUpdatedAt: newState.dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: newState.fetchFailureCount,\n failureReason: newState.fetchFailureReason,\n errorUpdateCount: newState.errorUpdateCount,\n isFetched: query.isFetched(),\n isFetchedAfterMount:\n newState.dataUpdateCount > queryInitialState.dataUpdateCount ||\n newState.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching,\n isRefetching: isFetching && !isPending,\n isLoadingError: isError && !hasData,\n isPaused: newState.fetchStatus === 'paused',\n isPlaceholderData,\n isRefetchError: isError && hasData,\n isStale: isStale(query, options),\n refetch: this.refetch,\n isEnabled: resolveQueryValue(options.enabled, query) !== false,\n }\n\n const nextResult = result as QueryObserverResult<TData, TError>\n\n return nextResult\n }\n\n updateResult(): void {\n const prevResult = this.#currentResult as\n | QueryObserverResult<TData, TError>\n | undefined\n\n const nextResult = this.createResult(this.#currentQuery, this.options)\n\n this.#currentResultState = this.#currentQuery.state\n this.#currentResultOptions = this.options\n\n if (this.#currentResultState.data !== undefined) {\n this.#lastQueryWithDefinedData = this.#currentQuery\n }\n\n // Only notify and update result if something has changed\n if (shallowEqualObjects(nextResult, prevResult)) {\n return\n }\n\n this.#currentResult = nextResult\n\n const shouldNotifyListeners = (): boolean => {\n if (!prevResult) {\n return true\n }\n\n const { notifyOnChangeProps } = this.options\n const notifyOnChangePropsValue =\n typeof notifyOnChangeProps === 'function'\n ? notifyOnChangeProps()\n : notifyOnChangeProps\n\n if (\n notifyOnChangePropsValue === 'all' ||\n (!notifyOnChangePropsValue && !this.#trackedProps.size)\n ) {\n return true\n }\n\n const includedProps = new Set(\n notifyOnChangePropsValue ?? this.#trackedProps,\n )\n\n if (this.options.throwOnError) {\n includedProps.add('error')\n }\n\n return Object.keys(this.#currentResult).some((key) => {\n const typedKey = key as keyof QueryObserverResult\n const changed = this.#currentResult[typedKey] !== prevResult[typedKey]\n\n return changed && includedProps.has(typedKey)\n })\n }\n\n const notifyListeners = shouldNotifyListeners()\n\n notifyManager.batch(() => {\n // First, trigger the listeners\n if (notifyListeners) {\n this.listeners.forEach((listener) => {\n listener(this.#currentResult)\n })\n }\n\n // Then the cache listeners\n this.#client.getQueryCache().notify({\n query: this.#currentQuery,\n type: 'observerResultsUpdated',\n })\n })\n }\n\n #updateQuery(): void {\n const query = this.#client.getQueryCache().build(this.#client, this.options)\n\n if (query === this.#currentQuery) {\n return\n }\n\n const prevQuery = this.#currentQuery as\n | Query<TQueryFnData, TError, TQueryData, TQueryKey>\n | undefined\n this.#currentQuery = query\n this.#currentQueryInitialState = query.state\n\n if (this.hasListeners()) {\n prevQuery?.removeObserver(this)\n query.addObserver(this)\n }\n }\n\n onQueryUpdate(): void {\n this.updateResult()\n\n if (this.hasListeners()) {\n this.#updateTimers()\n }\n }\n}\n\nfunction shouldLoadOnMount(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any>,\n): boolean {\n return (\n resolveQueryValue(options.enabled, query) !== false &&\n query.state.data === undefined &&\n !(\n query.state.status === 'error' &&\n resolveQueryValue(options.retryOnMount, query) === false\n )\n )\n}\n\nfunction shouldFetchOnMount(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n shouldLoadOnMount(query, options) ||\n (query.state.data !== undefined &&\n shouldFetchOn(query, options, options.refetchOnMount))\n )\n}\n\nfunction shouldFetchOn(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n field: (typeof options)['refetchOnMount'] &\n (typeof options)['refetchOnWindowFocus'] &\n (typeof options)['refetchOnReconnect'],\n) {\n if (\n resolveQueryValue(options.enabled, query) !== false &&\n resolveQueryValue(options.staleTime, query) !== 'static'\n ) {\n const value = typeof field === 'function' ? field(query) : field\n\n return value === 'always' || (value !== false && isStale(query, options))\n }\n return false\n}\n\nfunction shouldFetchOptionally(\n query: Query<any, any, any, any>,\n prevQuery: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n prevOptions: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n (query !== prevQuery ||\n resolveQueryValue(prevOptions.enabled, query) === false) &&\n (!options.suspense || query.state.status !== 'error') &&\n isStale(query, options)\n )\n}\n\nfunction isStale(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n resolveQueryValue(options.enabled, query) !== false &&\n query.isStaleByTime(resolveQueryValue(options.staleTime, query))\n )\n}\n"],"mappings":";;;;;;;;;AAoCA,IAAa,gBAAb,cAMUA,qBAAAA,aAAmD;CAC3D;CACA,gBAAoE,KAAA;CACpE,4BAA4D,KAAA;CAC5D,iBAAqD,KAAA;CACrD;CACA;CAOA;CACA;CACA;CAGA;CACA;CACA;CACA;CACA,gCAAgB,IAAI,IAA+B;CAEnD,YACE,QACA,SAOA;EACA,MAAM;EARC,KAAA,UAAA;EAUP,KAAKC,UAAU;EACf,KAAKC,eAAe;EAEpB,KAAK,YAAY;EACjB,KAAK,WAAW,OAAO;CACzB;CAEA,cAA8B;EAC5B,KAAK,UAAU,KAAK,QAAQ,KAAK,IAAI;CACvC;CAEA,cAA8B;EAC5B,IAAI,KAAK,UAAU,SAAS,GAAG;GAC7B,KAAKC,cAAc,YAAY,IAAI;GAEnC,IAAI,mBAAmB,KAAKA,eAAe,KAAK,OAAO,GACrD,KAAKC,cAAc;QAEnB,KAAK,aAAa;GAGpB,KAAKC,cAAc;EACrB;CACF;CAEA,gBAAgC;EAC9B,IAAI,CAAC,KAAK,aAAa,GACrB,KAAK,QAAQ;CAEjB;CAEA,yBAAkC;EAChC,OAAO,cACL,KAAKF,eACL,KAAK,SACL,KAAK,QAAQ,kBACf;CACF;CAEA,2BAAoC;EAClC,OAAO,cACL,KAAKA,eACL,KAAK,SACL,KAAK,QAAQ,oBACf;CACF;CAEA,UAAgB;EACd,KAAK,4BAAY,IAAI,IAAI;EACzB,KAAKG,mBAAmB;EACxB,KAAKC,sBAAsB;EAC3B,KAAKJ,cAAc,eAAe,IAAI;CACxC;CAEA,WACE,SAOM;EACN,MAAM,cAAc,KAAK;EACzB,MAAM,YAAY,KAAKA;EAEvB,KAAK,UAAU,KAAKF,QAAQ,oBAAoB,OAAO;EAEvD,IACE,KAAK,QAAQ,YAAY,KAAA,KACzB,OAAO,KAAK,QAAQ,YAAY,aAChC,OAAO,KAAK,QAAQ,YAAY,cAChC,OAAOO,cAAAA,kBAAkB,KAAK,QAAQ,SAAS,KAAKL,aAAa,MAC/D,WAEF,MAAM,IAAI,MACR,uEACF;EAGF,KAAKM,aAAa;EAClB,KAAKN,cAAc,WAAW,KAAK,OAAO;EAE1C,IACE,YAAY,cACZ,CAACO,cAAAA,oBAAoB,KAAK,SAAS,WAAW,GAE9C,KAAKT,QAAQ,cAAc,CAAC,CAAC,OAAO;GAClC,MAAM;GACN,OAAO,KAAKE;GACZ,UAAU;EACZ,CAAC;EAGH,MAAM,UAAU,KAAK,aAAa;EAGlC,IACE,WACA,sBACE,KAAKA,eACL,WACA,KAAK,SACL,WACF,GAEA,KAAKC,cAAc;EAIrB,KAAK,aAAa;EAGlB,IACE,YACC,KAAKD,kBAAkB,aACtBK,cAAAA,kBAAkB,KAAK,QAAQ,SAAS,KAAKL,aAAa,MACxDK,cAAAA,kBAAkB,YAAY,SAAS,KAAKL,aAAa,KAC3DK,cAAAA,kBAAkB,KAAK,QAAQ,WAAW,KAAKL,aAAa,MAC1DK,cAAAA,kBAAkB,YAAY,WAAW,KAAKL,aAAa,IAE/D,KAAKQ,oBAAoB;EAG3B,MAAM,sBAAsB,KAAKC,wBAAwB;EAGzD,IACE,YACC,KAAKT,kBAAkB,aACtBK,cAAAA,kBAAkB,KAAK,QAAQ,SAAS,KAAKL,aAAa,MACxDK,cAAAA,kBAAkB,YAAY,SAAS,KAAKL,aAAa,KAC3D,wBAAwB,KAAKU,0BAE/B,KAAKC,uBAAuB,mBAAmB;CAEnD;CAEA,oBACE,SAOoC;EACpC,MAAM,QAAQ,KAAKb,QAAQ,cAAc,CAAC,CAAC,MAAM,KAAKA,SAAS,OAAO;EAEtE,MAAM,SAAS,KAAK,aAAa,OAAO,OAAO;EAE/C,IAAI,CAACS,cAAAA,oBAAoB,KAAK,iBAAiB,GAAG,MAAM,GAAG;GAiBzD,KAAKK,iBAAiB;GACtB,KAAKC,wBAAwB,KAAK;GAClC,KAAKC,sBAAsB,KAAKd,cAAc;EAChD;EACA,OAAO;CACT;CAEA,mBAAuD;EACrD,OAAO,KAAKY;CACd;CAEA,YACE,QACA,eACoC;EACpC,OAAO,IAAI,MAAM,QAAQ,EACvB,MAAM,QAAQ,QAAQ;GACpB,KAAK,UAAU,GAAgC;GAC/C,gBAAgB,GAAgC;GAChD,OAAO,QAAQ,IAAI,QAAQ,GAAG;EAChC,EACF,CAAC;CACH;CAEA,UAAU,KAAgC;EACxC,KAAKG,cAAc,IAAI,GAAG;CAC5B;CAEA,kBAAsE;EACpE,OAAO,KAAKf;CACd;CAEA,QAAQ,EAAE,GAAG,YAA4B,CAAC,GAExC;EACA,OAAO,KAAK,MAAM,EAChB,GAAG,QACL,CAAC;CACH;CAEA,gBACE,SAO6C;EAC7C,MAAM,mBAAmB,KAAKF,QAAQ,oBAAoB,OAAO;EAEjE,MAAM,QAAQ,KAAKA,QAChB,cAAc,CAAC,CACf,MAAM,KAAKA,SAAS,gBAAgB;EAEvC,IAAI,oBAAoB,CAAC;EACzB,IAAI;EAIJ,MAAM,eAAe,IAAI,SACtB,YAAY;GACX,eAAe;GACf,cAAc,KAAKA,QAAQ,cAAc,CAAC,CAAC,WAAW,UAAU;IAC9D,IACE,MAAM,SAAS,aACf,MAAM,MAAM,cAAc,MAAM,aAChC,MAAM,MAAM,SAAS,KAAA,GACrB;KACA,YAAY;KACZ,QAAQ,KAAK,aAAa,OAAO,gBAAgB,CAAC;IACpD;GACF,CAAC;EACH,CACF;EAEA,OAAO,QAAQ,KAAK,CAClB,MACG,MAAM,CAAC,CACP,WAAW;GACV,MAAM,SAAS,KAAK,aAAa,OAAO,gBAAgB;GAGxD,eAAe,MAAM;GACrB,OAAO;EACT,CAAC,CAAC,CACD,cAAc;GACb,YAAY;EACd,CAAC,GACH,YACF,CAAC;CACH;CAEA,MACE,cAC6C;EAC7C,OAAO,KAAKG,cAAc;GACxB,GAAG;GACH,eAAe,aAAa,iBAAiB;EAC/C,CAAC,CAAC,CAAC,WAAW;GACZ,KAAK,aAAa;GAClB,OAAO,KAAKW;EACd,CAAC;CACH;CAEA,cACE,cACiC;EAEjC,KAAKN,aAAa;EAGlB,IAAI,UAA2C,KAAKN,cAAc,MAChE,KAAK,SACL,YACF;EAEA,IAAI,CAAC,cAAc,cACjB,UAAU,QAAQ,MAAMgB,cAAAA,IAAI;EAG9B,OAAO;CACT;CAEA,qBAAqB,SAAqC;EACxD,OACE,CAACC,2BAAAA,SAAoB,KACrBZ,cAAAA,kBAAkB,KAAK,QAAQ,SAAS,KAAKL,aAAa,MAAM,SAChEkB,cAAAA,eAAe,OAAO;CAE1B;CAEA,sBAA4B;EAC1B,KAAKf,mBAAmB;EACxB,MAAM,YAAYE,cAAAA,kBAChB,KAAK,QAAQ,WACb,KAAKL,aACP;EAEA,IAAI,KAAKY,eAAe,WAAW,CAAC,KAAKO,qBAAqB,SAAS,GACrE;EAOF,MAAM,UAJOC,cAAAA,eAAe,KAAKR,eAAe,eAAe,SAI5C,IAAI;EAEvB,KAAKS,kBAAkBC,uBAAAA,eAAe,iBAAiB;GACrD,IAAI,CAAC,KAAKV,eAAe,SACvB,KAAK,aAAa;EAEtB,GAAG,OAAO;CACZ;CAEA,0BAA0B;EACxB,QACG,OAAO,KAAK,QAAQ,oBAAoB,aACrC,KAAK,QAAQ,gBAAgB,KAAKZ,aAAa,IAC/C,KAAK,QAAQ,oBAAoB;CAEzC;CAEA,uBAAuB,cAAoC;EACzD,KAAKI,sBAAsB;EAE3B,KAAKM,0BAA0B;EAE/B,IACE,KAAKA,4BAA4B,KACjC,CAAC,KAAKS,qBAAqB,KAAKT,uBAAuB,GAEvD;EAGF,KAAKa,qBAAqBD,uBAAAA,eAAe,kBAAkB;GACzD,IACE,KAAK,QAAQ,+BACbE,qBAAAA,aAAa,UAAU,GAEvB,KAAKvB,cAAc;EAEvB,GAAG,KAAKS,uBAAuB;CACjC;CAEA,gBAAsB;EACpB,KAAKF,oBAAoB;EACzB,KAAKG,uBAAuB,KAAKF,wBAAwB,CAAC;CAC5D;CAEA,qBAA2B;EACzB,IAAI,KAAKY,oBAAoB,KAAA,GAAW;GACtC,uBAAA,eAAe,aAAa,KAAKA,eAAe;GAChD,KAAKA,kBAAkB,KAAA;EACzB;CACF;CAEA,wBAA8B;EAC5B,IAAI,KAAKE,uBAAuB,KAAA,GAAW;GACzC,uBAAA,eAAe,cAAc,KAAKA,kBAAkB;GACpD,KAAKA,qBAAqB,KAAA;EAC5B;CACF;CAEA,aACE,OACA,SAOoC;EACpC,MAAM,YAAY,KAAKvB;EACvB,MAAM,cAAc,KAAK;EACzB,MAAM,aAAa,KAAKY;EAGxB,MAAM,kBAAkB,KAAKE;EAC7B,MAAM,oBAAoB,KAAKD;EAE/B,MAAM,oBADc,UAAU,YAE1B,MAAM,QACN,KAAKY;EAET,MAAM,EAAE,UAAU;EAClB,IAAI,WAAW,EAAE,GAAG,MAAM;EAC1B,IAAI,oBAAoB;EACxB,IAAI;EAGJ,IAAI,QAAQ,oBAAoB;GAC9B,MAAM,UAAU,KAAK,aAAa;GAElC,MAAM,eAAe,CAAC,WAAW,mBAAmB,OAAO,OAAO;GAElE,MAAM,kBACJ,WAAW,sBAAsB,OAAO,WAAW,SAAS,WAAW;GAEzE,IAAI,gBAAgB,iBAClB,WAAW;IACT,GAAG;IACH,GAAGC,cAAAA,WAAW,MAAM,MAAM,MAAM,OAAO;GACzC;GAEF,IAAI,QAAQ,uBAAuB,eACjC,SAAS,cAAc;EAE3B;EAEA,IAAI,EAAE,OAAO,gBAAgB,WAAW;EAGxC,OAAO,SAAS;EAChB,IAAI,aAAa;EAGjB,IACE,QAAQ,oBAAoB,KAAA,KAC5B,SAAS,KAAA,KACT,WAAW,WACX;GACA,IAAI;GAGJ,IACE,YAAY,qBACZ,QAAQ,oBAAoB,mBAAmB,iBAC/C;IACA,kBAAkB,WAAW;IAG7B,aAAa;GACf,OAEE,kBACE,OAAO,QAAQ,oBAAoB,aAE7B,QAAQ,gBAER,KAAKC,2BAA2B,MAAM,MACtC,KAAKA,yBACP,IACA,QAAQ;GAGhB,IAAI,oBAAoB,KAAA,GAAW;IACjC,SAAS;IACT,OAAOC,cAAAA,YACL,YAAY,MACZ,iBACA,OACF;IACA,oBAAoB;GACtB;EACF;EAIA,IAAI,QAAQ,UAAU,SAAS,KAAA,KAAa,CAAC,YAAY;GAEvD,IACE,cACA,SAAS,iBAAiB,QAC1B,QAAQ,WAAW,KAAKC,WAExB,OAAO,KAAKC;QAEZ,IAAI;IACF,KAAKD,YAAY,QAAQ;IACzB,OAAO,QAAQ,OAAO,IAAW;IACjC,OAAOD,cAAAA,YAAY,YAAY,MAAM,MAAM,OAAO;IAClD,KAAKE,gBAAgB;IACrB,KAAK/B,eAAe;GACtB,SAAS,aAAa;IACpB,KAAKA,eAAe;GACtB;EAEJ,OAAO,IAAI,SAAS,KAAA,GAGlB,KAAKA,eAAe;EAGtB,IAAI,KAAKA,cAAc;GACrB,QAAQ,KAAKA;GACb,OAAO,KAAK+B;GACZ,iBAAiB,KAAK,IAAI;GAC1B,SAAS;GACT,oBAAoB;EACtB;EAEA,MAAM,aAAa,SAAS,gBAAgB;EAC5C,MAAM,YAAY,WAAW;EAC7B,MAAM,UAAU,WAAW;EAE3B,MAAM,YAAY,aAAa;EAC/B,MAAM,UAAU,SAAS,KAAA;EAkCzB,OAAO;GA/BL;GACA,aAAa,SAAS;GACtB;GACA,WAAW,WAAW;GACtB;GACA,kBAAkB;GAClB;GACA;GACA,eAAe,SAAS;GACxB;GACA;GACA,cAAc,SAAS;GACvB,eAAe,SAAS;GACxB,kBAAkB,SAAS;GAC3B,WAAW,MAAM,UAAU;GAC3B,qBACE,SAAS,kBAAkB,kBAAkB,mBAC7C,SAAS,mBAAmB,kBAAkB;GAChD;GACA,cAAc,cAAc,CAAC;GAC7B,gBAAgB,WAAW,CAAC;GAC5B,UAAU,SAAS,gBAAgB;GACnC;GACA,gBAAgB,WAAW;GAC3B,SAAS,QAAQ,OAAO,OAAO;GAC/B,SAAS,KAAK;GACd,WAAWzB,cAAAA,kBAAkB,QAAQ,SAAS,KAAK,MAAM;EAK3C;CAClB;CAEA,eAAqB;EACnB,MAAM,aAAa,KAAKO;EAIxB,MAAM,aAAa,KAAK,aAAa,KAAKZ,eAAe,KAAK,OAAO;EAErE,KAAKc,sBAAsB,KAAKd,cAAc;EAC9C,KAAKa,wBAAwB,KAAK;EAElC,IAAI,KAAKC,oBAAoB,SAAS,KAAA,GACpC,KAAKa,4BAA4B,KAAK3B;EAIxC,IAAIO,cAAAA,oBAAoB,YAAY,UAAU,GAC5C;EAGF,KAAKK,iBAAiB;EAEtB,MAAM,8BAAuC;GAC3C,IAAI,CAAC,YACH,OAAO;GAGT,MAAM,EAAE,wBAAwB,KAAK;GACrC,MAAM,2BACJ,OAAO,wBAAwB,aAC3B,oBAAoB,IACpB;GAEN,IACE,6BAA6B,SAC5B,CAAC,4BAA4B,CAAC,KAAKG,cAAc,MAElD,OAAO;GAGT,MAAM,gBAAgB,IAAI,IACxB,4BAA4B,KAAKA,aACnC;GAEA,IAAI,KAAK,QAAQ,cACf,cAAc,IAAI,OAAO;GAG3B,OAAO,OAAO,KAAK,KAAKH,cAAc,CAAC,CAAC,MAAM,QAAQ;IACpD,MAAM,WAAW;IAGjB,OAFgB,KAAKA,eAAe,cAAc,WAAW,aAE3C,cAAc,IAAI,QAAQ;GAC9C,CAAC;EACH;EAEA,MAAM,kBAAkB,sBAAsB;EAE9C,sBAAA,cAAc,YAAY;GAExB,IAAI,iBACF,KAAK,UAAU,SAAS,aAAa;IACnC,SAAS,KAAKA,cAAc;GAC9B,CAAC;GAIH,KAAKd,QAAQ,cAAc,CAAC,CAAC,OAAO;IAClC,OAAO,KAAKE;IACZ,MAAM;GACR,CAAC;EACH,CAAC;CACH;CAEA,eAAqB;EACnB,MAAM,QAAQ,KAAKF,QAAQ,cAAc,CAAC,CAAC,MAAM,KAAKA,SAAS,KAAK,OAAO;EAE3E,IAAI,UAAU,KAAKE,eACjB;EAGF,MAAM,YAAY,KAAKA;EAGvB,KAAKA,gBAAgB;EACrB,KAAKyB,4BAA4B,MAAM;EAEvC,IAAI,KAAK,aAAa,GAAG;GACvB,WAAW,eAAe,IAAI;GAC9B,MAAM,YAAY,IAAI;EACxB;CACF;CAEA,gBAAsB;EACpB,KAAK,aAAa;EAElB,IAAI,KAAK,aAAa,GACpB,KAAKvB,cAAc;CAEvB;AACF;AAEA,SAAS,kBACP,OACA,SACS;CACT,OACEG,cAAAA,kBAAkB,QAAQ,SAAS,KAAK,MAAM,SAC9C,MAAM,MAAM,SAAS,KAAA,KACrB,EACE,MAAM,MAAM,WAAW,WACvBA,cAAAA,kBAAkB,QAAQ,cAAc,KAAK,MAAM;AAGzD;AAEA,SAAS,mBACP,OACA,SACS;CACT,OACE,kBAAkB,OAAO,OAAO,KAC/B,MAAM,MAAM,SAAS,KAAA,KACpB,cAAc,OAAO,SAAS,QAAQ,cAAc;AAE1D;AAEA,SAAS,cACP,OACA,SACA,OAGA;CACA,IACEA,cAAAA,kBAAkB,QAAQ,SAAS,KAAK,MAAM,SAC9CA,cAAAA,kBAAkB,QAAQ,WAAW,KAAK,MAAM,UAChD;EACA,MAAM,QAAQ,OAAO,UAAU,aAAa,MAAM,KAAK,IAAI;EAE3D,OAAO,UAAU,YAAa,UAAU,SAAS,QAAQ,OAAO,OAAO;CACzE;CACA,OAAO;AACT;AAEA,SAAS,sBACP,OACA,WACA,SACA,aACS;CACT,QACG,UAAU,aACTA,cAAAA,kBAAkB,YAAY,SAAS,KAAK,MAAM,WACnD,CAAC,QAAQ,YAAY,MAAM,MAAM,WAAW,YAC7C,QAAQ,OAAO,OAAO;AAE1B;AAEA,SAAS,QACP,OACA,SACS;CACT,OACEA,cAAAA,kBAAkB,QAAQ,SAAS,KAAK,MAAM,SAC9C,MAAM,cAAcA,cAAAA,kBAAkB,QAAQ,WAAW,KAAK,CAAC;AAEnE"} |
@@ -1,2 +0,2 @@ | ||
| import { ir as QueryObserver } from "./hydration-BoHd-X9T.cjs"; | ||
| import { rr as QueryObserver } from "./hydration-DWGr3cFC.cjs"; | ||
| export { QueryObserver }; |
@@ -1,2 +0,2 @@ | ||
| import { ir as QueryObserver } from "./hydration-DFwTM9vM.js"; | ||
| import { rr as QueryObserver } from "./hydration-Bjs0MSgg.js"; | ||
| export { QueryObserver }; |
| import { timeoutManager } from "./timeoutManager.js"; | ||
| import { isValidTimeout, noop, replaceData, resolveQueryBoolean, resolveStaleTime, shallowEqualObjects, timeUntilStale } from "./utils.js"; | ||
| import { environmentManager } from "./environmentManager.js"; | ||
| import { isValidTimeout, noop, replaceData, resolveQueryValue, shallowEqualObjects, timeUntilStale } from "./utils.js"; | ||
| import { isServer } from "./environmentManager.js"; | ||
| import { Subscribable } from "./subscribable.js"; | ||
@@ -62,3 +62,3 @@ import { focusManager } from "./focusManager.js"; | ||
| this.options = this.#client.defaultQueryOptions(options); | ||
| if (this.options.enabled !== void 0 && typeof this.options.enabled !== "boolean" && typeof this.options.enabled !== "function" && typeof resolveQueryBoolean(this.options.enabled, this.#currentQuery) !== "boolean") throw new Error("Expected enabled to be a boolean or a callback that returns a boolean"); | ||
| if (this.options.enabled !== void 0 && typeof this.options.enabled !== "boolean" && typeof this.options.enabled !== "function" && typeof resolveQueryValue(this.options.enabled, this.#currentQuery) !== "boolean") throw new Error("Expected enabled to be a boolean or a callback that returns a boolean"); | ||
| this.#updateQuery(); | ||
@@ -74,5 +74,5 @@ this.#currentQuery.setOptions(this.options); | ||
| this.updateResult(); | ||
| if (mounted && (this.#currentQuery !== prevQuery || resolveQueryBoolean(this.options.enabled, this.#currentQuery) !== resolveQueryBoolean(prevOptions.enabled, this.#currentQuery) || resolveStaleTime(this.options.staleTime, this.#currentQuery) !== resolveStaleTime(prevOptions.staleTime, this.#currentQuery))) this.#updateStaleTimeout(); | ||
| if (mounted && (this.#currentQuery !== prevQuery || resolveQueryValue(this.options.enabled, this.#currentQuery) !== resolveQueryValue(prevOptions.enabled, this.#currentQuery) || resolveQueryValue(this.options.staleTime, this.#currentQuery) !== resolveQueryValue(prevOptions.staleTime, this.#currentQuery))) this.#updateStaleTimeout(); | ||
| const nextRefetchInterval = this.#computeRefetchInterval(); | ||
| if (mounted && (this.#currentQuery !== prevQuery || resolveQueryBoolean(this.options.enabled, this.#currentQuery) !== resolveQueryBoolean(prevOptions.enabled, this.#currentQuery) || nextRefetchInterval !== this.#currentRefetchInterval)) this.#updateRefetchInterval(nextRefetchInterval); | ||
| if (mounted && (this.#currentQuery !== prevQuery || resolveQueryValue(this.options.enabled, this.#currentQuery) !== resolveQueryValue(prevOptions.enabled, this.#currentQuery) || nextRefetchInterval !== this.#currentRefetchInterval)) this.#updateRefetchInterval(nextRefetchInterval); | ||
| } | ||
@@ -82,3 +82,3 @@ getOptimisticResult(options) { | ||
| const result = this.createResult(query, options); | ||
| if (shouldAssignObserverCurrentProperties(this, result)) { | ||
| if (!shallowEqualObjects(this.getCurrentResult(), result)) { | ||
| this.#currentResult = result; | ||
@@ -147,7 +147,7 @@ this.#currentResultOptions = this.options; | ||
| #shouldScheduleTimer(timeout) { | ||
| return !environmentManager.isServer() && resolveQueryBoolean(this.options.enabled, this.#currentQuery) !== false && isValidTimeout(timeout); | ||
| return !isServer() && resolveQueryValue(this.options.enabled, this.#currentQuery) !== false && isValidTimeout(timeout); | ||
| } | ||
| #updateStaleTimeout() { | ||
| this.#clearStaleTimeout(); | ||
| const staleTime = resolveStaleTime(this.options.staleTime, this.#currentQuery); | ||
| const staleTime = resolveQueryValue(this.options.staleTime, this.#currentQuery); | ||
| if (this.#currentResult.isStale || !this.#shouldScheduleTimer(staleTime)) return; | ||
@@ -271,3 +271,3 @@ const timeout = timeUntilStale(this.#currentResult.dataUpdatedAt, staleTime) + 1; | ||
| refetch: this.refetch, | ||
| isEnabled: resolveQueryBoolean(options.enabled, query) !== false | ||
| isEnabled: resolveQueryValue(options.enabled, query) !== false | ||
| }; | ||
@@ -295,3 +295,12 @@ } | ||
| }; | ||
| this.#notify({ listeners: shouldNotifyListeners() }); | ||
| const notifyListeners = shouldNotifyListeners(); | ||
| notifyManager.batch(() => { | ||
| if (notifyListeners) this.listeners.forEach((listener) => { | ||
| listener(this.#currentResult); | ||
| }); | ||
| this.#client.getQueryCache().notify({ | ||
| query: this.#currentQuery, | ||
| type: "observerResultsUpdated" | ||
| }); | ||
| }); | ||
| } | ||
@@ -313,16 +322,5 @@ #updateQuery() { | ||
| } | ||
| #notify(notifyOptions) { | ||
| notifyManager.batch(() => { | ||
| if (notifyOptions.listeners) this.listeners.forEach((listener) => { | ||
| listener(this.#currentResult); | ||
| }); | ||
| this.#client.getQueryCache().notify({ | ||
| query: this.#currentQuery, | ||
| type: "observerResultsUpdated" | ||
| }); | ||
| }); | ||
| } | ||
| }; | ||
| function shouldLoadOnMount(query, options) { | ||
| return resolveQueryBoolean(options.enabled, query) !== false && query.state.data === void 0 && !(query.state.status === "error" && resolveQueryBoolean(options.retryOnMount, query) === false); | ||
| return resolveQueryValue(options.enabled, query) !== false && query.state.data === void 0 && !(query.state.status === "error" && resolveQueryValue(options.retryOnMount, query) === false); | ||
| } | ||
@@ -333,3 +331,3 @@ function shouldFetchOnMount(query, options) { | ||
| function shouldFetchOn(query, options, field) { | ||
| if (resolveQueryBoolean(options.enabled, query) !== false && resolveStaleTime(options.staleTime, query) !== "static") { | ||
| if (resolveQueryValue(options.enabled, query) !== false && resolveQueryValue(options.staleTime, query) !== "static") { | ||
| const value = typeof field === "function" ? field(query) : field; | ||
@@ -341,11 +339,7 @@ return value === "always" || value !== false && isStale(query, options); | ||
| function shouldFetchOptionally(query, prevQuery, options, prevOptions) { | ||
| return (query !== prevQuery || resolveQueryBoolean(prevOptions.enabled, query) === false) && (!options.suspense || query.state.status !== "error") && isStale(query, options); | ||
| return (query !== prevQuery || resolveQueryValue(prevOptions.enabled, query) === false) && (!options.suspense || query.state.status !== "error") && isStale(query, options); | ||
| } | ||
| function isStale(query, options) { | ||
| return resolveQueryBoolean(options.enabled, query) !== false && query.isStaleByTime(resolveStaleTime(options.staleTime, query)); | ||
| return resolveQueryValue(options.enabled, query) !== false && query.isStaleByTime(resolveQueryValue(options.staleTime, query)); | ||
| } | ||
| function shouldAssignObserverCurrentProperties(observer, optimisticResult) { | ||
| if (!shallowEqualObjects(observer.getCurrentResult(), optimisticResult)) return true; | ||
| return false; | ||
| } | ||
| //#endregion | ||
@@ -352,0 +346,0 @@ export { QueryObserver }; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"queryObserver.js","names":["#client","#selectError","#currentQuery","#executeFetch","#updateTimers","#clearStaleTimeout","#clearRefetchInterval","#updateQuery","#updateStaleTimeout","#computeRefetchInterval","#currentRefetchInterval","#updateRefetchInterval","#currentResult","#currentResultOptions","#currentResultState","#trackedProps","#shouldScheduleTimer","#staleTimeoutId","#refetchIntervalId","#currentQueryInitialState","#lastQueryWithDefinedData","#selectFn","#selectResult","#notify"],"sources":["../../src/queryObserver.ts"],"sourcesContent":["import { focusManager } from './focusManager'\nimport { environmentManager } from './environmentManager'\nimport { notifyManager } from './notifyManager'\nimport { fetchState } from './query'\nimport { Subscribable } from './subscribable'\nimport {\n isValidTimeout,\n noop,\n replaceData,\n resolveQueryBoolean,\n resolveStaleTime,\n shallowEqualObjects,\n timeUntilStale,\n} from './utils'\nimport { timeoutManager } from './timeoutManager'\nimport type { ManagedTimerId } from './timeoutManager'\nimport type { FetchOptions, Query, QueryState } from './query'\nimport type { QueryClient } from './queryClient'\nimport type {\n DefaultError,\n DefaultedQueryObserverOptions,\n PlaceholderDataFunction,\n QueryKey,\n QueryObserverBaseResult,\n QueryObserverOptions,\n QueryObserverResult,\n RefetchOptions,\n} from './types'\n\ntype QueryObserverListener<TData, TError> = (\n result: QueryObserverResult<TData, TError>,\n) => void\n\ninterface ObserverFetchOptions extends FetchOptions {\n throwOnError?: boolean\n}\n\nexport class QueryObserver<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends Subscribable<QueryObserverListener<TData, TError>> {\n #client: QueryClient\n #currentQuery: Query<TQueryFnData, TError, TQueryData, TQueryKey> = undefined!\n #currentQueryInitialState: QueryState<TQueryData, TError> = undefined!\n #currentResult: QueryObserverResult<TData, TError> = undefined!\n #currentResultState?: QueryState<TQueryData, TError>\n #currentResultOptions?: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n #selectError: TError | null\n #selectFn?: (data: TQueryData) => TData\n #selectResult?: TData\n // This property keeps track of the last query with defined data.\n // It will be used to pass the previous data and query to the placeholder function between renders.\n #lastQueryWithDefinedData?: Query<TQueryFnData, TError, TQueryData, TQueryKey>\n #staleTimeoutId?: ManagedTimerId\n #refetchIntervalId?: ManagedTimerId\n #currentRefetchInterval?: number | false\n #trackedProps = new Set<keyof QueryObserverResult>()\n\n constructor(\n client: QueryClient,\n public options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ) {\n super()\n\n this.#client = client\n this.#selectError = null\n\n this.bindMethods()\n this.setOptions(options)\n }\n\n protected bindMethods(): void {\n this.refetch = this.refetch.bind(this)\n }\n\n protected onSubscribe(): void {\n if (this.listeners.size === 1) {\n this.#currentQuery.addObserver(this)\n\n if (shouldFetchOnMount(this.#currentQuery, this.options)) {\n this.#executeFetch()\n } else {\n this.updateResult()\n }\n\n this.#updateTimers()\n }\n }\n\n protected onUnsubscribe(): void {\n if (!this.hasListeners()) {\n this.destroy()\n }\n }\n\n shouldFetchOnReconnect(): boolean {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnReconnect,\n )\n }\n\n shouldFetchOnWindowFocus(): boolean {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnWindowFocus,\n )\n }\n\n destroy(): void {\n this.listeners = new Set()\n this.#clearStaleTimeout()\n this.#clearRefetchInterval()\n this.#currentQuery.removeObserver(this)\n }\n\n setOptions(\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): void {\n const prevOptions = this.options\n const prevQuery = this.#currentQuery\n\n this.options = this.#client.defaultQueryOptions(options)\n\n if (\n this.options.enabled !== undefined &&\n typeof this.options.enabled !== 'boolean' &&\n typeof this.options.enabled !== 'function' &&\n typeof resolveQueryBoolean(this.options.enabled, this.#currentQuery) !==\n 'boolean'\n ) {\n throw new Error(\n 'Expected enabled to be a boolean or a callback that returns a boolean',\n )\n }\n\n this.#updateQuery()\n this.#currentQuery.setOptions(this.options)\n\n if (\n prevOptions._defaulted &&\n !shallowEqualObjects(this.options, prevOptions)\n ) {\n this.#client.getQueryCache().notify({\n type: 'observerOptionsUpdated',\n query: this.#currentQuery,\n observer: this,\n })\n }\n\n const mounted = this.hasListeners()\n\n // Fetch if there are subscribers\n if (\n mounted &&\n shouldFetchOptionally(\n this.#currentQuery,\n prevQuery,\n this.options,\n prevOptions,\n )\n ) {\n this.#executeFetch()\n }\n\n // Update result\n this.updateResult()\n\n // Update stale interval if needed\n if (\n mounted &&\n (this.#currentQuery !== prevQuery ||\n resolveQueryBoolean(this.options.enabled, this.#currentQuery) !==\n resolveQueryBoolean(prevOptions.enabled, this.#currentQuery) ||\n resolveStaleTime(this.options.staleTime, this.#currentQuery) !==\n resolveStaleTime(prevOptions.staleTime, this.#currentQuery))\n ) {\n this.#updateStaleTimeout()\n }\n\n const nextRefetchInterval = this.#computeRefetchInterval()\n\n // Update refetch interval if needed\n if (\n mounted &&\n (this.#currentQuery !== prevQuery ||\n resolveQueryBoolean(this.options.enabled, this.#currentQuery) !==\n resolveQueryBoolean(prevOptions.enabled, this.#currentQuery) ||\n nextRefetchInterval !== this.#currentRefetchInterval)\n ) {\n this.#updateRefetchInterval(nextRefetchInterval)\n }\n }\n\n getOptimisticResult(\n options: DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): QueryObserverResult<TData, TError> {\n const query = this.#client.getQueryCache().build(this.#client, options)\n\n const result = this.createResult(query, options)\n\n if (shouldAssignObserverCurrentProperties(this, result)) {\n // this assigns the optimistic result to the current Observer\n // because if the query function changes, useQuery will be performing\n // an effect where it would fetch again.\n // When the fetch finishes, we perform a deep data cloning in order\n // to reuse objects references. This deep data clone is performed against\n // the `observer.currentResult.data` property\n // When QueryKey changes, we refresh the query and get new `optimistic`\n // result, while we leave the `observer.currentResult`, so when new data\n // arrives, it finds the old `observer.currentResult` which is related\n // to the old QueryKey. Which means that currentResult and selectData are\n // out of sync already.\n // To solve this, we move the cursor of the currentResult every time\n // an observer reads an optimistic value.\n\n // When keeping the previous data, the result doesn't change until new\n // data arrives.\n this.#currentResult = result\n this.#currentResultOptions = this.options\n this.#currentResultState = this.#currentQuery.state\n }\n return result\n }\n\n getCurrentResult(): QueryObserverResult<TData, TError> {\n return this.#currentResult\n }\n\n trackResult(\n result: QueryObserverResult<TData, TError>,\n onPropTracked?: (key: keyof QueryObserverResult) => void,\n ): QueryObserverResult<TData, TError> {\n return new Proxy(result, {\n get: (target, key) => {\n this.trackProp(key as keyof QueryObserverResult)\n onPropTracked?.(key as keyof QueryObserverResult)\n return Reflect.get(target, key)\n },\n })\n }\n\n trackProp(key: keyof QueryObserverResult) {\n this.#trackedProps.add(key)\n }\n\n getCurrentQuery(): Query<TQueryFnData, TError, TQueryData, TQueryKey> {\n return this.#currentQuery\n }\n\n refetch({ ...options }: RefetchOptions = {}): Promise<\n QueryObserverResult<TData, TError>\n > {\n return this.fetch({\n ...options,\n })\n }\n\n fetchOptimistic(\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): Promise<QueryObserverResult<TData, TError>> {\n const defaultedOptions = this.#client.defaultQueryOptions(options)\n\n const query = this.#client\n .getQueryCache()\n .build(this.#client, defaultedOptions)\n\n let unsubscribe = () => {}\n let resolveEarly:\n | ((result: QueryObserverResult<TData, TError>) => void)\n | undefined\n\n const cachePromise = new Promise<QueryObserverResult<TData, TError>>(\n (resolve) => {\n resolveEarly = resolve\n unsubscribe = this.#client.getQueryCache().subscribe((event) => {\n if (\n event.type === 'updated' &&\n event.query.queryHash === query.queryHash &&\n query.state.data !== undefined\n ) {\n unsubscribe()\n resolve(this.createResult(query, defaultedOptions))\n }\n })\n },\n )\n\n return Promise.race([\n query\n .fetch()\n .then(() => {\n const result = this.createResult(query, defaultedOptions)\n // Settle the subscriber promise so both branches always settle.\n // This value is ignored by Promise.race since the fetch branch already won.\n resolveEarly?.(result)\n return result\n })\n .finally(() => {\n unsubscribe()\n }),\n cachePromise,\n ])\n }\n\n protected fetch(\n fetchOptions: ObserverFetchOptions,\n ): Promise<QueryObserverResult<TData, TError>> {\n return this.#executeFetch({\n ...fetchOptions,\n cancelRefetch: fetchOptions.cancelRefetch ?? true,\n }).then(() => {\n this.updateResult()\n return this.#currentResult\n })\n }\n\n #executeFetch(\n fetchOptions?: Omit<ObserverFetchOptions, 'initialPromise'>,\n ): Promise<TQueryData | undefined> {\n // Make sure we reference the latest query as the current one might have been removed\n this.#updateQuery()\n\n // Fetch\n let promise: Promise<TQueryData | undefined> = this.#currentQuery.fetch(\n this.options,\n fetchOptions,\n )\n\n if (!fetchOptions?.throwOnError) {\n promise = promise.catch(noop)\n }\n\n return promise\n }\n\n #shouldScheduleTimer(timeout: unknown): timeout is number {\n return (\n !environmentManager.isServer() &&\n resolveQueryBoolean(this.options.enabled, this.#currentQuery) !== false &&\n isValidTimeout(timeout)\n )\n }\n\n #updateStaleTimeout(): void {\n this.#clearStaleTimeout()\n const staleTime = resolveStaleTime(\n this.options.staleTime,\n this.#currentQuery,\n )\n\n if (this.#currentResult.isStale || !this.#shouldScheduleTimer(staleTime)) {\n return\n }\n\n const time = timeUntilStale(this.#currentResult.dataUpdatedAt, staleTime)\n\n // The timeout is sometimes triggered 1 ms before the stale time expiration.\n // To mitigate this issue we always add 1 ms to the timeout.\n const timeout = time + 1\n\n this.#staleTimeoutId = timeoutManager.setTimeout(() => {\n if (!this.#currentResult.isStale) {\n this.updateResult()\n }\n }, timeout)\n }\n\n #computeRefetchInterval() {\n return (\n (typeof this.options.refetchInterval === 'function'\n ? this.options.refetchInterval(this.#currentQuery)\n : this.options.refetchInterval) ?? false\n )\n }\n\n #updateRefetchInterval(nextInterval: number | false): void {\n this.#clearRefetchInterval()\n\n this.#currentRefetchInterval = nextInterval\n\n if (\n this.#currentRefetchInterval === 0 ||\n !this.#shouldScheduleTimer(this.#currentRefetchInterval)\n ) {\n return\n }\n\n this.#refetchIntervalId = timeoutManager.setInterval(() => {\n if (\n this.options.refetchIntervalInBackground ||\n focusManager.isFocused()\n ) {\n this.#executeFetch()\n }\n }, this.#currentRefetchInterval)\n }\n\n #updateTimers(): void {\n this.#updateStaleTimeout()\n this.#updateRefetchInterval(this.#computeRefetchInterval())\n }\n\n #clearStaleTimeout(): void {\n if (this.#staleTimeoutId !== undefined) {\n timeoutManager.clearTimeout(this.#staleTimeoutId)\n this.#staleTimeoutId = undefined\n }\n }\n\n #clearRefetchInterval(): void {\n if (this.#refetchIntervalId !== undefined) {\n timeoutManager.clearInterval(this.#refetchIntervalId)\n this.#refetchIntervalId = undefined\n }\n }\n\n protected createResult(\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): QueryObserverResult<TData, TError> {\n const prevQuery = this.#currentQuery\n const prevOptions = this.options\n const prevResult = this.#currentResult as\n | QueryObserverResult<TData, TError>\n | undefined\n const prevResultState = this.#currentResultState\n const prevResultOptions = this.#currentResultOptions\n const queryChange = query !== prevQuery\n const queryInitialState = queryChange\n ? query.state\n : this.#currentQueryInitialState\n\n const { state } = query\n let newState = { ...state }\n let isPlaceholderData = false\n let data: TData | undefined\n\n // Optimistically set result in fetching state if needed\n if (options._optimisticResults) {\n const mounted = this.hasListeners()\n\n const fetchOnMount = !mounted && shouldFetchOnMount(query, options)\n\n const fetchOptionally =\n mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions)\n\n if (fetchOnMount || fetchOptionally) {\n newState = {\n ...newState,\n ...fetchState(state.data, query.options),\n }\n }\n if (options._optimisticResults === 'isRestoring') {\n newState.fetchStatus = 'idle'\n }\n }\n\n let { error, errorUpdatedAt, status } = newState\n\n // Per default, use query data\n data = newState.data as unknown as TData\n let skipSelect = false\n\n // use placeholderData if needed\n if (\n options.placeholderData !== undefined &&\n data === undefined &&\n status === 'pending'\n ) {\n let placeholderData\n\n // Memoize placeholder data\n if (\n prevResult?.isPlaceholderData &&\n options.placeholderData === prevResultOptions?.placeholderData\n ) {\n placeholderData = prevResult.data\n // we have to skip select when reading this memoization\n // because prevResult.data is already \"selected\"\n skipSelect = true\n } else {\n // compute placeholderData\n placeholderData =\n typeof options.placeholderData === 'function'\n ? (\n options.placeholderData as unknown as PlaceholderDataFunction<TQueryData>\n )(\n this.#lastQueryWithDefinedData?.state.data,\n this.#lastQueryWithDefinedData as any,\n )\n : options.placeholderData\n }\n\n if (placeholderData !== undefined) {\n status = 'success'\n data = replaceData(\n prevResult?.data,\n placeholderData as unknown,\n options,\n ) as TData\n isPlaceholderData = true\n }\n }\n\n // Select data if needed\n // this also runs placeholderData through the select function\n if (options.select && data !== undefined && !skipSelect) {\n // Memoize select result\n if (\n prevResult &&\n data === prevResultState?.data &&\n options.select === this.#selectFn\n ) {\n data = this.#selectResult\n } else {\n try {\n this.#selectFn = options.select\n data = options.select(data as any)\n data = replaceData(prevResult?.data, data, options)\n this.#selectResult = data\n this.#selectError = null\n } catch (selectError) {\n this.#selectError = selectError as TError\n }\n }\n } else if (data === undefined) {\n // a stored select error belongs to previously selected data; once that\n // data is gone (query switch or reset), it must not leak into this result\n this.#selectError = null\n }\n\n if (this.#selectError) {\n error = this.#selectError\n data = this.#selectResult\n errorUpdatedAt = Date.now()\n status = 'error'\n isPlaceholderData = false\n }\n\n const isFetching = newState.fetchStatus === 'fetching'\n const isPending = status === 'pending'\n const isError = status === 'error'\n\n const isLoading = isPending && isFetching\n const hasData = data !== undefined\n\n const result: QueryObserverBaseResult<TData, TError> = {\n status,\n fetchStatus: newState.fetchStatus,\n isPending,\n isSuccess: status === 'success',\n isError,\n isInitialLoading: isLoading,\n isLoading,\n data,\n dataUpdatedAt: newState.dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: newState.fetchFailureCount,\n failureReason: newState.fetchFailureReason,\n errorUpdateCount: newState.errorUpdateCount,\n isFetched: query.isFetched(),\n isFetchedAfterMount:\n newState.dataUpdateCount > queryInitialState.dataUpdateCount ||\n newState.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching,\n isRefetching: isFetching && !isPending,\n isLoadingError: isError && !hasData,\n isPaused: newState.fetchStatus === 'paused',\n isPlaceholderData,\n isRefetchError: isError && hasData,\n isStale: isStale(query, options),\n refetch: this.refetch,\n isEnabled: resolveQueryBoolean(options.enabled, query) !== false,\n }\n\n const nextResult = result as QueryObserverResult<TData, TError>\n\n return nextResult\n }\n\n updateResult(): void {\n const prevResult = this.#currentResult as\n | QueryObserverResult<TData, TError>\n | undefined\n\n const nextResult = this.createResult(this.#currentQuery, this.options)\n\n this.#currentResultState = this.#currentQuery.state\n this.#currentResultOptions = this.options\n\n if (this.#currentResultState.data !== undefined) {\n this.#lastQueryWithDefinedData = this.#currentQuery\n }\n\n // Only notify and update result if something has changed\n if (shallowEqualObjects(nextResult, prevResult)) {\n return\n }\n\n this.#currentResult = nextResult\n\n const shouldNotifyListeners = (): boolean => {\n if (!prevResult) {\n return true\n }\n\n const { notifyOnChangeProps } = this.options\n const notifyOnChangePropsValue =\n typeof notifyOnChangeProps === 'function'\n ? notifyOnChangeProps()\n : notifyOnChangeProps\n\n if (\n notifyOnChangePropsValue === 'all' ||\n (!notifyOnChangePropsValue && !this.#trackedProps.size)\n ) {\n return true\n }\n\n const includedProps = new Set(\n notifyOnChangePropsValue ?? this.#trackedProps,\n )\n\n if (this.options.throwOnError) {\n includedProps.add('error')\n }\n\n return Object.keys(this.#currentResult).some((key) => {\n const typedKey = key as keyof QueryObserverResult\n const changed = this.#currentResult[typedKey] !== prevResult[typedKey]\n\n return changed && includedProps.has(typedKey)\n })\n }\n\n this.#notify({ listeners: shouldNotifyListeners() })\n }\n\n #updateQuery(): void {\n const query = this.#client.getQueryCache().build(this.#client, this.options)\n\n if (query === this.#currentQuery) {\n return\n }\n\n const prevQuery = this.#currentQuery as\n | Query<TQueryFnData, TError, TQueryData, TQueryKey>\n | undefined\n this.#currentQuery = query\n this.#currentQueryInitialState = query.state\n\n if (this.hasListeners()) {\n prevQuery?.removeObserver(this)\n query.addObserver(this)\n }\n }\n\n onQueryUpdate(): void {\n this.updateResult()\n\n if (this.hasListeners()) {\n this.#updateTimers()\n }\n }\n\n #notify(notifyOptions: { listeners: boolean }): void {\n notifyManager.batch(() => {\n // First, trigger the listeners\n if (notifyOptions.listeners) {\n this.listeners.forEach((listener) => {\n listener(this.#currentResult)\n })\n }\n\n // Then the cache listeners\n this.#client.getQueryCache().notify({\n query: this.#currentQuery,\n type: 'observerResultsUpdated',\n })\n })\n }\n}\n\nfunction shouldLoadOnMount(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any>,\n): boolean {\n return (\n resolveQueryBoolean(options.enabled, query) !== false &&\n query.state.data === undefined &&\n !(\n query.state.status === 'error' &&\n resolveQueryBoolean(options.retryOnMount, query) === false\n )\n )\n}\n\nfunction shouldFetchOnMount(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n shouldLoadOnMount(query, options) ||\n (query.state.data !== undefined &&\n shouldFetchOn(query, options, options.refetchOnMount))\n )\n}\n\nfunction shouldFetchOn(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n field: (typeof options)['refetchOnMount'] &\n (typeof options)['refetchOnWindowFocus'] &\n (typeof options)['refetchOnReconnect'],\n) {\n if (\n resolveQueryBoolean(options.enabled, query) !== false &&\n resolveStaleTime(options.staleTime, query) !== 'static'\n ) {\n const value = typeof field === 'function' ? field(query) : field\n\n return value === 'always' || (value !== false && isStale(query, options))\n }\n return false\n}\n\nfunction shouldFetchOptionally(\n query: Query<any, any, any, any>,\n prevQuery: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n prevOptions: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n (query !== prevQuery ||\n resolveQueryBoolean(prevOptions.enabled, query) === false) &&\n (!options.suspense || query.state.status !== 'error') &&\n isStale(query, options)\n )\n}\n\nfunction isStale(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n resolveQueryBoolean(options.enabled, query) !== false &&\n query.isStaleByTime(resolveStaleTime(options.staleTime, query))\n )\n}\n\n// this function would decide if we will update the observer's 'current'\n// properties after an optimistic reading via getOptimisticResult\nfunction shouldAssignObserverCurrentProperties<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n observer: QueryObserver<TQueryFnData, TError, TData, TQueryData, TQueryKey>,\n optimisticResult: QueryObserverResult<TData, TError>,\n) {\n // if the newly created result isn't what the observer is holding as current,\n // then we'll need to update the properties as well\n if (!shallowEqualObjects(observer.getCurrentResult(), optimisticResult)) {\n return true\n }\n\n // basically, just keep previous properties if nothing changed\n return false\n}\n"],"mappings":"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"} | ||
| {"version":3,"file":"queryObserver.js","names":["#client","#selectError","#currentQuery","#executeFetch","#updateTimers","#clearStaleTimeout","#clearRefetchInterval","#updateQuery","#updateStaleTimeout","#computeRefetchInterval","#currentRefetchInterval","#updateRefetchInterval","#currentResult","#currentResultOptions","#currentResultState","#trackedProps","isServerEnvironment","#shouldScheduleTimer","#staleTimeoutId","#refetchIntervalId","#currentQueryInitialState","#lastQueryWithDefinedData","#selectFn","#selectResult"],"sources":["../../src/queryObserver.ts"],"sourcesContent":["import { focusManager } from './focusManager'\nimport { isServer as isServerEnvironment } from './environmentManager'\nimport { notifyManager } from './notifyManager'\nimport { fetchState } from './query'\nimport { Subscribable } from './subscribable'\nimport {\n isValidTimeout,\n noop,\n replaceData,\n resolveQueryValue,\n shallowEqualObjects,\n timeUntilStale,\n} from './utils'\nimport { timeoutManager } from './timeoutManager'\nimport type { ManagedTimerId } from './timeoutManager'\nimport type { FetchOptions, Query, QueryState } from './query'\nimport type { QueryClient } from './queryClient'\nimport type {\n DefaultError,\n DefaultedQueryObserverOptions,\n PlaceholderDataFunction,\n QueryKey,\n QueryObserverBaseResult,\n QueryObserverOptions,\n QueryObserverResult,\n RefetchOptions,\n} from './types'\n\ntype QueryObserverListener<TData, TError> = (\n result: QueryObserverResult<TData, TError>,\n) => void\n\ninterface ObserverFetchOptions extends FetchOptions {\n throwOnError?: boolean\n}\n\nexport class QueryObserver<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends Subscribable<QueryObserverListener<TData, TError>> {\n #client: QueryClient\n #currentQuery: Query<TQueryFnData, TError, TQueryData, TQueryKey> = undefined!\n #currentQueryInitialState: QueryState<TQueryData, TError> = undefined!\n #currentResult: QueryObserverResult<TData, TError> = undefined!\n #currentResultState?: QueryState<TQueryData, TError>\n #currentResultOptions?: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n #selectError: TError | null\n #selectFn?: (data: TQueryData) => TData\n #selectResult?: TData\n // This property keeps track of the last query with defined data.\n // It will be used to pass the previous data and query to the placeholder function between renders.\n #lastQueryWithDefinedData?: Query<TQueryFnData, TError, TQueryData, TQueryKey>\n #staleTimeoutId?: ManagedTimerId\n #refetchIntervalId?: ManagedTimerId\n #currentRefetchInterval?: number | false\n #trackedProps = new Set<keyof QueryObserverResult>()\n\n constructor(\n client: QueryClient,\n public options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ) {\n super()\n\n this.#client = client\n this.#selectError = null\n\n this.bindMethods()\n this.setOptions(options)\n }\n\n protected bindMethods(): void {\n this.refetch = this.refetch.bind(this)\n }\n\n protected onSubscribe(): void {\n if (this.listeners.size === 1) {\n this.#currentQuery.addObserver(this)\n\n if (shouldFetchOnMount(this.#currentQuery, this.options)) {\n this.#executeFetch()\n } else {\n this.updateResult()\n }\n\n this.#updateTimers()\n }\n }\n\n protected onUnsubscribe(): void {\n if (!this.hasListeners()) {\n this.destroy()\n }\n }\n\n shouldFetchOnReconnect(): boolean {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnReconnect,\n )\n }\n\n shouldFetchOnWindowFocus(): boolean {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnWindowFocus,\n )\n }\n\n destroy(): void {\n this.listeners = new Set()\n this.#clearStaleTimeout()\n this.#clearRefetchInterval()\n this.#currentQuery.removeObserver(this)\n }\n\n setOptions(\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): void {\n const prevOptions = this.options\n const prevQuery = this.#currentQuery\n\n this.options = this.#client.defaultQueryOptions(options)\n\n if (\n this.options.enabled !== undefined &&\n typeof this.options.enabled !== 'boolean' &&\n typeof this.options.enabled !== 'function' &&\n typeof resolveQueryValue(this.options.enabled, this.#currentQuery) !==\n 'boolean'\n ) {\n throw new Error(\n 'Expected enabled to be a boolean or a callback that returns a boolean',\n )\n }\n\n this.#updateQuery()\n this.#currentQuery.setOptions(this.options)\n\n if (\n prevOptions._defaulted &&\n !shallowEqualObjects(this.options, prevOptions)\n ) {\n this.#client.getQueryCache().notify({\n type: 'observerOptionsUpdated',\n query: this.#currentQuery,\n observer: this,\n })\n }\n\n const mounted = this.hasListeners()\n\n // Fetch if there are subscribers\n if (\n mounted &&\n shouldFetchOptionally(\n this.#currentQuery,\n prevQuery,\n this.options,\n prevOptions,\n )\n ) {\n this.#executeFetch()\n }\n\n // Update result\n this.updateResult()\n\n // Update stale interval if needed\n if (\n mounted &&\n (this.#currentQuery !== prevQuery ||\n resolveQueryValue(this.options.enabled, this.#currentQuery) !==\n resolveQueryValue(prevOptions.enabled, this.#currentQuery) ||\n resolveQueryValue(this.options.staleTime, this.#currentQuery) !==\n resolveQueryValue(prevOptions.staleTime, this.#currentQuery))\n ) {\n this.#updateStaleTimeout()\n }\n\n const nextRefetchInterval = this.#computeRefetchInterval()\n\n // Update refetch interval if needed\n if (\n mounted &&\n (this.#currentQuery !== prevQuery ||\n resolveQueryValue(this.options.enabled, this.#currentQuery) !==\n resolveQueryValue(prevOptions.enabled, this.#currentQuery) ||\n nextRefetchInterval !== this.#currentRefetchInterval)\n ) {\n this.#updateRefetchInterval(nextRefetchInterval)\n }\n }\n\n getOptimisticResult(\n options: DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): QueryObserverResult<TData, TError> {\n const query = this.#client.getQueryCache().build(this.#client, options)\n\n const result = this.createResult(query, options)\n\n if (!shallowEqualObjects(this.getCurrentResult(), result)) {\n // this assigns the optimistic result to the current Observer\n // because if the query function changes, useQuery will be performing\n // an effect where it would fetch again.\n // When the fetch finishes, we perform a deep data cloning in order\n // to reuse objects references. This deep data clone is performed against\n // the `observer.currentResult.data` property\n // When QueryKey changes, we refresh the query and get new `optimistic`\n // result, while we leave the `observer.currentResult`, so when new data\n // arrives, it finds the old `observer.currentResult` which is related\n // to the old QueryKey. Which means that currentResult and selectData are\n // out of sync already.\n // To solve this, we move the cursor of the currentResult every time\n // an observer reads an optimistic value.\n\n // When keeping the previous data, the result doesn't change until new\n // data arrives.\n this.#currentResult = result\n this.#currentResultOptions = this.options\n this.#currentResultState = this.#currentQuery.state\n }\n return result\n }\n\n getCurrentResult(): QueryObserverResult<TData, TError> {\n return this.#currentResult\n }\n\n trackResult(\n result: QueryObserverResult<TData, TError>,\n onPropTracked?: (key: keyof QueryObserverResult) => void,\n ): QueryObserverResult<TData, TError> {\n return new Proxy(result, {\n get: (target, key) => {\n this.trackProp(key as keyof QueryObserverResult)\n onPropTracked?.(key as keyof QueryObserverResult)\n return Reflect.get(target, key)\n },\n })\n }\n\n trackProp(key: keyof QueryObserverResult) {\n this.#trackedProps.add(key)\n }\n\n getCurrentQuery(): Query<TQueryFnData, TError, TQueryData, TQueryKey> {\n return this.#currentQuery\n }\n\n refetch({ ...options }: RefetchOptions = {}): Promise<\n QueryObserverResult<TData, TError>\n > {\n return this.fetch({\n ...options,\n })\n }\n\n fetchOptimistic(\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): Promise<QueryObserverResult<TData, TError>> {\n const defaultedOptions = this.#client.defaultQueryOptions(options)\n\n const query = this.#client\n .getQueryCache()\n .build(this.#client, defaultedOptions)\n\n let unsubscribe = () => {}\n let resolveEarly:\n | ((result: QueryObserverResult<TData, TError>) => void)\n | undefined\n\n const cachePromise = new Promise<QueryObserverResult<TData, TError>>(\n (resolve) => {\n resolveEarly = resolve\n unsubscribe = this.#client.getQueryCache().subscribe((event) => {\n if (\n event.type === 'updated' &&\n event.query.queryHash === query.queryHash &&\n query.state.data !== undefined\n ) {\n unsubscribe()\n resolve(this.createResult(query, defaultedOptions))\n }\n })\n },\n )\n\n return Promise.race([\n query\n .fetch()\n .then(() => {\n const result = this.createResult(query, defaultedOptions)\n // Settle the subscriber promise so both branches always settle.\n // This value is ignored by Promise.race since the fetch branch already won.\n resolveEarly?.(result)\n return result\n })\n .finally(() => {\n unsubscribe()\n }),\n cachePromise,\n ])\n }\n\n protected fetch(\n fetchOptions: ObserverFetchOptions,\n ): Promise<QueryObserverResult<TData, TError>> {\n return this.#executeFetch({\n ...fetchOptions,\n cancelRefetch: fetchOptions.cancelRefetch ?? true,\n }).then(() => {\n this.updateResult()\n return this.#currentResult\n })\n }\n\n #executeFetch(\n fetchOptions?: Omit<ObserverFetchOptions, 'initialPromise'>,\n ): Promise<TQueryData | undefined> {\n // Make sure we reference the latest query as the current one might have been removed\n this.#updateQuery()\n\n // Fetch\n let promise: Promise<TQueryData | undefined> = this.#currentQuery.fetch(\n this.options,\n fetchOptions,\n )\n\n if (!fetchOptions?.throwOnError) {\n promise = promise.catch(noop)\n }\n\n return promise\n }\n\n #shouldScheduleTimer(timeout: unknown): timeout is number {\n return (\n !isServerEnvironment() &&\n resolveQueryValue(this.options.enabled, this.#currentQuery) !== false &&\n isValidTimeout(timeout)\n )\n }\n\n #updateStaleTimeout(): void {\n this.#clearStaleTimeout()\n const staleTime = resolveQueryValue(\n this.options.staleTime,\n this.#currentQuery,\n )\n\n if (this.#currentResult.isStale || !this.#shouldScheduleTimer(staleTime)) {\n return\n }\n\n const time = timeUntilStale(this.#currentResult.dataUpdatedAt, staleTime)\n\n // The timeout is sometimes triggered 1 ms before the stale time expiration.\n // To mitigate this issue we always add 1 ms to the timeout.\n const timeout = time + 1\n\n this.#staleTimeoutId = timeoutManager.setTimeout(() => {\n if (!this.#currentResult.isStale) {\n this.updateResult()\n }\n }, timeout)\n }\n\n #computeRefetchInterval() {\n return (\n (typeof this.options.refetchInterval === 'function'\n ? this.options.refetchInterval(this.#currentQuery)\n : this.options.refetchInterval) ?? false\n )\n }\n\n #updateRefetchInterval(nextInterval: number | false): void {\n this.#clearRefetchInterval()\n\n this.#currentRefetchInterval = nextInterval\n\n if (\n this.#currentRefetchInterval === 0 ||\n !this.#shouldScheduleTimer(this.#currentRefetchInterval)\n ) {\n return\n }\n\n this.#refetchIntervalId = timeoutManager.setInterval(() => {\n if (\n this.options.refetchIntervalInBackground ||\n focusManager.isFocused()\n ) {\n this.#executeFetch()\n }\n }, this.#currentRefetchInterval)\n }\n\n #updateTimers(): void {\n this.#updateStaleTimeout()\n this.#updateRefetchInterval(this.#computeRefetchInterval())\n }\n\n #clearStaleTimeout(): void {\n if (this.#staleTimeoutId !== undefined) {\n timeoutManager.clearTimeout(this.#staleTimeoutId)\n this.#staleTimeoutId = undefined\n }\n }\n\n #clearRefetchInterval(): void {\n if (this.#refetchIntervalId !== undefined) {\n timeoutManager.clearInterval(this.#refetchIntervalId)\n this.#refetchIntervalId = undefined\n }\n }\n\n protected createResult(\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): QueryObserverResult<TData, TError> {\n const prevQuery = this.#currentQuery\n const prevOptions = this.options\n const prevResult = this.#currentResult as\n | QueryObserverResult<TData, TError>\n | undefined\n const prevResultState = this.#currentResultState\n const prevResultOptions = this.#currentResultOptions\n const queryChange = query !== prevQuery\n const queryInitialState = queryChange\n ? query.state\n : this.#currentQueryInitialState\n\n const { state } = query\n let newState = { ...state }\n let isPlaceholderData = false\n let data: TData | undefined\n\n // Optimistically set result in fetching state if needed\n if (options._optimisticResults) {\n const mounted = this.hasListeners()\n\n const fetchOnMount = !mounted && shouldFetchOnMount(query, options)\n\n const fetchOptionally =\n mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions)\n\n if (fetchOnMount || fetchOptionally) {\n newState = {\n ...newState,\n ...fetchState(state.data, query.options),\n }\n }\n if (options._optimisticResults === 'isRestoring') {\n newState.fetchStatus = 'idle'\n }\n }\n\n let { error, errorUpdatedAt, status } = newState\n\n // Per default, use query data\n data = newState.data as unknown as TData\n let skipSelect = false\n\n // use placeholderData if needed\n if (\n options.placeholderData !== undefined &&\n data === undefined &&\n status === 'pending'\n ) {\n let placeholderData\n\n // Memoize placeholder data\n if (\n prevResult?.isPlaceholderData &&\n options.placeholderData === prevResultOptions?.placeholderData\n ) {\n placeholderData = prevResult.data\n // we have to skip select when reading this memoization\n // because prevResult.data is already \"selected\"\n skipSelect = true\n } else {\n // compute placeholderData\n placeholderData =\n typeof options.placeholderData === 'function'\n ? (\n options.placeholderData as unknown as PlaceholderDataFunction<TQueryData>\n )(\n this.#lastQueryWithDefinedData?.state.data,\n this.#lastQueryWithDefinedData as any,\n )\n : options.placeholderData\n }\n\n if (placeholderData !== undefined) {\n status = 'success'\n data = replaceData(\n prevResult?.data,\n placeholderData as unknown,\n options,\n ) as TData\n isPlaceholderData = true\n }\n }\n\n // Select data if needed\n // this also runs placeholderData through the select function\n if (options.select && data !== undefined && !skipSelect) {\n // Memoize select result\n if (\n prevResult &&\n data === prevResultState?.data &&\n options.select === this.#selectFn\n ) {\n data = this.#selectResult\n } else {\n try {\n this.#selectFn = options.select\n data = options.select(data as any)\n data = replaceData(prevResult?.data, data, options)\n this.#selectResult = data\n this.#selectError = null\n } catch (selectError) {\n this.#selectError = selectError as TError\n }\n }\n } else if (data === undefined) {\n // a stored select error belongs to previously selected data; once that\n // data is gone (query switch or reset), it must not leak into this result\n this.#selectError = null\n }\n\n if (this.#selectError) {\n error = this.#selectError\n data = this.#selectResult\n errorUpdatedAt = Date.now()\n status = 'error'\n isPlaceholderData = false\n }\n\n const isFetching = newState.fetchStatus === 'fetching'\n const isPending = status === 'pending'\n const isError = status === 'error'\n\n const isLoading = isPending && isFetching\n const hasData = data !== undefined\n\n const result: QueryObserverBaseResult<TData, TError> = {\n status,\n fetchStatus: newState.fetchStatus,\n isPending,\n isSuccess: status === 'success',\n isError,\n isInitialLoading: isLoading,\n isLoading,\n data,\n dataUpdatedAt: newState.dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: newState.fetchFailureCount,\n failureReason: newState.fetchFailureReason,\n errorUpdateCount: newState.errorUpdateCount,\n isFetched: query.isFetched(),\n isFetchedAfterMount:\n newState.dataUpdateCount > queryInitialState.dataUpdateCount ||\n newState.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching,\n isRefetching: isFetching && !isPending,\n isLoadingError: isError && !hasData,\n isPaused: newState.fetchStatus === 'paused',\n isPlaceholderData,\n isRefetchError: isError && hasData,\n isStale: isStale(query, options),\n refetch: this.refetch,\n isEnabled: resolveQueryValue(options.enabled, query) !== false,\n }\n\n const nextResult = result as QueryObserverResult<TData, TError>\n\n return nextResult\n }\n\n updateResult(): void {\n const prevResult = this.#currentResult as\n | QueryObserverResult<TData, TError>\n | undefined\n\n const nextResult = this.createResult(this.#currentQuery, this.options)\n\n this.#currentResultState = this.#currentQuery.state\n this.#currentResultOptions = this.options\n\n if (this.#currentResultState.data !== undefined) {\n this.#lastQueryWithDefinedData = this.#currentQuery\n }\n\n // Only notify and update result if something has changed\n if (shallowEqualObjects(nextResult, prevResult)) {\n return\n }\n\n this.#currentResult = nextResult\n\n const shouldNotifyListeners = (): boolean => {\n if (!prevResult) {\n return true\n }\n\n const { notifyOnChangeProps } = this.options\n const notifyOnChangePropsValue =\n typeof notifyOnChangeProps === 'function'\n ? notifyOnChangeProps()\n : notifyOnChangeProps\n\n if (\n notifyOnChangePropsValue === 'all' ||\n (!notifyOnChangePropsValue && !this.#trackedProps.size)\n ) {\n return true\n }\n\n const includedProps = new Set(\n notifyOnChangePropsValue ?? this.#trackedProps,\n )\n\n if (this.options.throwOnError) {\n includedProps.add('error')\n }\n\n return Object.keys(this.#currentResult).some((key) => {\n const typedKey = key as keyof QueryObserverResult\n const changed = this.#currentResult[typedKey] !== prevResult[typedKey]\n\n return changed && includedProps.has(typedKey)\n })\n }\n\n const notifyListeners = shouldNotifyListeners()\n\n notifyManager.batch(() => {\n // First, trigger the listeners\n if (notifyListeners) {\n this.listeners.forEach((listener) => {\n listener(this.#currentResult)\n })\n }\n\n // Then the cache listeners\n this.#client.getQueryCache().notify({\n query: this.#currentQuery,\n type: 'observerResultsUpdated',\n })\n })\n }\n\n #updateQuery(): void {\n const query = this.#client.getQueryCache().build(this.#client, this.options)\n\n if (query === this.#currentQuery) {\n return\n }\n\n const prevQuery = this.#currentQuery as\n | Query<TQueryFnData, TError, TQueryData, TQueryKey>\n | undefined\n this.#currentQuery = query\n this.#currentQueryInitialState = query.state\n\n if (this.hasListeners()) {\n prevQuery?.removeObserver(this)\n query.addObserver(this)\n }\n }\n\n onQueryUpdate(): void {\n this.updateResult()\n\n if (this.hasListeners()) {\n this.#updateTimers()\n }\n }\n}\n\nfunction shouldLoadOnMount(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any>,\n): boolean {\n return (\n resolveQueryValue(options.enabled, query) !== false &&\n query.state.data === undefined &&\n !(\n query.state.status === 'error' &&\n resolveQueryValue(options.retryOnMount, query) === false\n )\n )\n}\n\nfunction shouldFetchOnMount(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n shouldLoadOnMount(query, options) ||\n (query.state.data !== undefined &&\n shouldFetchOn(query, options, options.refetchOnMount))\n )\n}\n\nfunction shouldFetchOn(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n field: (typeof options)['refetchOnMount'] &\n (typeof options)['refetchOnWindowFocus'] &\n (typeof options)['refetchOnReconnect'],\n) {\n if (\n resolveQueryValue(options.enabled, query) !== false &&\n resolveQueryValue(options.staleTime, query) !== 'static'\n ) {\n const value = typeof field === 'function' ? field(query) : field\n\n return value === 'always' || (value !== false && isStale(query, options))\n }\n return false\n}\n\nfunction shouldFetchOptionally(\n query: Query<any, any, any, any>,\n prevQuery: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n prevOptions: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n (query !== prevQuery ||\n resolveQueryValue(prevOptions.enabled, query) === false) &&\n (!options.suspense || query.state.status !== 'error') &&\n isStale(query, options)\n )\n}\n\nfunction isStale(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n resolveQueryValue(options.enabled, query) !== false &&\n query.isStaleByTime(resolveQueryValue(options.staleTime, query))\n )\n}\n"],"mappings":"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"} |
@@ -18,3 +18,3 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); | ||
| updateGcTime(newGcTime) { | ||
| this.gcTime = Math.max(this.gcTime || 0, newGcTime ?? (require_environmentManager.environmentManager.isServer() ? Infinity : 3e5)); | ||
| this.gcTime = Math.max(this.gcTime || 0, newGcTime ?? (require_environmentManager.isServer() ? Infinity : 3e5)); | ||
| } | ||
@@ -21,0 +21,0 @@ clearGcTimeout() { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"removable.cjs","names":["isValidTimeout","#gcTimeout","timeoutManager","environmentManager"],"sources":["../../src/removable.ts"],"sourcesContent":["import { timeoutManager } from './timeoutManager'\nimport { environmentManager } from './environmentManager'\nimport { isValidTimeout } from './utils'\nimport type { ManagedTimerId } from './timeoutManager'\n\nexport abstract class Removable {\n gcTime!: number\n #gcTimeout?: ManagedTimerId\n\n destroy(): void {\n this.clearGcTimeout()\n }\n\n protected scheduleGc(): void {\n this.clearGcTimeout()\n\n if (isValidTimeout(this.gcTime)) {\n this.#gcTimeout = timeoutManager.setTimeout(() => {\n this.optionalRemove()\n }, this.gcTime)\n }\n }\n\n protected updateGcTime(newGcTime: number | undefined): void {\n // Default to 5 minutes (Infinity for server-side) if no gcTime is set\n this.gcTime = Math.max(\n this.gcTime || 0,\n newGcTime ?? (environmentManager.isServer() ? Infinity : 5 * 60 * 1000),\n )\n }\n\n protected clearGcTimeout() {\n if (this.#gcTimeout !== undefined) {\n timeoutManager.clearTimeout(this.#gcTimeout)\n this.#gcTimeout = undefined\n }\n }\n\n protected abstract optionalRemove(): void\n}\n"],"mappings":";;;;;AAKA,IAAsB,YAAtB,MAAgC;CAE9B;CAEA,UAAgB;EACd,KAAK,eAAe;CACtB;CAEA,aAA6B;EAC3B,KAAK,eAAe;EAEpB,IAAIA,cAAAA,eAAe,KAAK,MAAM,GAC5B,KAAKC,aAAaC,uBAAAA,eAAe,iBAAiB;GAChD,KAAK,eAAe;EACtB,GAAG,KAAK,MAAM;CAElB;CAEA,aAAuB,WAAqC;EAE1D,KAAK,SAAS,KAAK,IACjB,KAAK,UAAU,GACf,cAAcC,2BAAAA,mBAAmB,SAAS,IAAI,WAAW,IAC3D;CACF;CAEA,iBAA2B;EACzB,IAAI,KAAKF,eAAe,KAAA,GAAW;GACjC,uBAAA,eAAe,aAAa,KAAKA,UAAU;GAC3C,KAAKA,aAAa,KAAA;EACpB;CACF;AAGF"} | ||
| {"version":3,"file":"removable.cjs","names":["isValidTimeout","#gcTimeout","timeoutManager","isServerEnvironment"],"sources":["../../src/removable.ts"],"sourcesContent":["import { timeoutManager } from './timeoutManager'\nimport { isServer as isServerEnvironment } from './environmentManager'\nimport { isValidTimeout } from './utils'\nimport type { ManagedTimerId } from './timeoutManager'\n\nexport abstract class Removable {\n gcTime!: number\n #gcTimeout?: ManagedTimerId\n\n destroy(): void {\n this.clearGcTimeout()\n }\n\n protected scheduleGc(): void {\n this.clearGcTimeout()\n\n if (isValidTimeout(this.gcTime)) {\n this.#gcTimeout = timeoutManager.setTimeout(() => {\n this.optionalRemove()\n }, this.gcTime)\n }\n }\n\n protected updateGcTime(newGcTime: number | undefined): void {\n // Default to 5 minutes (Infinity for server-side) if no gcTime is set\n this.gcTime = Math.max(\n this.gcTime || 0,\n newGcTime ?? (isServerEnvironment() ? Infinity : 5 * 60 * 1000),\n )\n }\n\n protected clearGcTimeout() {\n if (this.#gcTimeout !== undefined) {\n timeoutManager.clearTimeout(this.#gcTimeout)\n this.#gcTimeout = undefined\n }\n }\n\n protected abstract optionalRemove(): void\n}\n"],"mappings":";;;;;AAKA,IAAsB,YAAtB,MAAgC;CAE9B;CAEA,UAAgB;EACd,KAAK,eAAe;CACtB;CAEA,aAA6B;EAC3B,KAAK,eAAe;EAEpB,IAAIA,cAAAA,eAAe,KAAK,MAAM,GAC5B,KAAKC,aAAaC,uBAAAA,eAAe,iBAAiB;GAChD,KAAK,eAAe;EACtB,GAAG,KAAK,MAAM;CAElB;CAEA,aAAuB,WAAqC;EAE1D,KAAK,SAAS,KAAK,IACjB,KAAK,UAAU,GACf,cAAcC,2BAAAA,SAAoB,IAAI,WAAW,IACnD;CACF;CAEA,iBAA2B;EACzB,IAAI,KAAKF,eAAe,KAAA,GAAW;GACjC,uBAAA,eAAe,aAAa,KAAKA,UAAU;GAC3C,KAAKA,aAAa,KAAA;EACpB;CACF;AAGF"} |
| import { timeoutManager } from "./timeoutManager.js"; | ||
| import { isValidTimeout } from "./utils.js"; | ||
| import { environmentManager } from "./environmentManager.js"; | ||
| import { isServer } from "./environmentManager.js"; | ||
| //#region src/removable.ts | ||
@@ -17,3 +17,3 @@ var Removable = class { | ||
| updateGcTime(newGcTime) { | ||
| this.gcTime = Math.max(this.gcTime || 0, newGcTime ?? (environmentManager.isServer() ? Infinity : 3e5)); | ||
| this.gcTime = Math.max(this.gcTime || 0, newGcTime ?? (isServer() ? Infinity : 3e5)); | ||
| } | ||
@@ -20,0 +20,0 @@ clearGcTimeout() { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"removable.js","names":["#gcTimeout"],"sources":["../../src/removable.ts"],"sourcesContent":["import { timeoutManager } from './timeoutManager'\nimport { environmentManager } from './environmentManager'\nimport { isValidTimeout } from './utils'\nimport type { ManagedTimerId } from './timeoutManager'\n\nexport abstract class Removable {\n gcTime!: number\n #gcTimeout?: ManagedTimerId\n\n destroy(): void {\n this.clearGcTimeout()\n }\n\n protected scheduleGc(): void {\n this.clearGcTimeout()\n\n if (isValidTimeout(this.gcTime)) {\n this.#gcTimeout = timeoutManager.setTimeout(() => {\n this.optionalRemove()\n }, this.gcTime)\n }\n }\n\n protected updateGcTime(newGcTime: number | undefined): void {\n // Default to 5 minutes (Infinity for server-side) if no gcTime is set\n this.gcTime = Math.max(\n this.gcTime || 0,\n newGcTime ?? (environmentManager.isServer() ? Infinity : 5 * 60 * 1000),\n )\n }\n\n protected clearGcTimeout() {\n if (this.#gcTimeout !== undefined) {\n timeoutManager.clearTimeout(this.#gcTimeout)\n this.#gcTimeout = undefined\n }\n }\n\n protected abstract optionalRemove(): void\n}\n"],"mappings":";;;;AAKA,IAAsB,YAAtB,MAAgC;CAE9B;CAEA,UAAgB;EACd,KAAK,eAAe;CACtB;CAEA,aAA6B;EAC3B,KAAK,eAAe;EAEpB,IAAI,eAAe,KAAK,MAAM,GAC5B,KAAKA,aAAa,eAAe,iBAAiB;GAChD,KAAK,eAAe;EACtB,GAAG,KAAK,MAAM;CAElB;CAEA,aAAuB,WAAqC;EAE1D,KAAK,SAAS,KAAK,IACjB,KAAK,UAAU,GACf,cAAc,mBAAmB,SAAS,IAAI,WAAW,IAC3D;CACF;CAEA,iBAA2B;EACzB,IAAI,KAAKA,eAAe,KAAA,GAAW;GACjC,eAAe,aAAa,KAAKA,UAAU;GAC3C,KAAKA,aAAa,KAAA;EACpB;CACF;AAGF"} | ||
| {"version":3,"file":"removable.js","names":["#gcTimeout","isServerEnvironment"],"sources":["../../src/removable.ts"],"sourcesContent":["import { timeoutManager } from './timeoutManager'\nimport { isServer as isServerEnvironment } from './environmentManager'\nimport { isValidTimeout } from './utils'\nimport type { ManagedTimerId } from './timeoutManager'\n\nexport abstract class Removable {\n gcTime!: number\n #gcTimeout?: ManagedTimerId\n\n destroy(): void {\n this.clearGcTimeout()\n }\n\n protected scheduleGc(): void {\n this.clearGcTimeout()\n\n if (isValidTimeout(this.gcTime)) {\n this.#gcTimeout = timeoutManager.setTimeout(() => {\n this.optionalRemove()\n }, this.gcTime)\n }\n }\n\n protected updateGcTime(newGcTime: number | undefined): void {\n // Default to 5 minutes (Infinity for server-side) if no gcTime is set\n this.gcTime = Math.max(\n this.gcTime || 0,\n newGcTime ?? (isServerEnvironment() ? Infinity : 5 * 60 * 1000),\n )\n }\n\n protected clearGcTimeout() {\n if (this.#gcTimeout !== undefined) {\n timeoutManager.clearTimeout(this.#gcTimeout)\n this.#gcTimeout = undefined\n }\n }\n\n protected abstract optionalRemove(): void\n}\n"],"mappings":";;;;AAKA,IAAsB,YAAtB,MAAgC;CAE9B;CAEA,UAAgB;EACd,KAAK,eAAe;CACtB;CAEA,aAA6B;EAC3B,KAAK,eAAe;EAEpB,IAAI,eAAe,KAAK,MAAM,GAC5B,KAAKA,aAAa,eAAe,iBAAiB;GAChD,KAAK,eAAe;EACtB,GAAG,KAAK,MAAM;CAElB;CAEA,aAAuB,WAAqC;EAE1D,KAAK,SAAS,KAAK,IACjB,KAAK,UAAU,GACf,cAAcC,SAAoB,IAAI,WAAW,IACnD;CACF;CAEA,iBAA2B;EACzB,IAAI,KAAKD,eAAe,KAAA,GAAW;GACjC,eAAe,aAAa,KAAKA,UAAU;GAC3C,KAAKA,aAAa,KAAA;EACpB;CACF;AAGF"} |
@@ -90,3 +90,3 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); | ||
| if (isResolved()) return; | ||
| const retry = config.retry ?? (require_environmentManager.environmentManager.isServer() ? 0 : 3); | ||
| const retry = config.retry ?? (require_environmentManager.isServer() ? 0 : 3); | ||
| const retryDelay = config.retryDelay ?? defaultRetryDelay; | ||
@@ -93,0 +93,0 @@ const delay = typeof retryDelay === "function" ? retryDelay(failureCount, error) : retryDelay; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"retryer.cjs","names":["onlineManager","noop","focusManager","environmentManager"],"sources":["../../src/retryer.ts"],"sourcesContent":["import { focusManager } from './focusManager'\nimport { onlineManager } from './onlineManager'\nimport { environmentManager } from './environmentManager'\nimport { noop, sleep } from './utils'\nimport type { CancelOptions, DefaultError, NetworkMode } from './types'\n\n// TYPES\n\ninterface RetryerConfig<TData = unknown, TError = DefaultError> {\n fn: () => TData | Promise<TData>\n initialPromise?: Promise<TData>\n onCancel?: (error: TError) => void\n onFail?: (failureCount: number, error: TError) => void\n onPause?: () => void\n onContinue?: () => void\n retry?: RetryValue<TError>\n retryDelay?: RetryDelayValue<TError>\n networkMode: NetworkMode | undefined\n canRun: () => boolean\n}\n\nexport interface Retryer<TData = unknown> {\n promise: Promise<TData>\n cancel: (cancelOptions?: CancelOptions) => void\n continue: () => Promise<unknown>\n cancelRetry: () => void\n continueRetry: () => void\n canStart: () => boolean\n start: () => Promise<TData>\n status: () => 'pending' | 'resolved' | 'rejected'\n}\n\ntype RetryerStatus = 'pending' | 'resolved' | 'rejected'\n\nexport type RetryValue<TError> = boolean | number | ShouldRetryFunction<TError>\n\ntype ShouldRetryFunction<TError = DefaultError> = (\n failureCount: number,\n error: TError,\n) => boolean\n\nexport type RetryDelayValue<TError> = number | RetryDelayFunction<TError>\n\ntype RetryDelayFunction<TError = DefaultError> = (\n failureCount: number,\n error: TError,\n) => number\n\nfunction defaultRetryDelay(failureCount: number) {\n return Math.min(1000 * 2 ** failureCount, 30000)\n}\n\nexport function canFetch(networkMode: NetworkMode | undefined): boolean {\n return (networkMode ?? 'online') === 'online'\n ? onlineManager.isOnline()\n : true\n}\n\nexport class CancelledError extends Error {\n revert?: boolean\n silent?: boolean\n constructor(options?: CancelOptions) {\n super('CancelledError')\n this.revert = options?.revert\n this.silent = options?.silent\n }\n}\n\n/**\n * @deprecated Use instanceof `CancelledError` instead.\n */\nexport function isCancelledError(value: any): value is CancelledError {\n return value instanceof CancelledError\n}\n\nexport function createRetryer<TData = unknown, TError = DefaultError>(\n config: RetryerConfig<TData, TError>,\n): Retryer<TData> {\n let isRetryCancelled = false\n let failureCount = 0\n let continueFn: ((value?: unknown) => void) | undefined\n let status: RetryerStatus = 'pending'\n let promiseResolve: (data: TData) => void\n let promiseReject: (error: TError) => void\n\n const promise = new Promise<TData>((resolve, reject) => {\n promiseResolve = resolve\n promiseReject = reject\n })\n promise.catch(noop)\n\n const isResolved = () => status !== 'pending'\n\n const cancel = (cancelOptions?: CancelOptions): void => {\n if (!isResolved()) {\n const error = new CancelledError(cancelOptions) as TError\n reject(error)\n\n config.onCancel?.(error)\n }\n }\n const cancelRetry = () => {\n isRetryCancelled = true\n }\n\n const continueRetry = () => {\n isRetryCancelled = false\n }\n\n const canContinue = () =>\n focusManager.isFocused() &&\n (config.networkMode === 'always' || onlineManager.isOnline()) &&\n config.canRun()\n\n const canStart = () => canFetch(config.networkMode) && config.canRun()\n\n const resolve = (value: any) => {\n if (!isResolved()) {\n continueFn?.()\n status = 'resolved'\n promiseResolve(value)\n }\n }\n\n const reject = (value: any) => {\n if (!isResolved()) {\n continueFn?.()\n status = 'rejected'\n promiseReject(value)\n }\n }\n\n const pause = () => {\n return new Promise((continueResolve) => {\n continueFn = (value) => {\n if (isResolved() || canContinue()) {\n continueResolve(value)\n }\n }\n config.onPause?.()\n }).then(() => {\n continueFn = undefined\n if (!isResolved()) {\n config.onContinue?.()\n }\n })\n }\n\n // Create loop function\n const run = () => {\n // Do nothing if already resolved\n if (isResolved()) {\n return\n }\n\n let promiseOrValue: any\n\n // we can re-use config.initialPromise on the first call of run()\n const initialPromise =\n failureCount === 0 ? config.initialPromise : undefined\n\n // Execute query\n try {\n promiseOrValue = initialPromise ?? config.fn()\n } catch (error) {\n promiseOrValue = Promise.reject(error)\n }\n\n Promise.resolve(promiseOrValue)\n .then(resolve)\n .catch((error) => {\n // Stop if the fetch is already resolved\n if (isResolved()) {\n return\n }\n\n // Do we need to retry the request?\n const retry = config.retry ?? (environmentManager.isServer() ? 0 : 3)\n const retryDelay = config.retryDelay ?? defaultRetryDelay\n const delay =\n typeof retryDelay === 'function'\n ? retryDelay(failureCount, error)\n : retryDelay\n const shouldRetry =\n retry === true ||\n (typeof retry === 'number' && failureCount < retry) ||\n (typeof retry === 'function' && retry(failureCount, error))\n\n if (isRetryCancelled || !shouldRetry) {\n // We are done if the query does not need to be retried\n reject(error)\n return\n }\n\n failureCount++\n\n // Notify on fail\n config.onFail?.(failureCount, error)\n\n // Delay\n sleep(delay)\n // Pause if the document is not visible or when the device is offline\n .then(() => {\n return canContinue() ? undefined : pause()\n })\n .then(() => {\n if (isRetryCancelled) {\n reject(error)\n } else {\n run()\n }\n })\n })\n }\n\n return {\n promise,\n status: () => status,\n cancel,\n continue: () => {\n continueFn?.()\n return promise\n },\n cancelRetry,\n continueRetry,\n canStart,\n start: () => {\n // Start loop\n if (canStart()) {\n run()\n } else {\n pause().then(run)\n }\n return promise\n },\n }\n}\n"],"mappings":"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"} | ||
| {"version":3,"file":"retryer.cjs","names":["onlineManager","noop","focusManager","isServerEnvironment"],"sources":["../../src/retryer.ts"],"sourcesContent":["import { focusManager } from './focusManager'\nimport { onlineManager } from './onlineManager'\nimport { isServer as isServerEnvironment } from './environmentManager'\nimport { noop, sleep } from './utils'\nimport type { CancelOptions, DefaultError, NetworkMode } from './types'\n\n// TYPES\n\ninterface RetryerConfig<TData = unknown, TError = DefaultError> {\n fn: () => TData | Promise<TData>\n initialPromise?: Promise<TData>\n onCancel?: (error: TError) => void\n onFail?: (failureCount: number, error: TError) => void\n onPause?: () => void\n onContinue?: () => void\n retry?: RetryValue<TError>\n retryDelay?: RetryDelayValue<TError>\n networkMode: NetworkMode | undefined\n canRun: () => boolean\n}\n\nexport interface Retryer<TData = unknown> {\n promise: Promise<TData>\n cancel: (cancelOptions?: CancelOptions) => void\n continue: () => Promise<unknown>\n cancelRetry: () => void\n continueRetry: () => void\n canStart: () => boolean\n start: () => Promise<TData>\n status: () => 'pending' | 'resolved' | 'rejected'\n}\n\ntype RetryerStatus = 'pending' | 'resolved' | 'rejected'\n\nexport type RetryValue<TError> = boolean | number | ShouldRetryFunction<TError>\n\ntype ShouldRetryFunction<TError = DefaultError> = (\n failureCount: number,\n error: TError,\n) => boolean\n\nexport type RetryDelayValue<TError> = number | RetryDelayFunction<TError>\n\ntype RetryDelayFunction<TError = DefaultError> = (\n failureCount: number,\n error: TError,\n) => number\n\nfunction defaultRetryDelay(failureCount: number) {\n return Math.min(1000 * 2 ** failureCount, 30000)\n}\n\nexport function canFetch(networkMode: NetworkMode | undefined): boolean {\n return (networkMode ?? 'online') === 'online'\n ? onlineManager.isOnline()\n : true\n}\n\nexport class CancelledError extends Error {\n revert?: boolean\n silent?: boolean\n constructor(options?: CancelOptions) {\n super('CancelledError')\n this.revert = options?.revert\n this.silent = options?.silent\n }\n}\n\n/**\n * @deprecated Use instanceof `CancelledError` instead.\n */\nexport function isCancelledError(value: any): value is CancelledError {\n return value instanceof CancelledError\n}\n\nexport function createRetryer<TData = unknown, TError = DefaultError>(\n config: RetryerConfig<TData, TError>,\n): Retryer<TData> {\n let isRetryCancelled = false\n let failureCount = 0\n let continueFn: ((value?: unknown) => void) | undefined\n let status: RetryerStatus = 'pending'\n let promiseResolve: (data: TData) => void\n let promiseReject: (error: TError) => void\n\n const promise = new Promise<TData>((resolve, reject) => {\n promiseResolve = resolve\n promiseReject = reject\n })\n promise.catch(noop)\n\n const isResolved = () => status !== 'pending'\n\n const cancel = (cancelOptions?: CancelOptions): void => {\n if (!isResolved()) {\n const error = new CancelledError(cancelOptions) as TError\n reject(error)\n\n config.onCancel?.(error)\n }\n }\n const cancelRetry = () => {\n isRetryCancelled = true\n }\n\n const continueRetry = () => {\n isRetryCancelled = false\n }\n\n const canContinue = () =>\n focusManager.isFocused() &&\n (config.networkMode === 'always' || onlineManager.isOnline()) &&\n config.canRun()\n\n const canStart = () => canFetch(config.networkMode) && config.canRun()\n\n const resolve = (value: any) => {\n if (!isResolved()) {\n continueFn?.()\n status = 'resolved'\n promiseResolve(value)\n }\n }\n\n const reject = (value: any) => {\n if (!isResolved()) {\n continueFn?.()\n status = 'rejected'\n promiseReject(value)\n }\n }\n\n const pause = () => {\n return new Promise((continueResolve) => {\n continueFn = (value) => {\n if (isResolved() || canContinue()) {\n continueResolve(value)\n }\n }\n config.onPause?.()\n }).then(() => {\n continueFn = undefined\n if (!isResolved()) {\n config.onContinue?.()\n }\n })\n }\n\n // Create loop function\n const run = () => {\n // Do nothing if already resolved\n if (isResolved()) {\n return\n }\n\n let promiseOrValue: any\n\n // we can re-use config.initialPromise on the first call of run()\n const initialPromise =\n failureCount === 0 ? config.initialPromise : undefined\n\n // Execute query\n try {\n promiseOrValue = initialPromise ?? config.fn()\n } catch (error) {\n promiseOrValue = Promise.reject(error)\n }\n\n Promise.resolve(promiseOrValue)\n .then(resolve)\n .catch((error) => {\n // Stop if the fetch is already resolved\n if (isResolved()) {\n return\n }\n\n // Do we need to retry the request?\n const retry = config.retry ?? (isServerEnvironment() ? 0 : 3)\n const retryDelay = config.retryDelay ?? defaultRetryDelay\n const delay =\n typeof retryDelay === 'function'\n ? retryDelay(failureCount, error)\n : retryDelay\n const shouldRetry =\n retry === true ||\n (typeof retry === 'number' && failureCount < retry) ||\n (typeof retry === 'function' && retry(failureCount, error))\n\n if (isRetryCancelled || !shouldRetry) {\n // We are done if the query does not need to be retried\n reject(error)\n return\n }\n\n failureCount++\n\n // Notify on fail\n config.onFail?.(failureCount, error)\n\n // Delay\n sleep(delay)\n // Pause if the document is not visible or when the device is offline\n .then(() => {\n return canContinue() ? undefined : pause()\n })\n .then(() => {\n if (isRetryCancelled) {\n reject(error)\n } else {\n run()\n }\n })\n })\n }\n\n return {\n promise,\n status: () => status,\n cancel,\n continue: () => {\n continueFn?.()\n return promise\n },\n cancelRetry,\n continueRetry,\n canStart,\n start: () => {\n // Start loop\n if (canStart()) {\n run()\n } else {\n pause().then(run)\n }\n return promise\n },\n }\n}\n"],"mappings":";;;;;;AAgDA,SAAS,kBAAkB,cAAsB;CAC/C,OAAO,KAAK,IAAI,MAAO,KAAK,cAAc,GAAK;AACjD;AAEA,SAAgB,SAAS,aAA+C;CACtE,QAAQ,eAAe,cAAc,WACjCA,sBAAAA,cAAc,SAAS,IACvB;AACN;AAEA,IAAa,iBAAb,cAAoC,MAAM;CAGxC,YAAY,SAAyB;EACnC,MAAM,gBAAgB;EACtB,KAAK,SAAS,SAAS;EACvB,KAAK,SAAS,SAAS;CACzB;AACF;;;;AAKA,SAAgB,iBAAiB,OAAqC;CACpE,OAAO,iBAAiB;AAC1B;AAEA,SAAgB,cACd,QACgB;CAChB,IAAI,mBAAmB;CACvB,IAAI,eAAe;CACnB,IAAI;CACJ,IAAI,SAAwB;CAC5B,IAAI;CACJ,IAAI;CAEJ,MAAM,UAAU,IAAI,SAAgB,SAAS,WAAW;EACtD,iBAAiB;EACjB,gBAAgB;CAClB,CAAC;CACD,QAAQ,MAAMC,cAAAA,IAAI;CAElB,MAAM,mBAAmB,WAAW;CAEpC,MAAM,UAAU,kBAAwC;EACtD,IAAI,CAAC,WAAW,GAAG;GACjB,MAAM,QAAQ,IAAI,eAAe,aAAa;GAC9C,OAAO,KAAK;GAEZ,OAAO,WAAW,KAAK;EACzB;CACF;CACA,MAAM,oBAAoB;EACxB,mBAAmB;CACrB;CAEA,MAAM,sBAAsB;EAC1B,mBAAmB;CACrB;CAEA,MAAM,oBACJC,qBAAAA,aAAa,UAAU,MACtB,OAAO,gBAAgB,YAAYF,sBAAAA,cAAc,SAAS,MAC3D,OAAO,OAAO;CAEhB,MAAM,iBAAiB,SAAS,OAAO,WAAW,KAAK,OAAO,OAAO;CAErE,MAAM,WAAW,UAAe;EAC9B,IAAI,CAAC,WAAW,GAAG;GACjB,aAAa;GACb,SAAS;GACT,eAAe,KAAK;EACtB;CACF;CAEA,MAAM,UAAU,UAAe;EAC7B,IAAI,CAAC,WAAW,GAAG;GACjB,aAAa;GACb,SAAS;GACT,cAAc,KAAK;EACrB;CACF;CAEA,MAAM,cAAc;EAClB,OAAO,IAAI,SAAS,oBAAoB;GACtC,cAAc,UAAU;IACtB,IAAI,WAAW,KAAK,YAAY,GAC9B,gBAAgB,KAAK;GAEzB;GACA,OAAO,UAAU;EACnB,CAAC,CAAC,CAAC,WAAW;GACZ,aAAa,KAAA;GACb,IAAI,CAAC,WAAW,GACd,OAAO,aAAa;EAExB,CAAC;CACH;CAGA,MAAM,YAAY;EAEhB,IAAI,WAAW,GACb;EAGF,IAAI;EAGJ,MAAM,iBACJ,iBAAiB,IAAI,OAAO,iBAAiB,KAAA;EAG/C,IAAI;GACF,iBAAiB,kBAAkB,OAAO,GAAG;EAC/C,SAAS,OAAO;GACd,iBAAiB,QAAQ,OAAO,KAAK;EACvC;EAEA,QAAQ,QAAQ,cAAc,CAAC,CAC5B,KAAK,OAAO,CAAC,CACb,OAAO,UAAU;GAEhB,IAAI,WAAW,GACb;GAIF,MAAM,QAAQ,OAAO,UAAUG,2BAAAA,SAAoB,IAAI,IAAI;GAC3D,MAAM,aAAa,OAAO,cAAc;GACxC,MAAM,QACJ,OAAO,eAAe,aAClB,WAAW,cAAc,KAAK,IAC9B;GACN,MAAM,cACJ,UAAU,QACT,OAAO,UAAU,YAAY,eAAe,SAC5C,OAAO,UAAU,cAAc,MAAM,cAAc,KAAK;GAE3D,IAAI,oBAAoB,CAAC,aAAa;IAEpC,OAAO,KAAK;IACZ;GACF;GAEA;GAGA,OAAO,SAAS,cAAc,KAAK;GAGnC,cAAA,MAAM,KAAK,CAAC,CAET,WAAW;IACV,OAAO,YAAY,IAAI,KAAA,IAAY,MAAM;GAC3C,CAAC,CAAC,CACD,WAAW;IACV,IAAI,kBACF,OAAO,KAAK;SAEZ,IAAI;GAER,CAAC;EACL,CAAC;CACL;CAEA,OAAO;EACL;EACA,cAAc;EACd;EACA,gBAAgB;GACd,aAAa;GACb,OAAO;EACT;EACA;EACA;EACA;EACA,aAAa;GAEX,IAAI,SAAS,GACX,IAAI;QAEJ,MAAM,CAAC,CAAC,KAAK,GAAG;GAElB,OAAO;EACT;CACF;AACF"} |
@@ -1,2 +0,2 @@ | ||
| import { $t as CancelledError, an as isCancelledError, en as RetryDelayValue, in as createRetryer, nn as Retryer, rn as canFetch, tn as RetryValue } from "./hydration-BoHd-X9T.cjs"; | ||
| import { $t as CancelledError, an as isCancelledError, en as RetryDelayValue, in as createRetryer, nn as Retryer, rn as canFetch, tn as RetryValue } from "./hydration-DWGr3cFC.cjs"; | ||
| export { CancelledError, RetryDelayValue, RetryValue, Retryer, canFetch, createRetryer, isCancelledError }; |
@@ -1,2 +0,2 @@ | ||
| import { $t as CancelledError, an as isCancelledError, en as RetryDelayValue, in as createRetryer, nn as Retryer, rn as canFetch, tn as RetryValue } from "./hydration-DFwTM9vM.js"; | ||
| import { $t as CancelledError, an as isCancelledError, en as RetryDelayValue, in as createRetryer, nn as Retryer, rn as canFetch, tn as RetryValue } from "./hydration-Bjs0MSgg.js"; | ||
| export { CancelledError, RetryDelayValue, RetryValue, Retryer, canFetch, createRetryer, isCancelledError }; |
| import { noop, sleep } from "./utils.js"; | ||
| import { environmentManager } from "./environmentManager.js"; | ||
| import { isServer } from "./environmentManager.js"; | ||
| import { focusManager } from "./focusManager.js"; | ||
@@ -89,3 +89,3 @@ import { onlineManager } from "./onlineManager.js"; | ||
| if (isResolved()) return; | ||
| const retry = config.retry ?? (environmentManager.isServer() ? 0 : 3); | ||
| const retry = config.retry ?? (isServer() ? 0 : 3); | ||
| const retryDelay = config.retryDelay ?? defaultRetryDelay; | ||
@@ -92,0 +92,0 @@ const delay = typeof retryDelay === "function" ? retryDelay(failureCount, error) : retryDelay; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"retryer.js","names":[],"sources":["../../src/retryer.ts"],"sourcesContent":["import { focusManager } from './focusManager'\nimport { onlineManager } from './onlineManager'\nimport { environmentManager } from './environmentManager'\nimport { noop, sleep } from './utils'\nimport type { CancelOptions, DefaultError, NetworkMode } from './types'\n\n// TYPES\n\ninterface RetryerConfig<TData = unknown, TError = DefaultError> {\n fn: () => TData | Promise<TData>\n initialPromise?: Promise<TData>\n onCancel?: (error: TError) => void\n onFail?: (failureCount: number, error: TError) => void\n onPause?: () => void\n onContinue?: () => void\n retry?: RetryValue<TError>\n retryDelay?: RetryDelayValue<TError>\n networkMode: NetworkMode | undefined\n canRun: () => boolean\n}\n\nexport interface Retryer<TData = unknown> {\n promise: Promise<TData>\n cancel: (cancelOptions?: CancelOptions) => void\n continue: () => Promise<unknown>\n cancelRetry: () => void\n continueRetry: () => void\n canStart: () => boolean\n start: () => Promise<TData>\n status: () => 'pending' | 'resolved' | 'rejected'\n}\n\ntype RetryerStatus = 'pending' | 'resolved' | 'rejected'\n\nexport type RetryValue<TError> = boolean | number | ShouldRetryFunction<TError>\n\ntype ShouldRetryFunction<TError = DefaultError> = (\n failureCount: number,\n error: TError,\n) => boolean\n\nexport type RetryDelayValue<TError> = number | RetryDelayFunction<TError>\n\ntype RetryDelayFunction<TError = DefaultError> = (\n failureCount: number,\n error: TError,\n) => number\n\nfunction defaultRetryDelay(failureCount: number) {\n return Math.min(1000 * 2 ** failureCount, 30000)\n}\n\nexport function canFetch(networkMode: NetworkMode | undefined): boolean {\n return (networkMode ?? 'online') === 'online'\n ? onlineManager.isOnline()\n : true\n}\n\nexport class CancelledError extends Error {\n revert?: boolean\n silent?: boolean\n constructor(options?: CancelOptions) {\n super('CancelledError')\n this.revert = options?.revert\n this.silent = options?.silent\n }\n}\n\n/**\n * @deprecated Use instanceof `CancelledError` instead.\n */\nexport function isCancelledError(value: any): value is CancelledError {\n return value instanceof CancelledError\n}\n\nexport function createRetryer<TData = unknown, TError = DefaultError>(\n config: RetryerConfig<TData, TError>,\n): Retryer<TData> {\n let isRetryCancelled = false\n let failureCount = 0\n let continueFn: ((value?: unknown) => void) | undefined\n let status: RetryerStatus = 'pending'\n let promiseResolve: (data: TData) => void\n let promiseReject: (error: TError) => void\n\n const promise = new Promise<TData>((resolve, reject) => {\n promiseResolve = resolve\n promiseReject = reject\n })\n promise.catch(noop)\n\n const isResolved = () => status !== 'pending'\n\n const cancel = (cancelOptions?: CancelOptions): void => {\n if (!isResolved()) {\n const error = new CancelledError(cancelOptions) as TError\n reject(error)\n\n config.onCancel?.(error)\n }\n }\n const cancelRetry = () => {\n isRetryCancelled = true\n }\n\n const continueRetry = () => {\n isRetryCancelled = false\n }\n\n const canContinue = () =>\n focusManager.isFocused() &&\n (config.networkMode === 'always' || onlineManager.isOnline()) &&\n config.canRun()\n\n const canStart = () => canFetch(config.networkMode) && config.canRun()\n\n const resolve = (value: any) => {\n if (!isResolved()) {\n continueFn?.()\n status = 'resolved'\n promiseResolve(value)\n }\n }\n\n const reject = (value: any) => {\n if (!isResolved()) {\n continueFn?.()\n status = 'rejected'\n promiseReject(value)\n }\n }\n\n const pause = () => {\n return new Promise((continueResolve) => {\n continueFn = (value) => {\n if (isResolved() || canContinue()) {\n continueResolve(value)\n }\n }\n config.onPause?.()\n }).then(() => {\n continueFn = undefined\n if (!isResolved()) {\n config.onContinue?.()\n }\n })\n }\n\n // Create loop function\n const run = () => {\n // Do nothing if already resolved\n if (isResolved()) {\n return\n }\n\n let promiseOrValue: any\n\n // we can re-use config.initialPromise on the first call of run()\n const initialPromise =\n failureCount === 0 ? config.initialPromise : undefined\n\n // Execute query\n try {\n promiseOrValue = initialPromise ?? config.fn()\n } catch (error) {\n promiseOrValue = Promise.reject(error)\n }\n\n Promise.resolve(promiseOrValue)\n .then(resolve)\n .catch((error) => {\n // Stop if the fetch is already resolved\n if (isResolved()) {\n return\n }\n\n // Do we need to retry the request?\n const retry = config.retry ?? (environmentManager.isServer() ? 0 : 3)\n const retryDelay = config.retryDelay ?? defaultRetryDelay\n const delay =\n typeof retryDelay === 'function'\n ? retryDelay(failureCount, error)\n : retryDelay\n const shouldRetry =\n retry === true ||\n (typeof retry === 'number' && failureCount < retry) ||\n (typeof retry === 'function' && retry(failureCount, error))\n\n if (isRetryCancelled || !shouldRetry) {\n // We are done if the query does not need to be retried\n reject(error)\n return\n }\n\n failureCount++\n\n // Notify on fail\n config.onFail?.(failureCount, error)\n\n // Delay\n sleep(delay)\n // Pause if the document is not visible or when the device is offline\n .then(() => {\n return canContinue() ? undefined : pause()\n })\n .then(() => {\n if (isRetryCancelled) {\n reject(error)\n } else {\n run()\n }\n })\n })\n }\n\n return {\n promise,\n status: () => status,\n cancel,\n continue: () => {\n continueFn?.()\n return promise\n },\n cancelRetry,\n continueRetry,\n canStart,\n start: () => {\n // Start loop\n if (canStart()) {\n run()\n } else {\n pause().then(run)\n }\n return promise\n },\n }\n}\n"],"mappings":";;;;;AAgDA,SAAS,kBAAkB,cAAsB;CAC/C,OAAO,KAAK,IAAI,MAAO,KAAK,cAAc,GAAK;AACjD;AAEA,SAAgB,SAAS,aAA+C;CACtE,QAAQ,eAAe,cAAc,WACjC,cAAc,SAAS,IACvB;AACN;AAEA,IAAa,iBAAb,cAAoC,MAAM;CAGxC,YAAY,SAAyB;EACnC,MAAM,gBAAgB;EACtB,KAAK,SAAS,SAAS;EACvB,KAAK,SAAS,SAAS;CACzB;AACF;;;;AAKA,SAAgB,iBAAiB,OAAqC;CACpE,OAAO,iBAAiB;AAC1B;AAEA,SAAgB,cACd,QACgB;CAChB,IAAI,mBAAmB;CACvB,IAAI,eAAe;CACnB,IAAI;CACJ,IAAI,SAAwB;CAC5B,IAAI;CACJ,IAAI;CAEJ,MAAM,UAAU,IAAI,SAAgB,SAAS,WAAW;EACtD,iBAAiB;EACjB,gBAAgB;CAClB,CAAC;CACD,QAAQ,MAAM,IAAI;CAElB,MAAM,mBAAmB,WAAW;CAEpC,MAAM,UAAU,kBAAwC;EACtD,IAAI,CAAC,WAAW,GAAG;GACjB,MAAM,QAAQ,IAAI,eAAe,aAAa;GAC9C,OAAO,KAAK;GAEZ,OAAO,WAAW,KAAK;EACzB;CACF;CACA,MAAM,oBAAoB;EACxB,mBAAmB;CACrB;CAEA,MAAM,sBAAsB;EAC1B,mBAAmB;CACrB;CAEA,MAAM,oBACJ,aAAa,UAAU,MACtB,OAAO,gBAAgB,YAAY,cAAc,SAAS,MAC3D,OAAO,OAAO;CAEhB,MAAM,iBAAiB,SAAS,OAAO,WAAW,KAAK,OAAO,OAAO;CAErE,MAAM,WAAW,UAAe;EAC9B,IAAI,CAAC,WAAW,GAAG;GACjB,aAAa;GACb,SAAS;GACT,eAAe,KAAK;EACtB;CACF;CAEA,MAAM,UAAU,UAAe;EAC7B,IAAI,CAAC,WAAW,GAAG;GACjB,aAAa;GACb,SAAS;GACT,cAAc,KAAK;EACrB;CACF;CAEA,MAAM,cAAc;EAClB,OAAO,IAAI,SAAS,oBAAoB;GACtC,cAAc,UAAU;IACtB,IAAI,WAAW,KAAK,YAAY,GAC9B,gBAAgB,KAAK;GAEzB;GACA,OAAO,UAAU;EACnB,CAAC,CAAC,CAAC,WAAW;GACZ,aAAa,KAAA;GACb,IAAI,CAAC,WAAW,GACd,OAAO,aAAa;EAExB,CAAC;CACH;CAGA,MAAM,YAAY;EAEhB,IAAI,WAAW,GACb;EAGF,IAAI;EAGJ,MAAM,iBACJ,iBAAiB,IAAI,OAAO,iBAAiB,KAAA;EAG/C,IAAI;GACF,iBAAiB,kBAAkB,OAAO,GAAG;EAC/C,SAAS,OAAO;GACd,iBAAiB,QAAQ,OAAO,KAAK;EACvC;EAEA,QAAQ,QAAQ,cAAc,CAAC,CAC5B,KAAK,OAAO,CAAC,CACb,OAAO,UAAU;GAEhB,IAAI,WAAW,GACb;GAIF,MAAM,QAAQ,OAAO,UAAU,mBAAmB,SAAS,IAAI,IAAI;GACnE,MAAM,aAAa,OAAO,cAAc;GACxC,MAAM,QACJ,OAAO,eAAe,aAClB,WAAW,cAAc,KAAK,IAC9B;GACN,MAAM,cACJ,UAAU,QACT,OAAO,UAAU,YAAY,eAAe,SAC5C,OAAO,UAAU,cAAc,MAAM,cAAc,KAAK;GAE3D,IAAI,oBAAoB,CAAC,aAAa;IAEpC,OAAO,KAAK;IACZ;GACF;GAEA;GAGA,OAAO,SAAS,cAAc,KAAK;GAGnC,MAAM,KAAK,CAAC,CAET,WAAW;IACV,OAAO,YAAY,IAAI,KAAA,IAAY,MAAM;GAC3C,CAAC,CAAC,CACD,WAAW;IACV,IAAI,kBACF,OAAO,KAAK;SAEZ,IAAI;GAER,CAAC;EACL,CAAC;CACL;CAEA,OAAO;EACL;EACA,cAAc;EACd;EACA,gBAAgB;GACd,aAAa;GACb,OAAO;EACT;EACA;EACA;EACA;EACA,aAAa;GAEX,IAAI,SAAS,GACX,IAAI;QAEJ,MAAM,CAAC,CAAC,KAAK,GAAG;GAElB,OAAO;EACT;CACF;AACF"} | ||
| {"version":3,"file":"retryer.js","names":["isServerEnvironment"],"sources":["../../src/retryer.ts"],"sourcesContent":["import { focusManager } from './focusManager'\nimport { onlineManager } from './onlineManager'\nimport { isServer as isServerEnvironment } from './environmentManager'\nimport { noop, sleep } from './utils'\nimport type { CancelOptions, DefaultError, NetworkMode } from './types'\n\n// TYPES\n\ninterface RetryerConfig<TData = unknown, TError = DefaultError> {\n fn: () => TData | Promise<TData>\n initialPromise?: Promise<TData>\n onCancel?: (error: TError) => void\n onFail?: (failureCount: number, error: TError) => void\n onPause?: () => void\n onContinue?: () => void\n retry?: RetryValue<TError>\n retryDelay?: RetryDelayValue<TError>\n networkMode: NetworkMode | undefined\n canRun: () => boolean\n}\n\nexport interface Retryer<TData = unknown> {\n promise: Promise<TData>\n cancel: (cancelOptions?: CancelOptions) => void\n continue: () => Promise<unknown>\n cancelRetry: () => void\n continueRetry: () => void\n canStart: () => boolean\n start: () => Promise<TData>\n status: () => 'pending' | 'resolved' | 'rejected'\n}\n\ntype RetryerStatus = 'pending' | 'resolved' | 'rejected'\n\nexport type RetryValue<TError> = boolean | number | ShouldRetryFunction<TError>\n\ntype ShouldRetryFunction<TError = DefaultError> = (\n failureCount: number,\n error: TError,\n) => boolean\n\nexport type RetryDelayValue<TError> = number | RetryDelayFunction<TError>\n\ntype RetryDelayFunction<TError = DefaultError> = (\n failureCount: number,\n error: TError,\n) => number\n\nfunction defaultRetryDelay(failureCount: number) {\n return Math.min(1000 * 2 ** failureCount, 30000)\n}\n\nexport function canFetch(networkMode: NetworkMode | undefined): boolean {\n return (networkMode ?? 'online') === 'online'\n ? onlineManager.isOnline()\n : true\n}\n\nexport class CancelledError extends Error {\n revert?: boolean\n silent?: boolean\n constructor(options?: CancelOptions) {\n super('CancelledError')\n this.revert = options?.revert\n this.silent = options?.silent\n }\n}\n\n/**\n * @deprecated Use instanceof `CancelledError` instead.\n */\nexport function isCancelledError(value: any): value is CancelledError {\n return value instanceof CancelledError\n}\n\nexport function createRetryer<TData = unknown, TError = DefaultError>(\n config: RetryerConfig<TData, TError>,\n): Retryer<TData> {\n let isRetryCancelled = false\n let failureCount = 0\n let continueFn: ((value?: unknown) => void) | undefined\n let status: RetryerStatus = 'pending'\n let promiseResolve: (data: TData) => void\n let promiseReject: (error: TError) => void\n\n const promise = new Promise<TData>((resolve, reject) => {\n promiseResolve = resolve\n promiseReject = reject\n })\n promise.catch(noop)\n\n const isResolved = () => status !== 'pending'\n\n const cancel = (cancelOptions?: CancelOptions): void => {\n if (!isResolved()) {\n const error = new CancelledError(cancelOptions) as TError\n reject(error)\n\n config.onCancel?.(error)\n }\n }\n const cancelRetry = () => {\n isRetryCancelled = true\n }\n\n const continueRetry = () => {\n isRetryCancelled = false\n }\n\n const canContinue = () =>\n focusManager.isFocused() &&\n (config.networkMode === 'always' || onlineManager.isOnline()) &&\n config.canRun()\n\n const canStart = () => canFetch(config.networkMode) && config.canRun()\n\n const resolve = (value: any) => {\n if (!isResolved()) {\n continueFn?.()\n status = 'resolved'\n promiseResolve(value)\n }\n }\n\n const reject = (value: any) => {\n if (!isResolved()) {\n continueFn?.()\n status = 'rejected'\n promiseReject(value)\n }\n }\n\n const pause = () => {\n return new Promise((continueResolve) => {\n continueFn = (value) => {\n if (isResolved() || canContinue()) {\n continueResolve(value)\n }\n }\n config.onPause?.()\n }).then(() => {\n continueFn = undefined\n if (!isResolved()) {\n config.onContinue?.()\n }\n })\n }\n\n // Create loop function\n const run = () => {\n // Do nothing if already resolved\n if (isResolved()) {\n return\n }\n\n let promiseOrValue: any\n\n // we can re-use config.initialPromise on the first call of run()\n const initialPromise =\n failureCount === 0 ? config.initialPromise : undefined\n\n // Execute query\n try {\n promiseOrValue = initialPromise ?? config.fn()\n } catch (error) {\n promiseOrValue = Promise.reject(error)\n }\n\n Promise.resolve(promiseOrValue)\n .then(resolve)\n .catch((error) => {\n // Stop if the fetch is already resolved\n if (isResolved()) {\n return\n }\n\n // Do we need to retry the request?\n const retry = config.retry ?? (isServerEnvironment() ? 0 : 3)\n const retryDelay = config.retryDelay ?? defaultRetryDelay\n const delay =\n typeof retryDelay === 'function'\n ? retryDelay(failureCount, error)\n : retryDelay\n const shouldRetry =\n retry === true ||\n (typeof retry === 'number' && failureCount < retry) ||\n (typeof retry === 'function' && retry(failureCount, error))\n\n if (isRetryCancelled || !shouldRetry) {\n // We are done if the query does not need to be retried\n reject(error)\n return\n }\n\n failureCount++\n\n // Notify on fail\n config.onFail?.(failureCount, error)\n\n // Delay\n sleep(delay)\n // Pause if the document is not visible or when the device is offline\n .then(() => {\n return canContinue() ? undefined : pause()\n })\n .then(() => {\n if (isRetryCancelled) {\n reject(error)\n } else {\n run()\n }\n })\n })\n }\n\n return {\n promise,\n status: () => status,\n cancel,\n continue: () => {\n continueFn?.()\n return promise\n },\n cancelRetry,\n continueRetry,\n canStart,\n start: () => {\n // Start loop\n if (canStart()) {\n run()\n } else {\n pause().then(run)\n }\n return promise\n },\n }\n}\n"],"mappings":"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"} |
@@ -1,2 +0,2 @@ | ||
| import { Ct as QueryKey, St as QueryFunctionContext, xt as QueryFunction } from "./hydration-BoHd-X9T.cjs"; | ||
| import { Ct as QueryKey, St as QueryFunctionContext, xt as QueryFunction } from "./hydration-DWGr3cFC.cjs"; | ||
| //#region src/streamedQuery.d.ts | ||
@@ -3,0 +3,0 @@ type BaseStreamedQueryParams<TQueryFnData, TQueryKey extends QueryKey> = { |
@@ -1,2 +0,2 @@ | ||
| import { Ct as QueryKey, St as QueryFunctionContext, xt as QueryFunction } from "./hydration-DFwTM9vM.js"; | ||
| import { Ct as QueryKey, St as QueryFunctionContext, xt as QueryFunction } from "./hydration-Bjs0MSgg.js"; | ||
| //#region src/streamedQuery.d.ts | ||
@@ -3,0 +3,0 @@ type BaseStreamedQueryParams<TQueryFnData, TQueryKey extends QueryKey> = { |
| Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); | ||
| //#region src/types.ts | ||
| /* istanbul ignore file */ | ||
| const dataTagSymbol = Symbol("dataTagSymbol"); | ||
| const dataTagErrorSymbol = Symbol("dataTagErrorSymbol"); | ||
| const unsetMarker = Symbol("unsetMarker"); | ||
| const dataTagSymbol = Symbol(); | ||
| const dataTagErrorSymbol = Symbol(); | ||
| const unsetMarker = Symbol(); | ||
| //#endregion | ||
@@ -8,0 +8,0 @@ exports.dataTagErrorSymbol = dataTagErrorSymbol; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"types.cjs","names":[],"sources":["../../src/types.ts"],"sourcesContent":["/* istanbul ignore file */\n\nimport type { QueryClient } from './queryClient'\nimport type { DehydrateOptions, HydrateOptions } from './hydration'\nimport type { MutationState } from './mutation'\nimport type { FetchDirection, Query, QueryBehavior } from './query'\nimport type { RetryDelayValue, RetryValue } from './retryer'\nimport type { QueryFilters, QueryTypeFilter, SkipToken } from './utils'\nimport type { QueryCache } from './queryCache'\nimport type { MutationCache } from './mutationCache'\n\nexport type NonUndefinedGuard<T> = T extends undefined ? never : T\n\nexport type DistributiveOmit<\n TObject,\n TKey extends keyof TObject,\n> = TObject extends any ? Omit<TObject, TKey> : never\n\nexport type OmitKeyof<\n TObject,\n TKey extends TStrictly extends 'safely'\n ?\n | keyof TObject\n | (string & Record<never, never>)\n | (number & Record<never, never>)\n | (symbol & Record<never, never>)\n : keyof TObject,\n TStrictly extends 'strictly' | 'safely' = 'strictly',\n> = Omit<TObject, TKey>\n\nexport type Override<TTargetA, TTargetB> = {\n [AKey in keyof TTargetA]: AKey extends keyof TTargetB\n ? TTargetB[AKey]\n : TTargetA[AKey]\n}\n\nexport interface Register {\n // defaultError: Error\n // queryMeta: Record<string, unknown>\n // mutationMeta: Record<string, unknown>\n // queryKey: ReadonlyArray<unknown>\n // mutationKey: ReadonlyArray<unknown>\n}\n\nexport type DefaultError = Register extends {\n defaultError: infer TError\n}\n ? TError\n : Error\n\nexport type QueryKey = Register extends {\n queryKey: infer TQueryKey\n}\n ? TQueryKey extends ReadonlyArray<unknown>\n ? TQueryKey\n : TQueryKey extends Array<unknown>\n ? TQueryKey\n : ReadonlyArray<unknown>\n : ReadonlyArray<unknown>\n\nexport const dataTagSymbol = Symbol('dataTagSymbol')\nexport type dataTagSymbol = typeof dataTagSymbol\nexport const dataTagErrorSymbol = Symbol('dataTagErrorSymbol')\nexport type dataTagErrorSymbol = typeof dataTagErrorSymbol\nexport const unsetMarker = Symbol('unsetMarker')\nexport type UnsetMarker = typeof unsetMarker\nexport type AnyDataTag = {\n [dataTagSymbol]: any\n [dataTagErrorSymbol]: any\n}\nexport type DataTag<\n TType,\n TValue,\n TError = UnsetMarker,\n> = TType extends AnyDataTag\n ? TType\n : TType & {\n [dataTagSymbol]: TValue\n [dataTagErrorSymbol]: TError\n }\n\nexport type QueryKeyWithDataTag<\n TQueryKey extends QueryKey = QueryKey,\n TQueryFnData = unknown,\n TError = DefaultError,\n> = {\n queryKey: DataTag<TQueryKey, TQueryFnData, TError>\n}\n\nexport type InferDataFromTag<TQueryFnData, TTaggedQueryKey extends QueryKey> =\n TTaggedQueryKey extends DataTag<unknown, infer TaggedValue, unknown>\n ? TaggedValue\n : TQueryFnData\n\nexport type InferErrorFromTag<TError, TTaggedQueryKey extends QueryKey> =\n TTaggedQueryKey extends DataTag<unknown, unknown, infer TaggedError>\n ? TaggedError extends UnsetMarker\n ? TError\n : TaggedError\n : TError\n\nexport type QueryFunction<\n T = unknown,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> = (context: QueryFunctionContext<TQueryKey, TPageParam>) => T | Promise<T>\n\nexport type StaleTime = number | 'static'\n\nexport type StaleTimeFunction<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> =\n | StaleTime\n | ((query: Query<TQueryFnData, TError, TData, TQueryKey>) => StaleTime)\n\nexport type QueryBooleanOption<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> =\n | boolean\n | ((query: Query<TQueryFnData, TError, TData, TQueryKey>) => boolean)\n\nexport type QueryPersister<\n T = unknown,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> = [TPageParam] extends [never]\n ? (\n queryFn: QueryFunction<T, TQueryKey, never>,\n context: QueryFunctionContext<TQueryKey>,\n query: Query,\n ) => T | Promise<T>\n : (\n queryFn: QueryFunction<T, TQueryKey, TPageParam>,\n context: QueryFunctionContext<TQueryKey>,\n query: Query,\n ) => T | Promise<T>\n\nexport type QueryFunctionContext<\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> = [TPageParam] extends [never]\n ? {\n client: QueryClient\n queryKey: TQueryKey\n signal: AbortSignal\n meta: QueryMeta | undefined\n pageParam?: unknown\n /**\n * @deprecated\n * if you want access to the direction, you can add it to the pageParam\n */\n direction?: unknown\n }\n : {\n client: QueryClient\n queryKey: TQueryKey\n signal: AbortSignal\n pageParam: TPageParam\n /**\n * @deprecated\n * if you want access to the direction, you can add it to the pageParam\n */\n direction: FetchDirection\n meta: QueryMeta | undefined\n }\n\nexport type InitialDataFunction<T> = () => T | undefined\n\ntype NonFunctionGuard<T> = T extends Function ? never : T\n\nexport type PlaceholderDataFunction<\n TQueryFnData = unknown,\n TError = DefaultError,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = (\n previousData: TQueryData | undefined,\n previousQuery: Query<TQueryFnData, TError, TQueryData, TQueryKey> | undefined,\n) => TQueryData | undefined\n\nexport type QueriesPlaceholderDataFunction<TQueryData> = (\n previousData: undefined,\n previousQuery: undefined,\n) => TQueryData | undefined\n\nexport type QueryKeyHashFunction<TQueryKey extends QueryKey> = (\n queryKey: TQueryKey,\n) => string\n\nexport type GetPreviousPageParamFunction<TPageParam, TQueryFnData = unknown> = (\n firstPage: TQueryFnData,\n allPages: Array<TQueryFnData>,\n firstPageParam: TPageParam,\n allPageParams: Array<TPageParam>,\n) => TPageParam | undefined | null\n\nexport type GetNextPageParamFunction<TPageParam, TQueryFnData = unknown> = (\n lastPage: TQueryFnData,\n allPages: Array<TQueryFnData>,\n lastPageParam: TPageParam,\n allPageParams: Array<TPageParam>,\n) => TPageParam | undefined | null\n\nexport interface InfiniteData<TData, TPageParam = unknown> {\n pages: Array<TData>\n pageParams: Array<TPageParam>\n}\n\nexport type QueryMeta = Register extends {\n queryMeta: infer TQueryMeta\n}\n ? TQueryMeta extends Record<string, unknown>\n ? TQueryMeta\n : Record<string, unknown>\n : Record<string, unknown>\n\nexport type NetworkMode = 'online' | 'always' | 'offlineFirst'\n\nexport type NotifyOnChangeProps =\n | Array<keyof InfiniteQueryObserverResult>\n | 'all'\n | undefined\n | (() => Array<keyof InfiniteQueryObserverResult> | 'all' | undefined)\n\nexport interface QueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> {\n /**\n * If `false`, failed queries will not retry by default.\n * If `true`, failed queries will retry infinitely.\n * If set to an integer number, e.g. 3, failed queries will retry until the failed query count meets that number.\n * If set to a function `(failureCount, error) => boolean` failed queries will retry until the function returns false.\n */\n retry?: RetryValue<TError>\n retryDelay?: RetryDelayValue<TError>\n networkMode?: NetworkMode\n /**\n * The time in milliseconds that unused/inactive cache data remains in memory.\n * When a query's cache becomes unused or inactive, that cache data will be garbage collected after this duration.\n * When different garbage collection times are specified, the longest one will be used.\n * Setting it to `Infinity` will disable garbage collection.\n */\n gcTime?: number\n queryFn?: QueryFunction<TQueryFnData, TQueryKey, TPageParam> | SkipToken\n persister?: QueryPersister<TQueryFnData, NoInfer<TQueryKey>, TPageParam>\n queryHash?: string\n queryKey?: TQueryKey\n queryKeyHashFn?: QueryKeyHashFunction<TQueryKey>\n initialData?: TData | InitialDataFunction<TData>\n initialDataUpdatedAt?: number | (() => number | undefined)\n behavior?: QueryBehavior<TQueryFnData, TError, TData, TQueryKey>\n /**\n * Set this to `false` to disable structural sharing between query results.\n * Set this to a function which accepts the old and new data and returns resolved data of the same type to implement custom structural sharing logic.\n * Defaults to `true`.\n */\n structuralSharing?:\n | boolean\n | ((oldData: unknown | undefined, newData: unknown) => unknown)\n _defaulted?: boolean\n _type?: 'infinite'\n /**\n * Additional payload to be stored on each query.\n * Use this property to pass information that can be used in other places.\n */\n meta?: QueryMeta\n /**\n * Maximum number of pages to store in the data of an infinite query.\n */\n maxPages?: number\n}\n\nexport interface InitialPageParam<TPageParam = unknown> {\n initialPageParam: TPageParam\n}\n\nexport interface InfiniteQueryPageParamsOptions<\n TQueryFnData = unknown,\n TPageParam = unknown,\n> extends InitialPageParam<TPageParam> {\n /**\n * This function can be set to automatically get the previous cursor for infinite queries.\n * The result will also be used to determine the value of `hasPreviousPage`.\n */\n getPreviousPageParam?: GetPreviousPageParamFunction<TPageParam, TQueryFnData>\n /**\n * This function can be set to automatically get the next cursor for infinite queries.\n * The result will also be used to determine the value of `hasNextPage`.\n */\n getNextPageParam: GetNextPageParamFunction<TPageParam, TQueryFnData>\n}\n\nexport type ThrowOnError<\n TQueryFnData,\n TError,\n TQueryData,\n TQueryKey extends QueryKey,\n> =\n | boolean\n | ((\n error: TError,\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n ) => boolean)\n\nexport interface QueryObserverOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> extends WithRequired<\n QueryOptions<TQueryFnData, TError, TQueryData, TQueryKey, TPageParam>,\n 'queryKey'\n> {\n /**\n * Set this to `false` or a function that returns `false` to disable automatic refetching when the query mounts or changes query keys.\n * To refetch the query, use the `refetch` method returned from the `useQuery` instance.\n * Accepts a boolean or function that returns a boolean.\n * Defaults to `true`.\n */\n enabled?: QueryBooleanOption<TQueryFnData, TError, TQueryData, TQueryKey>\n /**\n * The time in milliseconds after data is considered stale.\n * If set to `Infinity`, the data will never be considered stale.\n * If set to a function, the function will be executed with the query to compute a `staleTime`.\n * Defaults to `0`.\n */\n staleTime?: StaleTimeFunction<TQueryFnData, TError, TQueryData, TQueryKey>\n /**\n * If set to a number, the query will continuously refetch at this frequency in milliseconds.\n * If set to a function, the function will be executed with the latest data and query to compute a frequency\n * Defaults to `false`.\n */\n refetchInterval?:\n | number\n | false\n | ((\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n ) => number | false | undefined)\n /**\n * If set to `true`, the query will continue to refetch while their tab/window is in the background.\n * Defaults to `false`.\n */\n refetchIntervalInBackground?: boolean\n /**\n * If set to `true`, the query will refetch on window focus if the data is stale.\n * If set to `false`, the query will not refetch on window focus.\n * If set to `'always'`, the query will always refetch on window focus.\n * If set to a function, the function will be executed with the latest data and query to compute the value.\n * Defaults to `true`.\n */\n refetchOnWindowFocus?:\n | boolean\n | 'always'\n | ((\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n ) => boolean | 'always')\n /**\n * If set to `true`, the query will refetch on reconnect if the data is stale.\n * If set to `false`, the query will not refetch on reconnect.\n * If set to `'always'`, the query will always refetch on reconnect.\n * If set to a function, the function will be executed with the latest data and query to compute the value.\n * Defaults to `true` unless `networkMode` is `'always'`.\n */\n refetchOnReconnect?:\n | boolean\n | 'always'\n | ((\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n ) => boolean | 'always')\n /**\n * If set to `true`, the query will refetch on mount if the data is stale.\n * If set to `false`, will disable additional instances of a query to trigger background refetch.\n * If set to `'always'`, the query will always refetch on mount.\n * If set to a function, the function will be executed with the latest data and query to compute the value\n * Defaults to `true`.\n */\n refetchOnMount?:\n | boolean\n | 'always'\n | ((\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n ) => boolean | 'always')\n /**\n * If set to `false`, the query will not be retried on mount if it contains an error.\n * If set to a function, the function will be executed with the query to compute the value.\n * Defaults to `true`.\n */\n retryOnMount?: QueryBooleanOption<TQueryFnData, TError, TQueryData, TQueryKey>\n /**\n * If set, the component will only re-render if any of the listed properties change.\n * When set to `['data', 'error']`, the component will only re-render when the `data` or `error` properties change.\n * When set to `'all'`, the component will re-render whenever a query is updated.\n * When set to a function, the function will be executed to compute the list of properties.\n * By default, access to properties will be tracked, and the component will only re-render when one of the tracked properties change.\n */\n notifyOnChangeProps?: NotifyOnChangeProps\n /**\n * Whether errors should be thrown instead of setting the `error` property.\n * If set to `true` or `suspense` is `true`, all errors will be thrown to the error boundary.\n * If set to `false` and `suspense` is `false`, errors are returned as state.\n * If set to a function, it will be passed the error and the query, and it should return a boolean indicating whether to show the error in an error boundary (`true`) or return the error as state (`false`).\n * Defaults to `false`.\n */\n throwOnError?: ThrowOnError<TQueryFnData, TError, TQueryData, TQueryKey>\n /**\n * This option can be used to transform or select a part of the data returned by the query function.\n */\n select?: (data: TQueryData) => TData\n /**\n * If set to `true`, the query will suspend when `status === 'pending'`\n * and throw errors when `status === 'error'`.\n * Defaults to `false`.\n */\n suspense?: boolean\n /**\n * If set, this value will be used as the placeholder data for this particular query observer while the query is still in the `loading` data and no initialData has been provided.\n */\n placeholderData?:\n | NonFunctionGuard<TQueryData>\n | PlaceholderDataFunction<\n NonFunctionGuard<TQueryData>,\n TError,\n NonFunctionGuard<TQueryData>,\n TQueryKey\n >\n\n _optimisticResults?: 'optimistic' | 'isRestoring'\n}\n\nexport type WithRequired<TTarget, TKey extends keyof TTarget> = TTarget & {\n [_ in TKey]: {}\n}\n\nexport type DefaultedQueryObserverOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = WithRequired<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>,\n 'throwOnError' | 'refetchOnReconnect' | 'queryHash'\n>\n\nexport interface InfiniteQueryObserverOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>\n extends\n QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n InfiniteData<TQueryFnData, TPageParam>,\n TQueryKey,\n TPageParam\n >,\n InfiniteQueryPageParamsOptions<TQueryFnData, TPageParam> {}\n\nexport type DefaultedInfiniteQueryObserverOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = WithRequired<\n InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n 'throwOnError' | 'refetchOnReconnect' | 'queryHash'\n>\n\nexport interface QueryExecuteOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> extends WithRequired<\n QueryOptions<TQueryFnData, TError, TQueryData, TQueryKey, TPageParam>,\n 'queryKey'\n> {\n initialPageParam?: never\n select?: (data: TQueryData) => TData\n /**\n * The time in milliseconds after data is considered stale.\n * If the data is fresh it will be returned from the cache.\n */\n staleTime?: StaleTimeFunction<TQueryFnData, TError, TQueryData, TQueryKey>\n}\n\n/** @deprecated */\nexport interface FetchQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> extends WithRequired<\n QueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>,\n 'queryKey'\n> {\n initialPageParam?: never\n /**\n * The time in milliseconds after data is considered stale.\n * If the data is fresh it will be returned from the cache.\n */\n staleTime?: StaleTimeFunction<TQueryFnData, TError, TData, TQueryKey>\n}\n\n/** @deprecated */\nexport interface EnsureQueryDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> extends FetchQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n> {\n revalidateIfStale?: boolean\n}\n\n/** @deprecated */\nexport type EnsureInfiniteQueryDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n> & {\n revalidateIfStale?: boolean\n}\n\ntype InfiniteQueryPages<TQueryFnData = unknown, TPageParam = unknown> =\n | { pages?: never }\n | {\n pages: number\n getNextPageParam: GetNextPageParamFunction<TPageParam, TQueryFnData>\n }\n\nexport type InfiniteQueryExecuteOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = Omit<\n QueryExecuteOptions<\n TQueryFnData,\n TError,\n TData,\n InfiniteData<TQueryFnData, TPageParam>,\n TQueryKey,\n TPageParam\n >,\n 'initialPageParam'\n> &\n InitialPageParam<TPageParam> &\n InfiniteQueryPages<TQueryFnData, TPageParam>\n\n/** @deprecated */\nexport type FetchInfiniteQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = Omit<\n FetchQueryOptions<\n TQueryFnData,\n TError,\n InfiniteData<TData, TPageParam>,\n TQueryKey,\n TPageParam\n >,\n 'initialPageParam'\n> &\n InitialPageParam<TPageParam> &\n InfiniteQueryPages<TQueryFnData, TPageParam>\n\nexport interface ResultOptions {\n throwOnError?: boolean\n}\n\nexport interface RefetchOptions extends ResultOptions {\n /**\n * If set to `true`, a currently running request will be cancelled before a new request is made\n *\n * If set to `false`, no refetch will be made if there is already a request running.\n *\n * Defaults to `true`.\n */\n cancelRefetch?: boolean\n}\n\nexport interface InvalidateQueryFilters<\n TQueryKey extends QueryKey = QueryKey,\n> extends QueryFilters<TQueryKey> {\n refetchType?: QueryTypeFilter | 'none'\n}\n\nexport interface RefetchQueryFilters<\n TQueryKey extends QueryKey = QueryKey,\n> extends QueryFilters<TQueryKey> {}\n\nexport interface InvalidateOptions extends RefetchOptions {}\nexport interface ResetOptions extends RefetchOptions {}\n\nexport interface FetchNextPageOptions extends ResultOptions {\n /**\n * If set to `true`, calling `fetchNextPage` repeatedly will invoke `queryFn` every time,\n * whether the previous invocation has resolved or not. Also, the result from previous invocations will be ignored.\n *\n * If set to `false`, calling `fetchNextPage` repeatedly won't have any effect until the first invocation has resolved.\n *\n * Defaults to `true`.\n */\n cancelRefetch?: boolean\n}\n\nexport interface FetchPreviousPageOptions extends ResultOptions {\n /**\n * If set to `true`, calling `fetchPreviousPage` repeatedly will invoke `queryFn` every time,\n * whether the previous invocation has resolved or not. Also, the result from previous invocations will be ignored.\n *\n * If set to `false`, calling `fetchPreviousPage` repeatedly won't have any effect until the first invocation has resolved.\n *\n * Defaults to `true`.\n */\n cancelRefetch?: boolean\n}\n\nexport type QueryStatus = 'pending' | 'error' | 'success'\nexport type FetchStatus = 'fetching' | 'paused' | 'idle'\n\nexport interface QueryObserverBaseResult<\n TData = unknown,\n TError = DefaultError,\n> {\n /**\n * The last successfully resolved data for the query.\n */\n data: TData | undefined\n /**\n * The timestamp for when the query most recently returned the `status` as `\"success\"`.\n */\n dataUpdatedAt: number\n /**\n * The error object for the query, if an error was thrown.\n * - Defaults to `null`.\n */\n error: TError | null\n /**\n * The timestamp for when the query most recently returned the `status` as `\"error\"`.\n */\n errorUpdatedAt: number\n /**\n * The failure count for the query.\n * - Incremented every time the query fails.\n * - Reset to `0` when the query succeeds.\n */\n failureCount: number\n /**\n * The failure reason for the query retry.\n * - Reset to `null` when the query succeeds.\n */\n failureReason: TError | null\n /**\n * The sum of all errors.\n */\n errorUpdateCount: number\n /**\n * A derived boolean from the `status` variable, provided for convenience.\n * - `true` if the query attempt resulted in an error.\n */\n isError: boolean\n /**\n * Will be `true` if the query has been fetched.\n */\n isFetched: boolean\n /**\n * Will be `true` if the query has been fetched after the component mounted.\n * - This property can be used to not show any previously cached data.\n */\n isFetchedAfterMount: boolean\n /**\n * A derived boolean from the `fetchStatus` variable, provided for convenience.\n * - `true` whenever the `queryFn` is executing, which includes initial `pending` as well as background refetch.\n */\n isFetching: boolean\n /**\n * Is `true` whenever the first fetch for a query is in-flight.\n * - Is the same as `isFetching && isPending`.\n */\n isLoading: boolean\n /**\n * Will be `pending` if there's no cached data and no query attempt was finished yet.\n */\n isPending: boolean\n /**\n * Will be `true` if the query failed while fetching for the first time.\n */\n isLoadingError: boolean\n /**\n * @deprecated `isInitialLoading` is being deprecated in favor of `isLoading`\n * and will be removed in the next major version.\n */\n isInitialLoading: boolean\n /**\n * A derived boolean from the `fetchStatus` variable, provided for convenience.\n * - The query wanted to fetch, but has been `paused`.\n */\n isPaused: boolean\n /**\n * Will be `true` if the data shown is the placeholder data.\n */\n isPlaceholderData: boolean\n /**\n * Will be `true` if the query failed while refetching.\n */\n isRefetchError: boolean\n /**\n * Is `true` whenever a background refetch is in-flight, which _does not_ include initial `pending`.\n * - Is the same as `isFetching && !isPending`.\n */\n isRefetching: boolean\n /**\n * Will be `true` if the data in the cache is invalidated or if the data is older than the given `staleTime`.\n */\n isStale: boolean\n /**\n * A derived boolean from the `status` variable, provided for convenience.\n * - `true` if the query has received a response with no errors and is ready to display its data.\n */\n isSuccess: boolean\n /**\n * `true` if this observer is enabled, `false` otherwise.\n */\n isEnabled: boolean\n /**\n * A function to manually refetch the query.\n */\n refetch: (\n options?: RefetchOptions,\n ) => Promise<QueryObserverResult<TData, TError>>\n /**\n * The status of the query.\n * - Will be:\n * - `pending` if there's no cached data and no query attempt was finished yet.\n * - `error` if the query attempt resulted in an error.\n * - `success` if the query has received a response with no errors and is ready to display its data.\n */\n status: QueryStatus\n /**\n * The fetch status of the query.\n * - `fetching`: Is `true` whenever the queryFn is executing, which includes initial `pending` as well as background refetch.\n * - `paused`: The query wanted to fetch, but has been `paused`.\n * - `idle`: The query is not fetching.\n * - See [Network Mode](https://tanstack.com/query/latest/docs/framework/react/guides/network-mode) for more information.\n */\n fetchStatus: FetchStatus\n}\n\nexport interface QueryObserverPendingResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: undefined\n error: null\n isError: false\n isPending: true\n isLoadingError: false\n isRefetchError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'pending'\n}\n\nexport interface QueryObserverLoadingResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: undefined\n error: null\n isError: false\n isPending: true\n isLoading: true\n isLoadingError: false\n isRefetchError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'pending'\n}\n\nexport interface QueryObserverLoadingErrorResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: undefined\n error: TError\n isError: true\n isPending: false\n isLoading: false\n isLoadingError: true\n isRefetchError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'error'\n}\n\nexport interface QueryObserverRefetchErrorResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: TData\n error: TError\n isError: true\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: true\n isSuccess: false\n isPlaceholderData: false\n status: 'error'\n}\n\nexport interface QueryObserverSuccessResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: TData\n error: null\n isError: false\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: false\n isSuccess: true\n isPlaceholderData: false\n status: 'success'\n}\n\nexport interface QueryObserverPlaceholderResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: TData\n isError: false\n error: null\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: false\n isSuccess: true\n isPlaceholderData: true\n status: 'success'\n}\n\nexport type DefinedQueryObserverResult<\n TData = unknown,\n TError = DefaultError,\n> =\n | QueryObserverRefetchErrorResult<TData, TError>\n | QueryObserverSuccessResult<TData, TError>\n\nexport type QueryObserverResult<TData = unknown, TError = DefaultError> =\n | DefinedQueryObserverResult<TData, TError>\n | QueryObserverLoadingErrorResult<TData, TError>\n | QueryObserverLoadingResult<TData, TError>\n | QueryObserverPendingResult<TData, TError>\n | QueryObserverPlaceholderResult<TData, TError>\n\nexport interface InfiniteQueryObserverBaseResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n /**\n * This function allows you to fetch the next \"page\" of results.\n */\n fetchNextPage: (\n options?: FetchNextPageOptions,\n ) => Promise<InfiniteQueryObserverResult<TData, TError>>\n /**\n * This function allows you to fetch the previous \"page\" of results.\n */\n fetchPreviousPage: (\n options?: FetchPreviousPageOptions,\n ) => Promise<InfiniteQueryObserverResult<TData, TError>>\n /**\n * Will be `true` if there is a next page to be fetched (known via the `getNextPageParam` option).\n */\n hasNextPage: boolean\n /**\n * Will be `true` if there is a previous page to be fetched (known via the `getPreviousPageParam` option).\n */\n hasPreviousPage: boolean\n /**\n * Will be `true` if the query failed while fetching the next page.\n */\n isFetchNextPageError: boolean\n /**\n * Will be `true` while fetching the next page with `fetchNextPage`.\n */\n isFetchingNextPage: boolean\n /**\n * Will be `true` if the query failed while fetching the previous page.\n */\n isFetchPreviousPageError: boolean\n /**\n * Will be `true` while fetching the previous page with `fetchPreviousPage`.\n */\n isFetchingPreviousPage: boolean\n}\n\nexport interface InfiniteQueryObserverPendingResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: undefined\n error: null\n isError: false\n isPending: true\n isLoadingError: false\n isRefetchError: false\n isFetchNextPageError: false\n isFetchPreviousPageError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'pending'\n}\n\nexport interface InfiniteQueryObserverLoadingResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: undefined\n error: null\n isError: false\n isPending: true\n isLoading: true\n isLoadingError: false\n isRefetchError: false\n isFetchNextPageError: false\n isFetchPreviousPageError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'pending'\n}\n\nexport interface InfiniteQueryObserverLoadingErrorResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: undefined\n error: TError\n isError: true\n isPending: false\n isLoading: false\n isLoadingError: true\n isRefetchError: false\n isFetchNextPageError: false\n isFetchPreviousPageError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'error'\n}\n\nexport interface InfiniteQueryObserverRefetchErrorResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: TData\n error: TError\n isError: true\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: true\n isSuccess: false\n isPlaceholderData: false\n status: 'error'\n}\n\nexport interface InfiniteQueryObserverSuccessResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: TData\n error: null\n isError: false\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: false\n isFetchNextPageError: false\n isFetchPreviousPageError: false\n isSuccess: true\n isPlaceholderData: false\n status: 'success'\n}\n\nexport interface InfiniteQueryObserverPlaceholderResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: TData\n isError: false\n error: null\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: false\n isSuccess: true\n isPlaceholderData: true\n isFetchNextPageError: false\n isFetchPreviousPageError: false\n status: 'success'\n}\n\nexport type DefinedInfiniteQueryObserverResult<\n TData = unknown,\n TError = DefaultError,\n> =\n | InfiniteQueryObserverRefetchErrorResult<TData, TError>\n | InfiniteQueryObserverSuccessResult<TData, TError>\n\nexport type InfiniteQueryObserverResult<\n TData = unknown,\n TError = DefaultError,\n> =\n | DefinedInfiniteQueryObserverResult<TData, TError>\n | InfiniteQueryObserverLoadingErrorResult<TData, TError>\n | InfiniteQueryObserverLoadingResult<TData, TError>\n | InfiniteQueryObserverPendingResult<TData, TError>\n | InfiniteQueryObserverPlaceholderResult<TData, TError>\n\nexport type MutationKey = Register extends {\n mutationKey: infer TMutationKey\n}\n ? TMutationKey extends ReadonlyArray<unknown>\n ? TMutationKey\n : TMutationKey extends Array<unknown>\n ? TMutationKey\n : ReadonlyArray<unknown>\n : ReadonlyArray<unknown>\n\nexport type MutationStatus = 'idle' | 'pending' | 'success' | 'error'\n\nexport type MutationScope = {\n id: string\n}\n\nexport type MutationMeta = Register extends {\n mutationMeta: infer TMutationMeta\n}\n ? TMutationMeta extends Record<string, unknown>\n ? TMutationMeta\n : Record<string, unknown>\n : Record<string, unknown>\n\nexport type MutationFunctionContext = {\n client: QueryClient\n meta: MutationMeta | undefined\n mutationKey?: MutationKey\n}\n\nexport type MutationFunction<TData = unknown, TVariables = unknown> = (\n variables: TVariables,\n context: MutationFunctionContext,\n) => Promise<TData>\n\nexport interface MutationOptions<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> {\n mutationFn?: MutationFunction<TData, TVariables>\n mutationKey?: MutationKey\n onMutate?: (\n variables: TVariables,\n context: MutationFunctionContext,\n ) => Promise<TOnMutateResult> | TOnMutateResult\n onSuccess?: (\n data: TData,\n variables: TVariables,\n onMutateResult: TOnMutateResult,\n context: MutationFunctionContext,\n ) => Promise<unknown> | unknown\n onError?: (\n error: TError,\n variables: TVariables,\n onMutateResult: TOnMutateResult | undefined,\n context: MutationFunctionContext,\n ) => Promise<unknown> | unknown\n onSettled?: (\n data: TData | undefined,\n error: TError | null,\n variables: TVariables,\n onMutateResult: TOnMutateResult | undefined,\n context: MutationFunctionContext,\n ) => Promise<unknown> | unknown\n retry?: RetryValue<TError>\n retryDelay?: RetryDelayValue<TError>\n networkMode?: NetworkMode\n gcTime?: number\n _defaulted?: boolean\n meta?: MutationMeta\n scope?: MutationScope\n}\n\nexport interface MutationObserverOptions<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationOptions<TData, TError, TVariables, TOnMutateResult> {\n throwOnError?: boolean | ((error: TError) => boolean)\n}\n\nexport interface MutateOptions<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> {\n onSuccess?: (\n data: TData,\n variables: TVariables,\n onMutateResult: TOnMutateResult | undefined,\n context: MutationFunctionContext,\n ) => void\n onError?: (\n error: TError,\n variables: TVariables,\n onMutateResult: TOnMutateResult | undefined,\n context: MutationFunctionContext,\n ) => void\n onSettled?: (\n data: TData | undefined,\n error: TError | null,\n variables: TVariables,\n onMutateResult: TOnMutateResult | undefined,\n context: MutationFunctionContext,\n ) => void\n}\n\nexport type MutateFunctionRest<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> = undefined extends TVariables\n ? [\n variables?: TVariables,\n options?: MutateOptions<TData, TError, TVariables, TOnMutateResult>,\n ]\n : [\n variables: TVariables,\n options?: MutateOptions<TData, TError, TVariables, TOnMutateResult>,\n ]\n\nexport type MutateFunction<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> = (\n ...rest: MutateFunctionRest<TData, TError, TVariables, TOnMutateResult>\n) => Promise<TData>\n\nexport interface MutationObserverBaseResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationState<TData, TError, TVariables, TOnMutateResult> {\n /**\n * The last successfully resolved data for the mutation.\n */\n data: TData | undefined\n /**\n * The variables object passed to the `mutationFn`.\n */\n variables: TVariables | undefined\n /**\n * The error object for the mutation, if an error was encountered.\n * - Defaults to `null`.\n */\n error: TError | null\n /**\n * A boolean variable derived from `status`.\n * - `true` if the last mutation attempt resulted in an error.\n */\n isError: boolean\n /**\n * A boolean variable derived from `status`.\n * - `true` if the mutation is in its initial state prior to executing.\n */\n isIdle: boolean\n /**\n * A boolean variable derived from `status`.\n * - `true` if the mutation is currently executing.\n */\n isPending: boolean\n /**\n * A boolean variable derived from `status`.\n * - `true` if the last mutation attempt was successful.\n */\n isSuccess: boolean\n /**\n * The status of the mutation.\n * - Will be:\n * - `idle` initial status prior to the mutation function executing.\n * - `pending` if the mutation is currently executing.\n * - `error` if the last mutation attempt resulted in an error.\n * - `success` if the last mutation attempt was successful.\n */\n status: MutationStatus\n /**\n * The mutation function you can call with variables to trigger the mutation and optionally hooks on additional callback options.\n * @param variables - The variables object to pass to the `mutationFn`.\n * @param options.onSuccess - This function will fire when the mutation is successful and will be passed the mutation's result.\n * @param options.onError - This function will fire if the mutation encounters an error and will be passed the error.\n * @param options.onSettled - This function will fire when the mutation is either successfully fetched or encounters an error and be passed either the data or error.\n * @remarks\n * - If you make multiple requests, `onSuccess` will fire only after the latest call you've made.\n * - All the callback functions (`onSuccess`, `onError`, `onSettled`) are void functions, and the returned value will be ignored.\n */\n mutate: MutateFunction<TData, TError, TVariables, TOnMutateResult>\n /**\n * A function to clean the mutation internal state (i.e., it resets the mutation to its initial state).\n */\n reset: () => void\n}\n\nexport interface MutationObserverIdleResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationObserverBaseResult<\n TData,\n TError,\n TVariables,\n TOnMutateResult\n> {\n data: undefined\n variables: undefined\n error: null\n isError: false\n isIdle: true\n isPending: false\n isSuccess: false\n status: 'idle'\n}\n\nexport interface MutationObserverLoadingResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationObserverBaseResult<\n TData,\n TError,\n TVariables,\n TOnMutateResult\n> {\n data: undefined\n variables: TVariables\n error: null\n isError: false\n isIdle: false\n isPending: true\n isSuccess: false\n status: 'pending'\n}\n\nexport interface MutationObserverErrorResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationObserverBaseResult<\n TData,\n TError,\n TVariables,\n TOnMutateResult\n> {\n data: undefined\n error: TError\n variables: TVariables\n isError: true\n isIdle: false\n isPending: false\n isSuccess: false\n status: 'error'\n}\n\nexport interface MutationObserverSuccessResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationObserverBaseResult<\n TData,\n TError,\n TVariables,\n TOnMutateResult\n> {\n data: TData\n error: null\n variables: TVariables\n isError: false\n isIdle: false\n isPending: false\n isSuccess: true\n status: 'success'\n}\n\nexport type MutationObserverResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> =\n | MutationObserverIdleResult<TData, TError, TVariables, TOnMutateResult>\n | MutationObserverLoadingResult<TData, TError, TVariables, TOnMutateResult>\n | MutationObserverErrorResult<TData, TError, TVariables, TOnMutateResult>\n | MutationObserverSuccessResult<TData, TError, TVariables, TOnMutateResult>\n\nexport interface QueryClientConfig {\n queryCache?: QueryCache\n mutationCache?: MutationCache\n defaultOptions?: DefaultOptions\n}\n\nexport interface DefaultOptions<TError = DefaultError> {\n queries?: OmitKeyof<\n QueryObserverOptions<unknown, TError>,\n 'suspense' | 'queryKey'\n >\n mutations?: MutationObserverOptions<unknown, TError, unknown, unknown>\n hydrate?: HydrateOptions['defaultOptions']\n dehydrate?: DehydrateOptions\n}\n\nexport interface CancelOptions {\n revert?: boolean\n silent?: boolean\n}\n\nexport interface SetDataOptions {\n updatedAt?: number\n}\n\nexport type NotifyEventType =\n | 'added'\n | 'removed'\n | 'updated'\n | 'observerAdded'\n | 'observerRemoved'\n | 'observerResultsUpdated'\n | 'observerOptionsUpdated'\n\nexport interface NotifyEvent {\n type: NotifyEventType\n}\n"],"mappings":";;;AA4DA,MAAa,gBAAgB,OAAO,eAAe;AAEnD,MAAa,qBAAqB,OAAO,oBAAoB;AAE7D,MAAa,cAAc,OAAO,aAAa"} | ||
| {"version":3,"file":"types.cjs","names":[],"sources":["../../src/types.ts"],"sourcesContent":["/* istanbul ignore file */\n\nimport type { QueryClient } from './queryClient'\nimport type { DehydrateOptions, HydrateOptions } from './hydration'\nimport type { MutationState } from './mutation'\nimport type { FetchDirection, Query, QueryBehavior } from './query'\nimport type { RetryDelayValue, RetryValue } from './retryer'\nimport type { QueryFilters, QueryTypeFilter, SkipToken } from './utils'\nimport type { QueryCache } from './queryCache'\nimport type { MutationCache } from './mutationCache'\n\nexport type NonUndefinedGuard<T> = T extends undefined ? never : T\n\nexport type DistributiveOmit<\n TObject,\n TKey extends keyof TObject,\n> = TObject extends any ? Omit<TObject, TKey> : never\n\nexport type OmitKeyof<\n TObject,\n TKey extends TStrictly extends 'safely'\n ?\n | keyof TObject\n | (string & Record<never, never>)\n | (number & Record<never, never>)\n | (symbol & Record<never, never>)\n : keyof TObject,\n TStrictly extends 'strictly' | 'safely' = 'strictly',\n> = Omit<TObject, TKey>\n\nexport type Override<TTargetA, TTargetB> = {\n [AKey in keyof TTargetA]: AKey extends keyof TTargetB\n ? TTargetB[AKey]\n : TTargetA[AKey]\n}\n\nexport interface Register {\n // defaultError: Error\n // queryMeta: Record<string, unknown>\n // mutationMeta: Record<string, unknown>\n // queryKey: ReadonlyArray<unknown>\n // mutationKey: ReadonlyArray<unknown>\n}\n\nexport type DefaultError = Register extends {\n defaultError: infer TError\n}\n ? TError\n : Error\n\nexport type QueryKey = Register extends {\n queryKey: infer TQueryKey\n}\n ? TQueryKey extends ReadonlyArray<unknown>\n ? TQueryKey\n : TQueryKey extends Array<unknown>\n ? TQueryKey\n : ReadonlyArray<unknown>\n : ReadonlyArray<unknown>\n\nexport const dataTagSymbol = Symbol()\nexport type dataTagSymbol = typeof dataTagSymbol\nexport const dataTagErrorSymbol = Symbol()\nexport type dataTagErrorSymbol = typeof dataTagErrorSymbol\nexport const unsetMarker = Symbol()\nexport type UnsetMarker = typeof unsetMarker\nexport type AnyDataTag = {\n [dataTagSymbol]: any\n [dataTagErrorSymbol]: any\n}\nexport type DataTag<\n TType,\n TValue,\n TError = UnsetMarker,\n> = TType extends AnyDataTag\n ? TType\n : TType & {\n [dataTagSymbol]: TValue\n [dataTagErrorSymbol]: TError\n }\n\nexport type QueryKeyWithDataTag<\n TQueryKey extends QueryKey = QueryKey,\n TQueryFnData = unknown,\n TError = DefaultError,\n> = {\n queryKey: DataTag<TQueryKey, TQueryFnData, TError>\n}\n\nexport type InferDataFromTag<TQueryFnData, TTaggedQueryKey extends QueryKey> =\n TTaggedQueryKey extends DataTag<unknown, infer TaggedValue, unknown>\n ? TaggedValue\n : TQueryFnData\n\nexport type InferErrorFromTag<TError, TTaggedQueryKey extends QueryKey> =\n TTaggedQueryKey extends DataTag<unknown, unknown, infer TaggedError>\n ? TaggedError extends UnsetMarker\n ? TError\n : TaggedError\n : TError\n\nexport type QueryFunction<\n T = unknown,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> = (context: QueryFunctionContext<TQueryKey, TPageParam>) => T | Promise<T>\n\nexport type StaleTime = number | 'static'\n\nexport type StaleTimeFunction<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> =\n | StaleTime\n | ((query: Query<TQueryFnData, TError, TData, TQueryKey>) => StaleTime)\n\nexport type QueryBooleanOption<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> =\n | boolean\n | ((query: Query<TQueryFnData, TError, TData, TQueryKey>) => boolean)\n\nexport type QueryPersister<\n T = unknown,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> = [TPageParam] extends [never]\n ? (\n queryFn: QueryFunction<T, TQueryKey, never>,\n context: QueryFunctionContext<TQueryKey>,\n query: Query,\n ) => T | Promise<T>\n : (\n queryFn: QueryFunction<T, TQueryKey, TPageParam>,\n context: QueryFunctionContext<TQueryKey>,\n query: Query,\n ) => T | Promise<T>\n\nexport type QueryFunctionContext<\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> = [TPageParam] extends [never]\n ? {\n client: QueryClient\n queryKey: TQueryKey\n signal: AbortSignal\n meta: QueryMeta | undefined\n pageParam?: unknown\n /**\n * @deprecated\n * if you want access to the direction, you can add it to the pageParam\n */\n direction?: unknown\n }\n : {\n client: QueryClient\n queryKey: TQueryKey\n signal: AbortSignal\n pageParam: TPageParam\n /**\n * @deprecated\n * if you want access to the direction, you can add it to the pageParam\n */\n direction: FetchDirection\n meta: QueryMeta | undefined\n }\n\nexport type InitialDataFunction<T> = () => T | undefined\n\ntype NonFunctionGuard<T> = T extends Function ? never : T\n\nexport type PlaceholderDataFunction<\n TQueryFnData = unknown,\n TError = DefaultError,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = (\n previousData: TQueryData | undefined,\n previousQuery: Query<TQueryFnData, TError, TQueryData, TQueryKey> | undefined,\n) => TQueryData | undefined\n\nexport type QueriesPlaceholderDataFunction<TQueryData> = (\n previousData: undefined,\n previousQuery: undefined,\n) => TQueryData | undefined\n\nexport type QueryKeyHashFunction<TQueryKey extends QueryKey> = (\n queryKey: TQueryKey,\n) => string\n\nexport type GetPreviousPageParamFunction<TPageParam, TQueryFnData = unknown> = (\n firstPage: TQueryFnData,\n allPages: Array<TQueryFnData>,\n firstPageParam: TPageParam,\n allPageParams: Array<TPageParam>,\n) => TPageParam | undefined | null\n\nexport type GetNextPageParamFunction<TPageParam, TQueryFnData = unknown> = (\n lastPage: TQueryFnData,\n allPages: Array<TQueryFnData>,\n lastPageParam: TPageParam,\n allPageParams: Array<TPageParam>,\n) => TPageParam | undefined | null\n\nexport interface InfiniteData<TData, TPageParam = unknown> {\n pages: Array<TData>\n pageParams: Array<TPageParam>\n}\n\nexport type QueryMeta = Register extends {\n queryMeta: infer TQueryMeta\n}\n ? TQueryMeta extends Record<string, unknown>\n ? TQueryMeta\n : Record<string, unknown>\n : Record<string, unknown>\n\nexport type NetworkMode = 'online' | 'always' | 'offlineFirst'\n\nexport type NotifyOnChangeProps =\n | Array<keyof InfiniteQueryObserverResult>\n | 'all'\n | undefined\n | (() => Array<keyof InfiniteQueryObserverResult> | 'all' | undefined)\n\nexport interface QueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> {\n /**\n * If `false`, failed queries will not retry by default.\n * If `true`, failed queries will retry infinitely.\n * If set to an integer number, e.g. 3, failed queries will retry until the failed query count meets that number.\n * If set to a function `(failureCount, error) => boolean` failed queries will retry until the function returns false.\n */\n retry?: RetryValue<TError>\n retryDelay?: RetryDelayValue<TError>\n networkMode?: NetworkMode\n /**\n * The time in milliseconds that unused/inactive cache data remains in memory.\n * When a query's cache becomes unused or inactive, that cache data will be garbage collected after this duration.\n * When different garbage collection times are specified, the longest one will be used.\n * Setting it to `Infinity` will disable garbage collection.\n */\n gcTime?: number\n queryFn?: QueryFunction<TQueryFnData, TQueryKey, TPageParam> | SkipToken\n persister?: QueryPersister<TQueryFnData, NoInfer<TQueryKey>, TPageParam>\n queryHash?: string\n queryKey?: TQueryKey\n queryKeyHashFn?: QueryKeyHashFunction<TQueryKey>\n initialData?: TData | InitialDataFunction<TData>\n initialDataUpdatedAt?: number | (() => number | undefined)\n behavior?: QueryBehavior<TQueryFnData, TError, TData, TQueryKey>\n /**\n * Set this to `false` to disable structural sharing between query results.\n * Set this to a function which accepts the old and new data and returns resolved data of the same type to implement custom structural sharing logic.\n * Defaults to `true`.\n */\n structuralSharing?:\n | boolean\n | ((oldData: unknown | undefined, newData: unknown) => unknown)\n _defaulted?: boolean\n _type?: 'infinite'\n /**\n * Additional payload to be stored on each query.\n * Use this property to pass information that can be used in other places.\n */\n meta?: QueryMeta\n /**\n * Maximum number of pages to store in the data of an infinite query.\n */\n maxPages?: number\n}\n\nexport interface InitialPageParam<TPageParam = unknown> {\n initialPageParam: TPageParam\n}\n\nexport interface InfiniteQueryPageParamsOptions<\n TQueryFnData = unknown,\n TPageParam = unknown,\n> extends InitialPageParam<TPageParam> {\n /**\n * This function can be set to automatically get the previous cursor for infinite queries.\n * The result will also be used to determine the value of `hasPreviousPage`.\n */\n getPreviousPageParam?: GetPreviousPageParamFunction<TPageParam, TQueryFnData>\n /**\n * This function can be set to automatically get the next cursor for infinite queries.\n * The result will also be used to determine the value of `hasNextPage`.\n */\n getNextPageParam: GetNextPageParamFunction<TPageParam, TQueryFnData>\n}\n\nexport type ThrowOnError<\n TQueryFnData,\n TError,\n TQueryData,\n TQueryKey extends QueryKey,\n> =\n | boolean\n | ((\n error: TError,\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n ) => boolean)\n\nexport interface QueryObserverOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> extends WithRequired<\n QueryOptions<TQueryFnData, TError, TQueryData, TQueryKey, TPageParam>,\n 'queryKey'\n> {\n /**\n * Set this to `false` or a function that returns `false` to disable automatic refetching when the query mounts or changes query keys.\n * To refetch the query, use the `refetch` method returned from the `useQuery` instance.\n * Accepts a boolean or function that returns a boolean.\n * Defaults to `true`.\n */\n enabled?: QueryBooleanOption<TQueryFnData, TError, TQueryData, TQueryKey>\n /**\n * The time in milliseconds after data is considered stale.\n * If set to `Infinity`, the data will never be considered stale.\n * If set to a function, the function will be executed with the query to compute a `staleTime`.\n * Defaults to `0`.\n */\n staleTime?: StaleTimeFunction<TQueryFnData, TError, TQueryData, TQueryKey>\n /**\n * If set to a number, the query will continuously refetch at this frequency in milliseconds.\n * If set to a function, the function will be executed with the latest data and query to compute a frequency\n * Defaults to `false`.\n */\n refetchInterval?:\n | number\n | false\n | ((\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n ) => number | false | undefined)\n /**\n * If set to `true`, the query will continue to refetch while their tab/window is in the background.\n * Defaults to `false`.\n */\n refetchIntervalInBackground?: boolean\n /**\n * If set to `true`, the query will refetch on window focus if the data is stale.\n * If set to `false`, the query will not refetch on window focus.\n * If set to `'always'`, the query will always refetch on window focus.\n * If set to a function, the function will be executed with the latest data and query to compute the value.\n * Defaults to `true`.\n */\n refetchOnWindowFocus?:\n | boolean\n | 'always'\n | ((\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n ) => boolean | 'always')\n /**\n * If set to `true`, the query will refetch on reconnect if the data is stale.\n * If set to `false`, the query will not refetch on reconnect.\n * If set to `'always'`, the query will always refetch on reconnect.\n * If set to a function, the function will be executed with the latest data and query to compute the value.\n * Defaults to `true` unless `networkMode` is `'always'`.\n */\n refetchOnReconnect?:\n | boolean\n | 'always'\n | ((\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n ) => boolean | 'always')\n /**\n * If set to `true`, the query will refetch on mount if the data is stale.\n * If set to `false`, will disable additional instances of a query to trigger background refetch.\n * If set to `'always'`, the query will always refetch on mount.\n * If set to a function, the function will be executed with the latest data and query to compute the value\n * Defaults to `true`.\n */\n refetchOnMount?:\n | boolean\n | 'always'\n | ((\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n ) => boolean | 'always')\n /**\n * If set to `false`, the query will not be retried on mount if it contains an error.\n * If set to a function, the function will be executed with the query to compute the value.\n * Defaults to `true`.\n */\n retryOnMount?: QueryBooleanOption<TQueryFnData, TError, TQueryData, TQueryKey>\n /**\n * If set, the component will only re-render if any of the listed properties change.\n * When set to `['data', 'error']`, the component will only re-render when the `data` or `error` properties change.\n * When set to `'all'`, the component will re-render whenever a query is updated.\n * When set to a function, the function will be executed to compute the list of properties.\n * By default, access to properties will be tracked, and the component will only re-render when one of the tracked properties change.\n */\n notifyOnChangeProps?: NotifyOnChangeProps\n /**\n * Whether errors should be thrown instead of setting the `error` property.\n * If set to `true` or `suspense` is `true`, all errors will be thrown to the error boundary.\n * If set to `false` and `suspense` is `false`, errors are returned as state.\n * If set to a function, it will be passed the error and the query, and it should return a boolean indicating whether to show the error in an error boundary (`true`) or return the error as state (`false`).\n * Defaults to `false`.\n */\n throwOnError?: ThrowOnError<TQueryFnData, TError, TQueryData, TQueryKey>\n /**\n * This option can be used to transform or select a part of the data returned by the query function.\n */\n select?: (data: TQueryData) => TData\n /**\n * If set to `true`, the query will suspend when `status === 'pending'`\n * and throw errors when `status === 'error'`.\n * Defaults to `false`.\n */\n suspense?: boolean\n /**\n * If set, this value will be used as the placeholder data for this particular query observer while the query is still in the `loading` data and no initialData has been provided.\n */\n placeholderData?:\n | NonFunctionGuard<TQueryData>\n | PlaceholderDataFunction<\n NonFunctionGuard<TQueryData>,\n TError,\n NonFunctionGuard<TQueryData>,\n TQueryKey\n >\n\n _optimisticResults?: 'optimistic' | 'isRestoring'\n}\n\nexport type WithRequired<TTarget, TKey extends keyof TTarget> = TTarget & {\n [_ in TKey]: {}\n}\n\nexport type DefaultedQueryObserverOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = WithRequired<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>,\n 'throwOnError' | 'refetchOnReconnect' | 'queryHash'\n>\n\nexport interface InfiniteQueryObserverOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>\n extends\n QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n InfiniteData<TQueryFnData, TPageParam>,\n TQueryKey,\n TPageParam\n >,\n InfiniteQueryPageParamsOptions<TQueryFnData, TPageParam> {}\n\nexport type DefaultedInfiniteQueryObserverOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = WithRequired<\n InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n 'throwOnError' | 'refetchOnReconnect' | 'queryHash'\n>\n\nexport interface QueryExecuteOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> extends WithRequired<\n QueryOptions<TQueryFnData, TError, TQueryData, TQueryKey, TPageParam>,\n 'queryKey'\n> {\n initialPageParam?: never\n select?: (data: TQueryData) => TData\n /**\n * The time in milliseconds after data is considered stale.\n * If the data is fresh it will be returned from the cache.\n */\n staleTime?: StaleTimeFunction<TQueryFnData, TError, TQueryData, TQueryKey>\n}\n\n/** @deprecated */\nexport interface FetchQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> extends WithRequired<\n QueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>,\n 'queryKey'\n> {\n initialPageParam?: never\n /**\n * The time in milliseconds after data is considered stale.\n * If the data is fresh it will be returned from the cache.\n */\n staleTime?: StaleTimeFunction<TQueryFnData, TError, TData, TQueryKey>\n}\n\n/** @deprecated */\nexport interface EnsureQueryDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> extends FetchQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n> {\n revalidateIfStale?: boolean\n}\n\n/** @deprecated */\nexport type EnsureInfiniteQueryDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n> & {\n revalidateIfStale?: boolean\n}\n\ntype InfiniteQueryPages<TQueryFnData = unknown, TPageParam = unknown> =\n | { pages?: never }\n | {\n pages: number\n getNextPageParam: GetNextPageParamFunction<TPageParam, TQueryFnData>\n }\n\nexport type InfiniteQueryExecuteOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = Omit<\n QueryExecuteOptions<\n TQueryFnData,\n TError,\n TData,\n InfiniteData<TQueryFnData, TPageParam>,\n TQueryKey,\n TPageParam\n >,\n 'initialPageParam'\n> &\n InitialPageParam<TPageParam> &\n InfiniteQueryPages<TQueryFnData, TPageParam>\n\n/** @deprecated */\nexport type FetchInfiniteQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = Omit<\n FetchQueryOptions<\n TQueryFnData,\n TError,\n InfiniteData<TData, TPageParam>,\n TQueryKey,\n TPageParam\n >,\n 'initialPageParam'\n> &\n InitialPageParam<TPageParam> &\n InfiniteQueryPages<TQueryFnData, TPageParam>\n\nexport interface ResultOptions {\n throwOnError?: boolean\n}\n\nexport interface RefetchOptions extends ResultOptions {\n /**\n * If set to `true`, a currently running request will be cancelled before a new request is made\n *\n * If set to `false`, no refetch will be made if there is already a request running.\n *\n * Defaults to `true`.\n */\n cancelRefetch?: boolean\n}\n\nexport interface InvalidateQueryFilters<\n TQueryKey extends QueryKey = QueryKey,\n> extends QueryFilters<TQueryKey> {\n refetchType?: QueryTypeFilter | 'none'\n}\n\nexport interface RefetchQueryFilters<\n TQueryKey extends QueryKey = QueryKey,\n> extends QueryFilters<TQueryKey> {}\n\nexport interface InvalidateOptions extends RefetchOptions {}\nexport interface ResetOptions extends RefetchOptions {}\n\nexport interface FetchNextPageOptions extends ResultOptions {\n /**\n * If set to `true`, calling `fetchNextPage` repeatedly will invoke `queryFn` every time,\n * whether the previous invocation has resolved or not. Also, the result from previous invocations will be ignored.\n *\n * If set to `false`, calling `fetchNextPage` repeatedly won't have any effect until the first invocation has resolved.\n *\n * Defaults to `true`.\n */\n cancelRefetch?: boolean\n}\n\nexport interface FetchPreviousPageOptions extends ResultOptions {\n /**\n * If set to `true`, calling `fetchPreviousPage` repeatedly will invoke `queryFn` every time,\n * whether the previous invocation has resolved or not. Also, the result from previous invocations will be ignored.\n *\n * If set to `false`, calling `fetchPreviousPage` repeatedly won't have any effect until the first invocation has resolved.\n *\n * Defaults to `true`.\n */\n cancelRefetch?: boolean\n}\n\nexport type QueryStatus = 'pending' | 'error' | 'success'\nexport type FetchStatus = 'fetching' | 'paused' | 'idle'\n\nexport interface QueryObserverBaseResult<\n TData = unknown,\n TError = DefaultError,\n> {\n /**\n * The last successfully resolved data for the query.\n */\n data: TData | undefined\n /**\n * The timestamp for when the query most recently returned the `status` as `\"success\"`.\n */\n dataUpdatedAt: number\n /**\n * The error object for the query, if an error was thrown.\n * - Defaults to `null`.\n */\n error: TError | null\n /**\n * The timestamp for when the query most recently returned the `status` as `\"error\"`.\n */\n errorUpdatedAt: number\n /**\n * The failure count for the query.\n * - Incremented every time the query fails.\n * - Reset to `0` when the query succeeds.\n */\n failureCount: number\n /**\n * The failure reason for the query retry.\n * - Reset to `null` when the query succeeds.\n */\n failureReason: TError | null\n /**\n * The sum of all errors.\n */\n errorUpdateCount: number\n /**\n * A derived boolean from the `status` variable, provided for convenience.\n * - `true` if the query attempt resulted in an error.\n */\n isError: boolean\n /**\n * Will be `true` if the query has been fetched.\n */\n isFetched: boolean\n /**\n * Will be `true` if the query has been fetched after the component mounted.\n * - This property can be used to not show any previously cached data.\n */\n isFetchedAfterMount: boolean\n /**\n * A derived boolean from the `fetchStatus` variable, provided for convenience.\n * - `true` whenever the `queryFn` is executing, which includes initial `pending` as well as background refetch.\n */\n isFetching: boolean\n /**\n * Is `true` whenever the first fetch for a query is in-flight.\n * - Is the same as `isFetching && isPending`.\n */\n isLoading: boolean\n /**\n * Will be `pending` if there's no cached data and no query attempt was finished yet.\n */\n isPending: boolean\n /**\n * Will be `true` if the query failed while fetching for the first time.\n */\n isLoadingError: boolean\n /**\n * @deprecated `isInitialLoading` is being deprecated in favor of `isLoading`\n * and will be removed in the next major version.\n */\n isInitialLoading: boolean\n /**\n * A derived boolean from the `fetchStatus` variable, provided for convenience.\n * - The query wanted to fetch, but has been `paused`.\n */\n isPaused: boolean\n /**\n * Will be `true` if the data shown is the placeholder data.\n */\n isPlaceholderData: boolean\n /**\n * Will be `true` if the query failed while refetching.\n */\n isRefetchError: boolean\n /**\n * Is `true` whenever a background refetch is in-flight, which _does not_ include initial `pending`.\n * - Is the same as `isFetching && !isPending`.\n */\n isRefetching: boolean\n /**\n * Will be `true` if the data in the cache is invalidated or if the data is older than the given `staleTime`.\n */\n isStale: boolean\n /**\n * A derived boolean from the `status` variable, provided for convenience.\n * - `true` if the query has received a response with no errors and is ready to display its data.\n */\n isSuccess: boolean\n /**\n * `true` if this observer is enabled, `false` otherwise.\n */\n isEnabled: boolean\n /**\n * A function to manually refetch the query.\n */\n refetch: (\n options?: RefetchOptions,\n ) => Promise<QueryObserverResult<TData, TError>>\n /**\n * The status of the query.\n * - Will be:\n * - `pending` if there's no cached data and no query attempt was finished yet.\n * - `error` if the query attempt resulted in an error.\n * - `success` if the query has received a response with no errors and is ready to display its data.\n */\n status: QueryStatus\n /**\n * The fetch status of the query.\n * - `fetching`: Is `true` whenever the queryFn is executing, which includes initial `pending` as well as background refetch.\n * - `paused`: The query wanted to fetch, but has been `paused`.\n * - `idle`: The query is not fetching.\n * - See [Network Mode](https://tanstack.com/query/latest/docs/framework/react/guides/network-mode) for more information.\n */\n fetchStatus: FetchStatus\n}\n\nexport interface QueryObserverPendingResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: undefined\n error: null\n isError: false\n isPending: true\n isLoadingError: false\n isRefetchError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'pending'\n}\n\nexport interface QueryObserverLoadingResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: undefined\n error: null\n isError: false\n isPending: true\n isLoading: true\n isLoadingError: false\n isRefetchError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'pending'\n}\n\nexport interface QueryObserverLoadingErrorResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: undefined\n error: TError\n isError: true\n isPending: false\n isLoading: false\n isLoadingError: true\n isRefetchError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'error'\n}\n\nexport interface QueryObserverRefetchErrorResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: TData\n error: TError\n isError: true\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: true\n isSuccess: false\n isPlaceholderData: false\n status: 'error'\n}\n\nexport interface QueryObserverSuccessResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: TData\n error: null\n isError: false\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: false\n isSuccess: true\n isPlaceholderData: false\n status: 'success'\n}\n\nexport interface QueryObserverPlaceholderResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: TData\n isError: false\n error: null\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: false\n isSuccess: true\n isPlaceholderData: true\n status: 'success'\n}\n\nexport type DefinedQueryObserverResult<\n TData = unknown,\n TError = DefaultError,\n> =\n | QueryObserverRefetchErrorResult<TData, TError>\n | QueryObserverSuccessResult<TData, TError>\n\nexport type QueryObserverResult<TData = unknown, TError = DefaultError> =\n | DefinedQueryObserverResult<TData, TError>\n | QueryObserverLoadingErrorResult<TData, TError>\n | QueryObserverLoadingResult<TData, TError>\n | QueryObserverPendingResult<TData, TError>\n | QueryObserverPlaceholderResult<TData, TError>\n\nexport interface InfiniteQueryObserverBaseResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n /**\n * This function allows you to fetch the next \"page\" of results.\n */\n fetchNextPage: (\n options?: FetchNextPageOptions,\n ) => Promise<InfiniteQueryObserverResult<TData, TError>>\n /**\n * This function allows you to fetch the previous \"page\" of results.\n */\n fetchPreviousPage: (\n options?: FetchPreviousPageOptions,\n ) => Promise<InfiniteQueryObserverResult<TData, TError>>\n /**\n * Will be `true` if there is a next page to be fetched (known via the `getNextPageParam` option).\n */\n hasNextPage: boolean\n /**\n * Will be `true` if there is a previous page to be fetched (known via the `getPreviousPageParam` option).\n */\n hasPreviousPage: boolean\n /**\n * Will be `true` if the query failed while fetching the next page.\n */\n isFetchNextPageError: boolean\n /**\n * Will be `true` while fetching the next page with `fetchNextPage`.\n */\n isFetchingNextPage: boolean\n /**\n * Will be `true` if the query failed while fetching the previous page.\n */\n isFetchPreviousPageError: boolean\n /**\n * Will be `true` while fetching the previous page with `fetchPreviousPage`.\n */\n isFetchingPreviousPage: boolean\n}\n\nexport interface InfiniteQueryObserverPendingResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: undefined\n error: null\n isError: false\n isPending: true\n isLoadingError: false\n isRefetchError: false\n isFetchNextPageError: false\n isFetchPreviousPageError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'pending'\n}\n\nexport interface InfiniteQueryObserverLoadingResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: undefined\n error: null\n isError: false\n isPending: true\n isLoading: true\n isLoadingError: false\n isRefetchError: false\n isFetchNextPageError: false\n isFetchPreviousPageError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'pending'\n}\n\nexport interface InfiniteQueryObserverLoadingErrorResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: undefined\n error: TError\n isError: true\n isPending: false\n isLoading: false\n isLoadingError: true\n isRefetchError: false\n isFetchNextPageError: false\n isFetchPreviousPageError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'error'\n}\n\nexport interface InfiniteQueryObserverRefetchErrorResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: TData\n error: TError\n isError: true\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: true\n isSuccess: false\n isPlaceholderData: false\n status: 'error'\n}\n\nexport interface InfiniteQueryObserverSuccessResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: TData\n error: null\n isError: false\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: false\n isFetchNextPageError: false\n isFetchPreviousPageError: false\n isSuccess: true\n isPlaceholderData: false\n status: 'success'\n}\n\nexport interface InfiniteQueryObserverPlaceholderResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: TData\n isError: false\n error: null\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: false\n isSuccess: true\n isPlaceholderData: true\n isFetchNextPageError: false\n isFetchPreviousPageError: false\n status: 'success'\n}\n\nexport type DefinedInfiniteQueryObserverResult<\n TData = unknown,\n TError = DefaultError,\n> =\n | InfiniteQueryObserverRefetchErrorResult<TData, TError>\n | InfiniteQueryObserverSuccessResult<TData, TError>\n\nexport type InfiniteQueryObserverResult<\n TData = unknown,\n TError = DefaultError,\n> =\n | DefinedInfiniteQueryObserverResult<TData, TError>\n | InfiniteQueryObserverLoadingErrorResult<TData, TError>\n | InfiniteQueryObserverLoadingResult<TData, TError>\n | InfiniteQueryObserverPendingResult<TData, TError>\n | InfiniteQueryObserverPlaceholderResult<TData, TError>\n\nexport type MutationKey = Register extends {\n mutationKey: infer TMutationKey\n}\n ? TMutationKey extends ReadonlyArray<unknown>\n ? TMutationKey\n : TMutationKey extends Array<unknown>\n ? TMutationKey\n : ReadonlyArray<unknown>\n : ReadonlyArray<unknown>\n\nexport type MutationStatus = 'idle' | 'pending' | 'success' | 'error'\n\nexport type MutationScope = {\n id: string\n}\n\nexport type MutationMeta = Register extends {\n mutationMeta: infer TMutationMeta\n}\n ? TMutationMeta extends Record<string, unknown>\n ? TMutationMeta\n : Record<string, unknown>\n : Record<string, unknown>\n\nexport type MutationFunctionContext = {\n client: QueryClient\n meta: MutationMeta | undefined\n mutationKey?: MutationKey\n}\n\nexport type MutationFunction<TData = unknown, TVariables = unknown> = (\n variables: TVariables,\n context: MutationFunctionContext,\n) => Promise<TData>\n\nexport interface MutationOptions<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> {\n mutationFn?: MutationFunction<TData, TVariables>\n mutationKey?: MutationKey\n onMutate?: (\n variables: TVariables,\n context: MutationFunctionContext,\n ) => Promise<TOnMutateResult> | TOnMutateResult\n onSuccess?: (\n data: TData,\n variables: TVariables,\n onMutateResult: TOnMutateResult,\n context: MutationFunctionContext,\n ) => Promise<unknown> | unknown\n onError?: (\n error: TError,\n variables: TVariables,\n onMutateResult: TOnMutateResult | undefined,\n context: MutationFunctionContext,\n ) => Promise<unknown> | unknown\n onSettled?: (\n data: TData | undefined,\n error: TError | null,\n variables: TVariables,\n onMutateResult: TOnMutateResult | undefined,\n context: MutationFunctionContext,\n ) => Promise<unknown> | unknown\n retry?: RetryValue<TError>\n retryDelay?: RetryDelayValue<TError>\n networkMode?: NetworkMode\n gcTime?: number\n _defaulted?: boolean\n meta?: MutationMeta\n scope?: MutationScope\n}\n\nexport interface MutationObserverOptions<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationOptions<TData, TError, TVariables, TOnMutateResult> {\n throwOnError?: boolean | ((error: TError) => boolean)\n}\n\nexport interface MutateOptions<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> {\n onSuccess?: (\n data: TData,\n variables: TVariables,\n onMutateResult: TOnMutateResult | undefined,\n context: MutationFunctionContext,\n ) => void\n onError?: (\n error: TError,\n variables: TVariables,\n onMutateResult: TOnMutateResult | undefined,\n context: MutationFunctionContext,\n ) => void\n onSettled?: (\n data: TData | undefined,\n error: TError | null,\n variables: TVariables,\n onMutateResult: TOnMutateResult | undefined,\n context: MutationFunctionContext,\n ) => void\n}\n\nexport type MutateFunctionRest<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> = undefined extends TVariables\n ? [\n variables?: TVariables,\n options?: MutateOptions<TData, TError, TVariables, TOnMutateResult>,\n ]\n : [\n variables: TVariables,\n options?: MutateOptions<TData, TError, TVariables, TOnMutateResult>,\n ]\n\nexport type MutateFunction<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> = (\n ...rest: MutateFunctionRest<TData, TError, TVariables, TOnMutateResult>\n) => Promise<TData>\n\nexport interface MutationObserverBaseResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationState<TData, TError, TVariables, TOnMutateResult> {\n /**\n * The last successfully resolved data for the mutation.\n */\n data: TData | undefined\n /**\n * The variables object passed to the `mutationFn`.\n */\n variables: TVariables | undefined\n /**\n * The error object for the mutation, if an error was encountered.\n * - Defaults to `null`.\n */\n error: TError | null\n /**\n * A boolean variable derived from `status`.\n * - `true` if the last mutation attempt resulted in an error.\n */\n isError: boolean\n /**\n * A boolean variable derived from `status`.\n * - `true` if the mutation is in its initial state prior to executing.\n */\n isIdle: boolean\n /**\n * A boolean variable derived from `status`.\n * - `true` if the mutation is currently executing.\n */\n isPending: boolean\n /**\n * A boolean variable derived from `status`.\n * - `true` if the last mutation attempt was successful.\n */\n isSuccess: boolean\n /**\n * The status of the mutation.\n * - Will be:\n * - `idle` initial status prior to the mutation function executing.\n * - `pending` if the mutation is currently executing.\n * - `error` if the last mutation attempt resulted in an error.\n * - `success` if the last mutation attempt was successful.\n */\n status: MutationStatus\n /**\n * The mutation function you can call with variables to trigger the mutation and optionally hooks on additional callback options.\n * @param variables - The variables object to pass to the `mutationFn`.\n * @param options.onSuccess - This function will fire when the mutation is successful and will be passed the mutation's result.\n * @param options.onError - This function will fire if the mutation encounters an error and will be passed the error.\n * @param options.onSettled - This function will fire when the mutation is either successfully fetched or encounters an error and be passed either the data or error.\n * @remarks\n * - If you make multiple requests, `onSuccess` will fire only after the latest call you've made.\n * - All the callback functions (`onSuccess`, `onError`, `onSettled`) are void functions, and the returned value will be ignored.\n */\n mutate: MutateFunction<TData, TError, TVariables, TOnMutateResult>\n /**\n * A function to clean the mutation internal state (i.e., it resets the mutation to its initial state).\n */\n reset: () => void\n}\n\nexport interface MutationObserverIdleResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationObserverBaseResult<\n TData,\n TError,\n TVariables,\n TOnMutateResult\n> {\n data: undefined\n variables: undefined\n error: null\n isError: false\n isIdle: true\n isPending: false\n isSuccess: false\n status: 'idle'\n}\n\nexport interface MutationObserverLoadingResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationObserverBaseResult<\n TData,\n TError,\n TVariables,\n TOnMutateResult\n> {\n data: undefined\n variables: TVariables\n error: null\n isError: false\n isIdle: false\n isPending: true\n isSuccess: false\n status: 'pending'\n}\n\nexport interface MutationObserverErrorResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationObserverBaseResult<\n TData,\n TError,\n TVariables,\n TOnMutateResult\n> {\n data: undefined\n error: TError\n variables: TVariables\n isError: true\n isIdle: false\n isPending: false\n isSuccess: false\n status: 'error'\n}\n\nexport interface MutationObserverSuccessResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationObserverBaseResult<\n TData,\n TError,\n TVariables,\n TOnMutateResult\n> {\n data: TData\n error: null\n variables: TVariables\n isError: false\n isIdle: false\n isPending: false\n isSuccess: true\n status: 'success'\n}\n\nexport type MutationObserverResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> =\n | MutationObserverIdleResult<TData, TError, TVariables, TOnMutateResult>\n | MutationObserverLoadingResult<TData, TError, TVariables, TOnMutateResult>\n | MutationObserverErrorResult<TData, TError, TVariables, TOnMutateResult>\n | MutationObserverSuccessResult<TData, TError, TVariables, TOnMutateResult>\n\nexport interface QueryClientConfig {\n queryCache?: QueryCache\n mutationCache?: MutationCache\n defaultOptions?: DefaultOptions\n}\n\nexport interface DefaultOptions<TError = DefaultError> {\n queries?: OmitKeyof<\n QueryObserverOptions<unknown, TError>,\n 'suspense' | 'queryKey'\n >\n mutations?: MutationObserverOptions<unknown, TError, unknown, unknown>\n hydrate?: HydrateOptions['defaultOptions']\n dehydrate?: DehydrateOptions\n}\n\nexport interface CancelOptions {\n revert?: boolean\n silent?: boolean\n}\n\nexport interface SetDataOptions {\n updatedAt?: number\n}\n\nexport type NotifyEventType =\n | 'added'\n | 'removed'\n | 'updated'\n | 'observerAdded'\n | 'observerRemoved'\n | 'observerResultsUpdated'\n | 'observerOptionsUpdated'\n\nexport interface NotifyEvent {\n type: NotifyEventType\n}\n"],"mappings":";;;AA4DA,MAAa,gBAAgB,OAAO;AAEpC,MAAa,qBAAqB,OAAO;AAEzC,MAAa,cAAc,OAAO"} |
@@ -1,2 +0,2 @@ | ||
| import { $ as MutationObserverBaseResult, A as InfiniteData, At as QueryObserverOptions, B as InfiniteQueryObserverSuccessResult, Bt as RefetchQueryFilters, C as FetchPreviousPageOptions, Ct as QueryKey, D as GetPreviousPageParamFunction, Dt as QueryObserverBaseResult, E as GetNextPageParamFunction, Et as QueryMeta, F as InfiniteQueryObserverOptions, Ft as QueryObserverSuccessResult, G as InvalidateQueryFilters, Gt as StaleTime, H as InitialDataFunction, Ht as ResetOptions, I as InfiniteQueryObserverPendingResult, It as QueryOptions, J as MutateOptions, Jt as UnsetMarker, K as MutateFunction, Kt as StaleTimeFunction, L as InfiniteQueryObserverPlaceholderResult, Lt as QueryPersister, M as InfiniteQueryObserverBaseResult, Mt as QueryObserverPlaceholderResult, N as InfiniteQueryObserverLoadingErrorResult, Nt as QueryObserverRefetchErrorResult, O as InferDataFromTag, Ot as QueryObserverLoadingErrorResult, P as InfiniteQueryObserverLoadingResult, Pt as QueryObserverResult, Q as MutationMeta, Qt as unsetMarker, R as InfiniteQueryObserverRefetchErrorResult, Rt as QueryStatus, S as FetchNextPageOptions, St as QueryFunctionContext, T as FetchStatus, Tt as QueryKeyWithDataTag, U as InitialPageParam, Ut as ResultOptions, V as InfiniteQueryPageParamsOptions, Vt as Register, W as InvalidateOptions, Wt as SetDataOptions, X as MutationFunctionContext, Xt as dataTagErrorSymbol, Y as MutationFunction, Yt as WithRequired, Z as MutationKey, Zt as dataTagSymbol, _ as DefinedQueryObserverResult, _t as QueriesPlaceholderDataFunction, at as MutationObserverSuccessResult, b as EnsureQueryDataOptions, bt as QueryExecuteOptions, ct as MutationStatus, d as DataTag, dt as NotifyEvent, et as MutationObserverErrorResult, f as DefaultError, ft as NotifyEventType, g as DefinedInfiniteQueryObserverResult, gt as PlaceholderDataFunction, h as DefaultedQueryObserverOptions, ht as Override, it as MutationObserverResult, j as InfiniteQueryExecuteOptions, jt as QueryObserverPendingResult, k as InferErrorFromTag, kt as QueryObserverLoadingResult, l as AnyDataTag, lt as NetworkMode, m as DefaultedInfiniteQueryObserverOptions, mt as OmitKeyof, nt as MutationObserverLoadingResult, ot as MutationOptions, p as DefaultOptions, pt as NotifyOnChangeProps, q as MutateFunctionRest, qt as ThrowOnError, rt as MutationObserverOptions, st as MutationScope, tt as MutationObserverIdleResult, u as CancelOptions, ut as NonUndefinedGuard, v as DistributiveOmit, vt as QueryBooleanOption, w as FetchQueryOptions, wt as QueryKeyHashFunction, x as FetchInfiniteQueryOptions, xt as QueryFunction, y as EnsureInfiniteQueryDataOptions, yt as QueryClientConfig, z as InfiniteQueryObserverResult, zt as RefetchOptions } from "./hydration-BoHd-X9T.cjs"; | ||
| import { $ as MutationObserverBaseResult, A as InfiniteData, At as QueryObserverOptions, B as InfiniteQueryObserverSuccessResult, Bt as RefetchQueryFilters, C as FetchPreviousPageOptions, Ct as QueryKey, D as GetPreviousPageParamFunction, Dt as QueryObserverBaseResult, E as GetNextPageParamFunction, Et as QueryMeta, F as InfiniteQueryObserverOptions, Ft as QueryObserverSuccessResult, G as InvalidateQueryFilters, Gt as StaleTime, H as InitialDataFunction, Ht as ResetOptions, I as InfiniteQueryObserverPendingResult, It as QueryOptions, J as MutateOptions, Jt as UnsetMarker, K as MutateFunction, Kt as StaleTimeFunction, L as InfiniteQueryObserverPlaceholderResult, Lt as QueryPersister, M as InfiniteQueryObserverBaseResult, Mt as QueryObserverPlaceholderResult, N as InfiniteQueryObserverLoadingErrorResult, Nt as QueryObserverRefetchErrorResult, O as InferDataFromTag, Ot as QueryObserverLoadingErrorResult, P as InfiniteQueryObserverLoadingResult, Pt as QueryObserverResult, Q as MutationMeta, Qt as unsetMarker, R as InfiniteQueryObserverRefetchErrorResult, Rt as QueryStatus, S as FetchNextPageOptions, St as QueryFunctionContext, T as FetchStatus, Tt as QueryKeyWithDataTag, U as InitialPageParam, Ut as ResultOptions, V as InfiniteQueryPageParamsOptions, Vt as Register, W as InvalidateOptions, Wt as SetDataOptions, X as MutationFunctionContext, Xt as dataTagErrorSymbol, Y as MutationFunction, Yt as WithRequired, Z as MutationKey, Zt as dataTagSymbol, _ as DefinedQueryObserverResult, _t as QueriesPlaceholderDataFunction, at as MutationObserverSuccessResult, b as EnsureQueryDataOptions, bt as QueryExecuteOptions, ct as MutationStatus, d as DataTag, dt as NotifyEvent, et as MutationObserverErrorResult, f as DefaultError, ft as NotifyEventType, g as DefinedInfiniteQueryObserverResult, gt as PlaceholderDataFunction, h as DefaultedQueryObserverOptions, ht as Override, it as MutationObserverResult, j as InfiniteQueryExecuteOptions, jt as QueryObserverPendingResult, k as InferErrorFromTag, kt as QueryObserverLoadingResult, l as AnyDataTag, lt as NetworkMode, m as DefaultedInfiniteQueryObserverOptions, mt as OmitKeyof, nt as MutationObserverLoadingResult, ot as MutationOptions, p as DefaultOptions, pt as NotifyOnChangeProps, q as MutateFunctionRest, qt as ThrowOnError, rt as MutationObserverOptions, st as MutationScope, tt as MutationObserverIdleResult, u as CancelOptions, ut as NonUndefinedGuard, v as DistributiveOmit, vt as QueryBooleanOption, w as FetchQueryOptions, wt as QueryKeyHashFunction, x as FetchInfiniteQueryOptions, xt as QueryFunction, y as EnsureInfiniteQueryDataOptions, yt as QueryClientConfig, z as InfiniteQueryObserverResult, zt as RefetchOptions } from "./hydration-DWGr3cFC.cjs"; | ||
| export { AnyDataTag, CancelOptions, DataTag, DefaultError, DefaultOptions, DefaultedInfiniteQueryObserverOptions, DefaultedQueryObserverOptions, DefinedInfiniteQueryObserverResult, DefinedQueryObserverResult, DistributiveOmit, EnsureInfiniteQueryDataOptions, EnsureQueryDataOptions, FetchInfiniteQueryOptions, FetchNextPageOptions, FetchPreviousPageOptions, FetchQueryOptions, FetchStatus, GetNextPageParamFunction, GetPreviousPageParamFunction, InferDataFromTag, InferErrorFromTag, InfiniteData, InfiniteQueryExecuteOptions, InfiniteQueryObserverBaseResult, InfiniteQueryObserverLoadingErrorResult, InfiniteQueryObserverLoadingResult, InfiniteQueryObserverOptions, InfiniteQueryObserverPendingResult, InfiniteQueryObserverPlaceholderResult, InfiniteQueryObserverRefetchErrorResult, InfiniteQueryObserverResult, InfiniteQueryObserverSuccessResult, InfiniteQueryPageParamsOptions, InitialDataFunction, InitialPageParam, InvalidateOptions, InvalidateQueryFilters, MutateFunction, MutateFunctionRest, MutateOptions, MutationFunction, MutationFunctionContext, MutationKey, MutationMeta, MutationObserverBaseResult, MutationObserverErrorResult, MutationObserverIdleResult, MutationObserverLoadingResult, MutationObserverOptions, MutationObserverResult, MutationObserverSuccessResult, MutationOptions, MutationScope, MutationStatus, NetworkMode, NonUndefinedGuard, NotifyEvent, NotifyEventType, NotifyOnChangeProps, OmitKeyof, Override, PlaceholderDataFunction, QueriesPlaceholderDataFunction, QueryBooleanOption, QueryClientConfig, QueryExecuteOptions, QueryFunction, QueryFunctionContext, QueryKey, QueryKeyHashFunction, QueryKeyWithDataTag, QueryMeta, QueryObserverBaseResult, QueryObserverLoadingErrorResult, QueryObserverLoadingResult, QueryObserverOptions, QueryObserverPendingResult, QueryObserverPlaceholderResult, QueryObserverRefetchErrorResult, QueryObserverResult, QueryObserverSuccessResult, QueryOptions, QueryPersister, QueryStatus, RefetchOptions, RefetchQueryFilters, Register, ResetOptions, ResultOptions, SetDataOptions, StaleTime, StaleTimeFunction, ThrowOnError, UnsetMarker, WithRequired, dataTagErrorSymbol, dataTagSymbol, unsetMarker }; |
@@ -1,2 +0,2 @@ | ||
| import { $ as MutationObserverBaseResult, A as InfiniteData, At as QueryObserverOptions, B as InfiniteQueryObserverSuccessResult, Bt as RefetchQueryFilters, C as FetchPreviousPageOptions, Ct as QueryKey, D as GetPreviousPageParamFunction, Dt as QueryObserverBaseResult, E as GetNextPageParamFunction, Et as QueryMeta, F as InfiniteQueryObserverOptions, Ft as QueryObserverSuccessResult, G as InvalidateQueryFilters, Gt as StaleTime, H as InitialDataFunction, Ht as ResetOptions, I as InfiniteQueryObserverPendingResult, It as QueryOptions, J as MutateOptions, Jt as UnsetMarker, K as MutateFunction, Kt as StaleTimeFunction, L as InfiniteQueryObserverPlaceholderResult, Lt as QueryPersister, M as InfiniteQueryObserverBaseResult, Mt as QueryObserverPlaceholderResult, N as InfiniteQueryObserverLoadingErrorResult, Nt as QueryObserverRefetchErrorResult, O as InferDataFromTag, Ot as QueryObserverLoadingErrorResult, P as InfiniteQueryObserverLoadingResult, Pt as QueryObserverResult, Q as MutationMeta, Qt as unsetMarker, R as InfiniteQueryObserverRefetchErrorResult, Rt as QueryStatus, S as FetchNextPageOptions, St as QueryFunctionContext, T as FetchStatus, Tt as QueryKeyWithDataTag, U as InitialPageParam, Ut as ResultOptions, V as InfiniteQueryPageParamsOptions, Vt as Register, W as InvalidateOptions, Wt as SetDataOptions, X as MutationFunctionContext, Xt as dataTagErrorSymbol, Y as MutationFunction, Yt as WithRequired, Z as MutationKey, Zt as dataTagSymbol, _ as DefinedQueryObserverResult, _t as QueriesPlaceholderDataFunction, at as MutationObserverSuccessResult, b as EnsureQueryDataOptions, bt as QueryExecuteOptions, ct as MutationStatus, d as DataTag, dt as NotifyEvent, et as MutationObserverErrorResult, f as DefaultError, ft as NotifyEventType, g as DefinedInfiniteQueryObserverResult, gt as PlaceholderDataFunction, h as DefaultedQueryObserverOptions, ht as Override, it as MutationObserverResult, j as InfiniteQueryExecuteOptions, jt as QueryObserverPendingResult, k as InferErrorFromTag, kt as QueryObserverLoadingResult, l as AnyDataTag, lt as NetworkMode, m as DefaultedInfiniteQueryObserverOptions, mt as OmitKeyof, nt as MutationObserverLoadingResult, ot as MutationOptions, p as DefaultOptions, pt as NotifyOnChangeProps, q as MutateFunctionRest, qt as ThrowOnError, rt as MutationObserverOptions, st as MutationScope, tt as MutationObserverIdleResult, u as CancelOptions, ut as NonUndefinedGuard, v as DistributiveOmit, vt as QueryBooleanOption, w as FetchQueryOptions, wt as QueryKeyHashFunction, x as FetchInfiniteQueryOptions, xt as QueryFunction, y as EnsureInfiniteQueryDataOptions, yt as QueryClientConfig, z as InfiniteQueryObserverResult, zt as RefetchOptions } from "./hydration-DFwTM9vM.js"; | ||
| import { $ as MutationObserverBaseResult, A as InfiniteData, At as QueryObserverOptions, B as InfiniteQueryObserverSuccessResult, Bt as RefetchQueryFilters, C as FetchPreviousPageOptions, Ct as QueryKey, D as GetPreviousPageParamFunction, Dt as QueryObserverBaseResult, E as GetNextPageParamFunction, Et as QueryMeta, F as InfiniteQueryObserverOptions, Ft as QueryObserverSuccessResult, G as InvalidateQueryFilters, Gt as StaleTime, H as InitialDataFunction, Ht as ResetOptions, I as InfiniteQueryObserverPendingResult, It as QueryOptions, J as MutateOptions, Jt as UnsetMarker, K as MutateFunction, Kt as StaleTimeFunction, L as InfiniteQueryObserverPlaceholderResult, Lt as QueryPersister, M as InfiniteQueryObserverBaseResult, Mt as QueryObserverPlaceholderResult, N as InfiniteQueryObserverLoadingErrorResult, Nt as QueryObserverRefetchErrorResult, O as InferDataFromTag, Ot as QueryObserverLoadingErrorResult, P as InfiniteQueryObserverLoadingResult, Pt as QueryObserverResult, Q as MutationMeta, Qt as unsetMarker, R as InfiniteQueryObserverRefetchErrorResult, Rt as QueryStatus, S as FetchNextPageOptions, St as QueryFunctionContext, T as FetchStatus, Tt as QueryKeyWithDataTag, U as InitialPageParam, Ut as ResultOptions, V as InfiniteQueryPageParamsOptions, Vt as Register, W as InvalidateOptions, Wt as SetDataOptions, X as MutationFunctionContext, Xt as dataTagErrorSymbol, Y as MutationFunction, Yt as WithRequired, Z as MutationKey, Zt as dataTagSymbol, _ as DefinedQueryObserverResult, _t as QueriesPlaceholderDataFunction, at as MutationObserverSuccessResult, b as EnsureQueryDataOptions, bt as QueryExecuteOptions, ct as MutationStatus, d as DataTag, dt as NotifyEvent, et as MutationObserverErrorResult, f as DefaultError, ft as NotifyEventType, g as DefinedInfiniteQueryObserverResult, gt as PlaceholderDataFunction, h as DefaultedQueryObserverOptions, ht as Override, it as MutationObserverResult, j as InfiniteQueryExecuteOptions, jt as QueryObserverPendingResult, k as InferErrorFromTag, kt as QueryObserverLoadingResult, l as AnyDataTag, lt as NetworkMode, m as DefaultedInfiniteQueryObserverOptions, mt as OmitKeyof, nt as MutationObserverLoadingResult, ot as MutationOptions, p as DefaultOptions, pt as NotifyOnChangeProps, q as MutateFunctionRest, qt as ThrowOnError, rt as MutationObserverOptions, st as MutationScope, tt as MutationObserverIdleResult, u as CancelOptions, ut as NonUndefinedGuard, v as DistributiveOmit, vt as QueryBooleanOption, w as FetchQueryOptions, wt as QueryKeyHashFunction, x as FetchInfiniteQueryOptions, xt as QueryFunction, y as EnsureInfiniteQueryDataOptions, yt as QueryClientConfig, z as InfiniteQueryObserverResult, zt as RefetchOptions } from "./hydration-Bjs0MSgg.js"; | ||
| export { AnyDataTag, CancelOptions, DataTag, DefaultError, DefaultOptions, DefaultedInfiniteQueryObserverOptions, DefaultedQueryObserverOptions, DefinedInfiniteQueryObserverResult, DefinedQueryObserverResult, DistributiveOmit, EnsureInfiniteQueryDataOptions, EnsureQueryDataOptions, FetchInfiniteQueryOptions, FetchNextPageOptions, FetchPreviousPageOptions, FetchQueryOptions, FetchStatus, GetNextPageParamFunction, GetPreviousPageParamFunction, InferDataFromTag, InferErrorFromTag, InfiniteData, InfiniteQueryExecuteOptions, InfiniteQueryObserverBaseResult, InfiniteQueryObserverLoadingErrorResult, InfiniteQueryObserverLoadingResult, InfiniteQueryObserverOptions, InfiniteQueryObserverPendingResult, InfiniteQueryObserverPlaceholderResult, InfiniteQueryObserverRefetchErrorResult, InfiniteQueryObserverResult, InfiniteQueryObserverSuccessResult, InfiniteQueryPageParamsOptions, InitialDataFunction, InitialPageParam, InvalidateOptions, InvalidateQueryFilters, MutateFunction, MutateFunctionRest, MutateOptions, MutationFunction, MutationFunctionContext, MutationKey, MutationMeta, MutationObserverBaseResult, MutationObserverErrorResult, MutationObserverIdleResult, MutationObserverLoadingResult, MutationObserverOptions, MutationObserverResult, MutationObserverSuccessResult, MutationOptions, MutationScope, MutationStatus, NetworkMode, NonUndefinedGuard, NotifyEvent, NotifyEventType, NotifyOnChangeProps, OmitKeyof, Override, PlaceholderDataFunction, QueriesPlaceholderDataFunction, QueryBooleanOption, QueryClientConfig, QueryExecuteOptions, QueryFunction, QueryFunctionContext, QueryKey, QueryKeyHashFunction, QueryKeyWithDataTag, QueryMeta, QueryObserverBaseResult, QueryObserverLoadingErrorResult, QueryObserverLoadingResult, QueryObserverOptions, QueryObserverPendingResult, QueryObserverPlaceholderResult, QueryObserverRefetchErrorResult, QueryObserverResult, QueryObserverSuccessResult, QueryOptions, QueryPersister, QueryStatus, RefetchOptions, RefetchQueryFilters, Register, ResetOptions, ResultOptions, SetDataOptions, StaleTime, StaleTimeFunction, ThrowOnError, UnsetMarker, WithRequired, dataTagErrorSymbol, dataTagSymbol, unsetMarker }; |
| //#region src/types.ts | ||
| /* istanbul ignore file */ | ||
| const dataTagSymbol = Symbol("dataTagSymbol"); | ||
| const dataTagErrorSymbol = Symbol("dataTagErrorSymbol"); | ||
| const unsetMarker = Symbol("unsetMarker"); | ||
| const dataTagSymbol = Symbol(); | ||
| const dataTagErrorSymbol = Symbol(); | ||
| const unsetMarker = Symbol(); | ||
| //#endregion | ||
@@ -7,0 +7,0 @@ export { dataTagErrorSymbol, dataTagSymbol, unsetMarker }; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"types.js","names":[],"sources":["../../src/types.ts"],"sourcesContent":["/* istanbul ignore file */\n\nimport type { QueryClient } from './queryClient'\nimport type { DehydrateOptions, HydrateOptions } from './hydration'\nimport type { MutationState } from './mutation'\nimport type { FetchDirection, Query, QueryBehavior } from './query'\nimport type { RetryDelayValue, RetryValue } from './retryer'\nimport type { QueryFilters, QueryTypeFilter, SkipToken } from './utils'\nimport type { QueryCache } from './queryCache'\nimport type { MutationCache } from './mutationCache'\n\nexport type NonUndefinedGuard<T> = T extends undefined ? never : T\n\nexport type DistributiveOmit<\n TObject,\n TKey extends keyof TObject,\n> = TObject extends any ? Omit<TObject, TKey> : never\n\nexport type OmitKeyof<\n TObject,\n TKey extends TStrictly extends 'safely'\n ?\n | keyof TObject\n | (string & Record<never, never>)\n | (number & Record<never, never>)\n | (symbol & Record<never, never>)\n : keyof TObject,\n TStrictly extends 'strictly' | 'safely' = 'strictly',\n> = Omit<TObject, TKey>\n\nexport type Override<TTargetA, TTargetB> = {\n [AKey in keyof TTargetA]: AKey extends keyof TTargetB\n ? TTargetB[AKey]\n : TTargetA[AKey]\n}\n\nexport interface Register {\n // defaultError: Error\n // queryMeta: Record<string, unknown>\n // mutationMeta: Record<string, unknown>\n // queryKey: ReadonlyArray<unknown>\n // mutationKey: ReadonlyArray<unknown>\n}\n\nexport type DefaultError = Register extends {\n defaultError: infer TError\n}\n ? TError\n : Error\n\nexport type QueryKey = Register extends {\n queryKey: infer TQueryKey\n}\n ? TQueryKey extends ReadonlyArray<unknown>\n ? TQueryKey\n : TQueryKey extends Array<unknown>\n ? TQueryKey\n : ReadonlyArray<unknown>\n : ReadonlyArray<unknown>\n\nexport const dataTagSymbol = Symbol('dataTagSymbol')\nexport type dataTagSymbol = typeof dataTagSymbol\nexport const dataTagErrorSymbol = Symbol('dataTagErrorSymbol')\nexport type dataTagErrorSymbol = typeof dataTagErrorSymbol\nexport const unsetMarker = Symbol('unsetMarker')\nexport type UnsetMarker = typeof unsetMarker\nexport type AnyDataTag = {\n [dataTagSymbol]: any\n [dataTagErrorSymbol]: any\n}\nexport type DataTag<\n TType,\n TValue,\n TError = UnsetMarker,\n> = TType extends AnyDataTag\n ? TType\n : TType & {\n [dataTagSymbol]: TValue\n [dataTagErrorSymbol]: TError\n }\n\nexport type QueryKeyWithDataTag<\n TQueryKey extends QueryKey = QueryKey,\n TQueryFnData = unknown,\n TError = DefaultError,\n> = {\n queryKey: DataTag<TQueryKey, TQueryFnData, TError>\n}\n\nexport type InferDataFromTag<TQueryFnData, TTaggedQueryKey extends QueryKey> =\n TTaggedQueryKey extends DataTag<unknown, infer TaggedValue, unknown>\n ? TaggedValue\n : TQueryFnData\n\nexport type InferErrorFromTag<TError, TTaggedQueryKey extends QueryKey> =\n TTaggedQueryKey extends DataTag<unknown, unknown, infer TaggedError>\n ? TaggedError extends UnsetMarker\n ? TError\n : TaggedError\n : TError\n\nexport type QueryFunction<\n T = unknown,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> = (context: QueryFunctionContext<TQueryKey, TPageParam>) => T | Promise<T>\n\nexport type StaleTime = number | 'static'\n\nexport type StaleTimeFunction<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> =\n | StaleTime\n | ((query: Query<TQueryFnData, TError, TData, TQueryKey>) => StaleTime)\n\nexport type QueryBooleanOption<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> =\n | boolean\n | ((query: Query<TQueryFnData, TError, TData, TQueryKey>) => boolean)\n\nexport type QueryPersister<\n T = unknown,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> = [TPageParam] extends [never]\n ? (\n queryFn: QueryFunction<T, TQueryKey, never>,\n context: QueryFunctionContext<TQueryKey>,\n query: Query,\n ) => T | Promise<T>\n : (\n queryFn: QueryFunction<T, TQueryKey, TPageParam>,\n context: QueryFunctionContext<TQueryKey>,\n query: Query,\n ) => T | Promise<T>\n\nexport type QueryFunctionContext<\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> = [TPageParam] extends [never]\n ? {\n client: QueryClient\n queryKey: TQueryKey\n signal: AbortSignal\n meta: QueryMeta | undefined\n pageParam?: unknown\n /**\n * @deprecated\n * if you want access to the direction, you can add it to the pageParam\n */\n direction?: unknown\n }\n : {\n client: QueryClient\n queryKey: TQueryKey\n signal: AbortSignal\n pageParam: TPageParam\n /**\n * @deprecated\n * if you want access to the direction, you can add it to the pageParam\n */\n direction: FetchDirection\n meta: QueryMeta | undefined\n }\n\nexport type InitialDataFunction<T> = () => T | undefined\n\ntype NonFunctionGuard<T> = T extends Function ? never : T\n\nexport type PlaceholderDataFunction<\n TQueryFnData = unknown,\n TError = DefaultError,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = (\n previousData: TQueryData | undefined,\n previousQuery: Query<TQueryFnData, TError, TQueryData, TQueryKey> | undefined,\n) => TQueryData | undefined\n\nexport type QueriesPlaceholderDataFunction<TQueryData> = (\n previousData: undefined,\n previousQuery: undefined,\n) => TQueryData | undefined\n\nexport type QueryKeyHashFunction<TQueryKey extends QueryKey> = (\n queryKey: TQueryKey,\n) => string\n\nexport type GetPreviousPageParamFunction<TPageParam, TQueryFnData = unknown> = (\n firstPage: TQueryFnData,\n allPages: Array<TQueryFnData>,\n firstPageParam: TPageParam,\n allPageParams: Array<TPageParam>,\n) => TPageParam | undefined | null\n\nexport type GetNextPageParamFunction<TPageParam, TQueryFnData = unknown> = (\n lastPage: TQueryFnData,\n allPages: Array<TQueryFnData>,\n lastPageParam: TPageParam,\n allPageParams: Array<TPageParam>,\n) => TPageParam | undefined | null\n\nexport interface InfiniteData<TData, TPageParam = unknown> {\n pages: Array<TData>\n pageParams: Array<TPageParam>\n}\n\nexport type QueryMeta = Register extends {\n queryMeta: infer TQueryMeta\n}\n ? TQueryMeta extends Record<string, unknown>\n ? TQueryMeta\n : Record<string, unknown>\n : Record<string, unknown>\n\nexport type NetworkMode = 'online' | 'always' | 'offlineFirst'\n\nexport type NotifyOnChangeProps =\n | Array<keyof InfiniteQueryObserverResult>\n | 'all'\n | undefined\n | (() => Array<keyof InfiniteQueryObserverResult> | 'all' | undefined)\n\nexport interface QueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> {\n /**\n * If `false`, failed queries will not retry by default.\n * If `true`, failed queries will retry infinitely.\n * If set to an integer number, e.g. 3, failed queries will retry until the failed query count meets that number.\n * If set to a function `(failureCount, error) => boolean` failed queries will retry until the function returns false.\n */\n retry?: RetryValue<TError>\n retryDelay?: RetryDelayValue<TError>\n networkMode?: NetworkMode\n /**\n * The time in milliseconds that unused/inactive cache data remains in memory.\n * When a query's cache becomes unused or inactive, that cache data will be garbage collected after this duration.\n * When different garbage collection times are specified, the longest one will be used.\n * Setting it to `Infinity` will disable garbage collection.\n */\n gcTime?: number\n queryFn?: QueryFunction<TQueryFnData, TQueryKey, TPageParam> | SkipToken\n persister?: QueryPersister<TQueryFnData, NoInfer<TQueryKey>, TPageParam>\n queryHash?: string\n queryKey?: TQueryKey\n queryKeyHashFn?: QueryKeyHashFunction<TQueryKey>\n initialData?: TData | InitialDataFunction<TData>\n initialDataUpdatedAt?: number | (() => number | undefined)\n behavior?: QueryBehavior<TQueryFnData, TError, TData, TQueryKey>\n /**\n * Set this to `false` to disable structural sharing between query results.\n * Set this to a function which accepts the old and new data and returns resolved data of the same type to implement custom structural sharing logic.\n * Defaults to `true`.\n */\n structuralSharing?:\n | boolean\n | ((oldData: unknown | undefined, newData: unknown) => unknown)\n _defaulted?: boolean\n _type?: 'infinite'\n /**\n * Additional payload to be stored on each query.\n * Use this property to pass information that can be used in other places.\n */\n meta?: QueryMeta\n /**\n * Maximum number of pages to store in the data of an infinite query.\n */\n maxPages?: number\n}\n\nexport interface InitialPageParam<TPageParam = unknown> {\n initialPageParam: TPageParam\n}\n\nexport interface InfiniteQueryPageParamsOptions<\n TQueryFnData = unknown,\n TPageParam = unknown,\n> extends InitialPageParam<TPageParam> {\n /**\n * This function can be set to automatically get the previous cursor for infinite queries.\n * The result will also be used to determine the value of `hasPreviousPage`.\n */\n getPreviousPageParam?: GetPreviousPageParamFunction<TPageParam, TQueryFnData>\n /**\n * This function can be set to automatically get the next cursor for infinite queries.\n * The result will also be used to determine the value of `hasNextPage`.\n */\n getNextPageParam: GetNextPageParamFunction<TPageParam, TQueryFnData>\n}\n\nexport type ThrowOnError<\n TQueryFnData,\n TError,\n TQueryData,\n TQueryKey extends QueryKey,\n> =\n | boolean\n | ((\n error: TError,\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n ) => boolean)\n\nexport interface QueryObserverOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> extends WithRequired<\n QueryOptions<TQueryFnData, TError, TQueryData, TQueryKey, TPageParam>,\n 'queryKey'\n> {\n /**\n * Set this to `false` or a function that returns `false` to disable automatic refetching when the query mounts or changes query keys.\n * To refetch the query, use the `refetch` method returned from the `useQuery` instance.\n * Accepts a boolean or function that returns a boolean.\n * Defaults to `true`.\n */\n enabled?: QueryBooleanOption<TQueryFnData, TError, TQueryData, TQueryKey>\n /**\n * The time in milliseconds after data is considered stale.\n * If set to `Infinity`, the data will never be considered stale.\n * If set to a function, the function will be executed with the query to compute a `staleTime`.\n * Defaults to `0`.\n */\n staleTime?: StaleTimeFunction<TQueryFnData, TError, TQueryData, TQueryKey>\n /**\n * If set to a number, the query will continuously refetch at this frequency in milliseconds.\n * If set to a function, the function will be executed with the latest data and query to compute a frequency\n * Defaults to `false`.\n */\n refetchInterval?:\n | number\n | false\n | ((\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n ) => number | false | undefined)\n /**\n * If set to `true`, the query will continue to refetch while their tab/window is in the background.\n * Defaults to `false`.\n */\n refetchIntervalInBackground?: boolean\n /**\n * If set to `true`, the query will refetch on window focus if the data is stale.\n * If set to `false`, the query will not refetch on window focus.\n * If set to `'always'`, the query will always refetch on window focus.\n * If set to a function, the function will be executed with the latest data and query to compute the value.\n * Defaults to `true`.\n */\n refetchOnWindowFocus?:\n | boolean\n | 'always'\n | ((\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n ) => boolean | 'always')\n /**\n * If set to `true`, the query will refetch on reconnect if the data is stale.\n * If set to `false`, the query will not refetch on reconnect.\n * If set to `'always'`, the query will always refetch on reconnect.\n * If set to a function, the function will be executed with the latest data and query to compute the value.\n * Defaults to `true` unless `networkMode` is `'always'`.\n */\n refetchOnReconnect?:\n | boolean\n | 'always'\n | ((\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n ) => boolean | 'always')\n /**\n * If set to `true`, the query will refetch on mount if the data is stale.\n * If set to `false`, will disable additional instances of a query to trigger background refetch.\n * If set to `'always'`, the query will always refetch on mount.\n * If set to a function, the function will be executed with the latest data and query to compute the value\n * Defaults to `true`.\n */\n refetchOnMount?:\n | boolean\n | 'always'\n | ((\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n ) => boolean | 'always')\n /**\n * If set to `false`, the query will not be retried on mount if it contains an error.\n * If set to a function, the function will be executed with the query to compute the value.\n * Defaults to `true`.\n */\n retryOnMount?: QueryBooleanOption<TQueryFnData, TError, TQueryData, TQueryKey>\n /**\n * If set, the component will only re-render if any of the listed properties change.\n * When set to `['data', 'error']`, the component will only re-render when the `data` or `error` properties change.\n * When set to `'all'`, the component will re-render whenever a query is updated.\n * When set to a function, the function will be executed to compute the list of properties.\n * By default, access to properties will be tracked, and the component will only re-render when one of the tracked properties change.\n */\n notifyOnChangeProps?: NotifyOnChangeProps\n /**\n * Whether errors should be thrown instead of setting the `error` property.\n * If set to `true` or `suspense` is `true`, all errors will be thrown to the error boundary.\n * If set to `false` and `suspense` is `false`, errors are returned as state.\n * If set to a function, it will be passed the error and the query, and it should return a boolean indicating whether to show the error in an error boundary (`true`) or return the error as state (`false`).\n * Defaults to `false`.\n */\n throwOnError?: ThrowOnError<TQueryFnData, TError, TQueryData, TQueryKey>\n /**\n * This option can be used to transform or select a part of the data returned by the query function.\n */\n select?: (data: TQueryData) => TData\n /**\n * If set to `true`, the query will suspend when `status === 'pending'`\n * and throw errors when `status === 'error'`.\n * Defaults to `false`.\n */\n suspense?: boolean\n /**\n * If set, this value will be used as the placeholder data for this particular query observer while the query is still in the `loading` data and no initialData has been provided.\n */\n placeholderData?:\n | NonFunctionGuard<TQueryData>\n | PlaceholderDataFunction<\n NonFunctionGuard<TQueryData>,\n TError,\n NonFunctionGuard<TQueryData>,\n TQueryKey\n >\n\n _optimisticResults?: 'optimistic' | 'isRestoring'\n}\n\nexport type WithRequired<TTarget, TKey extends keyof TTarget> = TTarget & {\n [_ in TKey]: {}\n}\n\nexport type DefaultedQueryObserverOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = WithRequired<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>,\n 'throwOnError' | 'refetchOnReconnect' | 'queryHash'\n>\n\nexport interface InfiniteQueryObserverOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>\n extends\n QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n InfiniteData<TQueryFnData, TPageParam>,\n TQueryKey,\n TPageParam\n >,\n InfiniteQueryPageParamsOptions<TQueryFnData, TPageParam> {}\n\nexport type DefaultedInfiniteQueryObserverOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = WithRequired<\n InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n 'throwOnError' | 'refetchOnReconnect' | 'queryHash'\n>\n\nexport interface QueryExecuteOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> extends WithRequired<\n QueryOptions<TQueryFnData, TError, TQueryData, TQueryKey, TPageParam>,\n 'queryKey'\n> {\n initialPageParam?: never\n select?: (data: TQueryData) => TData\n /**\n * The time in milliseconds after data is considered stale.\n * If the data is fresh it will be returned from the cache.\n */\n staleTime?: StaleTimeFunction<TQueryFnData, TError, TQueryData, TQueryKey>\n}\n\n/** @deprecated */\nexport interface FetchQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> extends WithRequired<\n QueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>,\n 'queryKey'\n> {\n initialPageParam?: never\n /**\n * The time in milliseconds after data is considered stale.\n * If the data is fresh it will be returned from the cache.\n */\n staleTime?: StaleTimeFunction<TQueryFnData, TError, TData, TQueryKey>\n}\n\n/** @deprecated */\nexport interface EnsureQueryDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> extends FetchQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n> {\n revalidateIfStale?: boolean\n}\n\n/** @deprecated */\nexport type EnsureInfiniteQueryDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n> & {\n revalidateIfStale?: boolean\n}\n\ntype InfiniteQueryPages<TQueryFnData = unknown, TPageParam = unknown> =\n | { pages?: never }\n | {\n pages: number\n getNextPageParam: GetNextPageParamFunction<TPageParam, TQueryFnData>\n }\n\nexport type InfiniteQueryExecuteOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = Omit<\n QueryExecuteOptions<\n TQueryFnData,\n TError,\n TData,\n InfiniteData<TQueryFnData, TPageParam>,\n TQueryKey,\n TPageParam\n >,\n 'initialPageParam'\n> &\n InitialPageParam<TPageParam> &\n InfiniteQueryPages<TQueryFnData, TPageParam>\n\n/** @deprecated */\nexport type FetchInfiniteQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = Omit<\n FetchQueryOptions<\n TQueryFnData,\n TError,\n InfiniteData<TData, TPageParam>,\n TQueryKey,\n TPageParam\n >,\n 'initialPageParam'\n> &\n InitialPageParam<TPageParam> &\n InfiniteQueryPages<TQueryFnData, TPageParam>\n\nexport interface ResultOptions {\n throwOnError?: boolean\n}\n\nexport interface RefetchOptions extends ResultOptions {\n /**\n * If set to `true`, a currently running request will be cancelled before a new request is made\n *\n * If set to `false`, no refetch will be made if there is already a request running.\n *\n * Defaults to `true`.\n */\n cancelRefetch?: boolean\n}\n\nexport interface InvalidateQueryFilters<\n TQueryKey extends QueryKey = QueryKey,\n> extends QueryFilters<TQueryKey> {\n refetchType?: QueryTypeFilter | 'none'\n}\n\nexport interface RefetchQueryFilters<\n TQueryKey extends QueryKey = QueryKey,\n> extends QueryFilters<TQueryKey> {}\n\nexport interface InvalidateOptions extends RefetchOptions {}\nexport interface ResetOptions extends RefetchOptions {}\n\nexport interface FetchNextPageOptions extends ResultOptions {\n /**\n * If set to `true`, calling `fetchNextPage` repeatedly will invoke `queryFn` every time,\n * whether the previous invocation has resolved or not. Also, the result from previous invocations will be ignored.\n *\n * If set to `false`, calling `fetchNextPage` repeatedly won't have any effect until the first invocation has resolved.\n *\n * Defaults to `true`.\n */\n cancelRefetch?: boolean\n}\n\nexport interface FetchPreviousPageOptions extends ResultOptions {\n /**\n * If set to `true`, calling `fetchPreviousPage` repeatedly will invoke `queryFn` every time,\n * whether the previous invocation has resolved or not. Also, the result from previous invocations will be ignored.\n *\n * If set to `false`, calling `fetchPreviousPage` repeatedly won't have any effect until the first invocation has resolved.\n *\n * Defaults to `true`.\n */\n cancelRefetch?: boolean\n}\n\nexport type QueryStatus = 'pending' | 'error' | 'success'\nexport type FetchStatus = 'fetching' | 'paused' | 'idle'\n\nexport interface QueryObserverBaseResult<\n TData = unknown,\n TError = DefaultError,\n> {\n /**\n * The last successfully resolved data for the query.\n */\n data: TData | undefined\n /**\n * The timestamp for when the query most recently returned the `status` as `\"success\"`.\n */\n dataUpdatedAt: number\n /**\n * The error object for the query, if an error was thrown.\n * - Defaults to `null`.\n */\n error: TError | null\n /**\n * The timestamp for when the query most recently returned the `status` as `\"error\"`.\n */\n errorUpdatedAt: number\n /**\n * The failure count for the query.\n * - Incremented every time the query fails.\n * - Reset to `0` when the query succeeds.\n */\n failureCount: number\n /**\n * The failure reason for the query retry.\n * - Reset to `null` when the query succeeds.\n */\n failureReason: TError | null\n /**\n * The sum of all errors.\n */\n errorUpdateCount: number\n /**\n * A derived boolean from the `status` variable, provided for convenience.\n * - `true` if the query attempt resulted in an error.\n */\n isError: boolean\n /**\n * Will be `true` if the query has been fetched.\n */\n isFetched: boolean\n /**\n * Will be `true` if the query has been fetched after the component mounted.\n * - This property can be used to not show any previously cached data.\n */\n isFetchedAfterMount: boolean\n /**\n * A derived boolean from the `fetchStatus` variable, provided for convenience.\n * - `true` whenever the `queryFn` is executing, which includes initial `pending` as well as background refetch.\n */\n isFetching: boolean\n /**\n * Is `true` whenever the first fetch for a query is in-flight.\n * - Is the same as `isFetching && isPending`.\n */\n isLoading: boolean\n /**\n * Will be `pending` if there's no cached data and no query attempt was finished yet.\n */\n isPending: boolean\n /**\n * Will be `true` if the query failed while fetching for the first time.\n */\n isLoadingError: boolean\n /**\n * @deprecated `isInitialLoading` is being deprecated in favor of `isLoading`\n * and will be removed in the next major version.\n */\n isInitialLoading: boolean\n /**\n * A derived boolean from the `fetchStatus` variable, provided for convenience.\n * - The query wanted to fetch, but has been `paused`.\n */\n isPaused: boolean\n /**\n * Will be `true` if the data shown is the placeholder data.\n */\n isPlaceholderData: boolean\n /**\n * Will be `true` if the query failed while refetching.\n */\n isRefetchError: boolean\n /**\n * Is `true` whenever a background refetch is in-flight, which _does not_ include initial `pending`.\n * - Is the same as `isFetching && !isPending`.\n */\n isRefetching: boolean\n /**\n * Will be `true` if the data in the cache is invalidated or if the data is older than the given `staleTime`.\n */\n isStale: boolean\n /**\n * A derived boolean from the `status` variable, provided for convenience.\n * - `true` if the query has received a response with no errors and is ready to display its data.\n */\n isSuccess: boolean\n /**\n * `true` if this observer is enabled, `false` otherwise.\n */\n isEnabled: boolean\n /**\n * A function to manually refetch the query.\n */\n refetch: (\n options?: RefetchOptions,\n ) => Promise<QueryObserverResult<TData, TError>>\n /**\n * The status of the query.\n * - Will be:\n * - `pending` if there's no cached data and no query attempt was finished yet.\n * - `error` if the query attempt resulted in an error.\n * - `success` if the query has received a response with no errors and is ready to display its data.\n */\n status: QueryStatus\n /**\n * The fetch status of the query.\n * - `fetching`: Is `true` whenever the queryFn is executing, which includes initial `pending` as well as background refetch.\n * - `paused`: The query wanted to fetch, but has been `paused`.\n * - `idle`: The query is not fetching.\n * - See [Network Mode](https://tanstack.com/query/latest/docs/framework/react/guides/network-mode) for more information.\n */\n fetchStatus: FetchStatus\n}\n\nexport interface QueryObserverPendingResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: undefined\n error: null\n isError: false\n isPending: true\n isLoadingError: false\n isRefetchError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'pending'\n}\n\nexport interface QueryObserverLoadingResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: undefined\n error: null\n isError: false\n isPending: true\n isLoading: true\n isLoadingError: false\n isRefetchError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'pending'\n}\n\nexport interface QueryObserverLoadingErrorResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: undefined\n error: TError\n isError: true\n isPending: false\n isLoading: false\n isLoadingError: true\n isRefetchError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'error'\n}\n\nexport interface QueryObserverRefetchErrorResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: TData\n error: TError\n isError: true\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: true\n isSuccess: false\n isPlaceholderData: false\n status: 'error'\n}\n\nexport interface QueryObserverSuccessResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: TData\n error: null\n isError: false\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: false\n isSuccess: true\n isPlaceholderData: false\n status: 'success'\n}\n\nexport interface QueryObserverPlaceholderResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: TData\n isError: false\n error: null\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: false\n isSuccess: true\n isPlaceholderData: true\n status: 'success'\n}\n\nexport type DefinedQueryObserverResult<\n TData = unknown,\n TError = DefaultError,\n> =\n | QueryObserverRefetchErrorResult<TData, TError>\n | QueryObserverSuccessResult<TData, TError>\n\nexport type QueryObserverResult<TData = unknown, TError = DefaultError> =\n | DefinedQueryObserverResult<TData, TError>\n | QueryObserverLoadingErrorResult<TData, TError>\n | QueryObserverLoadingResult<TData, TError>\n | QueryObserverPendingResult<TData, TError>\n | QueryObserverPlaceholderResult<TData, TError>\n\nexport interface InfiniteQueryObserverBaseResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n /**\n * This function allows you to fetch the next \"page\" of results.\n */\n fetchNextPage: (\n options?: FetchNextPageOptions,\n ) => Promise<InfiniteQueryObserverResult<TData, TError>>\n /**\n * This function allows you to fetch the previous \"page\" of results.\n */\n fetchPreviousPage: (\n options?: FetchPreviousPageOptions,\n ) => Promise<InfiniteQueryObserverResult<TData, TError>>\n /**\n * Will be `true` if there is a next page to be fetched (known via the `getNextPageParam` option).\n */\n hasNextPage: boolean\n /**\n * Will be `true` if there is a previous page to be fetched (known via the `getPreviousPageParam` option).\n */\n hasPreviousPage: boolean\n /**\n * Will be `true` if the query failed while fetching the next page.\n */\n isFetchNextPageError: boolean\n /**\n * Will be `true` while fetching the next page with `fetchNextPage`.\n */\n isFetchingNextPage: boolean\n /**\n * Will be `true` if the query failed while fetching the previous page.\n */\n isFetchPreviousPageError: boolean\n /**\n * Will be `true` while fetching the previous page with `fetchPreviousPage`.\n */\n isFetchingPreviousPage: boolean\n}\n\nexport interface InfiniteQueryObserverPendingResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: undefined\n error: null\n isError: false\n isPending: true\n isLoadingError: false\n isRefetchError: false\n isFetchNextPageError: false\n isFetchPreviousPageError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'pending'\n}\n\nexport interface InfiniteQueryObserverLoadingResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: undefined\n error: null\n isError: false\n isPending: true\n isLoading: true\n isLoadingError: false\n isRefetchError: false\n isFetchNextPageError: false\n isFetchPreviousPageError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'pending'\n}\n\nexport interface InfiniteQueryObserverLoadingErrorResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: undefined\n error: TError\n isError: true\n isPending: false\n isLoading: false\n isLoadingError: true\n isRefetchError: false\n isFetchNextPageError: false\n isFetchPreviousPageError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'error'\n}\n\nexport interface InfiniteQueryObserverRefetchErrorResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: TData\n error: TError\n isError: true\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: true\n isSuccess: false\n isPlaceholderData: false\n status: 'error'\n}\n\nexport interface InfiniteQueryObserverSuccessResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: TData\n error: null\n isError: false\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: false\n isFetchNextPageError: false\n isFetchPreviousPageError: false\n isSuccess: true\n isPlaceholderData: false\n status: 'success'\n}\n\nexport interface InfiniteQueryObserverPlaceholderResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: TData\n isError: false\n error: null\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: false\n isSuccess: true\n isPlaceholderData: true\n isFetchNextPageError: false\n isFetchPreviousPageError: false\n status: 'success'\n}\n\nexport type DefinedInfiniteQueryObserverResult<\n TData = unknown,\n TError = DefaultError,\n> =\n | InfiniteQueryObserverRefetchErrorResult<TData, TError>\n | InfiniteQueryObserverSuccessResult<TData, TError>\n\nexport type InfiniteQueryObserverResult<\n TData = unknown,\n TError = DefaultError,\n> =\n | DefinedInfiniteQueryObserverResult<TData, TError>\n | InfiniteQueryObserverLoadingErrorResult<TData, TError>\n | InfiniteQueryObserverLoadingResult<TData, TError>\n | InfiniteQueryObserverPendingResult<TData, TError>\n | InfiniteQueryObserverPlaceholderResult<TData, TError>\n\nexport type MutationKey = Register extends {\n mutationKey: infer TMutationKey\n}\n ? TMutationKey extends ReadonlyArray<unknown>\n ? TMutationKey\n : TMutationKey extends Array<unknown>\n ? TMutationKey\n : ReadonlyArray<unknown>\n : ReadonlyArray<unknown>\n\nexport type MutationStatus = 'idle' | 'pending' | 'success' | 'error'\n\nexport type MutationScope = {\n id: string\n}\n\nexport type MutationMeta = Register extends {\n mutationMeta: infer TMutationMeta\n}\n ? TMutationMeta extends Record<string, unknown>\n ? TMutationMeta\n : Record<string, unknown>\n : Record<string, unknown>\n\nexport type MutationFunctionContext = {\n client: QueryClient\n meta: MutationMeta | undefined\n mutationKey?: MutationKey\n}\n\nexport type MutationFunction<TData = unknown, TVariables = unknown> = (\n variables: TVariables,\n context: MutationFunctionContext,\n) => Promise<TData>\n\nexport interface MutationOptions<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> {\n mutationFn?: MutationFunction<TData, TVariables>\n mutationKey?: MutationKey\n onMutate?: (\n variables: TVariables,\n context: MutationFunctionContext,\n ) => Promise<TOnMutateResult> | TOnMutateResult\n onSuccess?: (\n data: TData,\n variables: TVariables,\n onMutateResult: TOnMutateResult,\n context: MutationFunctionContext,\n ) => Promise<unknown> | unknown\n onError?: (\n error: TError,\n variables: TVariables,\n onMutateResult: TOnMutateResult | undefined,\n context: MutationFunctionContext,\n ) => Promise<unknown> | unknown\n onSettled?: (\n data: TData | undefined,\n error: TError | null,\n variables: TVariables,\n onMutateResult: TOnMutateResult | undefined,\n context: MutationFunctionContext,\n ) => Promise<unknown> | unknown\n retry?: RetryValue<TError>\n retryDelay?: RetryDelayValue<TError>\n networkMode?: NetworkMode\n gcTime?: number\n _defaulted?: boolean\n meta?: MutationMeta\n scope?: MutationScope\n}\n\nexport interface MutationObserverOptions<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationOptions<TData, TError, TVariables, TOnMutateResult> {\n throwOnError?: boolean | ((error: TError) => boolean)\n}\n\nexport interface MutateOptions<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> {\n onSuccess?: (\n data: TData,\n variables: TVariables,\n onMutateResult: TOnMutateResult | undefined,\n context: MutationFunctionContext,\n ) => void\n onError?: (\n error: TError,\n variables: TVariables,\n onMutateResult: TOnMutateResult | undefined,\n context: MutationFunctionContext,\n ) => void\n onSettled?: (\n data: TData | undefined,\n error: TError | null,\n variables: TVariables,\n onMutateResult: TOnMutateResult | undefined,\n context: MutationFunctionContext,\n ) => void\n}\n\nexport type MutateFunctionRest<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> = undefined extends TVariables\n ? [\n variables?: TVariables,\n options?: MutateOptions<TData, TError, TVariables, TOnMutateResult>,\n ]\n : [\n variables: TVariables,\n options?: MutateOptions<TData, TError, TVariables, TOnMutateResult>,\n ]\n\nexport type MutateFunction<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> = (\n ...rest: MutateFunctionRest<TData, TError, TVariables, TOnMutateResult>\n) => Promise<TData>\n\nexport interface MutationObserverBaseResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationState<TData, TError, TVariables, TOnMutateResult> {\n /**\n * The last successfully resolved data for the mutation.\n */\n data: TData | undefined\n /**\n * The variables object passed to the `mutationFn`.\n */\n variables: TVariables | undefined\n /**\n * The error object for the mutation, if an error was encountered.\n * - Defaults to `null`.\n */\n error: TError | null\n /**\n * A boolean variable derived from `status`.\n * - `true` if the last mutation attempt resulted in an error.\n */\n isError: boolean\n /**\n * A boolean variable derived from `status`.\n * - `true` if the mutation is in its initial state prior to executing.\n */\n isIdle: boolean\n /**\n * A boolean variable derived from `status`.\n * - `true` if the mutation is currently executing.\n */\n isPending: boolean\n /**\n * A boolean variable derived from `status`.\n * - `true` if the last mutation attempt was successful.\n */\n isSuccess: boolean\n /**\n * The status of the mutation.\n * - Will be:\n * - `idle` initial status prior to the mutation function executing.\n * - `pending` if the mutation is currently executing.\n * - `error` if the last mutation attempt resulted in an error.\n * - `success` if the last mutation attempt was successful.\n */\n status: MutationStatus\n /**\n * The mutation function you can call with variables to trigger the mutation and optionally hooks on additional callback options.\n * @param variables - The variables object to pass to the `mutationFn`.\n * @param options.onSuccess - This function will fire when the mutation is successful and will be passed the mutation's result.\n * @param options.onError - This function will fire if the mutation encounters an error and will be passed the error.\n * @param options.onSettled - This function will fire when the mutation is either successfully fetched or encounters an error and be passed either the data or error.\n * @remarks\n * - If you make multiple requests, `onSuccess` will fire only after the latest call you've made.\n * - All the callback functions (`onSuccess`, `onError`, `onSettled`) are void functions, and the returned value will be ignored.\n */\n mutate: MutateFunction<TData, TError, TVariables, TOnMutateResult>\n /**\n * A function to clean the mutation internal state (i.e., it resets the mutation to its initial state).\n */\n reset: () => void\n}\n\nexport interface MutationObserverIdleResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationObserverBaseResult<\n TData,\n TError,\n TVariables,\n TOnMutateResult\n> {\n data: undefined\n variables: undefined\n error: null\n isError: false\n isIdle: true\n isPending: false\n isSuccess: false\n status: 'idle'\n}\n\nexport interface MutationObserverLoadingResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationObserverBaseResult<\n TData,\n TError,\n TVariables,\n TOnMutateResult\n> {\n data: undefined\n variables: TVariables\n error: null\n isError: false\n isIdle: false\n isPending: true\n isSuccess: false\n status: 'pending'\n}\n\nexport interface MutationObserverErrorResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationObserverBaseResult<\n TData,\n TError,\n TVariables,\n TOnMutateResult\n> {\n data: undefined\n error: TError\n variables: TVariables\n isError: true\n isIdle: false\n isPending: false\n isSuccess: false\n status: 'error'\n}\n\nexport interface MutationObserverSuccessResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationObserverBaseResult<\n TData,\n TError,\n TVariables,\n TOnMutateResult\n> {\n data: TData\n error: null\n variables: TVariables\n isError: false\n isIdle: false\n isPending: false\n isSuccess: true\n status: 'success'\n}\n\nexport type MutationObserverResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> =\n | MutationObserverIdleResult<TData, TError, TVariables, TOnMutateResult>\n | MutationObserverLoadingResult<TData, TError, TVariables, TOnMutateResult>\n | MutationObserverErrorResult<TData, TError, TVariables, TOnMutateResult>\n | MutationObserverSuccessResult<TData, TError, TVariables, TOnMutateResult>\n\nexport interface QueryClientConfig {\n queryCache?: QueryCache\n mutationCache?: MutationCache\n defaultOptions?: DefaultOptions\n}\n\nexport interface DefaultOptions<TError = DefaultError> {\n queries?: OmitKeyof<\n QueryObserverOptions<unknown, TError>,\n 'suspense' | 'queryKey'\n >\n mutations?: MutationObserverOptions<unknown, TError, unknown, unknown>\n hydrate?: HydrateOptions['defaultOptions']\n dehydrate?: DehydrateOptions\n}\n\nexport interface CancelOptions {\n revert?: boolean\n silent?: boolean\n}\n\nexport interface SetDataOptions {\n updatedAt?: number\n}\n\nexport type NotifyEventType =\n | 'added'\n | 'removed'\n | 'updated'\n | 'observerAdded'\n | 'observerRemoved'\n | 'observerResultsUpdated'\n | 'observerOptionsUpdated'\n\nexport interface NotifyEvent {\n type: NotifyEventType\n}\n"],"mappings":";;AA4DA,MAAa,gBAAgB,OAAO,eAAe;AAEnD,MAAa,qBAAqB,OAAO,oBAAoB;AAE7D,MAAa,cAAc,OAAO,aAAa"} | ||
| {"version":3,"file":"types.js","names":[],"sources":["../../src/types.ts"],"sourcesContent":["/* istanbul ignore file */\n\nimport type { QueryClient } from './queryClient'\nimport type { DehydrateOptions, HydrateOptions } from './hydration'\nimport type { MutationState } from './mutation'\nimport type { FetchDirection, Query, QueryBehavior } from './query'\nimport type { RetryDelayValue, RetryValue } from './retryer'\nimport type { QueryFilters, QueryTypeFilter, SkipToken } from './utils'\nimport type { QueryCache } from './queryCache'\nimport type { MutationCache } from './mutationCache'\n\nexport type NonUndefinedGuard<T> = T extends undefined ? never : T\n\nexport type DistributiveOmit<\n TObject,\n TKey extends keyof TObject,\n> = TObject extends any ? Omit<TObject, TKey> : never\n\nexport type OmitKeyof<\n TObject,\n TKey extends TStrictly extends 'safely'\n ?\n | keyof TObject\n | (string & Record<never, never>)\n | (number & Record<never, never>)\n | (symbol & Record<never, never>)\n : keyof TObject,\n TStrictly extends 'strictly' | 'safely' = 'strictly',\n> = Omit<TObject, TKey>\n\nexport type Override<TTargetA, TTargetB> = {\n [AKey in keyof TTargetA]: AKey extends keyof TTargetB\n ? TTargetB[AKey]\n : TTargetA[AKey]\n}\n\nexport interface Register {\n // defaultError: Error\n // queryMeta: Record<string, unknown>\n // mutationMeta: Record<string, unknown>\n // queryKey: ReadonlyArray<unknown>\n // mutationKey: ReadonlyArray<unknown>\n}\n\nexport type DefaultError = Register extends {\n defaultError: infer TError\n}\n ? TError\n : Error\n\nexport type QueryKey = Register extends {\n queryKey: infer TQueryKey\n}\n ? TQueryKey extends ReadonlyArray<unknown>\n ? TQueryKey\n : TQueryKey extends Array<unknown>\n ? TQueryKey\n : ReadonlyArray<unknown>\n : ReadonlyArray<unknown>\n\nexport const dataTagSymbol = Symbol()\nexport type dataTagSymbol = typeof dataTagSymbol\nexport const dataTagErrorSymbol = Symbol()\nexport type dataTagErrorSymbol = typeof dataTagErrorSymbol\nexport const unsetMarker = Symbol()\nexport type UnsetMarker = typeof unsetMarker\nexport type AnyDataTag = {\n [dataTagSymbol]: any\n [dataTagErrorSymbol]: any\n}\nexport type DataTag<\n TType,\n TValue,\n TError = UnsetMarker,\n> = TType extends AnyDataTag\n ? TType\n : TType & {\n [dataTagSymbol]: TValue\n [dataTagErrorSymbol]: TError\n }\n\nexport type QueryKeyWithDataTag<\n TQueryKey extends QueryKey = QueryKey,\n TQueryFnData = unknown,\n TError = DefaultError,\n> = {\n queryKey: DataTag<TQueryKey, TQueryFnData, TError>\n}\n\nexport type InferDataFromTag<TQueryFnData, TTaggedQueryKey extends QueryKey> =\n TTaggedQueryKey extends DataTag<unknown, infer TaggedValue, unknown>\n ? TaggedValue\n : TQueryFnData\n\nexport type InferErrorFromTag<TError, TTaggedQueryKey extends QueryKey> =\n TTaggedQueryKey extends DataTag<unknown, unknown, infer TaggedError>\n ? TaggedError extends UnsetMarker\n ? TError\n : TaggedError\n : TError\n\nexport type QueryFunction<\n T = unknown,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> = (context: QueryFunctionContext<TQueryKey, TPageParam>) => T | Promise<T>\n\nexport type StaleTime = number | 'static'\n\nexport type StaleTimeFunction<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> =\n | StaleTime\n | ((query: Query<TQueryFnData, TError, TData, TQueryKey>) => StaleTime)\n\nexport type QueryBooleanOption<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> =\n | boolean\n | ((query: Query<TQueryFnData, TError, TData, TQueryKey>) => boolean)\n\nexport type QueryPersister<\n T = unknown,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> = [TPageParam] extends [never]\n ? (\n queryFn: QueryFunction<T, TQueryKey, never>,\n context: QueryFunctionContext<TQueryKey>,\n query: Query,\n ) => T | Promise<T>\n : (\n queryFn: QueryFunction<T, TQueryKey, TPageParam>,\n context: QueryFunctionContext<TQueryKey>,\n query: Query,\n ) => T | Promise<T>\n\nexport type QueryFunctionContext<\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> = [TPageParam] extends [never]\n ? {\n client: QueryClient\n queryKey: TQueryKey\n signal: AbortSignal\n meta: QueryMeta | undefined\n pageParam?: unknown\n /**\n * @deprecated\n * if you want access to the direction, you can add it to the pageParam\n */\n direction?: unknown\n }\n : {\n client: QueryClient\n queryKey: TQueryKey\n signal: AbortSignal\n pageParam: TPageParam\n /**\n * @deprecated\n * if you want access to the direction, you can add it to the pageParam\n */\n direction: FetchDirection\n meta: QueryMeta | undefined\n }\n\nexport type InitialDataFunction<T> = () => T | undefined\n\ntype NonFunctionGuard<T> = T extends Function ? never : T\n\nexport type PlaceholderDataFunction<\n TQueryFnData = unknown,\n TError = DefaultError,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = (\n previousData: TQueryData | undefined,\n previousQuery: Query<TQueryFnData, TError, TQueryData, TQueryKey> | undefined,\n) => TQueryData | undefined\n\nexport type QueriesPlaceholderDataFunction<TQueryData> = (\n previousData: undefined,\n previousQuery: undefined,\n) => TQueryData | undefined\n\nexport type QueryKeyHashFunction<TQueryKey extends QueryKey> = (\n queryKey: TQueryKey,\n) => string\n\nexport type GetPreviousPageParamFunction<TPageParam, TQueryFnData = unknown> = (\n firstPage: TQueryFnData,\n allPages: Array<TQueryFnData>,\n firstPageParam: TPageParam,\n allPageParams: Array<TPageParam>,\n) => TPageParam | undefined | null\n\nexport type GetNextPageParamFunction<TPageParam, TQueryFnData = unknown> = (\n lastPage: TQueryFnData,\n allPages: Array<TQueryFnData>,\n lastPageParam: TPageParam,\n allPageParams: Array<TPageParam>,\n) => TPageParam | undefined | null\n\nexport interface InfiniteData<TData, TPageParam = unknown> {\n pages: Array<TData>\n pageParams: Array<TPageParam>\n}\n\nexport type QueryMeta = Register extends {\n queryMeta: infer TQueryMeta\n}\n ? TQueryMeta extends Record<string, unknown>\n ? TQueryMeta\n : Record<string, unknown>\n : Record<string, unknown>\n\nexport type NetworkMode = 'online' | 'always' | 'offlineFirst'\n\nexport type NotifyOnChangeProps =\n | Array<keyof InfiniteQueryObserverResult>\n | 'all'\n | undefined\n | (() => Array<keyof InfiniteQueryObserverResult> | 'all' | undefined)\n\nexport interface QueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> {\n /**\n * If `false`, failed queries will not retry by default.\n * If `true`, failed queries will retry infinitely.\n * If set to an integer number, e.g. 3, failed queries will retry until the failed query count meets that number.\n * If set to a function `(failureCount, error) => boolean` failed queries will retry until the function returns false.\n */\n retry?: RetryValue<TError>\n retryDelay?: RetryDelayValue<TError>\n networkMode?: NetworkMode\n /**\n * The time in milliseconds that unused/inactive cache data remains in memory.\n * When a query's cache becomes unused or inactive, that cache data will be garbage collected after this duration.\n * When different garbage collection times are specified, the longest one will be used.\n * Setting it to `Infinity` will disable garbage collection.\n */\n gcTime?: number\n queryFn?: QueryFunction<TQueryFnData, TQueryKey, TPageParam> | SkipToken\n persister?: QueryPersister<TQueryFnData, NoInfer<TQueryKey>, TPageParam>\n queryHash?: string\n queryKey?: TQueryKey\n queryKeyHashFn?: QueryKeyHashFunction<TQueryKey>\n initialData?: TData | InitialDataFunction<TData>\n initialDataUpdatedAt?: number | (() => number | undefined)\n behavior?: QueryBehavior<TQueryFnData, TError, TData, TQueryKey>\n /**\n * Set this to `false` to disable structural sharing between query results.\n * Set this to a function which accepts the old and new data and returns resolved data of the same type to implement custom structural sharing logic.\n * Defaults to `true`.\n */\n structuralSharing?:\n | boolean\n | ((oldData: unknown | undefined, newData: unknown) => unknown)\n _defaulted?: boolean\n _type?: 'infinite'\n /**\n * Additional payload to be stored on each query.\n * Use this property to pass information that can be used in other places.\n */\n meta?: QueryMeta\n /**\n * Maximum number of pages to store in the data of an infinite query.\n */\n maxPages?: number\n}\n\nexport interface InitialPageParam<TPageParam = unknown> {\n initialPageParam: TPageParam\n}\n\nexport interface InfiniteQueryPageParamsOptions<\n TQueryFnData = unknown,\n TPageParam = unknown,\n> extends InitialPageParam<TPageParam> {\n /**\n * This function can be set to automatically get the previous cursor for infinite queries.\n * The result will also be used to determine the value of `hasPreviousPage`.\n */\n getPreviousPageParam?: GetPreviousPageParamFunction<TPageParam, TQueryFnData>\n /**\n * This function can be set to automatically get the next cursor for infinite queries.\n * The result will also be used to determine the value of `hasNextPage`.\n */\n getNextPageParam: GetNextPageParamFunction<TPageParam, TQueryFnData>\n}\n\nexport type ThrowOnError<\n TQueryFnData,\n TError,\n TQueryData,\n TQueryKey extends QueryKey,\n> =\n | boolean\n | ((\n error: TError,\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n ) => boolean)\n\nexport interface QueryObserverOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> extends WithRequired<\n QueryOptions<TQueryFnData, TError, TQueryData, TQueryKey, TPageParam>,\n 'queryKey'\n> {\n /**\n * Set this to `false` or a function that returns `false` to disable automatic refetching when the query mounts or changes query keys.\n * To refetch the query, use the `refetch` method returned from the `useQuery` instance.\n * Accepts a boolean or function that returns a boolean.\n * Defaults to `true`.\n */\n enabled?: QueryBooleanOption<TQueryFnData, TError, TQueryData, TQueryKey>\n /**\n * The time in milliseconds after data is considered stale.\n * If set to `Infinity`, the data will never be considered stale.\n * If set to a function, the function will be executed with the query to compute a `staleTime`.\n * Defaults to `0`.\n */\n staleTime?: StaleTimeFunction<TQueryFnData, TError, TQueryData, TQueryKey>\n /**\n * If set to a number, the query will continuously refetch at this frequency in milliseconds.\n * If set to a function, the function will be executed with the latest data and query to compute a frequency\n * Defaults to `false`.\n */\n refetchInterval?:\n | number\n | false\n | ((\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n ) => number | false | undefined)\n /**\n * If set to `true`, the query will continue to refetch while their tab/window is in the background.\n * Defaults to `false`.\n */\n refetchIntervalInBackground?: boolean\n /**\n * If set to `true`, the query will refetch on window focus if the data is stale.\n * If set to `false`, the query will not refetch on window focus.\n * If set to `'always'`, the query will always refetch on window focus.\n * If set to a function, the function will be executed with the latest data and query to compute the value.\n * Defaults to `true`.\n */\n refetchOnWindowFocus?:\n | boolean\n | 'always'\n | ((\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n ) => boolean | 'always')\n /**\n * If set to `true`, the query will refetch on reconnect if the data is stale.\n * If set to `false`, the query will not refetch on reconnect.\n * If set to `'always'`, the query will always refetch on reconnect.\n * If set to a function, the function will be executed with the latest data and query to compute the value.\n * Defaults to `true` unless `networkMode` is `'always'`.\n */\n refetchOnReconnect?:\n | boolean\n | 'always'\n | ((\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n ) => boolean | 'always')\n /**\n * If set to `true`, the query will refetch on mount if the data is stale.\n * If set to `false`, will disable additional instances of a query to trigger background refetch.\n * If set to `'always'`, the query will always refetch on mount.\n * If set to a function, the function will be executed with the latest data and query to compute the value\n * Defaults to `true`.\n */\n refetchOnMount?:\n | boolean\n | 'always'\n | ((\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n ) => boolean | 'always')\n /**\n * If set to `false`, the query will not be retried on mount if it contains an error.\n * If set to a function, the function will be executed with the query to compute the value.\n * Defaults to `true`.\n */\n retryOnMount?: QueryBooleanOption<TQueryFnData, TError, TQueryData, TQueryKey>\n /**\n * If set, the component will only re-render if any of the listed properties change.\n * When set to `['data', 'error']`, the component will only re-render when the `data` or `error` properties change.\n * When set to `'all'`, the component will re-render whenever a query is updated.\n * When set to a function, the function will be executed to compute the list of properties.\n * By default, access to properties will be tracked, and the component will only re-render when one of the tracked properties change.\n */\n notifyOnChangeProps?: NotifyOnChangeProps\n /**\n * Whether errors should be thrown instead of setting the `error` property.\n * If set to `true` or `suspense` is `true`, all errors will be thrown to the error boundary.\n * If set to `false` and `suspense` is `false`, errors are returned as state.\n * If set to a function, it will be passed the error and the query, and it should return a boolean indicating whether to show the error in an error boundary (`true`) or return the error as state (`false`).\n * Defaults to `false`.\n */\n throwOnError?: ThrowOnError<TQueryFnData, TError, TQueryData, TQueryKey>\n /**\n * This option can be used to transform or select a part of the data returned by the query function.\n */\n select?: (data: TQueryData) => TData\n /**\n * If set to `true`, the query will suspend when `status === 'pending'`\n * and throw errors when `status === 'error'`.\n * Defaults to `false`.\n */\n suspense?: boolean\n /**\n * If set, this value will be used as the placeholder data for this particular query observer while the query is still in the `loading` data and no initialData has been provided.\n */\n placeholderData?:\n | NonFunctionGuard<TQueryData>\n | PlaceholderDataFunction<\n NonFunctionGuard<TQueryData>,\n TError,\n NonFunctionGuard<TQueryData>,\n TQueryKey\n >\n\n _optimisticResults?: 'optimistic' | 'isRestoring'\n}\n\nexport type WithRequired<TTarget, TKey extends keyof TTarget> = TTarget & {\n [_ in TKey]: {}\n}\n\nexport type DefaultedQueryObserverOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = WithRequired<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>,\n 'throwOnError' | 'refetchOnReconnect' | 'queryHash'\n>\n\nexport interface InfiniteQueryObserverOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>\n extends\n QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n InfiniteData<TQueryFnData, TPageParam>,\n TQueryKey,\n TPageParam\n >,\n InfiniteQueryPageParamsOptions<TQueryFnData, TPageParam> {}\n\nexport type DefaultedInfiniteQueryObserverOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = WithRequired<\n InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n 'throwOnError' | 'refetchOnReconnect' | 'queryHash'\n>\n\nexport interface QueryExecuteOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> extends WithRequired<\n QueryOptions<TQueryFnData, TError, TQueryData, TQueryKey, TPageParam>,\n 'queryKey'\n> {\n initialPageParam?: never\n select?: (data: TQueryData) => TData\n /**\n * The time in milliseconds after data is considered stale.\n * If the data is fresh it will be returned from the cache.\n */\n staleTime?: StaleTimeFunction<TQueryFnData, TError, TQueryData, TQueryKey>\n}\n\n/** @deprecated */\nexport interface FetchQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> extends WithRequired<\n QueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>,\n 'queryKey'\n> {\n initialPageParam?: never\n /**\n * The time in milliseconds after data is considered stale.\n * If the data is fresh it will be returned from the cache.\n */\n staleTime?: StaleTimeFunction<TQueryFnData, TError, TData, TQueryKey>\n}\n\n/** @deprecated */\nexport interface EnsureQueryDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> extends FetchQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n> {\n revalidateIfStale?: boolean\n}\n\n/** @deprecated */\nexport type EnsureInfiniteQueryDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n> & {\n revalidateIfStale?: boolean\n}\n\ntype InfiniteQueryPages<TQueryFnData = unknown, TPageParam = unknown> =\n | { pages?: never }\n | {\n pages: number\n getNextPageParam: GetNextPageParamFunction<TPageParam, TQueryFnData>\n }\n\nexport type InfiniteQueryExecuteOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = Omit<\n QueryExecuteOptions<\n TQueryFnData,\n TError,\n TData,\n InfiniteData<TQueryFnData, TPageParam>,\n TQueryKey,\n TPageParam\n >,\n 'initialPageParam'\n> &\n InitialPageParam<TPageParam> &\n InfiniteQueryPages<TQueryFnData, TPageParam>\n\n/** @deprecated */\nexport type FetchInfiniteQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = Omit<\n FetchQueryOptions<\n TQueryFnData,\n TError,\n InfiniteData<TData, TPageParam>,\n TQueryKey,\n TPageParam\n >,\n 'initialPageParam'\n> &\n InitialPageParam<TPageParam> &\n InfiniteQueryPages<TQueryFnData, TPageParam>\n\nexport interface ResultOptions {\n throwOnError?: boolean\n}\n\nexport interface RefetchOptions extends ResultOptions {\n /**\n * If set to `true`, a currently running request will be cancelled before a new request is made\n *\n * If set to `false`, no refetch will be made if there is already a request running.\n *\n * Defaults to `true`.\n */\n cancelRefetch?: boolean\n}\n\nexport interface InvalidateQueryFilters<\n TQueryKey extends QueryKey = QueryKey,\n> extends QueryFilters<TQueryKey> {\n refetchType?: QueryTypeFilter | 'none'\n}\n\nexport interface RefetchQueryFilters<\n TQueryKey extends QueryKey = QueryKey,\n> extends QueryFilters<TQueryKey> {}\n\nexport interface InvalidateOptions extends RefetchOptions {}\nexport interface ResetOptions extends RefetchOptions {}\n\nexport interface FetchNextPageOptions extends ResultOptions {\n /**\n * If set to `true`, calling `fetchNextPage` repeatedly will invoke `queryFn` every time,\n * whether the previous invocation has resolved or not. Also, the result from previous invocations will be ignored.\n *\n * If set to `false`, calling `fetchNextPage` repeatedly won't have any effect until the first invocation has resolved.\n *\n * Defaults to `true`.\n */\n cancelRefetch?: boolean\n}\n\nexport interface FetchPreviousPageOptions extends ResultOptions {\n /**\n * If set to `true`, calling `fetchPreviousPage` repeatedly will invoke `queryFn` every time,\n * whether the previous invocation has resolved or not. Also, the result from previous invocations will be ignored.\n *\n * If set to `false`, calling `fetchPreviousPage` repeatedly won't have any effect until the first invocation has resolved.\n *\n * Defaults to `true`.\n */\n cancelRefetch?: boolean\n}\n\nexport type QueryStatus = 'pending' | 'error' | 'success'\nexport type FetchStatus = 'fetching' | 'paused' | 'idle'\n\nexport interface QueryObserverBaseResult<\n TData = unknown,\n TError = DefaultError,\n> {\n /**\n * The last successfully resolved data for the query.\n */\n data: TData | undefined\n /**\n * The timestamp for when the query most recently returned the `status` as `\"success\"`.\n */\n dataUpdatedAt: number\n /**\n * The error object for the query, if an error was thrown.\n * - Defaults to `null`.\n */\n error: TError | null\n /**\n * The timestamp for when the query most recently returned the `status` as `\"error\"`.\n */\n errorUpdatedAt: number\n /**\n * The failure count for the query.\n * - Incremented every time the query fails.\n * - Reset to `0` when the query succeeds.\n */\n failureCount: number\n /**\n * The failure reason for the query retry.\n * - Reset to `null` when the query succeeds.\n */\n failureReason: TError | null\n /**\n * The sum of all errors.\n */\n errorUpdateCount: number\n /**\n * A derived boolean from the `status` variable, provided for convenience.\n * - `true` if the query attempt resulted in an error.\n */\n isError: boolean\n /**\n * Will be `true` if the query has been fetched.\n */\n isFetched: boolean\n /**\n * Will be `true` if the query has been fetched after the component mounted.\n * - This property can be used to not show any previously cached data.\n */\n isFetchedAfterMount: boolean\n /**\n * A derived boolean from the `fetchStatus` variable, provided for convenience.\n * - `true` whenever the `queryFn` is executing, which includes initial `pending` as well as background refetch.\n */\n isFetching: boolean\n /**\n * Is `true` whenever the first fetch for a query is in-flight.\n * - Is the same as `isFetching && isPending`.\n */\n isLoading: boolean\n /**\n * Will be `pending` if there's no cached data and no query attempt was finished yet.\n */\n isPending: boolean\n /**\n * Will be `true` if the query failed while fetching for the first time.\n */\n isLoadingError: boolean\n /**\n * @deprecated `isInitialLoading` is being deprecated in favor of `isLoading`\n * and will be removed in the next major version.\n */\n isInitialLoading: boolean\n /**\n * A derived boolean from the `fetchStatus` variable, provided for convenience.\n * - The query wanted to fetch, but has been `paused`.\n */\n isPaused: boolean\n /**\n * Will be `true` if the data shown is the placeholder data.\n */\n isPlaceholderData: boolean\n /**\n * Will be `true` if the query failed while refetching.\n */\n isRefetchError: boolean\n /**\n * Is `true` whenever a background refetch is in-flight, which _does not_ include initial `pending`.\n * - Is the same as `isFetching && !isPending`.\n */\n isRefetching: boolean\n /**\n * Will be `true` if the data in the cache is invalidated or if the data is older than the given `staleTime`.\n */\n isStale: boolean\n /**\n * A derived boolean from the `status` variable, provided for convenience.\n * - `true` if the query has received a response with no errors and is ready to display its data.\n */\n isSuccess: boolean\n /**\n * `true` if this observer is enabled, `false` otherwise.\n */\n isEnabled: boolean\n /**\n * A function to manually refetch the query.\n */\n refetch: (\n options?: RefetchOptions,\n ) => Promise<QueryObserverResult<TData, TError>>\n /**\n * The status of the query.\n * - Will be:\n * - `pending` if there's no cached data and no query attempt was finished yet.\n * - `error` if the query attempt resulted in an error.\n * - `success` if the query has received a response with no errors and is ready to display its data.\n */\n status: QueryStatus\n /**\n * The fetch status of the query.\n * - `fetching`: Is `true` whenever the queryFn is executing, which includes initial `pending` as well as background refetch.\n * - `paused`: The query wanted to fetch, but has been `paused`.\n * - `idle`: The query is not fetching.\n * - See [Network Mode](https://tanstack.com/query/latest/docs/framework/react/guides/network-mode) for more information.\n */\n fetchStatus: FetchStatus\n}\n\nexport interface QueryObserverPendingResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: undefined\n error: null\n isError: false\n isPending: true\n isLoadingError: false\n isRefetchError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'pending'\n}\n\nexport interface QueryObserverLoadingResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: undefined\n error: null\n isError: false\n isPending: true\n isLoading: true\n isLoadingError: false\n isRefetchError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'pending'\n}\n\nexport interface QueryObserverLoadingErrorResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: undefined\n error: TError\n isError: true\n isPending: false\n isLoading: false\n isLoadingError: true\n isRefetchError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'error'\n}\n\nexport interface QueryObserverRefetchErrorResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: TData\n error: TError\n isError: true\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: true\n isSuccess: false\n isPlaceholderData: false\n status: 'error'\n}\n\nexport interface QueryObserverSuccessResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: TData\n error: null\n isError: false\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: false\n isSuccess: true\n isPlaceholderData: false\n status: 'success'\n}\n\nexport interface QueryObserverPlaceholderResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n data: TData\n isError: false\n error: null\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: false\n isSuccess: true\n isPlaceholderData: true\n status: 'success'\n}\n\nexport type DefinedQueryObserverResult<\n TData = unknown,\n TError = DefaultError,\n> =\n | QueryObserverRefetchErrorResult<TData, TError>\n | QueryObserverSuccessResult<TData, TError>\n\nexport type QueryObserverResult<TData = unknown, TError = DefaultError> =\n | DefinedQueryObserverResult<TData, TError>\n | QueryObserverLoadingErrorResult<TData, TError>\n | QueryObserverLoadingResult<TData, TError>\n | QueryObserverPendingResult<TData, TError>\n | QueryObserverPlaceholderResult<TData, TError>\n\nexport interface InfiniteQueryObserverBaseResult<\n TData = unknown,\n TError = DefaultError,\n> extends QueryObserverBaseResult<TData, TError> {\n /**\n * This function allows you to fetch the next \"page\" of results.\n */\n fetchNextPage: (\n options?: FetchNextPageOptions,\n ) => Promise<InfiniteQueryObserverResult<TData, TError>>\n /**\n * This function allows you to fetch the previous \"page\" of results.\n */\n fetchPreviousPage: (\n options?: FetchPreviousPageOptions,\n ) => Promise<InfiniteQueryObserverResult<TData, TError>>\n /**\n * Will be `true` if there is a next page to be fetched (known via the `getNextPageParam` option).\n */\n hasNextPage: boolean\n /**\n * Will be `true` if there is a previous page to be fetched (known via the `getPreviousPageParam` option).\n */\n hasPreviousPage: boolean\n /**\n * Will be `true` if the query failed while fetching the next page.\n */\n isFetchNextPageError: boolean\n /**\n * Will be `true` while fetching the next page with `fetchNextPage`.\n */\n isFetchingNextPage: boolean\n /**\n * Will be `true` if the query failed while fetching the previous page.\n */\n isFetchPreviousPageError: boolean\n /**\n * Will be `true` while fetching the previous page with `fetchPreviousPage`.\n */\n isFetchingPreviousPage: boolean\n}\n\nexport interface InfiniteQueryObserverPendingResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: undefined\n error: null\n isError: false\n isPending: true\n isLoadingError: false\n isRefetchError: false\n isFetchNextPageError: false\n isFetchPreviousPageError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'pending'\n}\n\nexport interface InfiniteQueryObserverLoadingResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: undefined\n error: null\n isError: false\n isPending: true\n isLoading: true\n isLoadingError: false\n isRefetchError: false\n isFetchNextPageError: false\n isFetchPreviousPageError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'pending'\n}\n\nexport interface InfiniteQueryObserverLoadingErrorResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: undefined\n error: TError\n isError: true\n isPending: false\n isLoading: false\n isLoadingError: true\n isRefetchError: false\n isFetchNextPageError: false\n isFetchPreviousPageError: false\n isSuccess: false\n isPlaceholderData: false\n status: 'error'\n}\n\nexport interface InfiniteQueryObserverRefetchErrorResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: TData\n error: TError\n isError: true\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: true\n isSuccess: false\n isPlaceholderData: false\n status: 'error'\n}\n\nexport interface InfiniteQueryObserverSuccessResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: TData\n error: null\n isError: false\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: false\n isFetchNextPageError: false\n isFetchPreviousPageError: false\n isSuccess: true\n isPlaceholderData: false\n status: 'success'\n}\n\nexport interface InfiniteQueryObserverPlaceholderResult<\n TData = unknown,\n TError = DefaultError,\n> extends InfiniteQueryObserverBaseResult<TData, TError> {\n data: TData\n isError: false\n error: null\n isPending: false\n isLoading: false\n isLoadingError: false\n isRefetchError: false\n isSuccess: true\n isPlaceholderData: true\n isFetchNextPageError: false\n isFetchPreviousPageError: false\n status: 'success'\n}\n\nexport type DefinedInfiniteQueryObserverResult<\n TData = unknown,\n TError = DefaultError,\n> =\n | InfiniteQueryObserverRefetchErrorResult<TData, TError>\n | InfiniteQueryObserverSuccessResult<TData, TError>\n\nexport type InfiniteQueryObserverResult<\n TData = unknown,\n TError = DefaultError,\n> =\n | DefinedInfiniteQueryObserverResult<TData, TError>\n | InfiniteQueryObserverLoadingErrorResult<TData, TError>\n | InfiniteQueryObserverLoadingResult<TData, TError>\n | InfiniteQueryObserverPendingResult<TData, TError>\n | InfiniteQueryObserverPlaceholderResult<TData, TError>\n\nexport type MutationKey = Register extends {\n mutationKey: infer TMutationKey\n}\n ? TMutationKey extends ReadonlyArray<unknown>\n ? TMutationKey\n : TMutationKey extends Array<unknown>\n ? TMutationKey\n : ReadonlyArray<unknown>\n : ReadonlyArray<unknown>\n\nexport type MutationStatus = 'idle' | 'pending' | 'success' | 'error'\n\nexport type MutationScope = {\n id: string\n}\n\nexport type MutationMeta = Register extends {\n mutationMeta: infer TMutationMeta\n}\n ? TMutationMeta extends Record<string, unknown>\n ? TMutationMeta\n : Record<string, unknown>\n : Record<string, unknown>\n\nexport type MutationFunctionContext = {\n client: QueryClient\n meta: MutationMeta | undefined\n mutationKey?: MutationKey\n}\n\nexport type MutationFunction<TData = unknown, TVariables = unknown> = (\n variables: TVariables,\n context: MutationFunctionContext,\n) => Promise<TData>\n\nexport interface MutationOptions<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> {\n mutationFn?: MutationFunction<TData, TVariables>\n mutationKey?: MutationKey\n onMutate?: (\n variables: TVariables,\n context: MutationFunctionContext,\n ) => Promise<TOnMutateResult> | TOnMutateResult\n onSuccess?: (\n data: TData,\n variables: TVariables,\n onMutateResult: TOnMutateResult,\n context: MutationFunctionContext,\n ) => Promise<unknown> | unknown\n onError?: (\n error: TError,\n variables: TVariables,\n onMutateResult: TOnMutateResult | undefined,\n context: MutationFunctionContext,\n ) => Promise<unknown> | unknown\n onSettled?: (\n data: TData | undefined,\n error: TError | null,\n variables: TVariables,\n onMutateResult: TOnMutateResult | undefined,\n context: MutationFunctionContext,\n ) => Promise<unknown> | unknown\n retry?: RetryValue<TError>\n retryDelay?: RetryDelayValue<TError>\n networkMode?: NetworkMode\n gcTime?: number\n _defaulted?: boolean\n meta?: MutationMeta\n scope?: MutationScope\n}\n\nexport interface MutationObserverOptions<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationOptions<TData, TError, TVariables, TOnMutateResult> {\n throwOnError?: boolean | ((error: TError) => boolean)\n}\n\nexport interface MutateOptions<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> {\n onSuccess?: (\n data: TData,\n variables: TVariables,\n onMutateResult: TOnMutateResult | undefined,\n context: MutationFunctionContext,\n ) => void\n onError?: (\n error: TError,\n variables: TVariables,\n onMutateResult: TOnMutateResult | undefined,\n context: MutationFunctionContext,\n ) => void\n onSettled?: (\n data: TData | undefined,\n error: TError | null,\n variables: TVariables,\n onMutateResult: TOnMutateResult | undefined,\n context: MutationFunctionContext,\n ) => void\n}\n\nexport type MutateFunctionRest<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> = undefined extends TVariables\n ? [\n variables?: TVariables,\n options?: MutateOptions<TData, TError, TVariables, TOnMutateResult>,\n ]\n : [\n variables: TVariables,\n options?: MutateOptions<TData, TError, TVariables, TOnMutateResult>,\n ]\n\nexport type MutateFunction<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> = (\n ...rest: MutateFunctionRest<TData, TError, TVariables, TOnMutateResult>\n) => Promise<TData>\n\nexport interface MutationObserverBaseResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationState<TData, TError, TVariables, TOnMutateResult> {\n /**\n * The last successfully resolved data for the mutation.\n */\n data: TData | undefined\n /**\n * The variables object passed to the `mutationFn`.\n */\n variables: TVariables | undefined\n /**\n * The error object for the mutation, if an error was encountered.\n * - Defaults to `null`.\n */\n error: TError | null\n /**\n * A boolean variable derived from `status`.\n * - `true` if the last mutation attempt resulted in an error.\n */\n isError: boolean\n /**\n * A boolean variable derived from `status`.\n * - `true` if the mutation is in its initial state prior to executing.\n */\n isIdle: boolean\n /**\n * A boolean variable derived from `status`.\n * - `true` if the mutation is currently executing.\n */\n isPending: boolean\n /**\n * A boolean variable derived from `status`.\n * - `true` if the last mutation attempt was successful.\n */\n isSuccess: boolean\n /**\n * The status of the mutation.\n * - Will be:\n * - `idle` initial status prior to the mutation function executing.\n * - `pending` if the mutation is currently executing.\n * - `error` if the last mutation attempt resulted in an error.\n * - `success` if the last mutation attempt was successful.\n */\n status: MutationStatus\n /**\n * The mutation function you can call with variables to trigger the mutation and optionally hooks on additional callback options.\n * @param variables - The variables object to pass to the `mutationFn`.\n * @param options.onSuccess - This function will fire when the mutation is successful and will be passed the mutation's result.\n * @param options.onError - This function will fire if the mutation encounters an error and will be passed the error.\n * @param options.onSettled - This function will fire when the mutation is either successfully fetched or encounters an error and be passed either the data or error.\n * @remarks\n * - If you make multiple requests, `onSuccess` will fire only after the latest call you've made.\n * - All the callback functions (`onSuccess`, `onError`, `onSettled`) are void functions, and the returned value will be ignored.\n */\n mutate: MutateFunction<TData, TError, TVariables, TOnMutateResult>\n /**\n * A function to clean the mutation internal state (i.e., it resets the mutation to its initial state).\n */\n reset: () => void\n}\n\nexport interface MutationObserverIdleResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationObserverBaseResult<\n TData,\n TError,\n TVariables,\n TOnMutateResult\n> {\n data: undefined\n variables: undefined\n error: null\n isError: false\n isIdle: true\n isPending: false\n isSuccess: false\n status: 'idle'\n}\n\nexport interface MutationObserverLoadingResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationObserverBaseResult<\n TData,\n TError,\n TVariables,\n TOnMutateResult\n> {\n data: undefined\n variables: TVariables\n error: null\n isError: false\n isIdle: false\n isPending: true\n isSuccess: false\n status: 'pending'\n}\n\nexport interface MutationObserverErrorResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationObserverBaseResult<\n TData,\n TError,\n TVariables,\n TOnMutateResult\n> {\n data: undefined\n error: TError\n variables: TVariables\n isError: true\n isIdle: false\n isPending: false\n isSuccess: false\n status: 'error'\n}\n\nexport interface MutationObserverSuccessResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends MutationObserverBaseResult<\n TData,\n TError,\n TVariables,\n TOnMutateResult\n> {\n data: TData\n error: null\n variables: TVariables\n isError: false\n isIdle: false\n isPending: false\n isSuccess: true\n status: 'success'\n}\n\nexport type MutationObserverResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> =\n | MutationObserverIdleResult<TData, TError, TVariables, TOnMutateResult>\n | MutationObserverLoadingResult<TData, TError, TVariables, TOnMutateResult>\n | MutationObserverErrorResult<TData, TError, TVariables, TOnMutateResult>\n | MutationObserverSuccessResult<TData, TError, TVariables, TOnMutateResult>\n\nexport interface QueryClientConfig {\n queryCache?: QueryCache\n mutationCache?: MutationCache\n defaultOptions?: DefaultOptions\n}\n\nexport interface DefaultOptions<TError = DefaultError> {\n queries?: OmitKeyof<\n QueryObserverOptions<unknown, TError>,\n 'suspense' | 'queryKey'\n >\n mutations?: MutationObserverOptions<unknown, TError, unknown, unknown>\n hydrate?: HydrateOptions['defaultOptions']\n dehydrate?: DehydrateOptions\n}\n\nexport interface CancelOptions {\n revert?: boolean\n silent?: boolean\n}\n\nexport interface SetDataOptions {\n updatedAt?: number\n}\n\nexport type NotifyEventType =\n | 'added'\n | 'removed'\n | 'updated'\n | 'observerAdded'\n | 'observerRemoved'\n | 'observerResultsUpdated'\n | 'observerOptionsUpdated'\n\nexport interface NotifyEvent {\n type: NotifyEventType\n}\n"],"mappings":";;AA4DA,MAAa,gBAAgB,OAAO;AAEpC,MAAa,qBAAqB,OAAO;AAEzC,MAAa,cAAc,OAAO"} |
@@ -18,8 +18,5 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); | ||
| } | ||
| function resolveStaleTime(staleTime, query) { | ||
| return typeof staleTime === "function" ? staleTime(query) : staleTime; | ||
| function resolveQueryValue(value, query) { | ||
| return typeof value === "function" ? value(query) : value; | ||
| } | ||
| function resolveQueryBoolean(option, query) { | ||
| return typeof option === "function" ? option(query) : option; | ||
| } | ||
| function matchQuery(filters, query) { | ||
@@ -212,4 +209,3 @@ const { type = "all", exact, fetchStatus, predicate, queryKey, stale } = filters; | ||
| exports.replaceEqualDeep = replaceEqualDeep; | ||
| exports.resolveQueryBoolean = resolveQueryBoolean; | ||
| exports.resolveStaleTime = resolveStaleTime; | ||
| exports.resolveQueryValue = resolveQueryValue; | ||
| exports.shallowEqualObjects = shallowEqualObjects; | ||
@@ -216,0 +212,0 @@ exports.shouldThrowError = shouldThrowError; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"utils.cjs","names":[],"sources":["../../src/utils.ts"],"sourcesContent":["import { timeoutManager } from './timeoutManager'\nimport type {\n DefaultError,\n FetchStatus,\n MutationKey,\n MutationStatus,\n QueryBooleanOption,\n QueryFunction,\n QueryKey,\n QueryOptions,\n StaleTime,\n StaleTimeFunction,\n} from './types'\nimport type { Mutation } from './mutation'\nimport type { FetchOptions, Query } from './query'\n\n// TYPES\n\ntype DropLast<T extends ReadonlyArray<unknown>> = T extends readonly [\n ...infer R,\n unknown,\n]\n ? readonly [...R]\n : never\n\ntype TuplePrefixes<T extends ReadonlyArray<unknown>> = T extends readonly []\n ? readonly []\n : TuplePrefixes<DropLast<T>> | T\n\nexport interface QueryFilters<TQueryKey extends QueryKey = QueryKey> {\n /**\n * Filter to active queries, inactive queries or all queries\n */\n type?: QueryTypeFilter\n /**\n * Match query key exactly\n */\n exact?: boolean\n /**\n * Include queries matching this predicate function\n */\n predicate?: (query: Query) => boolean\n /**\n * Include queries matching this query key\n */\n queryKey?: TQueryKey | TuplePrefixes<TQueryKey>\n /**\n * Include or exclude stale queries\n */\n stale?: boolean\n /**\n * Include queries matching their fetchStatus\n */\n fetchStatus?: FetchStatus\n}\n\nexport interface MutationFilters<\n TData = unknown,\n TError = DefaultError,\n TVariables = unknown,\n TOnMutateResult = unknown,\n> {\n /**\n * Match mutation key exactly\n */\n exact?: boolean\n /**\n * Include mutations matching this predicate function\n */\n predicate?: (\n mutation: Mutation<TData, TError, TVariables, TOnMutateResult>,\n ) => boolean\n /**\n * Include mutations matching this mutation key\n */\n mutationKey?: TuplePrefixes<MutationKey>\n /**\n * Filter by mutation status\n */\n status?: MutationStatus\n}\n\nexport type Updater<TInput, TOutput> = TOutput | ((input: TInput) => TOutput)\n\nexport type QueryTypeFilter = 'all' | 'active' | 'inactive'\n\n// UTILS\n\n/** @deprecated\n * use `environmentManager.isServer()` instead.\n */\nexport const isServer = typeof window === 'undefined' || 'Deno' in globalThis\n\nexport function noop(): void\nexport function noop(): undefined\nexport function noop() {}\n\nexport function functionalUpdate<TInput, TOutput>(\n updater: Updater<TInput, TOutput>,\n input: TInput,\n): TOutput {\n return typeof updater === 'function'\n ? (updater as (_: TInput) => TOutput)(input)\n : updater\n}\n\nexport function isValidTimeout(value: unknown): value is number {\n return typeof value === 'number' && value >= 0 && value !== Infinity\n}\n\nexport function timeUntilStale(updatedAt: number, staleTime?: number): number {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0)\n}\n\nexport function resolveStaleTime<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n staleTime:\n | undefined\n | StaleTimeFunction<TQueryFnData, TError, TData, TQueryKey>,\n query: Query<TQueryFnData, TError, TData, TQueryKey>,\n): StaleTime | undefined {\n return typeof staleTime === 'function' ? staleTime(query) : staleTime\n}\n\nexport function resolveQueryBoolean<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n option:\n | undefined\n | QueryBooleanOption<TQueryFnData, TError, TData, TQueryKey>,\n query: Query<TQueryFnData, TError, TData, TQueryKey>,\n): boolean | undefined {\n return typeof option === 'function' ? option(query) : option\n}\n\nexport function matchQuery(\n filters: QueryFilters,\n query: Query<any, any, any, any>,\n): boolean {\n const {\n type = 'all',\n exact,\n fetchStatus,\n predicate,\n queryKey,\n stale,\n } = filters\n\n if (queryKey) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false\n }\n }\n\n if (type !== 'all') {\n const isActive = query.isActive()\n if (type === 'active' && !isActive) {\n return false\n }\n if (type === 'inactive' && isActive) {\n return false\n }\n }\n\n if (typeof stale === 'boolean' && query.isStale() !== stale) {\n return false\n }\n\n if (fetchStatus && fetchStatus !== query.state.fetchStatus) {\n return false\n }\n\n if (predicate && !predicate(query)) {\n return false\n }\n\n return true\n}\n\nexport function matchMutation(\n filters: MutationFilters,\n mutation: Mutation<any, any>,\n): boolean {\n const { exact, status, predicate, mutationKey } = filters\n if (mutationKey) {\n if (!mutation.options.mutationKey) {\n return false\n }\n if (exact) {\n if (hashKey(mutation.options.mutationKey) !== hashKey(mutationKey)) {\n return false\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false\n }\n }\n\n if (status && mutation.state.status !== status) {\n return false\n }\n\n if (predicate && !predicate(mutation)) {\n return false\n }\n\n return true\n}\n\nexport function hashQueryKeyByOptions<TQueryKey extends QueryKey = QueryKey>(\n queryKey: TQueryKey,\n options?: Pick<QueryOptions<any, any, any, any>, 'queryKeyHashFn'>,\n): string {\n const hashFn = options?.queryKeyHashFn || hashKey\n return hashFn(queryKey)\n}\n\n/**\n * Default query & mutation keys hash function.\n * Hashes the value into a stable hash.\n */\nexport function hashKey(queryKey: QueryKey | MutationKey): string {\n return JSON.stringify(queryKey, (_, val) =>\n isPlainObject(val)\n ? Object.keys(val)\n .sort()\n .reduce((result, key) => {\n result[key] = val[key]\n return result\n }, {} as any)\n : val,\n )\n}\n\n/**\n * Checks if key `b` partially matches with key `a`.\n */\nexport function partialMatchKey(a: QueryKey, b: QueryKey): boolean\nexport function partialMatchKey(a: any, b: any): boolean {\n if (a === b) {\n return true\n }\n\n if (typeof a !== typeof b) {\n return false\n }\n\n if (a && b && typeof a === 'object' && typeof b === 'object') {\n if (Array.isArray(a) && Array.isArray(b)) {\n for (let i = 0; i < b.length; i++) {\n if (!partialMatchKey(a[i], b[i])) {\n return false\n }\n }\n return true\n }\n\n const bKeys = Object.keys(b)\n for (const key of bKeys) {\n if (!partialMatchKey(a[key], b[key])) {\n return false\n }\n }\n return true\n }\n\n return false\n}\n\nconst hasOwn = Object.prototype.hasOwnProperty\n\n/**\n * This function returns `a` if `b` is deeply equal.\n * If not, it will replace any deeply equal children of `b` with those of `a`.\n * This can be used for structural sharing between JSON values for example.\n */\nexport function replaceEqualDeep<T>(a: unknown, b: T, depth?: number): T\nexport function replaceEqualDeep(a: any, b: any, depth = 0): any {\n if (a === b) {\n return a\n }\n\n if (depth > 500) return b\n\n const array = isPlainArray(a) && isPlainArray(b)\n\n if (!array && !(isPlainObject(a) && isPlainObject(b))) return b\n\n const aItems = array ? a : Object.keys(a)\n const aSize = aItems.length\n const bItems = array ? b : Object.keys(b)\n const bSize = bItems.length\n const copy: any = array ? new Array(bSize) : {}\n\n let equalItems = 0\n\n for (let i = 0; i < bSize; i++) {\n const key: any = array ? i : bItems[i]\n const aItem = a[key]\n const bItem = b[key]\n\n if (aItem === bItem) {\n copy[key] = aItem\n if (array ? i < aSize : hasOwn.call(a, key)) equalItems++\n continue\n }\n\n if (\n aItem === null ||\n bItem === null ||\n typeof aItem !== 'object' ||\n typeof bItem !== 'object'\n ) {\n copy[key] = bItem\n continue\n }\n\n const v = replaceEqualDeep(aItem, bItem, depth + 1)\n copy[key] = v\n if (v === aItem) equalItems++\n }\n\n return aSize === bSize && equalItems === aSize ? a : copy\n}\n\n/**\n * Shallow compare objects.\n */\nexport function shallowEqualObjects<T extends Record<string, any>>(\n a: T,\n b: T | undefined,\n): boolean {\n if (!b || Object.keys(a).length !== Object.keys(b).length) {\n return false\n }\n\n for (const key in a) {\n if (a[key] !== b[key]) {\n return false\n }\n }\n\n return true\n}\n\nexport function isPlainArray(value: unknown): value is Array<unknown> {\n return Array.isArray(value) && value.length === Object.keys(value).length\n}\n\n// Copied from: https://github.com/jonschlinkert/is-plain-object\nexport function isPlainObject(o: any): o is Record<PropertyKey, unknown> {\n if (!hasObjectPrototype(o)) {\n return false\n }\n\n // If has no constructor\n const ctor = o.constructor\n if (ctor === undefined) {\n return true\n }\n\n // If has modified prototype\n const prot = ctor.prototype\n if (!hasObjectPrototype(prot)) {\n return false\n }\n\n // If constructor does not have an Object-specific method\n if (!prot.hasOwnProperty('isPrototypeOf')) {\n return false\n }\n\n // Handles Objects created by Object.create(<arbitrary prototype>)\n if (Object.getPrototypeOf(o) !== Object.prototype) {\n return false\n }\n\n // Most likely a plain Object\n return true\n}\n\nfunction hasObjectPrototype(o: any): boolean {\n return Object.prototype.toString.call(o) === '[object Object]'\n}\n\nexport function sleep(timeout: number): Promise<void> {\n return new Promise((resolve) => {\n timeoutManager.setTimeout(resolve, timeout)\n })\n}\n\nexport function replaceData<\n TData,\n TOptions extends QueryOptions<any, any, any, any>,\n>(prevData: TData | undefined, data: TData, options: TOptions): TData {\n if (typeof options.structuralSharing === 'function') {\n return options.structuralSharing(prevData, data) as TData\n } else if (options.structuralSharing !== false) {\n if (process.env.NODE_ENV !== 'production') {\n try {\n return replaceEqualDeep(prevData, data)\n } catch (error) {\n console.error(\n `Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${options.queryHash}]: ${error}`,\n )\n\n // Prevent the replaceEqualDeep from being called again down below.\n throw error\n }\n }\n // Structurally share data between prev and new data if needed\n return replaceEqualDeep(prevData, data)\n }\n return data\n}\n\nexport function keepPreviousData<T>(\n previousData: T | undefined,\n): T | undefined {\n return previousData\n}\n\nexport function addToEnd<T>(items: Array<T>, item: T, max = 0): Array<T> {\n const newItems = [...items, item]\n return max && newItems.length > max ? newItems.slice(1) : newItems\n}\n\nexport function addToStart<T>(items: Array<T>, item: T, max = 0): Array<T> {\n const newItems = [item, ...items]\n return max && newItems.length > max ? newItems.slice(0, -1) : newItems\n}\n\nexport const skipToken = Symbol()\nexport type SkipToken = typeof skipToken\n\nexport function ensureQueryFn<\n TQueryFnData = unknown,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: {\n queryFn?: QueryFunction<TQueryFnData, TQueryKey> | SkipToken\n queryHash?: string\n },\n fetchOptions?: FetchOptions<TQueryFnData>,\n): QueryFunction<TQueryFnData, TQueryKey> {\n if (process.env.NODE_ENV !== 'production') {\n if (options.queryFn === skipToken) {\n console.error(\n `Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${options.queryHash}'`,\n )\n }\n }\n\n // if we attempt to retry a fetch that was triggered from an initialPromise\n // when we don't have a queryFn yet, we can't retry, so we just return the already rejected initialPromise\n // if an observer has already mounted, we will be able to retry with that queryFn\n if (!options.queryFn && fetchOptions?.initialPromise) {\n return () => fetchOptions.initialPromise!\n }\n\n if (!options.queryFn || options.queryFn === skipToken) {\n return () =>\n Promise.reject(new Error(`Missing queryFn: '${options.queryHash}'`))\n }\n\n return options.queryFn\n}\n\nexport function shouldThrowError<T extends (...args: Array<any>) => boolean>(\n throwOnError: boolean | T | undefined,\n params: Parameters<T>,\n): boolean {\n // Allow throwOnError function to override throwing behavior on a per-error basis\n if (typeof throwOnError === 'function') {\n return throwOnError(...params)\n }\n\n return !!throwOnError\n}\n\nexport function addConsumeAwareSignal<T>(\n object: T,\n getSignal: () => AbortSignal,\n onCancelled: VoidFunction,\n): T & { signal: AbortSignal } {\n let consumed = false\n let signal: AbortSignal | undefined\n\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n signal ??= getSignal()\n if (consumed) {\n return signal\n }\n\n consumed = true\n if (signal.aborted) {\n onCancelled()\n } else {\n signal.addEventListener('abort', onCancelled, { once: true })\n }\n\n return signal\n },\n })\n\n return object as T & { signal: AbortSignal }\n}\n"],"mappings":"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"} | ||
| {"version":3,"file":"utils.cjs","names":[],"sources":["../../src/utils.ts"],"sourcesContent":["import { timeoutManager } from './timeoutManager'\nimport type {\n DefaultError,\n FetchStatus,\n MutationKey,\n MutationStatus,\n QueryFunction,\n QueryKey,\n QueryOptions,\n} from './types'\nimport type { Mutation } from './mutation'\nimport type { FetchOptions, Query } from './query'\n\n// TYPES\n\ntype DropLast<T extends ReadonlyArray<unknown>> = T extends readonly [\n ...infer R,\n unknown,\n]\n ? readonly [...R]\n : never\n\ntype TuplePrefixes<T extends ReadonlyArray<unknown>> = T extends readonly []\n ? readonly []\n : TuplePrefixes<DropLast<T>> | T\n\nexport interface QueryFilters<TQueryKey extends QueryKey = QueryKey> {\n /**\n * Filter to active queries, inactive queries or all queries\n */\n type?: QueryTypeFilter\n /**\n * Match query key exactly\n */\n exact?: boolean\n /**\n * Include queries matching this predicate function\n */\n predicate?: (query: Query) => boolean\n /**\n * Include queries matching this query key\n */\n queryKey?: TQueryKey | TuplePrefixes<TQueryKey>\n /**\n * Include or exclude stale queries\n */\n stale?: boolean\n /**\n * Include queries matching their fetchStatus\n */\n fetchStatus?: FetchStatus\n}\n\nexport interface MutationFilters<\n TData = unknown,\n TError = DefaultError,\n TVariables = unknown,\n TOnMutateResult = unknown,\n> {\n /**\n * Match mutation key exactly\n */\n exact?: boolean\n /**\n * Include mutations matching this predicate function\n */\n predicate?: (\n mutation: Mutation<TData, TError, TVariables, TOnMutateResult>,\n ) => boolean\n /**\n * Include mutations matching this mutation key\n */\n mutationKey?: TuplePrefixes<MutationKey>\n /**\n * Filter by mutation status\n */\n status?: MutationStatus\n}\n\nexport type Updater<TInput, TOutput> = TOutput | ((input: TInput) => TOutput)\n\nexport type QueryTypeFilter = 'all' | 'active' | 'inactive'\n\n// UTILS\n\n/** @deprecated\n * use `environmentManager.isServer()` instead.\n */\nexport const isServer = typeof window === 'undefined' || 'Deno' in globalThis\n\nexport function noop(): void\nexport function noop(): undefined\nexport function noop() {}\n\nexport function functionalUpdate<TInput, TOutput>(\n updater: Updater<TInput, TOutput>,\n input: TInput,\n): TOutput {\n return typeof updater === 'function'\n ? (updater as (_: TInput) => TOutput)(input)\n : updater\n}\n\nexport function isValidTimeout(value: unknown): value is number {\n return typeof value === 'number' && value >= 0 && value !== Infinity\n}\n\nexport function timeUntilStale(updatedAt: number, staleTime?: number): number {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0)\n}\n\nexport function resolveQueryValue<\n TValue,\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n value:\n | undefined\n | TValue\n | ((query: Query<TQueryFnData, TError, TData, TQueryKey>) => TValue),\n query: Query<TQueryFnData, TError, TData, TQueryKey>,\n): TValue | undefined {\n return typeof value === 'function'\n ? (\n value as (\n query: Query<TQueryFnData, TError, TData, TQueryKey>,\n ) => TValue\n )(query)\n : value\n}\n\nexport function matchQuery(\n filters: QueryFilters,\n query: Query<any, any, any, any>,\n): boolean {\n const {\n type = 'all',\n exact,\n fetchStatus,\n predicate,\n queryKey,\n stale,\n } = filters\n\n if (queryKey) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false\n }\n }\n\n if (type !== 'all') {\n const isActive = query.isActive()\n if (type === 'active' && !isActive) {\n return false\n }\n if (type === 'inactive' && isActive) {\n return false\n }\n }\n\n if (typeof stale === 'boolean' && query.isStale() !== stale) {\n return false\n }\n\n if (fetchStatus && fetchStatus !== query.state.fetchStatus) {\n return false\n }\n\n if (predicate && !predicate(query)) {\n return false\n }\n\n return true\n}\n\nexport function matchMutation(\n filters: MutationFilters,\n mutation: Mutation<any, any>,\n): boolean {\n const { exact, status, predicate, mutationKey } = filters\n if (mutationKey) {\n if (!mutation.options.mutationKey) {\n return false\n }\n if (exact) {\n if (hashKey(mutation.options.mutationKey) !== hashKey(mutationKey)) {\n return false\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false\n }\n }\n\n if (status && mutation.state.status !== status) {\n return false\n }\n\n if (predicate && !predicate(mutation)) {\n return false\n }\n\n return true\n}\n\nexport function hashQueryKeyByOptions<TQueryKey extends QueryKey = QueryKey>(\n queryKey: TQueryKey,\n options?: Pick<QueryOptions<any, any, any, any>, 'queryKeyHashFn'>,\n): string {\n const hashFn = options?.queryKeyHashFn || hashKey\n return hashFn(queryKey)\n}\n\n/**\n * Default query & mutation keys hash function.\n * Hashes the value into a stable hash.\n */\nexport function hashKey(queryKey: QueryKey | MutationKey): string {\n return JSON.stringify(queryKey, (_, val) =>\n isPlainObject(val)\n ? Object.keys(val)\n .sort()\n .reduce((result, key) => {\n result[key] = val[key]\n return result\n }, {} as any)\n : val,\n )\n}\n\n/**\n * Checks if key `b` partially matches with key `a`.\n */\nexport function partialMatchKey(a: QueryKey, b: QueryKey): boolean\nexport function partialMatchKey(a: any, b: any): boolean {\n if (a === b) {\n return true\n }\n\n if (typeof a !== typeof b) {\n return false\n }\n\n if (a && b && typeof a === 'object' && typeof b === 'object') {\n if (Array.isArray(a) && Array.isArray(b)) {\n for (let i = 0; i < b.length; i++) {\n if (!partialMatchKey(a[i], b[i])) {\n return false\n }\n }\n return true\n }\n\n const bKeys = Object.keys(b)\n for (const key of bKeys) {\n if (!partialMatchKey(a[key], b[key])) {\n return false\n }\n }\n return true\n }\n\n return false\n}\n\nconst hasOwn = Object.prototype.hasOwnProperty\n\n/**\n * This function returns `a` if `b` is deeply equal.\n * If not, it will replace any deeply equal children of `b` with those of `a`.\n * This can be used for structural sharing between JSON values for example.\n */\nexport function replaceEqualDeep<T>(a: unknown, b: T, depth?: number): T\nexport function replaceEqualDeep(a: any, b: any, depth = 0): any {\n if (a === b) {\n return a\n }\n\n if (depth > 500) return b\n\n const array = isPlainArray(a) && isPlainArray(b)\n\n if (!array && !(isPlainObject(a) && isPlainObject(b))) return b\n\n const aItems = array ? a : Object.keys(a)\n const aSize = aItems.length\n const bItems = array ? b : Object.keys(b)\n const bSize = bItems.length\n const copy: any = array ? new Array(bSize) : {}\n\n let equalItems = 0\n\n for (let i = 0; i < bSize; i++) {\n const key: any = array ? i : bItems[i]\n const aItem = a[key]\n const bItem = b[key]\n\n if (aItem === bItem) {\n copy[key] = aItem\n if (array ? i < aSize : hasOwn.call(a, key)) equalItems++\n continue\n }\n\n if (\n aItem === null ||\n bItem === null ||\n typeof aItem !== 'object' ||\n typeof bItem !== 'object'\n ) {\n copy[key] = bItem\n continue\n }\n\n const v = replaceEqualDeep(aItem, bItem, depth + 1)\n copy[key] = v\n if (v === aItem) equalItems++\n }\n\n return aSize === bSize && equalItems === aSize ? a : copy\n}\n\n/**\n * Shallow compare objects.\n */\nexport function shallowEqualObjects<T extends Record<string, any>>(\n a: T,\n b: T | undefined,\n): boolean {\n if (!b || Object.keys(a).length !== Object.keys(b).length) {\n return false\n }\n\n for (const key in a) {\n if (a[key] !== b[key]) {\n return false\n }\n }\n\n return true\n}\n\nexport function isPlainArray(value: unknown): value is Array<unknown> {\n return Array.isArray(value) && value.length === Object.keys(value).length\n}\n\n// Copied from: https://github.com/jonschlinkert/is-plain-object\nexport function isPlainObject(o: any): o is Record<PropertyKey, unknown> {\n if (!hasObjectPrototype(o)) {\n return false\n }\n\n // If has no constructor\n const ctor = o.constructor\n if (ctor === undefined) {\n return true\n }\n\n // If has modified prototype\n const prot = ctor.prototype\n if (!hasObjectPrototype(prot)) {\n return false\n }\n\n // If constructor does not have an Object-specific method\n if (!prot.hasOwnProperty('isPrototypeOf')) {\n return false\n }\n\n // Handles Objects created by Object.create(<arbitrary prototype>)\n if (Object.getPrototypeOf(o) !== Object.prototype) {\n return false\n }\n\n // Most likely a plain Object\n return true\n}\n\nfunction hasObjectPrototype(o: any): boolean {\n return Object.prototype.toString.call(o) === '[object Object]'\n}\n\nexport function sleep(timeout: number): Promise<void> {\n return new Promise((resolve) => {\n timeoutManager.setTimeout(resolve, timeout)\n })\n}\n\nexport function replaceData<\n TData,\n TOptions extends QueryOptions<any, any, any, any>,\n>(prevData: TData | undefined, data: TData, options: TOptions): TData {\n if (typeof options.structuralSharing === 'function') {\n return options.structuralSharing(prevData, data) as TData\n } else if (options.structuralSharing !== false) {\n if (process.env.NODE_ENV !== 'production') {\n try {\n return replaceEqualDeep(prevData, data)\n } catch (error) {\n console.error(\n `Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${options.queryHash}]: ${error}`,\n )\n\n // Prevent the replaceEqualDeep from being called again down below.\n throw error\n }\n }\n // Structurally share data between prev and new data if needed\n return replaceEqualDeep(prevData, data)\n }\n return data\n}\n\nexport function keepPreviousData<T>(\n previousData: T | undefined,\n): T | undefined {\n return previousData\n}\n\nexport function addToEnd<T>(items: Array<T>, item: T, max = 0): Array<T> {\n const newItems = [...items, item]\n return max && newItems.length > max ? newItems.slice(1) : newItems\n}\n\nexport function addToStart<T>(items: Array<T>, item: T, max = 0): Array<T> {\n const newItems = [item, ...items]\n return max && newItems.length > max ? newItems.slice(0, -1) : newItems\n}\n\nexport const skipToken = Symbol()\nexport type SkipToken = typeof skipToken\n\nexport function ensureQueryFn<\n TQueryFnData = unknown,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: {\n queryFn?: QueryFunction<TQueryFnData, TQueryKey> | SkipToken\n queryHash?: string\n },\n fetchOptions?: FetchOptions<TQueryFnData>,\n): QueryFunction<TQueryFnData, TQueryKey> {\n if (process.env.NODE_ENV !== 'production') {\n if (options.queryFn === skipToken) {\n console.error(\n `Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${options.queryHash}'`,\n )\n }\n }\n\n // if we attempt to retry a fetch that was triggered from an initialPromise\n // when we don't have a queryFn yet, we can't retry, so we just return the already rejected initialPromise\n // if an observer has already mounted, we will be able to retry with that queryFn\n if (!options.queryFn && fetchOptions?.initialPromise) {\n return () => fetchOptions.initialPromise!\n }\n\n if (!options.queryFn || options.queryFn === skipToken) {\n return () =>\n Promise.reject(new Error(`Missing queryFn: '${options.queryHash}'`))\n }\n\n return options.queryFn\n}\n\nexport function shouldThrowError<T extends (...args: Array<any>) => boolean>(\n throwOnError: boolean | T | undefined,\n params: Parameters<T>,\n): boolean {\n // Allow throwOnError function to override throwing behavior on a per-error basis\n if (typeof throwOnError === 'function') {\n return throwOnError(...params)\n }\n\n return !!throwOnError\n}\n\nexport function addConsumeAwareSignal<T>(\n object: T,\n getSignal: () => AbortSignal,\n onCancelled: VoidFunction,\n): T & { signal: AbortSignal } {\n let consumed = false\n let signal: AbortSignal | undefined\n\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n signal ??= getSignal()\n if (consumed) {\n return signal\n }\n\n consumed = true\n if (signal.aborted) {\n onCancelled()\n } else {\n signal.addEventListener('abort', onCancelled, { once: true })\n }\n\n return signal\n },\n })\n\n return object as T & { signal: AbortSignal }\n}\n"],"mappings":"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"} |
@@ -1,2 +0,2 @@ | ||
| import { An as noop, Bn as timeUntilStale, Cn as isPlainArray, Dn as keepPreviousData, En as isValidTimeout, Fn as resolveStaleTime, In as shallowEqualObjects, Ln as shouldThrowError, Mn as replaceData, Nn as replaceEqualDeep, On as matchMutation, Pn as resolveQueryBoolean, Rn as skipToken, Sn as hashQueryKeyByOptions, Tn as isServer, _n as addToEnd, bn as functionalUpdate, dn as MutationFilters, fn as QueryFilters, gn as addConsumeAwareSignal, hn as Updater, jn as partialMatchKey, kn as matchQuery, mn as SkipToken, pn as QueryTypeFilter, vn as addToStart, wn as isPlainObject, xn as hashKey, yn as ensureQueryFn, zn as sleep } from "./hydration-BoHd-X9T.cjs"; | ||
| export { MutationFilters, QueryFilters, QueryTypeFilter, SkipToken, Updater, addConsumeAwareSignal, addToEnd, addToStart, ensureQueryFn, functionalUpdate, hashKey, hashQueryKeyByOptions, isPlainArray, isPlainObject, isServer, isValidTimeout, keepPreviousData, matchMutation, matchQuery, noop, partialMatchKey, replaceData, replaceEqualDeep, resolveQueryBoolean, resolveStaleTime, shallowEqualObjects, shouldThrowError, skipToken, sleep, timeUntilStale }; | ||
| import { An as noop, Cn as isPlainArray, Dn as keepPreviousData, En as isValidTimeout, Fn as shallowEqualObjects, In as shouldThrowError, Ln as skipToken, Mn as replaceData, Nn as replaceEqualDeep, On as matchMutation, Pn as resolveQueryValue, Rn as sleep, Sn as hashQueryKeyByOptions, Tn as isServer, _n as addToEnd, bn as functionalUpdate, dn as MutationFilters, fn as QueryFilters, gn as addConsumeAwareSignal, hn as Updater, jn as partialMatchKey, kn as matchQuery, mn as SkipToken, pn as QueryTypeFilter, vn as addToStart, wn as isPlainObject, xn as hashKey, yn as ensureQueryFn, zn as timeUntilStale } from "./hydration-DWGr3cFC.cjs"; | ||
| export { MutationFilters, QueryFilters, QueryTypeFilter, SkipToken, Updater, addConsumeAwareSignal, addToEnd, addToStart, ensureQueryFn, functionalUpdate, hashKey, hashQueryKeyByOptions, isPlainArray, isPlainObject, isServer, isValidTimeout, keepPreviousData, matchMutation, matchQuery, noop, partialMatchKey, replaceData, replaceEqualDeep, resolveQueryValue, shallowEqualObjects, shouldThrowError, skipToken, sleep, timeUntilStale }; |
@@ -1,2 +0,2 @@ | ||
| import { An as noop, Bn as timeUntilStale, Cn as isPlainArray, Dn as keepPreviousData, En as isValidTimeout, Fn as resolveStaleTime, In as shallowEqualObjects, Ln as shouldThrowError, Mn as replaceData, Nn as replaceEqualDeep, On as matchMutation, Pn as resolveQueryBoolean, Rn as skipToken, Sn as hashQueryKeyByOptions, Tn as isServer, _n as addToEnd, bn as functionalUpdate, dn as MutationFilters, fn as QueryFilters, gn as addConsumeAwareSignal, hn as Updater, jn as partialMatchKey, kn as matchQuery, mn as SkipToken, pn as QueryTypeFilter, vn as addToStart, wn as isPlainObject, xn as hashKey, yn as ensureQueryFn, zn as sleep } from "./hydration-DFwTM9vM.js"; | ||
| export { MutationFilters, QueryFilters, QueryTypeFilter, SkipToken, Updater, addConsumeAwareSignal, addToEnd, addToStart, ensureQueryFn, functionalUpdate, hashKey, hashQueryKeyByOptions, isPlainArray, isPlainObject, isServer, isValidTimeout, keepPreviousData, matchMutation, matchQuery, noop, partialMatchKey, replaceData, replaceEqualDeep, resolveQueryBoolean, resolveStaleTime, shallowEqualObjects, shouldThrowError, skipToken, sleep, timeUntilStale }; | ||
| import { An as noop, Cn as isPlainArray, Dn as keepPreviousData, En as isValidTimeout, Fn as shallowEqualObjects, In as shouldThrowError, Ln as skipToken, Mn as replaceData, Nn as replaceEqualDeep, On as matchMutation, Pn as resolveQueryValue, Rn as sleep, Sn as hashQueryKeyByOptions, Tn as isServer, _n as addToEnd, bn as functionalUpdate, dn as MutationFilters, fn as QueryFilters, gn as addConsumeAwareSignal, hn as Updater, jn as partialMatchKey, kn as matchQuery, mn as SkipToken, pn as QueryTypeFilter, vn as addToStart, wn as isPlainObject, xn as hashKey, yn as ensureQueryFn, zn as timeUntilStale } from "./hydration-Bjs0MSgg.js"; | ||
| export { MutationFilters, QueryFilters, QueryTypeFilter, SkipToken, Updater, addConsumeAwareSignal, addToEnd, addToStart, ensureQueryFn, functionalUpdate, hashKey, hashQueryKeyByOptions, isPlainArray, isPlainObject, isServer, isValidTimeout, keepPreviousData, matchMutation, matchQuery, noop, partialMatchKey, replaceData, replaceEqualDeep, resolveQueryValue, shallowEqualObjects, shouldThrowError, skipToken, sleep, timeUntilStale }; |
@@ -17,8 +17,5 @@ import { timeoutManager } from "./timeoutManager.js"; | ||
| } | ||
| function resolveStaleTime(staleTime, query) { | ||
| return typeof staleTime === "function" ? staleTime(query) : staleTime; | ||
| function resolveQueryValue(value, query) { | ||
| return typeof value === "function" ? value(query) : value; | ||
| } | ||
| function resolveQueryBoolean(option, query) { | ||
| return typeof option === "function" ? option(query) : option; | ||
| } | ||
| function matchQuery(filters, query) { | ||
@@ -193,4 +190,4 @@ const { type = "all", exact, fetchStatus, predicate, queryKey, stale } = filters; | ||
| //#endregion | ||
| export { addConsumeAwareSignal, addToEnd, addToStart, ensureQueryFn, functionalUpdate, hashKey, hashQueryKeyByOptions, isPlainArray, isPlainObject, isServer, isValidTimeout, keepPreviousData, matchMutation, matchQuery, noop, partialMatchKey, replaceData, replaceEqualDeep, resolveQueryBoolean, resolveStaleTime, shallowEqualObjects, shouldThrowError, skipToken, sleep, timeUntilStale }; | ||
| export { addConsumeAwareSignal, addToEnd, addToStart, ensureQueryFn, functionalUpdate, hashKey, hashQueryKeyByOptions, isPlainArray, isPlainObject, isServer, isValidTimeout, keepPreviousData, matchMutation, matchQuery, noop, partialMatchKey, replaceData, replaceEqualDeep, resolveQueryValue, shallowEqualObjects, shouldThrowError, skipToken, sleep, timeUntilStale }; | ||
| //# sourceMappingURL=utils.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"utils.js","names":[],"sources":["../../src/utils.ts"],"sourcesContent":["import { timeoutManager } from './timeoutManager'\nimport type {\n DefaultError,\n FetchStatus,\n MutationKey,\n MutationStatus,\n QueryBooleanOption,\n QueryFunction,\n QueryKey,\n QueryOptions,\n StaleTime,\n StaleTimeFunction,\n} from './types'\nimport type { Mutation } from './mutation'\nimport type { FetchOptions, Query } from './query'\n\n// TYPES\n\ntype DropLast<T extends ReadonlyArray<unknown>> = T extends readonly [\n ...infer R,\n unknown,\n]\n ? readonly [...R]\n : never\n\ntype TuplePrefixes<T extends ReadonlyArray<unknown>> = T extends readonly []\n ? readonly []\n : TuplePrefixes<DropLast<T>> | T\n\nexport interface QueryFilters<TQueryKey extends QueryKey = QueryKey> {\n /**\n * Filter to active queries, inactive queries or all queries\n */\n type?: QueryTypeFilter\n /**\n * Match query key exactly\n */\n exact?: boolean\n /**\n * Include queries matching this predicate function\n */\n predicate?: (query: Query) => boolean\n /**\n * Include queries matching this query key\n */\n queryKey?: TQueryKey | TuplePrefixes<TQueryKey>\n /**\n * Include or exclude stale queries\n */\n stale?: boolean\n /**\n * Include queries matching their fetchStatus\n */\n fetchStatus?: FetchStatus\n}\n\nexport interface MutationFilters<\n TData = unknown,\n TError = DefaultError,\n TVariables = unknown,\n TOnMutateResult = unknown,\n> {\n /**\n * Match mutation key exactly\n */\n exact?: boolean\n /**\n * Include mutations matching this predicate function\n */\n predicate?: (\n mutation: Mutation<TData, TError, TVariables, TOnMutateResult>,\n ) => boolean\n /**\n * Include mutations matching this mutation key\n */\n mutationKey?: TuplePrefixes<MutationKey>\n /**\n * Filter by mutation status\n */\n status?: MutationStatus\n}\n\nexport type Updater<TInput, TOutput> = TOutput | ((input: TInput) => TOutput)\n\nexport type QueryTypeFilter = 'all' | 'active' | 'inactive'\n\n// UTILS\n\n/** @deprecated\n * use `environmentManager.isServer()` instead.\n */\nexport const isServer = typeof window === 'undefined' || 'Deno' in globalThis\n\nexport function noop(): void\nexport function noop(): undefined\nexport function noop() {}\n\nexport function functionalUpdate<TInput, TOutput>(\n updater: Updater<TInput, TOutput>,\n input: TInput,\n): TOutput {\n return typeof updater === 'function'\n ? (updater as (_: TInput) => TOutput)(input)\n : updater\n}\n\nexport function isValidTimeout(value: unknown): value is number {\n return typeof value === 'number' && value >= 0 && value !== Infinity\n}\n\nexport function timeUntilStale(updatedAt: number, staleTime?: number): number {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0)\n}\n\nexport function resolveStaleTime<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n staleTime:\n | undefined\n | StaleTimeFunction<TQueryFnData, TError, TData, TQueryKey>,\n query: Query<TQueryFnData, TError, TData, TQueryKey>,\n): StaleTime | undefined {\n return typeof staleTime === 'function' ? staleTime(query) : staleTime\n}\n\nexport function resolveQueryBoolean<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n option:\n | undefined\n | QueryBooleanOption<TQueryFnData, TError, TData, TQueryKey>,\n query: Query<TQueryFnData, TError, TData, TQueryKey>,\n): boolean | undefined {\n return typeof option === 'function' ? option(query) : option\n}\n\nexport function matchQuery(\n filters: QueryFilters,\n query: Query<any, any, any, any>,\n): boolean {\n const {\n type = 'all',\n exact,\n fetchStatus,\n predicate,\n queryKey,\n stale,\n } = filters\n\n if (queryKey) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false\n }\n }\n\n if (type !== 'all') {\n const isActive = query.isActive()\n if (type === 'active' && !isActive) {\n return false\n }\n if (type === 'inactive' && isActive) {\n return false\n }\n }\n\n if (typeof stale === 'boolean' && query.isStale() !== stale) {\n return false\n }\n\n if (fetchStatus && fetchStatus !== query.state.fetchStatus) {\n return false\n }\n\n if (predicate && !predicate(query)) {\n return false\n }\n\n return true\n}\n\nexport function matchMutation(\n filters: MutationFilters,\n mutation: Mutation<any, any>,\n): boolean {\n const { exact, status, predicate, mutationKey } = filters\n if (mutationKey) {\n if (!mutation.options.mutationKey) {\n return false\n }\n if (exact) {\n if (hashKey(mutation.options.mutationKey) !== hashKey(mutationKey)) {\n return false\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false\n }\n }\n\n if (status && mutation.state.status !== status) {\n return false\n }\n\n if (predicate && !predicate(mutation)) {\n return false\n }\n\n return true\n}\n\nexport function hashQueryKeyByOptions<TQueryKey extends QueryKey = QueryKey>(\n queryKey: TQueryKey,\n options?: Pick<QueryOptions<any, any, any, any>, 'queryKeyHashFn'>,\n): string {\n const hashFn = options?.queryKeyHashFn || hashKey\n return hashFn(queryKey)\n}\n\n/**\n * Default query & mutation keys hash function.\n * Hashes the value into a stable hash.\n */\nexport function hashKey(queryKey: QueryKey | MutationKey): string {\n return JSON.stringify(queryKey, (_, val) =>\n isPlainObject(val)\n ? Object.keys(val)\n .sort()\n .reduce((result, key) => {\n result[key] = val[key]\n return result\n }, {} as any)\n : val,\n )\n}\n\n/**\n * Checks if key `b` partially matches with key `a`.\n */\nexport function partialMatchKey(a: QueryKey, b: QueryKey): boolean\nexport function partialMatchKey(a: any, b: any): boolean {\n if (a === b) {\n return true\n }\n\n if (typeof a !== typeof b) {\n return false\n }\n\n if (a && b && typeof a === 'object' && typeof b === 'object') {\n if (Array.isArray(a) && Array.isArray(b)) {\n for (let i = 0; i < b.length; i++) {\n if (!partialMatchKey(a[i], b[i])) {\n return false\n }\n }\n return true\n }\n\n const bKeys = Object.keys(b)\n for (const key of bKeys) {\n if (!partialMatchKey(a[key], b[key])) {\n return false\n }\n }\n return true\n }\n\n return false\n}\n\nconst hasOwn = Object.prototype.hasOwnProperty\n\n/**\n * This function returns `a` if `b` is deeply equal.\n * If not, it will replace any deeply equal children of `b` with those of `a`.\n * This can be used for structural sharing between JSON values for example.\n */\nexport function replaceEqualDeep<T>(a: unknown, b: T, depth?: number): T\nexport function replaceEqualDeep(a: any, b: any, depth = 0): any {\n if (a === b) {\n return a\n }\n\n if (depth > 500) return b\n\n const array = isPlainArray(a) && isPlainArray(b)\n\n if (!array && !(isPlainObject(a) && isPlainObject(b))) return b\n\n const aItems = array ? a : Object.keys(a)\n const aSize = aItems.length\n const bItems = array ? b : Object.keys(b)\n const bSize = bItems.length\n const copy: any = array ? new Array(bSize) : {}\n\n let equalItems = 0\n\n for (let i = 0; i < bSize; i++) {\n const key: any = array ? i : bItems[i]\n const aItem = a[key]\n const bItem = b[key]\n\n if (aItem === bItem) {\n copy[key] = aItem\n if (array ? i < aSize : hasOwn.call(a, key)) equalItems++\n continue\n }\n\n if (\n aItem === null ||\n bItem === null ||\n typeof aItem !== 'object' ||\n typeof bItem !== 'object'\n ) {\n copy[key] = bItem\n continue\n }\n\n const v = replaceEqualDeep(aItem, bItem, depth + 1)\n copy[key] = v\n if (v === aItem) equalItems++\n }\n\n return aSize === bSize && equalItems === aSize ? a : copy\n}\n\n/**\n * Shallow compare objects.\n */\nexport function shallowEqualObjects<T extends Record<string, any>>(\n a: T,\n b: T | undefined,\n): boolean {\n if (!b || Object.keys(a).length !== Object.keys(b).length) {\n return false\n }\n\n for (const key in a) {\n if (a[key] !== b[key]) {\n return false\n }\n }\n\n return true\n}\n\nexport function isPlainArray(value: unknown): value is Array<unknown> {\n return Array.isArray(value) && value.length === Object.keys(value).length\n}\n\n// Copied from: https://github.com/jonschlinkert/is-plain-object\nexport function isPlainObject(o: any): o is Record<PropertyKey, unknown> {\n if (!hasObjectPrototype(o)) {\n return false\n }\n\n // If has no constructor\n const ctor = o.constructor\n if (ctor === undefined) {\n return true\n }\n\n // If has modified prototype\n const prot = ctor.prototype\n if (!hasObjectPrototype(prot)) {\n return false\n }\n\n // If constructor does not have an Object-specific method\n if (!prot.hasOwnProperty('isPrototypeOf')) {\n return false\n }\n\n // Handles Objects created by Object.create(<arbitrary prototype>)\n if (Object.getPrototypeOf(o) !== Object.prototype) {\n return false\n }\n\n // Most likely a plain Object\n return true\n}\n\nfunction hasObjectPrototype(o: any): boolean {\n return Object.prototype.toString.call(o) === '[object Object]'\n}\n\nexport function sleep(timeout: number): Promise<void> {\n return new Promise((resolve) => {\n timeoutManager.setTimeout(resolve, timeout)\n })\n}\n\nexport function replaceData<\n TData,\n TOptions extends QueryOptions<any, any, any, any>,\n>(prevData: TData | undefined, data: TData, options: TOptions): TData {\n if (typeof options.structuralSharing === 'function') {\n return options.structuralSharing(prevData, data) as TData\n } else if (options.structuralSharing !== false) {\n if (process.env.NODE_ENV !== 'production') {\n try {\n return replaceEqualDeep(prevData, data)\n } catch (error) {\n console.error(\n `Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${options.queryHash}]: ${error}`,\n )\n\n // Prevent the replaceEqualDeep from being called again down below.\n throw error\n }\n }\n // Structurally share data between prev and new data if needed\n return replaceEqualDeep(prevData, data)\n }\n return data\n}\n\nexport function keepPreviousData<T>(\n previousData: T | undefined,\n): T | undefined {\n return previousData\n}\n\nexport function addToEnd<T>(items: Array<T>, item: T, max = 0): Array<T> {\n const newItems = [...items, item]\n return max && newItems.length > max ? newItems.slice(1) : newItems\n}\n\nexport function addToStart<T>(items: Array<T>, item: T, max = 0): Array<T> {\n const newItems = [item, ...items]\n return max && newItems.length > max ? newItems.slice(0, -1) : newItems\n}\n\nexport const skipToken = Symbol()\nexport type SkipToken = typeof skipToken\n\nexport function ensureQueryFn<\n TQueryFnData = unknown,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: {\n queryFn?: QueryFunction<TQueryFnData, TQueryKey> | SkipToken\n queryHash?: string\n },\n fetchOptions?: FetchOptions<TQueryFnData>,\n): QueryFunction<TQueryFnData, TQueryKey> {\n if (process.env.NODE_ENV !== 'production') {\n if (options.queryFn === skipToken) {\n console.error(\n `Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${options.queryHash}'`,\n )\n }\n }\n\n // if we attempt to retry a fetch that was triggered from an initialPromise\n // when we don't have a queryFn yet, we can't retry, so we just return the already rejected initialPromise\n // if an observer has already mounted, we will be able to retry with that queryFn\n if (!options.queryFn && fetchOptions?.initialPromise) {\n return () => fetchOptions.initialPromise!\n }\n\n if (!options.queryFn || options.queryFn === skipToken) {\n return () =>\n Promise.reject(new Error(`Missing queryFn: '${options.queryHash}'`))\n }\n\n return options.queryFn\n}\n\nexport function shouldThrowError<T extends (...args: Array<any>) => boolean>(\n throwOnError: boolean | T | undefined,\n params: Parameters<T>,\n): boolean {\n // Allow throwOnError function to override throwing behavior on a per-error basis\n if (typeof throwOnError === 'function') {\n return throwOnError(...params)\n }\n\n return !!throwOnError\n}\n\nexport function addConsumeAwareSignal<T>(\n object: T,\n getSignal: () => AbortSignal,\n onCancelled: VoidFunction,\n): T & { signal: AbortSignal } {\n let consumed = false\n let signal: AbortSignal | undefined\n\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n signal ??= getSignal()\n if (consumed) {\n return signal\n }\n\n consumed = true\n if (signal.aborted) {\n onCancelled()\n } else {\n signal.addEventListener('abort', onCancelled, { once: true })\n }\n\n return signal\n },\n })\n\n return object as T & { signal: AbortSignal }\n}\n"],"mappings":"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"} | ||
| {"version":3,"file":"utils.js","names":[],"sources":["../../src/utils.ts"],"sourcesContent":["import { timeoutManager } from './timeoutManager'\nimport type {\n DefaultError,\n FetchStatus,\n MutationKey,\n MutationStatus,\n QueryFunction,\n QueryKey,\n QueryOptions,\n} from './types'\nimport type { Mutation } from './mutation'\nimport type { FetchOptions, Query } from './query'\n\n// TYPES\n\ntype DropLast<T extends ReadonlyArray<unknown>> = T extends readonly [\n ...infer R,\n unknown,\n]\n ? readonly [...R]\n : never\n\ntype TuplePrefixes<T extends ReadonlyArray<unknown>> = T extends readonly []\n ? readonly []\n : TuplePrefixes<DropLast<T>> | T\n\nexport interface QueryFilters<TQueryKey extends QueryKey = QueryKey> {\n /**\n * Filter to active queries, inactive queries or all queries\n */\n type?: QueryTypeFilter\n /**\n * Match query key exactly\n */\n exact?: boolean\n /**\n * Include queries matching this predicate function\n */\n predicate?: (query: Query) => boolean\n /**\n * Include queries matching this query key\n */\n queryKey?: TQueryKey | TuplePrefixes<TQueryKey>\n /**\n * Include or exclude stale queries\n */\n stale?: boolean\n /**\n * Include queries matching their fetchStatus\n */\n fetchStatus?: FetchStatus\n}\n\nexport interface MutationFilters<\n TData = unknown,\n TError = DefaultError,\n TVariables = unknown,\n TOnMutateResult = unknown,\n> {\n /**\n * Match mutation key exactly\n */\n exact?: boolean\n /**\n * Include mutations matching this predicate function\n */\n predicate?: (\n mutation: Mutation<TData, TError, TVariables, TOnMutateResult>,\n ) => boolean\n /**\n * Include mutations matching this mutation key\n */\n mutationKey?: TuplePrefixes<MutationKey>\n /**\n * Filter by mutation status\n */\n status?: MutationStatus\n}\n\nexport type Updater<TInput, TOutput> = TOutput | ((input: TInput) => TOutput)\n\nexport type QueryTypeFilter = 'all' | 'active' | 'inactive'\n\n// UTILS\n\n/** @deprecated\n * use `environmentManager.isServer()` instead.\n */\nexport const isServer = typeof window === 'undefined' || 'Deno' in globalThis\n\nexport function noop(): void\nexport function noop(): undefined\nexport function noop() {}\n\nexport function functionalUpdate<TInput, TOutput>(\n updater: Updater<TInput, TOutput>,\n input: TInput,\n): TOutput {\n return typeof updater === 'function'\n ? (updater as (_: TInput) => TOutput)(input)\n : updater\n}\n\nexport function isValidTimeout(value: unknown): value is number {\n return typeof value === 'number' && value >= 0 && value !== Infinity\n}\n\nexport function timeUntilStale(updatedAt: number, staleTime?: number): number {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0)\n}\n\nexport function resolveQueryValue<\n TValue,\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n value:\n | undefined\n | TValue\n | ((query: Query<TQueryFnData, TError, TData, TQueryKey>) => TValue),\n query: Query<TQueryFnData, TError, TData, TQueryKey>,\n): TValue | undefined {\n return typeof value === 'function'\n ? (\n value as (\n query: Query<TQueryFnData, TError, TData, TQueryKey>,\n ) => TValue\n )(query)\n : value\n}\n\nexport function matchQuery(\n filters: QueryFilters,\n query: Query<any, any, any, any>,\n): boolean {\n const {\n type = 'all',\n exact,\n fetchStatus,\n predicate,\n queryKey,\n stale,\n } = filters\n\n if (queryKey) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false\n }\n }\n\n if (type !== 'all') {\n const isActive = query.isActive()\n if (type === 'active' && !isActive) {\n return false\n }\n if (type === 'inactive' && isActive) {\n return false\n }\n }\n\n if (typeof stale === 'boolean' && query.isStale() !== stale) {\n return false\n }\n\n if (fetchStatus && fetchStatus !== query.state.fetchStatus) {\n return false\n }\n\n if (predicate && !predicate(query)) {\n return false\n }\n\n return true\n}\n\nexport function matchMutation(\n filters: MutationFilters,\n mutation: Mutation<any, any>,\n): boolean {\n const { exact, status, predicate, mutationKey } = filters\n if (mutationKey) {\n if (!mutation.options.mutationKey) {\n return false\n }\n if (exact) {\n if (hashKey(mutation.options.mutationKey) !== hashKey(mutationKey)) {\n return false\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false\n }\n }\n\n if (status && mutation.state.status !== status) {\n return false\n }\n\n if (predicate && !predicate(mutation)) {\n return false\n }\n\n return true\n}\n\nexport function hashQueryKeyByOptions<TQueryKey extends QueryKey = QueryKey>(\n queryKey: TQueryKey,\n options?: Pick<QueryOptions<any, any, any, any>, 'queryKeyHashFn'>,\n): string {\n const hashFn = options?.queryKeyHashFn || hashKey\n return hashFn(queryKey)\n}\n\n/**\n * Default query & mutation keys hash function.\n * Hashes the value into a stable hash.\n */\nexport function hashKey(queryKey: QueryKey | MutationKey): string {\n return JSON.stringify(queryKey, (_, val) =>\n isPlainObject(val)\n ? Object.keys(val)\n .sort()\n .reduce((result, key) => {\n result[key] = val[key]\n return result\n }, {} as any)\n : val,\n )\n}\n\n/**\n * Checks if key `b` partially matches with key `a`.\n */\nexport function partialMatchKey(a: QueryKey, b: QueryKey): boolean\nexport function partialMatchKey(a: any, b: any): boolean {\n if (a === b) {\n return true\n }\n\n if (typeof a !== typeof b) {\n return false\n }\n\n if (a && b && typeof a === 'object' && typeof b === 'object') {\n if (Array.isArray(a) && Array.isArray(b)) {\n for (let i = 0; i < b.length; i++) {\n if (!partialMatchKey(a[i], b[i])) {\n return false\n }\n }\n return true\n }\n\n const bKeys = Object.keys(b)\n for (const key of bKeys) {\n if (!partialMatchKey(a[key], b[key])) {\n return false\n }\n }\n return true\n }\n\n return false\n}\n\nconst hasOwn = Object.prototype.hasOwnProperty\n\n/**\n * This function returns `a` if `b` is deeply equal.\n * If not, it will replace any deeply equal children of `b` with those of `a`.\n * This can be used for structural sharing between JSON values for example.\n */\nexport function replaceEqualDeep<T>(a: unknown, b: T, depth?: number): T\nexport function replaceEqualDeep(a: any, b: any, depth = 0): any {\n if (a === b) {\n return a\n }\n\n if (depth > 500) return b\n\n const array = isPlainArray(a) && isPlainArray(b)\n\n if (!array && !(isPlainObject(a) && isPlainObject(b))) return b\n\n const aItems = array ? a : Object.keys(a)\n const aSize = aItems.length\n const bItems = array ? b : Object.keys(b)\n const bSize = bItems.length\n const copy: any = array ? new Array(bSize) : {}\n\n let equalItems = 0\n\n for (let i = 0; i < bSize; i++) {\n const key: any = array ? i : bItems[i]\n const aItem = a[key]\n const bItem = b[key]\n\n if (aItem === bItem) {\n copy[key] = aItem\n if (array ? i < aSize : hasOwn.call(a, key)) equalItems++\n continue\n }\n\n if (\n aItem === null ||\n bItem === null ||\n typeof aItem !== 'object' ||\n typeof bItem !== 'object'\n ) {\n copy[key] = bItem\n continue\n }\n\n const v = replaceEqualDeep(aItem, bItem, depth + 1)\n copy[key] = v\n if (v === aItem) equalItems++\n }\n\n return aSize === bSize && equalItems === aSize ? a : copy\n}\n\n/**\n * Shallow compare objects.\n */\nexport function shallowEqualObjects<T extends Record<string, any>>(\n a: T,\n b: T | undefined,\n): boolean {\n if (!b || Object.keys(a).length !== Object.keys(b).length) {\n return false\n }\n\n for (const key in a) {\n if (a[key] !== b[key]) {\n return false\n }\n }\n\n return true\n}\n\nexport function isPlainArray(value: unknown): value is Array<unknown> {\n return Array.isArray(value) && value.length === Object.keys(value).length\n}\n\n// Copied from: https://github.com/jonschlinkert/is-plain-object\nexport function isPlainObject(o: any): o is Record<PropertyKey, unknown> {\n if (!hasObjectPrototype(o)) {\n return false\n }\n\n // If has no constructor\n const ctor = o.constructor\n if (ctor === undefined) {\n return true\n }\n\n // If has modified prototype\n const prot = ctor.prototype\n if (!hasObjectPrototype(prot)) {\n return false\n }\n\n // If constructor does not have an Object-specific method\n if (!prot.hasOwnProperty('isPrototypeOf')) {\n return false\n }\n\n // Handles Objects created by Object.create(<arbitrary prototype>)\n if (Object.getPrototypeOf(o) !== Object.prototype) {\n return false\n }\n\n // Most likely a plain Object\n return true\n}\n\nfunction hasObjectPrototype(o: any): boolean {\n return Object.prototype.toString.call(o) === '[object Object]'\n}\n\nexport function sleep(timeout: number): Promise<void> {\n return new Promise((resolve) => {\n timeoutManager.setTimeout(resolve, timeout)\n })\n}\n\nexport function replaceData<\n TData,\n TOptions extends QueryOptions<any, any, any, any>,\n>(prevData: TData | undefined, data: TData, options: TOptions): TData {\n if (typeof options.structuralSharing === 'function') {\n return options.structuralSharing(prevData, data) as TData\n } else if (options.structuralSharing !== false) {\n if (process.env.NODE_ENV !== 'production') {\n try {\n return replaceEqualDeep(prevData, data)\n } catch (error) {\n console.error(\n `Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${options.queryHash}]: ${error}`,\n )\n\n // Prevent the replaceEqualDeep from being called again down below.\n throw error\n }\n }\n // Structurally share data between prev and new data if needed\n return replaceEqualDeep(prevData, data)\n }\n return data\n}\n\nexport function keepPreviousData<T>(\n previousData: T | undefined,\n): T | undefined {\n return previousData\n}\n\nexport function addToEnd<T>(items: Array<T>, item: T, max = 0): Array<T> {\n const newItems = [...items, item]\n return max && newItems.length > max ? newItems.slice(1) : newItems\n}\n\nexport function addToStart<T>(items: Array<T>, item: T, max = 0): Array<T> {\n const newItems = [item, ...items]\n return max && newItems.length > max ? newItems.slice(0, -1) : newItems\n}\n\nexport const skipToken = Symbol()\nexport type SkipToken = typeof skipToken\n\nexport function ensureQueryFn<\n TQueryFnData = unknown,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: {\n queryFn?: QueryFunction<TQueryFnData, TQueryKey> | SkipToken\n queryHash?: string\n },\n fetchOptions?: FetchOptions<TQueryFnData>,\n): QueryFunction<TQueryFnData, TQueryKey> {\n if (process.env.NODE_ENV !== 'production') {\n if (options.queryFn === skipToken) {\n console.error(\n `Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${options.queryHash}'`,\n )\n }\n }\n\n // if we attempt to retry a fetch that was triggered from an initialPromise\n // when we don't have a queryFn yet, we can't retry, so we just return the already rejected initialPromise\n // if an observer has already mounted, we will be able to retry with that queryFn\n if (!options.queryFn && fetchOptions?.initialPromise) {\n return () => fetchOptions.initialPromise!\n }\n\n if (!options.queryFn || options.queryFn === skipToken) {\n return () =>\n Promise.reject(new Error(`Missing queryFn: '${options.queryHash}'`))\n }\n\n return options.queryFn\n}\n\nexport function shouldThrowError<T extends (...args: Array<any>) => boolean>(\n throwOnError: boolean | T | undefined,\n params: Parameters<T>,\n): boolean {\n // Allow throwOnError function to override throwing behavior on a per-error basis\n if (typeof throwOnError === 'function') {\n return throwOnError(...params)\n }\n\n return !!throwOnError\n}\n\nexport function addConsumeAwareSignal<T>(\n object: T,\n getSignal: () => AbortSignal,\n onCancelled: VoidFunction,\n): T & { signal: AbortSignal } {\n let consumed = false\n let signal: AbortSignal | undefined\n\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n signal ??= getSignal()\n if (consumed) {\n return signal\n }\n\n consumed = true\n if (signal.aborted) {\n onCancelled()\n } else {\n signal.addEventListener('abort', onCancelled, { once: true })\n }\n\n return signal\n },\n })\n\n return object as T & { signal: AbortSignal }\n}\n"],"mappings":"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"} |
+1
-1
| { | ||
| "name": "@tanstack/query-core", | ||
| "version": "5.102.4", | ||
| "version": "5.102.5", | ||
| "description": "The framework agnostic core that powers TanStack Query", | ||
@@ -5,0 +5,0 @@ "author": "tannerlinsley", |
@@ -1,25 +0,23 @@ | ||
| import { isServer } from './utils' | ||
| import { isServer as defaultIsServer } from './utils' | ||
| export type IsServerValue = () => boolean | ||
| let isServerFn: IsServerValue = () => defaultIsServer | ||
| /** | ||
| * Returns whether the current runtime should be treated as a server environment. | ||
| */ | ||
| export const isServer = (): boolean => isServerFn() | ||
| /** | ||
| * Manages environment detection used by TanStack Query internals. | ||
| */ | ||
| export const environmentManager = (() => { | ||
| let isServerFn: IsServerValue = () => isServer | ||
| return { | ||
| /** | ||
| * Returns whether the current runtime should be treated as a server environment. | ||
| */ | ||
| isServer(): boolean { | ||
| return isServerFn() | ||
| }, | ||
| /** | ||
| * Overrides the server check globally. | ||
| */ | ||
| setIsServer(isServerValue: IsServerValue): void { | ||
| isServerFn = isServerValue | ||
| }, | ||
| } | ||
| })() | ||
| export const environmentManager = { | ||
| isServer, | ||
| /** | ||
| * Overrides the server check globally. | ||
| */ | ||
| setIsServer(isServerValue: IsServerValue): void { | ||
| isServerFn = isServerValue | ||
| }, | ||
| } |
@@ -17,8 +17,2 @@ import { notifyManager } from './notifyManager' | ||
| function replaceAt<T>(array: Array<T>, index: number, value: T): Array<T> { | ||
| const copy = array.slice(0) | ||
| copy[index] = value | ||
| return copy | ||
| } | ||
| type QueriesObserverListener = (result: Array<QueryObserverResult>) => void | ||
@@ -306,3 +300,4 @@ | ||
| if (index !== -1) { | ||
| this.#result = replaceAt(this.#result, index, result) | ||
| this.#result = this.#result.slice() | ||
| this.#result[index] = result | ||
| this.#notify() | ||
@@ -309,0 +304,0 @@ } |
+8
-12
@@ -5,4 +5,3 @@ import { | ||
| replaceData, | ||
| resolveQueryBoolean, | ||
| resolveStaleTime, | ||
| resolveQueryValue, | ||
| skipToken, | ||
@@ -277,4 +276,3 @@ timeUntilStale, | ||
| return this.observers.some( | ||
| (observer) => | ||
| resolveQueryBoolean(observer.options.enabled, this) !== false, | ||
| (observer) => resolveQueryValue(observer.options.enabled, this) !== false, | ||
| ) | ||
@@ -299,3 +297,3 @@ } | ||
| (observer) => | ||
| resolveStaleTime(observer.options.staleTime, this) === 'static', | ||
| resolveQueryValue(observer.options.staleTime, this) === 'static', | ||
| ) | ||
@@ -374,3 +372,7 @@ } | ||
| if (this.#retryer) { | ||
| if (this.#abortSignalConsumed || this.#isInitialPausedFetch()) { | ||
| if ( | ||
| this.#abortSignalConsumed || | ||
| (this.state.fetchStatus === 'paused' && | ||
| this.state.status === 'pending') | ||
| ) { | ||
| this.#retryer.cancel({ revert: true }) | ||
@@ -393,8 +395,2 @@ } else { | ||
| #isInitialPausedFetch(): boolean { | ||
| return ( | ||
| this.state.fetchStatus === 'paused' && this.state.status === 'pending' | ||
| ) | ||
| } | ||
| invalidate(): void { | ||
@@ -401,0 +397,0 @@ if (!this.state.isInvalidated) { |
@@ -7,3 +7,3 @@ import { | ||
| partialMatchKey, | ||
| resolveStaleTime, | ||
| resolveQueryValue, | ||
| skipToken, | ||
@@ -162,3 +162,3 @@ } from './utils' | ||
| options.revalidateIfStale && | ||
| query.isStaleByTime(resolveStaleTime(defaultedOptions.staleTime, query)) | ||
| query.isStaleByTime(resolveQueryValue(defaultedOptions.staleTime, query)) | ||
| ) { | ||
@@ -375,3 +375,3 @@ void this.prefetchQuery(defaultedOptions) | ||
| const isStale = query.isStaleByTime( | ||
| resolveStaleTime(defaultedOptions.staleTime, query), | ||
| resolveQueryValue(defaultedOptions.staleTime, query), | ||
| ) | ||
@@ -420,3 +420,3 @@ | ||
| return query.isStaleByTime( | ||
| resolveStaleTime(defaultedOptions.staleTime, query), | ||
| resolveQueryValue(defaultedOptions.staleTime, query), | ||
| ) | ||
@@ -423,0 +423,0 @@ ? query.fetch(defaultedOptions) |
+37
-62
| import { focusManager } from './focusManager' | ||
| import { environmentManager } from './environmentManager' | ||
| import { isServer as isServerEnvironment } from './environmentManager' | ||
| import { notifyManager } from './notifyManager' | ||
@@ -10,4 +10,3 @@ import { fetchState } from './query' | ||
| replaceData, | ||
| resolveQueryBoolean, | ||
| resolveStaleTime, | ||
| resolveQueryValue, | ||
| shallowEqualObjects, | ||
@@ -153,3 +152,3 @@ timeUntilStale, | ||
| typeof this.options.enabled !== 'function' && | ||
| typeof resolveQueryBoolean(this.options.enabled, this.#currentQuery) !== | ||
| typeof resolveQueryValue(this.options.enabled, this.#currentQuery) !== | ||
| 'boolean' | ||
@@ -198,6 +197,6 @@ ) { | ||
| (this.#currentQuery !== prevQuery || | ||
| resolveQueryBoolean(this.options.enabled, this.#currentQuery) !== | ||
| resolveQueryBoolean(prevOptions.enabled, this.#currentQuery) || | ||
| resolveStaleTime(this.options.staleTime, this.#currentQuery) !== | ||
| resolveStaleTime(prevOptions.staleTime, this.#currentQuery)) | ||
| resolveQueryValue(this.options.enabled, this.#currentQuery) !== | ||
| resolveQueryValue(prevOptions.enabled, this.#currentQuery) || | ||
| resolveQueryValue(this.options.staleTime, this.#currentQuery) !== | ||
| resolveQueryValue(prevOptions.staleTime, this.#currentQuery)) | ||
| ) { | ||
@@ -213,4 +212,4 @@ this.#updateStaleTimeout() | ||
| (this.#currentQuery !== prevQuery || | ||
| resolveQueryBoolean(this.options.enabled, this.#currentQuery) !== | ||
| resolveQueryBoolean(prevOptions.enabled, this.#currentQuery) || | ||
| resolveQueryValue(this.options.enabled, this.#currentQuery) !== | ||
| resolveQueryValue(prevOptions.enabled, this.#currentQuery) || | ||
| nextRefetchInterval !== this.#currentRefetchInterval) | ||
@@ -235,3 +234,3 @@ ) { | ||
| if (shouldAssignObserverCurrentProperties(this, result)) { | ||
| if (!shallowEqualObjects(this.getCurrentResult(), result)) { | ||
| // this assigns the optimistic result to the current Observer | ||
@@ -379,4 +378,4 @@ // because if the query function changes, useQuery will be performing | ||
| return ( | ||
| !environmentManager.isServer() && | ||
| resolveQueryBoolean(this.options.enabled, this.#currentQuery) !== false && | ||
| !isServerEnvironment() && | ||
| resolveQueryValue(this.options.enabled, this.#currentQuery) !== false && | ||
| isValidTimeout(timeout) | ||
@@ -388,3 +387,3 @@ ) | ||
| this.#clearStaleTimeout() | ||
| const staleTime = resolveStaleTime( | ||
| const staleTime = resolveQueryValue( | ||
| this.options.staleTime, | ||
@@ -623,3 +622,3 @@ this.#currentQuery, | ||
| refetch: this.refetch, | ||
| isEnabled: resolveQueryBoolean(options.enabled, query) !== false, | ||
| isEnabled: resolveQueryValue(options.enabled, query) !== false, | ||
| } | ||
@@ -687,3 +686,18 @@ | ||
| this.#notify({ listeners: shouldNotifyListeners() }) | ||
| const notifyListeners = shouldNotifyListeners() | ||
| notifyManager.batch(() => { | ||
| // First, trigger the listeners | ||
| if (notifyListeners) { | ||
| this.listeners.forEach((listener) => { | ||
| listener(this.#currentResult) | ||
| }) | ||
| } | ||
| // Then the cache listeners | ||
| this.#client.getQueryCache().notify({ | ||
| query: this.#currentQuery, | ||
| type: 'observerResultsUpdated', | ||
| }) | ||
| }) | ||
| } | ||
@@ -717,19 +731,2 @@ | ||
| } | ||
| #notify(notifyOptions: { listeners: boolean }): void { | ||
| notifyManager.batch(() => { | ||
| // First, trigger the listeners | ||
| if (notifyOptions.listeners) { | ||
| this.listeners.forEach((listener) => { | ||
| listener(this.#currentResult) | ||
| }) | ||
| } | ||
| // Then the cache listeners | ||
| this.#client.getQueryCache().notify({ | ||
| query: this.#currentQuery, | ||
| type: 'observerResultsUpdated', | ||
| }) | ||
| }) | ||
| } | ||
| } | ||
@@ -742,7 +739,7 @@ | ||
| return ( | ||
| resolveQueryBoolean(options.enabled, query) !== false && | ||
| resolveQueryValue(options.enabled, query) !== false && | ||
| query.state.data === undefined && | ||
| !( | ||
| query.state.status === 'error' && | ||
| resolveQueryBoolean(options.retryOnMount, query) === false | ||
| resolveQueryValue(options.retryOnMount, query) === false | ||
| ) | ||
@@ -771,4 +768,4 @@ ) | ||
| if ( | ||
| resolveQueryBoolean(options.enabled, query) !== false && | ||
| resolveStaleTime(options.staleTime, query) !== 'static' | ||
| resolveQueryValue(options.enabled, query) !== false && | ||
| resolveQueryValue(options.staleTime, query) !== 'static' | ||
| ) { | ||
@@ -790,3 +787,3 @@ const value = typeof field === 'function' ? field(query) : field | ||
| (query !== prevQuery || | ||
| resolveQueryBoolean(prevOptions.enabled, query) === false) && | ||
| resolveQueryValue(prevOptions.enabled, query) === false) && | ||
| (!options.suspense || query.state.status !== 'error') && | ||
@@ -802,27 +799,5 @@ isStale(query, options) | ||
| return ( | ||
| resolveQueryBoolean(options.enabled, query) !== false && | ||
| query.isStaleByTime(resolveStaleTime(options.staleTime, query)) | ||
| resolveQueryValue(options.enabled, query) !== false && | ||
| query.isStaleByTime(resolveQueryValue(options.staleTime, query)) | ||
| ) | ||
| } | ||
| // this function would decide if we will update the observer's 'current' | ||
| // properties after an optimistic reading via getOptimisticResult | ||
| function shouldAssignObserverCurrentProperties< | ||
| TQueryFnData = unknown, | ||
| TError = unknown, | ||
| TData = TQueryFnData, | ||
| TQueryData = TQueryFnData, | ||
| TQueryKey extends QueryKey = QueryKey, | ||
| >( | ||
| observer: QueryObserver<TQueryFnData, TError, TData, TQueryData, TQueryKey>, | ||
| optimisticResult: QueryObserverResult<TData, TError>, | ||
| ) { | ||
| // if the newly created result isn't what the observer is holding as current, | ||
| // then we'll need to update the properties as well | ||
| if (!shallowEqualObjects(observer.getCurrentResult(), optimisticResult)) { | ||
| return true | ||
| } | ||
| // basically, just keep previous properties if nothing changed | ||
| return false | ||
| } |
+2
-2
| import { timeoutManager } from './timeoutManager' | ||
| import { environmentManager } from './environmentManager' | ||
| import { isServer as isServerEnvironment } from './environmentManager' | ||
| import { isValidTimeout } from './utils' | ||
@@ -28,3 +28,3 @@ import type { ManagedTimerId } from './timeoutManager' | ||
| this.gcTime || 0, | ||
| newGcTime ?? (environmentManager.isServer() ? Infinity : 5 * 60 * 1000), | ||
| newGcTime ?? (isServerEnvironment() ? Infinity : 5 * 60 * 1000), | ||
| ) | ||
@@ -31,0 +31,0 @@ } |
+2
-2
| import { focusManager } from './focusManager' | ||
| import { onlineManager } from './onlineManager' | ||
| import { environmentManager } from './environmentManager' | ||
| import { isServer as isServerEnvironment } from './environmentManager' | ||
| import { noop, sleep } from './utils' | ||
@@ -178,3 +178,3 @@ import type { CancelOptions, DefaultError, NetworkMode } from './types' | ||
| // Do we need to retry the request? | ||
| const retry = config.retry ?? (environmentManager.isServer() ? 0 : 3) | ||
| const retry = config.retry ?? (isServerEnvironment() ? 0 : 3) | ||
| const retryDelay = config.retryDelay ?? defaultRetryDelay | ||
@@ -181,0 +181,0 @@ const delay = |
+3
-3
@@ -61,7 +61,7 @@ /* istanbul ignore file */ | ||
| export const dataTagSymbol = Symbol('dataTagSymbol') | ||
| export const dataTagSymbol = Symbol() | ||
| export type dataTagSymbol = typeof dataTagSymbol | ||
| export const dataTagErrorSymbol = Symbol('dataTagErrorSymbol') | ||
| export const dataTagErrorSymbol = Symbol() | ||
| export type dataTagErrorSymbol = typeof dataTagErrorSymbol | ||
| export const unsetMarker = Symbol('unsetMarker') | ||
| export const unsetMarker = Symbol() | ||
| export type UnsetMarker = typeof unsetMarker | ||
@@ -68,0 +68,0 @@ export type AnyDataTag = { |
+13
-22
@@ -7,8 +7,5 @@ import { timeoutManager } from './timeoutManager' | ||
| MutationStatus, | ||
| QueryBooleanOption, | ||
| QueryFunction, | ||
| QueryKey, | ||
| QueryOptions, | ||
| StaleTime, | ||
| StaleTimeFunction, | ||
| } from './types' | ||
@@ -116,3 +113,4 @@ import type { Mutation } from './mutation' | ||
| export function resolveStaleTime< | ||
| export function resolveQueryValue< | ||
| TValue, | ||
| TQueryFnData = unknown, | ||
@@ -123,24 +121,17 @@ TError = DefaultError, | ||
| >( | ||
| staleTime: | ||
| value: | ||
| | undefined | ||
| | StaleTimeFunction<TQueryFnData, TError, TData, TQueryKey>, | ||
| | TValue | ||
| | ((query: Query<TQueryFnData, TError, TData, TQueryKey>) => TValue), | ||
| query: Query<TQueryFnData, TError, TData, TQueryKey>, | ||
| ): StaleTime | undefined { | ||
| return typeof staleTime === 'function' ? staleTime(query) : staleTime | ||
| ): TValue | undefined { | ||
| return typeof value === 'function' | ||
| ? ( | ||
| value as ( | ||
| query: Query<TQueryFnData, TError, TData, TQueryKey>, | ||
| ) => TValue | ||
| )(query) | ||
| : value | ||
| } | ||
| export function resolveQueryBoolean< | ||
| TQueryFnData = unknown, | ||
| TError = DefaultError, | ||
| TData = TQueryFnData, | ||
| TQueryKey extends QueryKey = QueryKey, | ||
| >( | ||
| option: | ||
| | undefined | ||
| | QueryBooleanOption<TQueryFnData, TError, TData, TQueryKey>, | ||
| query: Query<TQueryFnData, TError, TData, TQueryKey>, | ||
| ): boolean | undefined { | ||
| return typeof option === 'function' ? option(query) : option | ||
| } | ||
| export function matchQuery( | ||
@@ -147,0 +138,0 @@ filters: QueryFilters, |
Sorry, the diff of this file is too big to display
| {"version":3,"file":"hydration-BoHd-X9T.d.cts","names":[],"sources":["../../src/queryObserver.ts","../../src/query.ts","../../src/mutationObserver.ts","../../src/mutationCache.ts","../../src/mutation.ts","../../src/utils.ts","../../src/queryCache.ts","../../src/queryClient.ts","../../src/retryer.ts","../../src/types.ts","../../src/hydration.ts"],"mappings":"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CA;EACA;EACA;EACA;;UAGe,+BACf,iBACA,SAAS,sBACD,wBAAwB,OAAO;EACvC,MAAM;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;KAGU,2BACV,iBACA,SAAS,gBAEP,gCAAgC,OAAO,UACvC,2BAA2B,OAAO;KAE1B,oBAAoB,iBAAiB,SAAS,gBACtD,2BAA2B,OAAO,UAClC,gCAAgC,OAAO,UACvC,2BAA2B,OAAO,UAClC,2BAA2B,OAAO,UAClC,+BAA+B,OAAO;UAEzB,gCACf,iBACA,SAAS,sBACD,wBAAwB,OAAO;;;;EAIvC,gBACE,UAAU,yBACP,QAAQ,4BAA4B,OAAO;;;;EAIhD,oBACE,UAAU,6BACP,QAAQ,4BAA4B,OAAO;;;;EAIhD;;;;EAIA;;;;EAIA;;;;EAIA;;;;EAIA;;;;EAIA;;UAGe,mCACf,iBACA,SAAS,sBACD,gCAAgC,OAAO;EAC/C;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe,mCACf,iBACA,SAAS,sBACD,gCAAgC,OAAO;EAC/C;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe,wCACf,iBACA,SAAS,sBACD,gCAAgC,OAAO;EAC/C;EACA,OAAO;EACP;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe,wCACf,iBACA,SAAS,sBACD,gCAAgC,OAAO;EAC/C,MAAM;EACN,OAAO;EACP;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe,mCACf,iBACA,SAAS,sBACD,gCAAgC,OAAO;EAC/C,MAAM;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe,uCACf,iBACA,SAAS,sBACD,gCAAgC,OAAO;EAC/C,MAAM;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;KAGU,mCACV,iBACA,SAAS,gBAEP,wCAAwC,OAAO,UAC/C,mCAAmC,OAAO;KAElC,4BACV,iBACA,SAAS,gBAEP,mCAAmC,OAAO,UAC1C,wCAAwC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"} |
Sorry, the diff of this file is too big to display
| {"version":3,"file":"hydration-DFwTM9vM.d.ts","names":[],"sources":["../../src/queryObserver.ts","../../src/query.ts","../../src/mutationObserver.ts","../../src/mutationCache.ts","../../src/mutation.ts","../../src/utils.ts","../../src/queryCache.ts","../../src/queryClient.ts","../../src/retryer.ts","../../src/types.ts","../../src/hydration.ts"],"mappings":"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CA;EACA;EACA;EACA;;UAGe,+BACf,iBACA,SAAS,sBACD,wBAAwB,OAAO;EACvC,MAAM;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;KAGU,2BACV,iBACA,SAAS,gBAEP,gCAAgC,OAAO,UACvC,2BAA2B,OAAO;KAE1B,oBAAoB,iBAAiB,SAAS,gBACtD,2BAA2B,OAAO,UAClC,gCAAgC,OAAO,UACvC,2BAA2B,OAAO,UAClC,2BAA2B,OAAO,UAClC,+BAA+B,OAAO;UAEzB,gCACf,iBACA,SAAS,sBACD,wBAAwB,OAAO;;;;EAIvC,gBACE,UAAU,yBACP,QAAQ,4BAA4B,OAAO;;;;EAIhD,oBACE,UAAU,6BACP,QAAQ,4BAA4B,OAAO;;;;EAIhD;;;;EAIA;;;;EAIA;;;;EAIA;;;;EAIA;;;;EAIA;;UAGe,mCACf,iBACA,SAAS,sBACD,gCAAgC,OAAO;EAC/C;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe,mCACf,iBACA,SAAS,sBACD,gCAAgC,OAAO;EAC/C;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe,wCACf,iBACA,SAAS,sBACD,gCAAgC,OAAO;EAC/C;EACA,OAAO;EACP;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe,wCACf,iBACA,SAAS,sBACD,gCAAgC,OAAO;EAC/C,MAAM;EACN,OAAO;EACP;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe,mCACf,iBACA,SAAS,sBACD,gCAAgC,OAAO;EAC/C,MAAM;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe,uCACf,iBACA,SAAS,sBACD,gCAAgC,OAAO;EAC/C,MAAM;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;KAGU,mCACV,iBACA,SAAS,gBAEP,wCAAwC,OAAO,UAC/C,mCAAmC,OAAO;KAElC,4BACV,iBACA,SAAS,gBAEP,mCAAmC,OAAO,UAC1C,wCAAwC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"} |
Sorry, the diff of this file is too big to display
| {"version":3,"file":"hydration-BoHd-X9T.d.cts","names":[],"sources":["../../src/queryObserver.ts","../../src/query.ts","../../src/mutationObserver.ts","../../src/mutationCache.ts","../../src/mutation.ts","../../src/utils.ts","../../src/queryCache.ts","../../src/queryClient.ts","../../src/retryer.ts","../../src/types.ts","../../src/hydration.ts"],"mappings":"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CA;EACA;EACA;EACA;;UAGe,+BACf,iBACA,SAAS,sBACD,wBAAwB,OAAO;EACvC,MAAM;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;KAGU,2BACV,iBACA,SAAS,gBAEP,gCAAgC,OAAO,UACvC,2BAA2B,OAAO;KAE1B,oBAAoB,iBAAiB,SAAS,gBACtD,2BAA2B,OAAO,UAClC,gCAAgC,OAAO,UACvC,2BAA2B,OAAO,UAClC,2BAA2B,OAAO,UAClC,+BAA+B,OAAO;UAEzB,gCACf,iBACA,SAAS,sBACD,wBAAwB,OAAO;;;;EAIvC,gBACE,UAAU,yBACP,QAAQ,4BAA4B,OAAO;;;;EAIhD,oBACE,UAAU,6BACP,QAAQ,4BAA4B,OAAO;;;;EAIhD;;;;EAIA;;;;EAIA;;;;EAIA;;;;EAIA;;;;EAIA;;UAGe,mCACf,iBACA,SAAS,sBACD,gCAAgC,OAAO;EAC/C;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe,mCACf,iBACA,SAAS,sBACD,gCAAgC,OAAO;EAC/C;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe,wCACf,iBACA,SAAS,sBACD,gCAAgC,OAAO;EAC/C;EACA,OAAO;EACP;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe,wCACf,iBACA,SAAS,sBACD,gCAAgC,OAAO;EAC/C,MAAM;EACN,OAAO;EACP;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe,mCACf,iBACA,SAAS,sBACD,gCAAgC,OAAO;EAC/C,MAAM;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe,uCACf,iBACA,SAAS,sBACD,gCAAgC,OAAO;EAC/C,MAAM;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;KAGU,mCACV,iBACA,SAAS,gBAEP,wCAAwC,OAAO,UAC/C,mCAAmC,OAAO;KAElC,4BACV,iBACA,SAAS,gBAEP,mCAAmC,OAAO,UAC1C,wCAAwC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"} |
Sorry, the diff of this file is too big to display
| {"version":3,"file":"hydration-DFwTM9vM.d.ts","names":[],"sources":["../../src/queryObserver.ts","../../src/query.ts","../../src/mutationObserver.ts","../../src/mutationCache.ts","../../src/mutation.ts","../../src/utils.ts","../../src/queryCache.ts","../../src/queryClient.ts","../../src/retryer.ts","../../src/types.ts","../../src/hydration.ts"],"mappings":"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CA;EACA;EACA;EACA;;UAGe,+BACf,iBACA,SAAS,sBACD,wBAAwB,OAAO;EACvC,MAAM;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;KAGU,2BACV,iBACA,SAAS,gBAEP,gCAAgC,OAAO,UACvC,2BAA2B,OAAO;KAE1B,oBAAoB,iBAAiB,SAAS,gBACtD,2BAA2B,OAAO,UAClC,gCAAgC,OAAO,UACvC,2BAA2B,OAAO,UAClC,2BAA2B,OAAO,UAClC,+BAA+B,OAAO;UAEzB,gCACf,iBACA,SAAS,sBACD,wBAAwB,OAAO;;;;EAIvC,gBACE,UAAU,yBACP,QAAQ,4BAA4B,OAAO;;;;EAIhD,oBACE,UAAU,6BACP,QAAQ,4BAA4B,OAAO;;;;EAIhD;;;;EAIA;;;;EAIA;;;;EAIA;;;;EAIA;;;;EAIA;;UAGe,mCACf,iBACA,SAAS,sBACD,gCAAgC,OAAO;EAC/C;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe,mCACf,iBACA,SAAS,sBACD,gCAAgC,OAAO;EAC/C;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe,wCACf,iBACA,SAAS,sBACD,gCAAgC,OAAO;EAC/C;EACA,OAAO;EACP;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe,wCACf,iBACA,SAAS,sBACD,gCAAgC,OAAO;EAC/C,MAAM;EACN,OAAO;EACP;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe,mCACf,iBACA,SAAS,sBACD,gCAAgC,OAAO;EAC/C,MAAM;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe,uCACf,iBACA,SAAS,sBACD,gCAAgC,OAAO;EAC/C,MAAM;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;KAGU,mCACV,iBACA,SAAS,gBAEP,wCAAwC,OAAO,UAC/C,mCAAmC,OAAO;KAElC,4BACV,iBACA,SAAS,gBAEP,mCAAmC,OAAO,UAC1C,wCAAwC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"} |
2254567
-0.61%21338
-0.56%