@tanstack/query-core 5.77.1 → 5.79.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/build/legacy/{hydration-B3ndIyL6.d.ts → hydration-BCnR_RAv.d.ts} +9 -6
  2. package/build/legacy/{hydration-GTiXepW_.d.cts → hydration-YFGUKxMa.d.cts} +9 -6
  3. package/build/legacy/hydration.d.cts +1 -1
  4. package/build/legacy/hydration.d.ts +1 -1
  5. package/build/legacy/index.d.cts +1 -1
  6. package/build/legacy/index.d.ts +1 -1
  7. package/build/legacy/infiniteQueryBehavior.d.cts +1 -1
  8. package/build/legacy/infiniteQueryBehavior.d.ts +1 -1
  9. package/build/legacy/infiniteQueryObserver.d.cts +1 -1
  10. package/build/legacy/infiniteQueryObserver.d.ts +1 -1
  11. package/build/legacy/mutation.d.cts +1 -1
  12. package/build/legacy/mutation.d.ts +1 -1
  13. package/build/legacy/mutationCache.d.cts +1 -1
  14. package/build/legacy/mutationCache.d.ts +1 -1
  15. package/build/legacy/mutationObserver.d.cts +1 -1
  16. package/build/legacy/mutationObserver.d.ts +1 -1
  17. package/build/legacy/queriesObserver.d.cts +1 -1
  18. package/build/legacy/queriesObserver.d.ts +1 -1
  19. package/build/legacy/query.cjs +19 -5
  20. package/build/legacy/query.cjs.map +1 -1
  21. package/build/legacy/query.d.cts +1 -1
  22. package/build/legacy/query.d.ts +1 -1
  23. package/build/legacy/query.js +20 -5
  24. package/build/legacy/query.js.map +1 -1
  25. package/build/legacy/queryCache.d.cts +1 -1
  26. package/build/legacy/queryCache.d.ts +1 -1
  27. package/build/legacy/queryClient.cjs +1 -1
  28. package/build/legacy/queryClient.cjs.map +1 -1
  29. package/build/legacy/queryClient.d.cts +1 -1
  30. package/build/legacy/queryClient.d.ts +1 -1
  31. package/build/legacy/queryClient.js +1 -1
  32. package/build/legacy/queryClient.js.map +1 -1
  33. package/build/legacy/queryObserver.cjs +1 -1
  34. package/build/legacy/queryObserver.cjs.map +1 -1
  35. package/build/legacy/queryObserver.d.cts +1 -1
  36. package/build/legacy/queryObserver.d.ts +1 -1
  37. package/build/legacy/queryObserver.js +1 -1
  38. package/build/legacy/queryObserver.js.map +1 -1
  39. package/build/legacy/retryer.d.cts +1 -1
  40. package/build/legacy/retryer.d.ts +1 -1
  41. package/build/legacy/streamedQuery.d.cts +1 -1
  42. package/build/legacy/streamedQuery.d.ts +1 -1
  43. package/build/legacy/types.cjs.map +1 -1
  44. package/build/legacy/types.d.cts +1 -1
  45. package/build/legacy/types.d.ts +1 -1
  46. package/build/legacy/types.js.map +1 -1
  47. package/build/legacy/utils.cjs.map +1 -1
  48. package/build/legacy/utils.d.cts +1 -1
  49. package/build/legacy/utils.d.ts +1 -1
  50. package/build/legacy/utils.js.map +1 -1
  51. package/build/modern/{hydration-B3ndIyL6.d.ts → hydration-BCnR_RAv.d.ts} +9 -6
  52. package/build/modern/{hydration-GTiXepW_.d.cts → hydration-YFGUKxMa.d.cts} +9 -6
  53. package/build/modern/hydration.d.cts +1 -1
  54. package/build/modern/hydration.d.ts +1 -1
  55. package/build/modern/index.d.cts +1 -1
  56. package/build/modern/index.d.ts +1 -1
  57. package/build/modern/infiniteQueryBehavior.d.cts +1 -1
  58. package/build/modern/infiniteQueryBehavior.d.ts +1 -1
  59. package/build/modern/infiniteQueryObserver.d.cts +1 -1
  60. package/build/modern/infiniteQueryObserver.d.ts +1 -1
  61. package/build/modern/mutation.d.cts +1 -1
  62. package/build/modern/mutation.d.ts +1 -1
  63. package/build/modern/mutationCache.d.cts +1 -1
  64. package/build/modern/mutationCache.d.ts +1 -1
  65. package/build/modern/mutationObserver.d.cts +1 -1
  66. package/build/modern/mutationObserver.d.ts +1 -1
  67. package/build/modern/queriesObserver.d.cts +1 -1
  68. package/build/modern/queriesObserver.d.ts +1 -1
  69. package/build/modern/query.cjs +19 -5
  70. package/build/modern/query.cjs.map +1 -1
  71. package/build/modern/query.d.cts +1 -1
  72. package/build/modern/query.d.ts +1 -1
  73. package/build/modern/query.js +20 -5
  74. package/build/modern/query.js.map +1 -1
  75. package/build/modern/queryCache.d.cts +1 -1
  76. package/build/modern/queryCache.d.ts +1 -1
  77. package/build/modern/queryClient.cjs +1 -1
  78. package/build/modern/queryClient.cjs.map +1 -1
  79. package/build/modern/queryClient.d.cts +1 -1
  80. package/build/modern/queryClient.d.ts +1 -1
  81. package/build/modern/queryClient.js +1 -1
  82. package/build/modern/queryClient.js.map +1 -1
  83. package/build/modern/queryObserver.cjs +1 -1
  84. package/build/modern/queryObserver.cjs.map +1 -1
  85. package/build/modern/queryObserver.d.cts +1 -1
  86. package/build/modern/queryObserver.d.ts +1 -1
  87. package/build/modern/queryObserver.js +1 -1
  88. package/build/modern/queryObserver.js.map +1 -1
  89. package/build/modern/retryer.d.cts +1 -1
  90. package/build/modern/retryer.d.ts +1 -1
  91. package/build/modern/streamedQuery.d.cts +1 -1
  92. package/build/modern/streamedQuery.d.ts +1 -1
  93. package/build/modern/types.cjs.map +1 -1
  94. package/build/modern/types.d.cts +1 -1
  95. package/build/modern/types.d.ts +1 -1
  96. package/build/modern/types.js.map +1 -1
  97. package/build/modern/utils.cjs.map +1 -1
  98. package/build/modern/utils.d.cts +1 -1
  99. package/build/modern/utils.d.ts +1 -1
  100. package/build/modern/utils.js.map +1 -1
  101. package/package.json +1 -1
  102. package/src/query.ts +30 -10
  103. package/src/queryClient.ts +1 -1
  104. package/src/queryObserver.ts +4 -1
  105. package/src/types.ts +10 -4
  106. package/src/utils.ts +5 -2
@@ -132,8 +132,9 @@ declare class Query<TQueryFnData = unknown, TError = DefaultError, TData = TQuer
132
132
  reset(): void;
133
133
  isActive(): boolean;
134
134
  isDisabled(): boolean;
135
+ isStatic(): boolean;
135
136
  isStale(): boolean;
136
- isStaleByTime(staleTime?: number): boolean;
137
+ isStaleByTime(staleTime?: StaleTime): boolean;
137
138
  onFocus(): void;
138
139
  onOnline(): void;
139
140
  addObserver(observer: QueryObserver<any, any, any, any, any>): void;
@@ -328,7 +329,7 @@ declare function noop(): undefined;
328
329
  declare function functionalUpdate<TInput, TOutput>(updater: Updater<TInput, TOutput>, input: TInput): TOutput;
329
330
  declare function isValidTimeout(value: unknown): value is number;
330
331
  declare function timeUntilStale(updatedAt: number, staleTime?: number): number;
331
- declare function resolveStaleTime<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(staleTime: undefined | StaleTime<TQueryFnData, TError, TData, TQueryKey>, query: Query<TQueryFnData, TError, TData, TQueryKey>): number | undefined;
332
+ declare function resolveStaleTime<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(staleTime: undefined | StaleTimeFunction<TQueryFnData, TError, TData, TQueryKey>, query: Query<TQueryFnData, TError, TData, TQueryKey>): StaleTime | undefined;
332
333
  declare function resolveEnabled<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(enabled: undefined | Enabled<TQueryFnData, TError, TData, TQueryKey>, query: Query<TQueryFnData, TError, TData, TQueryKey>): boolean | undefined;
333
334
  declare function matchQuery(filters: QueryFilters, query: Query<any, any, any, any>): boolean;
334
335
  declare function matchMutation(filters: MutationFilters, mutation: Mutation<any, any>): boolean;
@@ -510,6 +511,7 @@ declare class CancelledError extends Error {
510
511
  declare function isCancelledError(value: any): value is CancelledError;
511
512
  declare function createRetryer<TData = unknown, TError = DefaultError>(config: RetryerConfig<TData, TError>): Retryer<TData>;
512
513
 
514
+ type NonUndefinedGuard<T> = T extends undefined ? never : T;
513
515
  type DistributiveOmit<TObject, TKey extends keyof TObject> = TObject extends any ? Omit<TObject, TKey> : never;
514
516
  type OmitKeyof<TObject, TKey extends TStrictly extends 'safely' ? keyof TObject | (string & Record<never, never>) | (number & Record<never, never>) | (symbol & Record<never, never>) : keyof TObject, TStrictly extends 'strictly' | 'safely' = 'strictly'> = Omit<TObject, TKey>;
515
517
  type Override<TTargetA, TTargetB> = {
@@ -541,7 +543,8 @@ type DataTag<TType, TValue, TError = UnsetMarker> = TType extends AnyDataTag ? T
541
543
  type InferDataFromTag<TQueryFnData, TTaggedQueryKey extends QueryKey> = TTaggedQueryKey extends DataTag<unknown, infer TaggedValue, unknown> ? TaggedValue : TQueryFnData;
542
544
  type InferErrorFromTag<TError, TTaggedQueryKey extends QueryKey> = TTaggedQueryKey extends DataTag<unknown, unknown, infer TaggedError> ? TaggedError extends UnsetMarker ? TError : TaggedError : TError;
543
545
  type QueryFunction<T = unknown, TQueryKey extends QueryKey = QueryKey, TPageParam = never> = (context: QueryFunctionContext<TQueryKey, TPageParam>) => T | Promise<T>;
544
- type StaleTime<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = number | ((query: Query<TQueryFnData, TError, TData, TQueryKey>) => number);
546
+ type StaleTime = number | 'static';
547
+ type StaleTimeFunction<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = StaleTime | ((query: Query<TQueryFnData, TError, TData, TQueryKey>) => StaleTime);
545
548
  type Enabled<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = boolean | ((query: Query<TQueryFnData, TError, TData, TQueryKey>) => boolean);
546
549
  type QueryPersister<T = unknown, TQueryKey extends QueryKey = QueryKey, TPageParam = never> = [TPageParam] extends [never] ? (queryFn: QueryFunction<T, TQueryKey, never>, context: QueryFunctionContext<TQueryKey>, query: Query) => T | Promise<T> : (queryFn: QueryFunction<T, TQueryKey, TPageParam>, context: QueryFunctionContext<TQueryKey>, query: Query) => T | Promise<T>;
547
550
  type QueryFunctionContext<TQueryKey extends QueryKey = QueryKey, TPageParam = never> = [TPageParam] extends [never] ? {
@@ -655,7 +658,7 @@ interface QueryObserverOptions<TQueryFnData = unknown, TError = DefaultError, TD
655
658
  * If set to a function, the function will be executed with the query to compute a `staleTime`.
656
659
  * Defaults to `0`.
657
660
  */
658
- staleTime?: StaleTime<TQueryFnData, TError, TQueryData, TQueryKey>;
661
+ staleTime?: StaleTimeFunction<TQueryFnData, TError, TQueryData, TQueryKey>;
659
662
  /**
660
663
  * If set to a number, the query will continuously refetch at this frequency in milliseconds.
661
664
  * If set to a function, the function will be executed with the latest data and query to compute a frequency
@@ -745,7 +748,7 @@ interface FetchQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData
745
748
  * The time in milliseconds after data is considered stale.
746
749
  * If the data is fresh it will be returned from the cache.
747
750
  */
748
- staleTime?: StaleTime<TQueryFnData, TError, TData, TQueryKey>;
751
+ staleTime?: StaleTimeFunction<TQueryFnData, TError, TData, TQueryKey>;
749
752
  }
750
753
  interface EnsureQueryDataOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = never> extends FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam> {
751
754
  revalidateIfStale?: boolean;
@@ -1358,4 +1361,4 @@ declare function defaultShouldDehydrateQuery(query: Query): boolean;
1358
1361
  declare function dehydrate(client: QueryClient, options?: DehydrateOptions): DehydratedState;
1359
1362
  declare function hydrate(client: QueryClient, dehydratedState: unknown, options?: HydrateOptions): void;
1360
1363
 
1361
- export { type InitialDataFunction as $, type DistributiveOmit as A, type Override as B, CancelledError as C, type DehydrateOptions as D, type DefaultError as E, type QueryKey as F, dataTagSymbol as G, type HydrateOptions as H, dataTagErrorSymbol as I, unsetMarker as J, type UnsetMarker as K, type AnyDataTag as L, MutationCache as M, type NoInfer as N, type OmitKeyof as O, type DataTag as P, QueryCache as Q, type Register as R, type SkipToken as S, type InferDataFromTag as T, type Updater as U, type InferErrorFromTag as V, type QueryFunction as W, type StaleTime as X, type Enabled as Y, type QueryPersister as Z, type QueryFunctionContext as _, type QueryCacheNotifyEvent as a, type MutationObserverSuccessResult as a$, type PlaceholderDataFunction as a0, type QueriesPlaceholderDataFunction as a1, type QueryKeyHashFunction as a2, type GetPreviousPageParamFunction as a3, type GetNextPageParamFunction as a4, type InfiniteData as a5, type QueryMeta as a6, type NetworkMode as a7, type NotifyOnChangeProps as a8, type QueryOptions as a9, type QueryObserverRefetchErrorResult as aA, type QueryObserverSuccessResult as aB, type QueryObserverPlaceholderResult as aC, type DefinedQueryObserverResult as aD, type QueryObserverResult as aE, type InfiniteQueryObserverBaseResult as aF, type InfiniteQueryObserverPendingResult as aG, type InfiniteQueryObserverLoadingResult as aH, type InfiniteQueryObserverLoadingErrorResult as aI, type InfiniteQueryObserverRefetchErrorResult as aJ, type InfiniteQueryObserverSuccessResult as aK, type InfiniteQueryObserverPlaceholderResult as aL, type DefinedInfiniteQueryObserverResult as aM, type InfiniteQueryObserverResult as aN, type MutationKey as aO, type MutationStatus as aP, type MutationScope as aQ, type MutationMeta as aR, type MutationFunction as aS, type MutationOptions as aT, type MutationObserverOptions as aU, type MutateOptions as aV, type MutateFunction as aW, type MutationObserverBaseResult as aX, type MutationObserverIdleResult as aY, type MutationObserverLoadingResult as aZ, type MutationObserverErrorResult as a_, type InitialPageParam as aa, type InfiniteQueryPageParamsOptions as ab, type ThrowOnError as ac, type QueryObserverOptions as ad, type WithRequired as ae, type DefaultedQueryObserverOptions as af, type InfiniteQueryObserverOptions as ag, type DefaultedInfiniteQueryObserverOptions as ah, type FetchQueryOptions as ai, type EnsureQueryDataOptions as aj, type EnsureInfiniteQueryDataOptions as ak, type FetchInfiniteQueryOptions as al, type ResultOptions as am, type RefetchOptions as an, type InvalidateQueryFilters as ao, type RefetchQueryFilters as ap, type InvalidateOptions as aq, type ResetOptions as ar, type FetchNextPageOptions as as, type FetchPreviousPageOptions as at, type QueryStatus as au, type FetchStatus as av, type QueryObserverBaseResult as aw, type QueryObserverPendingResult as ax, type QueryObserverLoadingResult as ay, type QueryObserverLoadingErrorResult as az, QueryClient as b, type MutationObserverResult as b0, type QueryClientConfig as b1, type DefaultOptions as b2, type CancelOptions as b3, type SetDataOptions as b4, type NotifyEventType as b5, type NotifyEvent as b6, type QueryBehavior as b7, type FetchContext as b8, type FetchDirection as b9, type RetryDelayValue as bA, canFetch as bB, createRetryer as bC, type FetchMeta as ba, type FetchOptions as bb, type Action$1 as bc, type SetStateOptions as bd, fetchState as be, type Action as bf, getDefaultState as bg, type QueryTypeFilter as bh, functionalUpdate as bi, isValidTimeout as bj, timeUntilStale as bk, resolveStaleTime as bl, resolveEnabled as bm, hashQueryKeyByOptions as bn, partialMatchKey as bo, shallowEqualObjects as bp, isPlainArray as bq, isPlainObject as br, sleep as bs, replaceData as bt, addToEnd as bu, addToStart as bv, ensureQueryFn as bw, type QueryStore as bx, type Retryer as by, type RetryValue as bz, QueryObserver as c, type MutationCacheNotifyEvent as d, MutationObserver as e, matchMutation as f, shouldThrowError as g, hashKey as h, isServer as i, type MutationFilters as j, keepPreviousData as k, type QueryFilters as l, matchQuery as m, noop as n, isCancelledError as o, dehydrate as p, hydrate as q, replaceEqualDeep as r, skipToken as s, defaultShouldDehydrateQuery as t, defaultShouldDehydrateMutation as u, type QueryState as v, Query as w, type MutationState as x, Mutation as y, type DehydratedState as z };
1364
+ export { type QueryPersister as $, type DistributiveOmit as A, type Override as B, CancelledError as C, type DehydrateOptions as D, type NoInfer as E, type DefaultError as F, type QueryKey as G, type HydrateOptions as H, dataTagSymbol as I, dataTagErrorSymbol as J, unsetMarker as K, type UnsetMarker as L, MutationCache as M, type NonUndefinedGuard as N, type OmitKeyof as O, type AnyDataTag as P, QueryCache as Q, type Register as R, type SkipToken as S, type DataTag as T, type Updater as U, type InferDataFromTag as V, type InferErrorFromTag as W, type QueryFunction as X, type StaleTime as Y, type StaleTimeFunction as Z, type Enabled as _, type QueryCacheNotifyEvent as a, type MutationObserverLoadingResult as a$, type QueryFunctionContext as a0, type InitialDataFunction as a1, type PlaceholderDataFunction as a2, type QueriesPlaceholderDataFunction as a3, type QueryKeyHashFunction as a4, type GetPreviousPageParamFunction as a5, type GetNextPageParamFunction as a6, type InfiniteData as a7, type QueryMeta as a8, type NetworkMode as a9, type QueryObserverLoadingResult as aA, type QueryObserverLoadingErrorResult as aB, type QueryObserverRefetchErrorResult as aC, type QueryObserverSuccessResult as aD, type QueryObserverPlaceholderResult as aE, type DefinedQueryObserverResult as aF, type QueryObserverResult as aG, type InfiniteQueryObserverBaseResult as aH, type InfiniteQueryObserverPendingResult as aI, type InfiniteQueryObserverLoadingResult as aJ, type InfiniteQueryObserverLoadingErrorResult as aK, type InfiniteQueryObserverRefetchErrorResult as aL, type InfiniteQueryObserverSuccessResult as aM, type InfiniteQueryObserverPlaceholderResult as aN, type DefinedInfiniteQueryObserverResult as aO, type InfiniteQueryObserverResult as aP, type MutationKey as aQ, type MutationStatus as aR, type MutationScope as aS, type MutationMeta as aT, type MutationFunction as aU, type MutationOptions as aV, type MutationObserverOptions as aW, type MutateOptions as aX, type MutateFunction as aY, type MutationObserverBaseResult as aZ, type MutationObserverIdleResult as a_, type NotifyOnChangeProps as aa, type QueryOptions as ab, type InitialPageParam as ac, type InfiniteQueryPageParamsOptions as ad, type ThrowOnError as ae, type QueryObserverOptions as af, type WithRequired as ag, type DefaultedQueryObserverOptions as ah, type InfiniteQueryObserverOptions as ai, type DefaultedInfiniteQueryObserverOptions as aj, type FetchQueryOptions as ak, type EnsureQueryDataOptions as al, type EnsureInfiniteQueryDataOptions as am, type FetchInfiniteQueryOptions as an, type ResultOptions as ao, type RefetchOptions as ap, type InvalidateQueryFilters as aq, type RefetchQueryFilters as ar, type InvalidateOptions as as, type ResetOptions as at, type FetchNextPageOptions as au, type FetchPreviousPageOptions as av, type QueryStatus as aw, type FetchStatus as ax, type QueryObserverBaseResult as ay, type QueryObserverPendingResult as az, QueryClient as b, type MutationObserverErrorResult as b0, type MutationObserverSuccessResult as b1, type MutationObserverResult as b2, type QueryClientConfig as b3, type DefaultOptions as b4, type CancelOptions as b5, type SetDataOptions as b6, type NotifyEventType as b7, type NotifyEvent as b8, type QueryBehavior as b9, type Retryer as bA, type RetryValue as bB, type RetryDelayValue as bC, canFetch as bD, createRetryer as bE, type FetchContext as ba, type FetchDirection as bb, type FetchMeta as bc, type FetchOptions as bd, type Action$1 as be, type SetStateOptions as bf, fetchState as bg, type Action as bh, getDefaultState as bi, type QueryTypeFilter as bj, functionalUpdate as bk, isValidTimeout as bl, timeUntilStale as bm, resolveStaleTime as bn, resolveEnabled as bo, hashQueryKeyByOptions as bp, partialMatchKey as bq, shallowEqualObjects as br, isPlainArray as bs, isPlainObject as bt, sleep as bu, replaceData as bv, addToEnd as bw, addToStart as bx, ensureQueryFn as by, type QueryStore as bz, QueryObserver as c, type MutationCacheNotifyEvent as d, MutationObserver as e, matchMutation as f, shouldThrowError as g, hashKey as h, isServer as i, type MutationFilters as j, keepPreviousData as k, type QueryFilters as l, matchQuery as m, noop as n, isCancelledError as o, dehydrate as p, hydrate as q, replaceEqualDeep as r, skipToken as s, defaultShouldDehydrateQuery as t, defaultShouldDehydrateMutation as u, type QueryState as v, Query as w, type MutationState as x, Mutation as y, type DehydratedState as z };
@@ -132,8 +132,9 @@ declare class Query<TQueryFnData = unknown, TError = DefaultError, TData = TQuer
132
132
  reset(): void;
133
133
  isActive(): boolean;
134
134
  isDisabled(): boolean;
135
+ isStatic(): boolean;
135
136
  isStale(): boolean;
136
- isStaleByTime(staleTime?: number): boolean;
137
+ isStaleByTime(staleTime?: StaleTime): boolean;
137
138
  onFocus(): void;
138
139
  onOnline(): void;
139
140
  addObserver(observer: QueryObserver<any, any, any, any, any>): void;
@@ -328,7 +329,7 @@ declare function noop(): undefined;
328
329
  declare function functionalUpdate<TInput, TOutput>(updater: Updater<TInput, TOutput>, input: TInput): TOutput;
329
330
  declare function isValidTimeout(value: unknown): value is number;
330
331
  declare function timeUntilStale(updatedAt: number, staleTime?: number): number;
331
- declare function resolveStaleTime<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(staleTime: undefined | StaleTime<TQueryFnData, TError, TData, TQueryKey>, query: Query<TQueryFnData, TError, TData, TQueryKey>): number | undefined;
332
+ declare function resolveStaleTime<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(staleTime: undefined | StaleTimeFunction<TQueryFnData, TError, TData, TQueryKey>, query: Query<TQueryFnData, TError, TData, TQueryKey>): StaleTime | undefined;
332
333
  declare function resolveEnabled<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(enabled: undefined | Enabled<TQueryFnData, TError, TData, TQueryKey>, query: Query<TQueryFnData, TError, TData, TQueryKey>): boolean | undefined;
333
334
  declare function matchQuery(filters: QueryFilters, query: Query<any, any, any, any>): boolean;
334
335
  declare function matchMutation(filters: MutationFilters, mutation: Mutation<any, any>): boolean;
@@ -510,6 +511,7 @@ declare class CancelledError extends Error {
510
511
  declare function isCancelledError(value: any): value is CancelledError;
511
512
  declare function createRetryer<TData = unknown, TError = DefaultError>(config: RetryerConfig<TData, TError>): Retryer<TData>;
512
513
 
514
+ type NonUndefinedGuard<T> = T extends undefined ? never : T;
513
515
  type DistributiveOmit<TObject, TKey extends keyof TObject> = TObject extends any ? Omit<TObject, TKey> : never;
514
516
  type OmitKeyof<TObject, TKey extends TStrictly extends 'safely' ? keyof TObject | (string & Record<never, never>) | (number & Record<never, never>) | (symbol & Record<never, never>) : keyof TObject, TStrictly extends 'strictly' | 'safely' = 'strictly'> = Omit<TObject, TKey>;
515
517
  type Override<TTargetA, TTargetB> = {
@@ -541,7 +543,8 @@ type DataTag<TType, TValue, TError = UnsetMarker> = TType extends AnyDataTag ? T
541
543
  type InferDataFromTag<TQueryFnData, TTaggedQueryKey extends QueryKey> = TTaggedQueryKey extends DataTag<unknown, infer TaggedValue, unknown> ? TaggedValue : TQueryFnData;
542
544
  type InferErrorFromTag<TError, TTaggedQueryKey extends QueryKey> = TTaggedQueryKey extends DataTag<unknown, unknown, infer TaggedError> ? TaggedError extends UnsetMarker ? TError : TaggedError : TError;
543
545
  type QueryFunction<T = unknown, TQueryKey extends QueryKey = QueryKey, TPageParam = never> = (context: QueryFunctionContext<TQueryKey, TPageParam>) => T | Promise<T>;
544
- type StaleTime<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = number | ((query: Query<TQueryFnData, TError, TData, TQueryKey>) => number);
546
+ type StaleTime = number | 'static';
547
+ type StaleTimeFunction<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = StaleTime | ((query: Query<TQueryFnData, TError, TData, TQueryKey>) => StaleTime);
545
548
  type Enabled<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = boolean | ((query: Query<TQueryFnData, TError, TData, TQueryKey>) => boolean);
546
549
  type QueryPersister<T = unknown, TQueryKey extends QueryKey = QueryKey, TPageParam = never> = [TPageParam] extends [never] ? (queryFn: QueryFunction<T, TQueryKey, never>, context: QueryFunctionContext<TQueryKey>, query: Query) => T | Promise<T> : (queryFn: QueryFunction<T, TQueryKey, TPageParam>, context: QueryFunctionContext<TQueryKey>, query: Query) => T | Promise<T>;
547
550
  type QueryFunctionContext<TQueryKey extends QueryKey = QueryKey, TPageParam = never> = [TPageParam] extends [never] ? {
@@ -655,7 +658,7 @@ interface QueryObserverOptions<TQueryFnData = unknown, TError = DefaultError, TD
655
658
  * If set to a function, the function will be executed with the query to compute a `staleTime`.
656
659
  * Defaults to `0`.
657
660
  */
658
- staleTime?: StaleTime<TQueryFnData, TError, TQueryData, TQueryKey>;
661
+ staleTime?: StaleTimeFunction<TQueryFnData, TError, TQueryData, TQueryKey>;
659
662
  /**
660
663
  * If set to a number, the query will continuously refetch at this frequency in milliseconds.
661
664
  * If set to a function, the function will be executed with the latest data and query to compute a frequency
@@ -745,7 +748,7 @@ interface FetchQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData
745
748
  * The time in milliseconds after data is considered stale.
746
749
  * If the data is fresh it will be returned from the cache.
747
750
  */
748
- staleTime?: StaleTime<TQueryFnData, TError, TData, TQueryKey>;
751
+ staleTime?: StaleTimeFunction<TQueryFnData, TError, TData, TQueryKey>;
749
752
  }
750
753
  interface EnsureQueryDataOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = never> extends FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam> {
751
754
  revalidateIfStale?: boolean;
@@ -1358,4 +1361,4 @@ declare function defaultShouldDehydrateQuery(query: Query): boolean;
1358
1361
  declare function dehydrate(client: QueryClient, options?: DehydrateOptions): DehydratedState;
1359
1362
  declare function hydrate(client: QueryClient, dehydratedState: unknown, options?: HydrateOptions): void;
1360
1363
 
1361
- export { type InitialDataFunction as $, type DistributiveOmit as A, type Override as B, CancelledError as C, type DehydrateOptions as D, type DefaultError as E, type QueryKey as F, dataTagSymbol as G, type HydrateOptions as H, dataTagErrorSymbol as I, unsetMarker as J, type UnsetMarker as K, type AnyDataTag as L, MutationCache as M, type NoInfer as N, type OmitKeyof as O, type DataTag as P, QueryCache as Q, type Register as R, type SkipToken as S, type InferDataFromTag as T, type Updater as U, type InferErrorFromTag as V, type QueryFunction as W, type StaleTime as X, type Enabled as Y, type QueryPersister as Z, type QueryFunctionContext as _, type QueryCacheNotifyEvent as a, type MutationObserverSuccessResult as a$, type PlaceholderDataFunction as a0, type QueriesPlaceholderDataFunction as a1, type QueryKeyHashFunction as a2, type GetPreviousPageParamFunction as a3, type GetNextPageParamFunction as a4, type InfiniteData as a5, type QueryMeta as a6, type NetworkMode as a7, type NotifyOnChangeProps as a8, type QueryOptions as a9, type QueryObserverRefetchErrorResult as aA, type QueryObserverSuccessResult as aB, type QueryObserverPlaceholderResult as aC, type DefinedQueryObserverResult as aD, type QueryObserverResult as aE, type InfiniteQueryObserverBaseResult as aF, type InfiniteQueryObserverPendingResult as aG, type InfiniteQueryObserverLoadingResult as aH, type InfiniteQueryObserverLoadingErrorResult as aI, type InfiniteQueryObserverRefetchErrorResult as aJ, type InfiniteQueryObserverSuccessResult as aK, type InfiniteQueryObserverPlaceholderResult as aL, type DefinedInfiniteQueryObserverResult as aM, type InfiniteQueryObserverResult as aN, type MutationKey as aO, type MutationStatus as aP, type MutationScope as aQ, type MutationMeta as aR, type MutationFunction as aS, type MutationOptions as aT, type MutationObserverOptions as aU, type MutateOptions as aV, type MutateFunction as aW, type MutationObserverBaseResult as aX, type MutationObserverIdleResult as aY, type MutationObserverLoadingResult as aZ, type MutationObserverErrorResult as a_, type InitialPageParam as aa, type InfiniteQueryPageParamsOptions as ab, type ThrowOnError as ac, type QueryObserverOptions as ad, type WithRequired as ae, type DefaultedQueryObserverOptions as af, type InfiniteQueryObserverOptions as ag, type DefaultedInfiniteQueryObserverOptions as ah, type FetchQueryOptions as ai, type EnsureQueryDataOptions as aj, type EnsureInfiniteQueryDataOptions as ak, type FetchInfiniteQueryOptions as al, type ResultOptions as am, type RefetchOptions as an, type InvalidateQueryFilters as ao, type RefetchQueryFilters as ap, type InvalidateOptions as aq, type ResetOptions as ar, type FetchNextPageOptions as as, type FetchPreviousPageOptions as at, type QueryStatus as au, type FetchStatus as av, type QueryObserverBaseResult as aw, type QueryObserverPendingResult as ax, type QueryObserverLoadingResult as ay, type QueryObserverLoadingErrorResult as az, QueryClient as b, type MutationObserverResult as b0, type QueryClientConfig as b1, type DefaultOptions as b2, type CancelOptions as b3, type SetDataOptions as b4, type NotifyEventType as b5, type NotifyEvent as b6, type QueryBehavior as b7, type FetchContext as b8, type FetchDirection as b9, type RetryDelayValue as bA, canFetch as bB, createRetryer as bC, type FetchMeta as ba, type FetchOptions as bb, type Action$1 as bc, type SetStateOptions as bd, fetchState as be, type Action as bf, getDefaultState as bg, type QueryTypeFilter as bh, functionalUpdate as bi, isValidTimeout as bj, timeUntilStale as bk, resolveStaleTime as bl, resolveEnabled as bm, hashQueryKeyByOptions as bn, partialMatchKey as bo, shallowEqualObjects as bp, isPlainArray as bq, isPlainObject as br, sleep as bs, replaceData as bt, addToEnd as bu, addToStart as bv, ensureQueryFn as bw, type QueryStore as bx, type Retryer as by, type RetryValue as bz, QueryObserver as c, type MutationCacheNotifyEvent as d, MutationObserver as e, matchMutation as f, shouldThrowError as g, hashKey as h, isServer as i, type MutationFilters as j, keepPreviousData as k, type QueryFilters as l, matchQuery as m, noop as n, isCancelledError as o, dehydrate as p, hydrate as q, replaceEqualDeep as r, skipToken as s, defaultShouldDehydrateQuery as t, defaultShouldDehydrateMutation as u, type QueryState as v, Query as w, type MutationState as x, Mutation as y, type DehydratedState as z };
1364
+ export { type QueryPersister as $, type DistributiveOmit as A, type Override as B, CancelledError as C, type DehydrateOptions as D, type NoInfer as E, type DefaultError as F, type QueryKey as G, type HydrateOptions as H, dataTagSymbol as I, dataTagErrorSymbol as J, unsetMarker as K, type UnsetMarker as L, MutationCache as M, type NonUndefinedGuard as N, type OmitKeyof as O, type AnyDataTag as P, QueryCache as Q, type Register as R, type SkipToken as S, type DataTag as T, type Updater as U, type InferDataFromTag as V, type InferErrorFromTag as W, type QueryFunction as X, type StaleTime as Y, type StaleTimeFunction as Z, type Enabled as _, type QueryCacheNotifyEvent as a, type MutationObserverLoadingResult as a$, type QueryFunctionContext as a0, type InitialDataFunction as a1, type PlaceholderDataFunction as a2, type QueriesPlaceholderDataFunction as a3, type QueryKeyHashFunction as a4, type GetPreviousPageParamFunction as a5, type GetNextPageParamFunction as a6, type InfiniteData as a7, type QueryMeta as a8, type NetworkMode as a9, type QueryObserverLoadingResult as aA, type QueryObserverLoadingErrorResult as aB, type QueryObserverRefetchErrorResult as aC, type QueryObserverSuccessResult as aD, type QueryObserverPlaceholderResult as aE, type DefinedQueryObserverResult as aF, type QueryObserverResult as aG, type InfiniteQueryObserverBaseResult as aH, type InfiniteQueryObserverPendingResult as aI, type InfiniteQueryObserverLoadingResult as aJ, type InfiniteQueryObserverLoadingErrorResult as aK, type InfiniteQueryObserverRefetchErrorResult as aL, type InfiniteQueryObserverSuccessResult as aM, type InfiniteQueryObserverPlaceholderResult as aN, type DefinedInfiniteQueryObserverResult as aO, type InfiniteQueryObserverResult as aP, type MutationKey as aQ, type MutationStatus as aR, type MutationScope as aS, type MutationMeta as aT, type MutationFunction as aU, type MutationOptions as aV, type MutationObserverOptions as aW, type MutateOptions as aX, type MutateFunction as aY, type MutationObserverBaseResult as aZ, type MutationObserverIdleResult as a_, type NotifyOnChangeProps as aa, type QueryOptions as ab, type InitialPageParam as ac, type InfiniteQueryPageParamsOptions as ad, type ThrowOnError as ae, type QueryObserverOptions as af, type WithRequired as ag, type DefaultedQueryObserverOptions as ah, type InfiniteQueryObserverOptions as ai, type DefaultedInfiniteQueryObserverOptions as aj, type FetchQueryOptions as ak, type EnsureQueryDataOptions as al, type EnsureInfiniteQueryDataOptions as am, type FetchInfiniteQueryOptions as an, type ResultOptions as ao, type RefetchOptions as ap, type InvalidateQueryFilters as aq, type RefetchQueryFilters as ar, type InvalidateOptions as as, type ResetOptions as at, type FetchNextPageOptions as au, type FetchPreviousPageOptions as av, type QueryStatus as aw, type FetchStatus as ax, type QueryObserverBaseResult as ay, type QueryObserverPendingResult as az, QueryClient as b, type MutationObserverErrorResult as b0, type MutationObserverSuccessResult as b1, type MutationObserverResult as b2, type QueryClientConfig as b3, type DefaultOptions as b4, type CancelOptions as b5, type SetDataOptions as b6, type NotifyEventType as b7, type NotifyEvent as b8, type QueryBehavior as b9, type Retryer as bA, type RetryValue as bB, type RetryDelayValue as bC, canFetch as bD, createRetryer as bE, type FetchContext as ba, type FetchDirection as bb, type FetchMeta as bc, type FetchOptions as bd, type Action$1 as be, type SetStateOptions as bf, fetchState as bg, type Action as bh, getDefaultState as bi, type QueryTypeFilter as bj, functionalUpdate as bk, isValidTimeout as bl, timeUntilStale as bm, resolveStaleTime as bn, resolveEnabled as bo, hashQueryKeyByOptions as bp, partialMatchKey as bq, shallowEqualObjects as br, isPlainArray as bs, isPlainObject as bt, sleep as bu, replaceData as bv, addToEnd as bw, addToStart as bx, ensureQueryFn as by, type QueryStore as bz, QueryObserver as c, type MutationCacheNotifyEvent as d, MutationObserver as e, matchMutation as f, shouldThrowError as g, hashKey as h, isServer as i, type MutationFilters as j, keepPreviousData as k, type QueryFilters as l, matchQuery as m, noop as n, isCancelledError as o, dehydrate as p, hydrate as q, replaceEqualDeep as r, skipToken as s, defaultShouldDehydrateQuery as t, defaultShouldDehydrateMutation as u, type QueryState as v, Query as w, type MutationState as x, Mutation as y, type DehydratedState as z };
@@ -1,3 +1,3 @@
1
- export { D as DehydrateOptions, z as DehydratedState, H as HydrateOptions, u as defaultShouldDehydrateMutation, t as defaultShouldDehydrateQuery, p as dehydrate, q as hydrate } from './hydration-GTiXepW_.cjs';
1
+ export { D as DehydrateOptions, z as DehydratedState, H as HydrateOptions, u as defaultShouldDehydrateMutation, t as defaultShouldDehydrateQuery, p as dehydrate, q as hydrate } from './hydration-YFGUKxMa.cjs';
2
2
  import './removable.cjs';
3
3
  import './subscribable.cjs';
@@ -1,3 +1,3 @@
1
- export { D as DehydrateOptions, z as DehydratedState, H as HydrateOptions, u as defaultShouldDehydrateMutation, t as defaultShouldDehydrateQuery, p as dehydrate, q as hydrate } from './hydration-B3ndIyL6.js';
1
+ export { D as DehydrateOptions, z as DehydratedState, H as HydrateOptions, u as defaultShouldDehydrateMutation, t as defaultShouldDehydrateQuery, p as dehydrate, q as hydrate } from './hydration-BCnR_RAv.js';
2
2
  import './removable.js';
3
3
  import './subscribable.js';
@@ -1,4 +1,4 @@
1
- export { L as AnyDataTag, b3 as CancelOptions, C as CancelledError, P as DataTag, E as DefaultError, b2 as DefaultOptions, ah as DefaultedInfiniteQueryObserverOptions, af as DefaultedQueryObserverOptions, aM as DefinedInfiniteQueryObserverResult, aD as DefinedQueryObserverResult, D as DehydrateOptions, z as DehydratedState, A as DistributiveOmit, Y as Enabled, ak as EnsureInfiniteQueryDataOptions, aj as EnsureQueryDataOptions, al as FetchInfiniteQueryOptions, as as FetchNextPageOptions, at as FetchPreviousPageOptions, ai as FetchQueryOptions, av as FetchStatus, a4 as GetNextPageParamFunction, a3 as GetPreviousPageParamFunction, H as HydrateOptions, T as InferDataFromTag, V as InferErrorFromTag, a5 as InfiniteData, aF as InfiniteQueryObserverBaseResult, aI as InfiniteQueryObserverLoadingErrorResult, aH as InfiniteQueryObserverLoadingResult, ag as InfiniteQueryObserverOptions, aG as InfiniteQueryObserverPendingResult, aL as InfiniteQueryObserverPlaceholderResult, aJ as InfiniteQueryObserverRefetchErrorResult, aN as InfiniteQueryObserverResult, aK as InfiniteQueryObserverSuccessResult, ab as InfiniteQueryPageParamsOptions, $ as InitialDataFunction, aa as InitialPageParam, aq as InvalidateOptions, ao as InvalidateQueryFilters, aW as MutateFunction, aV as MutateOptions, y as Mutation, M as MutationCache, d as MutationCacheNotifyEvent, j as MutationFilters, aS as MutationFunction, aO as MutationKey, aR as MutationMeta, e as MutationObserver, aX as MutationObserverBaseResult, a_ as MutationObserverErrorResult, aY as MutationObserverIdleResult, aZ as MutationObserverLoadingResult, aU as MutationObserverOptions, b0 as MutationObserverResult, a$ as MutationObserverSuccessResult, aT as MutationOptions, aQ as MutationScope, x as MutationState, aP as MutationStatus, a7 as NetworkMode, N as NoInfer, b6 as NotifyEvent, b5 as NotifyEventType, a8 as NotifyOnChangeProps, O as OmitKeyof, B as Override, a0 as PlaceholderDataFunction, a1 as QueriesPlaceholderDataFunction, w as Query, Q as QueryCache, a as QueryCacheNotifyEvent, b as QueryClient, b1 as QueryClientConfig, l as QueryFilters, W as QueryFunction, _ as QueryFunctionContext, F as QueryKey, a2 as QueryKeyHashFunction, a6 as QueryMeta, c as QueryObserver, aw as QueryObserverBaseResult, az as QueryObserverLoadingErrorResult, ay as QueryObserverLoadingResult, ad as QueryObserverOptions, ax as QueryObserverPendingResult, aC as QueryObserverPlaceholderResult, aA as QueryObserverRefetchErrorResult, aE as QueryObserverResult, aB as QueryObserverSuccessResult, a9 as QueryOptions, Z as QueryPersister, v as QueryState, au as QueryStatus, an as RefetchOptions, ap as RefetchQueryFilters, R as Register, ar as ResetOptions, am as ResultOptions, b4 as SetDataOptions, S as SkipToken, X as StaleTime, ac as ThrowOnError, K as UnsetMarker, U as Updater, ae as WithRequired, I as dataTagErrorSymbol, G as dataTagSymbol, u as defaultShouldDehydrateMutation, t as defaultShouldDehydrateQuery, p as dehydrate, h as hashKey, q as hydrate, o as isCancelledError, i as isServer, k as keepPreviousData, f as matchMutation, m as matchQuery, n as noop, r as replaceEqualDeep, g as shouldThrowError, s as skipToken, J as unsetMarker } from './hydration-GTiXepW_.cjs';
1
+ export { P as AnyDataTag, b5 as CancelOptions, C as CancelledError, T as DataTag, F as DefaultError, b4 as DefaultOptions, aj as DefaultedInfiniteQueryObserverOptions, ah as DefaultedQueryObserverOptions, aO as DefinedInfiniteQueryObserverResult, aF as DefinedQueryObserverResult, D as DehydrateOptions, z as DehydratedState, A as DistributiveOmit, _ as Enabled, am as EnsureInfiniteQueryDataOptions, al as EnsureQueryDataOptions, an as FetchInfiniteQueryOptions, au as FetchNextPageOptions, av as FetchPreviousPageOptions, ak as FetchQueryOptions, ax as FetchStatus, a6 as GetNextPageParamFunction, a5 as GetPreviousPageParamFunction, H as HydrateOptions, V as InferDataFromTag, W as InferErrorFromTag, a7 as InfiniteData, aH as InfiniteQueryObserverBaseResult, aK as InfiniteQueryObserverLoadingErrorResult, aJ as InfiniteQueryObserverLoadingResult, ai as InfiniteQueryObserverOptions, aI as InfiniteQueryObserverPendingResult, aN as InfiniteQueryObserverPlaceholderResult, aL as InfiniteQueryObserverRefetchErrorResult, aP as InfiniteQueryObserverResult, aM as InfiniteQueryObserverSuccessResult, ad as InfiniteQueryPageParamsOptions, a1 as InitialDataFunction, ac as InitialPageParam, as as InvalidateOptions, aq as InvalidateQueryFilters, aY as MutateFunction, aX as MutateOptions, y as Mutation, M as MutationCache, d as MutationCacheNotifyEvent, j as MutationFilters, aU as MutationFunction, aQ as MutationKey, aT as MutationMeta, e as MutationObserver, aZ as MutationObserverBaseResult, b0 as MutationObserverErrorResult, a_ as MutationObserverIdleResult, a$ as MutationObserverLoadingResult, aW as MutationObserverOptions, b2 as MutationObserverResult, b1 as MutationObserverSuccessResult, aV as MutationOptions, aS as MutationScope, x as MutationState, aR as MutationStatus, a9 as NetworkMode, E as NoInfer, N as NonUndefinedGuard, b8 as NotifyEvent, b7 as NotifyEventType, aa as NotifyOnChangeProps, O as OmitKeyof, B as Override, a2 as PlaceholderDataFunction, a3 as QueriesPlaceholderDataFunction, w as Query, Q as QueryCache, a as QueryCacheNotifyEvent, b as QueryClient, b3 as QueryClientConfig, l as QueryFilters, X as QueryFunction, a0 as QueryFunctionContext, G as QueryKey, a4 as QueryKeyHashFunction, a8 as QueryMeta, c as QueryObserver, ay as QueryObserverBaseResult, aB as QueryObserverLoadingErrorResult, aA as QueryObserverLoadingResult, af as QueryObserverOptions, az as QueryObserverPendingResult, aE as QueryObserverPlaceholderResult, aC as QueryObserverRefetchErrorResult, aG as QueryObserverResult, aD as QueryObserverSuccessResult, ab as QueryOptions, $ as QueryPersister, v as QueryState, aw as QueryStatus, ap as RefetchOptions, ar as RefetchQueryFilters, R as Register, at as ResetOptions, ao as ResultOptions, b6 as SetDataOptions, S as SkipToken, Y as StaleTime, Z as StaleTimeFunction, ae as ThrowOnError, L as UnsetMarker, U as Updater, ag as WithRequired, J as dataTagErrorSymbol, I as dataTagSymbol, u as defaultShouldDehydrateMutation, t as defaultShouldDehydrateQuery, p as dehydrate, h as hashKey, q as hydrate, o as isCancelledError, i as isServer, k as keepPreviousData, f as matchMutation, m as matchQuery, n as noop, r as replaceEqualDeep, g as shouldThrowError, s as skipToken, K as unsetMarker } from './hydration-YFGUKxMa.cjs';
2
2
  export { QueriesObserver, QueriesObserverOptions } from './queriesObserver.cjs';
3
3
  export { InfiniteQueryObserver } from './infiniteQueryObserver.cjs';
4
4
  export { defaultScheduler, notifyManager } from './notifyManager.cjs';
@@ -1,4 +1,4 @@
1
- export { L as AnyDataTag, b3 as CancelOptions, C as CancelledError, P as DataTag, E as DefaultError, b2 as DefaultOptions, ah as DefaultedInfiniteQueryObserverOptions, af as DefaultedQueryObserverOptions, aM as DefinedInfiniteQueryObserverResult, aD as DefinedQueryObserverResult, D as DehydrateOptions, z as DehydratedState, A as DistributiveOmit, Y as Enabled, ak as EnsureInfiniteQueryDataOptions, aj as EnsureQueryDataOptions, al as FetchInfiniteQueryOptions, as as FetchNextPageOptions, at as FetchPreviousPageOptions, ai as FetchQueryOptions, av as FetchStatus, a4 as GetNextPageParamFunction, a3 as GetPreviousPageParamFunction, H as HydrateOptions, T as InferDataFromTag, V as InferErrorFromTag, a5 as InfiniteData, aF as InfiniteQueryObserverBaseResult, aI as InfiniteQueryObserverLoadingErrorResult, aH as InfiniteQueryObserverLoadingResult, ag as InfiniteQueryObserverOptions, aG as InfiniteQueryObserverPendingResult, aL as InfiniteQueryObserverPlaceholderResult, aJ as InfiniteQueryObserverRefetchErrorResult, aN as InfiniteQueryObserverResult, aK as InfiniteQueryObserverSuccessResult, ab as InfiniteQueryPageParamsOptions, $ as InitialDataFunction, aa as InitialPageParam, aq as InvalidateOptions, ao as InvalidateQueryFilters, aW as MutateFunction, aV as MutateOptions, y as Mutation, M as MutationCache, d as MutationCacheNotifyEvent, j as MutationFilters, aS as MutationFunction, aO as MutationKey, aR as MutationMeta, e as MutationObserver, aX as MutationObserverBaseResult, a_ as MutationObserverErrorResult, aY as MutationObserverIdleResult, aZ as MutationObserverLoadingResult, aU as MutationObserverOptions, b0 as MutationObserverResult, a$ as MutationObserverSuccessResult, aT as MutationOptions, aQ as MutationScope, x as MutationState, aP as MutationStatus, a7 as NetworkMode, N as NoInfer, b6 as NotifyEvent, b5 as NotifyEventType, a8 as NotifyOnChangeProps, O as OmitKeyof, B as Override, a0 as PlaceholderDataFunction, a1 as QueriesPlaceholderDataFunction, w as Query, Q as QueryCache, a as QueryCacheNotifyEvent, b as QueryClient, b1 as QueryClientConfig, l as QueryFilters, W as QueryFunction, _ as QueryFunctionContext, F as QueryKey, a2 as QueryKeyHashFunction, a6 as QueryMeta, c as QueryObserver, aw as QueryObserverBaseResult, az as QueryObserverLoadingErrorResult, ay as QueryObserverLoadingResult, ad as QueryObserverOptions, ax as QueryObserverPendingResult, aC as QueryObserverPlaceholderResult, aA as QueryObserverRefetchErrorResult, aE as QueryObserverResult, aB as QueryObserverSuccessResult, a9 as QueryOptions, Z as QueryPersister, v as QueryState, au as QueryStatus, an as RefetchOptions, ap as RefetchQueryFilters, R as Register, ar as ResetOptions, am as ResultOptions, b4 as SetDataOptions, S as SkipToken, X as StaleTime, ac as ThrowOnError, K as UnsetMarker, U as Updater, ae as WithRequired, I as dataTagErrorSymbol, G as dataTagSymbol, u as defaultShouldDehydrateMutation, t as defaultShouldDehydrateQuery, p as dehydrate, h as hashKey, q as hydrate, o as isCancelledError, i as isServer, k as keepPreviousData, f as matchMutation, m as matchQuery, n as noop, r as replaceEqualDeep, g as shouldThrowError, s as skipToken, J as unsetMarker } from './hydration-B3ndIyL6.js';
1
+ export { P as AnyDataTag, b5 as CancelOptions, C as CancelledError, T as DataTag, F as DefaultError, b4 as DefaultOptions, aj as DefaultedInfiniteQueryObserverOptions, ah as DefaultedQueryObserverOptions, aO as DefinedInfiniteQueryObserverResult, aF as DefinedQueryObserverResult, D as DehydrateOptions, z as DehydratedState, A as DistributiveOmit, _ as Enabled, am as EnsureInfiniteQueryDataOptions, al as EnsureQueryDataOptions, an as FetchInfiniteQueryOptions, au as FetchNextPageOptions, av as FetchPreviousPageOptions, ak as FetchQueryOptions, ax as FetchStatus, a6 as GetNextPageParamFunction, a5 as GetPreviousPageParamFunction, H as HydrateOptions, V as InferDataFromTag, W as InferErrorFromTag, a7 as InfiniteData, aH as InfiniteQueryObserverBaseResult, aK as InfiniteQueryObserverLoadingErrorResult, aJ as InfiniteQueryObserverLoadingResult, ai as InfiniteQueryObserverOptions, aI as InfiniteQueryObserverPendingResult, aN as InfiniteQueryObserverPlaceholderResult, aL as InfiniteQueryObserverRefetchErrorResult, aP as InfiniteQueryObserverResult, aM as InfiniteQueryObserverSuccessResult, ad as InfiniteQueryPageParamsOptions, a1 as InitialDataFunction, ac as InitialPageParam, as as InvalidateOptions, aq as InvalidateQueryFilters, aY as MutateFunction, aX as MutateOptions, y as Mutation, M as MutationCache, d as MutationCacheNotifyEvent, j as MutationFilters, aU as MutationFunction, aQ as MutationKey, aT as MutationMeta, e as MutationObserver, aZ as MutationObserverBaseResult, b0 as MutationObserverErrorResult, a_ as MutationObserverIdleResult, a$ as MutationObserverLoadingResult, aW as MutationObserverOptions, b2 as MutationObserverResult, b1 as MutationObserverSuccessResult, aV as MutationOptions, aS as MutationScope, x as MutationState, aR as MutationStatus, a9 as NetworkMode, E as NoInfer, N as NonUndefinedGuard, b8 as NotifyEvent, b7 as NotifyEventType, aa as NotifyOnChangeProps, O as OmitKeyof, B as Override, a2 as PlaceholderDataFunction, a3 as QueriesPlaceholderDataFunction, w as Query, Q as QueryCache, a as QueryCacheNotifyEvent, b as QueryClient, b3 as QueryClientConfig, l as QueryFilters, X as QueryFunction, a0 as QueryFunctionContext, G as QueryKey, a4 as QueryKeyHashFunction, a8 as QueryMeta, c as QueryObserver, ay as QueryObserverBaseResult, aB as QueryObserverLoadingErrorResult, aA as QueryObserverLoadingResult, af as QueryObserverOptions, az as QueryObserverPendingResult, aE as QueryObserverPlaceholderResult, aC as QueryObserverRefetchErrorResult, aG as QueryObserverResult, aD as QueryObserverSuccessResult, ab as QueryOptions, $ as QueryPersister, v as QueryState, aw as QueryStatus, ap as RefetchOptions, ar as RefetchQueryFilters, R as Register, at as ResetOptions, ao as ResultOptions, b6 as SetDataOptions, S as SkipToken, Y as StaleTime, Z as StaleTimeFunction, ae as ThrowOnError, L as UnsetMarker, U as Updater, ag as WithRequired, J as dataTagErrorSymbol, I as dataTagSymbol, u as defaultShouldDehydrateMutation, t as defaultShouldDehydrateQuery, p as dehydrate, h as hashKey, q as hydrate, o as isCancelledError, i as isServer, k as keepPreviousData, f as matchMutation, m as matchQuery, n as noop, r as replaceEqualDeep, g as shouldThrowError, s as skipToken, K as unsetMarker } from './hydration-BCnR_RAv.js';
2
2
  export { QueriesObserver, QueriesObserverOptions } from './queriesObserver.js';
3
3
  export { InfiniteQueryObserver } from './infiniteQueryObserver.js';
4
4
  export { defaultScheduler, notifyManager } from './notifyManager.js';
@@ -1,4 +1,4 @@
1
- import { b7 as QueryBehavior, a5 as InfiniteData, ab as InfiniteQueryPageParamsOptions } from './hydration-GTiXepW_.cjs';
1
+ import { b9 as QueryBehavior, a7 as InfiniteData, ad as InfiniteQueryPageParamsOptions } from './hydration-YFGUKxMa.cjs';
2
2
  import './removable.cjs';
3
3
  import './subscribable.cjs';
4
4
 
@@ -1,4 +1,4 @@
1
- import { b7 as QueryBehavior, a5 as InfiniteData, ab as InfiniteQueryPageParamsOptions } from './hydration-B3ndIyL6.js';
1
+ import { b9 as QueryBehavior, a7 as InfiniteData, ad as InfiniteQueryPageParamsOptions } from './hydration-BCnR_RAv.js';
2
2
  import './removable.js';
3
3
  import './subscribable.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { E as DefaultError, a5 as InfiniteData, F as QueryKey, c as QueryObserver, aN as InfiniteQueryObserverResult, b as QueryClient, ag as InfiniteQueryObserverOptions, ah as DefaultedInfiniteQueryObserverOptions, as as FetchNextPageOptions, at as FetchPreviousPageOptions, w as Query } from './hydration-GTiXepW_.cjs';
1
+ import { F as DefaultError, a7 as InfiniteData, G as QueryKey, c as QueryObserver, aP as InfiniteQueryObserverResult, b as QueryClient, ai as InfiniteQueryObserverOptions, aj as DefaultedInfiniteQueryObserverOptions, au as FetchNextPageOptions, av as FetchPreviousPageOptions, w as Query } from './hydration-YFGUKxMa.cjs';
2
2
  import { Subscribable } from './subscribable.cjs';
3
3
  import './removable.cjs';
4
4
 
@@ -1,4 +1,4 @@
1
- import { E as DefaultError, a5 as InfiniteData, F as QueryKey, c as QueryObserver, aN as InfiniteQueryObserverResult, b as QueryClient, ag as InfiniteQueryObserverOptions, ah as DefaultedInfiniteQueryObserverOptions, as as FetchNextPageOptions, at as FetchPreviousPageOptions, w as Query } from './hydration-B3ndIyL6.js';
1
+ import { F as DefaultError, a7 as InfiniteData, G as QueryKey, c as QueryObserver, aP as InfiniteQueryObserverResult, b as QueryClient, ai as InfiniteQueryObserverOptions, aj as DefaultedInfiniteQueryObserverOptions, au as FetchNextPageOptions, av as FetchPreviousPageOptions, w as Query } from './hydration-BCnR_RAv.js';
2
2
  import { Subscribable } from './subscribable.js';
3
3
  import './removable.js';
4
4
 
@@ -1,3 +1,3 @@
1
1
  import './removable.cjs';
2
- export { bf as Action, y as Mutation, x as MutationState, bg as getDefaultState } from './hydration-GTiXepW_.cjs';
2
+ export { bh as Action, y as Mutation, x as MutationState, bi as getDefaultState } from './hydration-YFGUKxMa.cjs';
3
3
  import './subscribable.cjs';
@@ -1,3 +1,3 @@
1
1
  import './removable.js';
2
- export { bf as Action, y as Mutation, x as MutationState, bg as getDefaultState } from './hydration-B3ndIyL6.js';
2
+ export { bh as Action, y as Mutation, x as MutationState, bi as getDefaultState } from './hydration-BCnR_RAv.js';
3
3
  import './subscribable.js';
@@ -1,3 +1,3 @@
1
- export { M as MutationCache, d as MutationCacheNotifyEvent } from './hydration-GTiXepW_.cjs';
1
+ export { M as MutationCache, d as MutationCacheNotifyEvent } from './hydration-YFGUKxMa.cjs';
2
2
  import './subscribable.cjs';
3
3
  import './removable.cjs';
@@ -1,3 +1,3 @@
1
- export { M as MutationCache, d as MutationCacheNotifyEvent } from './hydration-B3ndIyL6.js';
1
+ export { M as MutationCache, d as MutationCacheNotifyEvent } from './hydration-BCnR_RAv.js';
2
2
  import './subscribable.js';
3
3
  import './removable.js';
@@ -1,3 +1,3 @@
1
1
  import './subscribable.cjs';
2
- export { e as MutationObserver } from './hydration-GTiXepW_.cjs';
2
+ export { e as MutationObserver } from './hydration-YFGUKxMa.cjs';
3
3
  import './removable.cjs';
@@ -1,3 +1,3 @@
1
1
  import './subscribable.js';
2
- export { e as MutationObserver } from './hydration-B3ndIyL6.js';
2
+ export { e as MutationObserver } from './hydration-BCnR_RAv.js';
3
3
  import './removable.js';
@@ -1,4 +1,4 @@
1
- import { aE as QueryObserverResult, b as QueryClient, ad as QueryObserverOptions, w as Query, c as QueryObserver } from './hydration-GTiXepW_.cjs';
1
+ import { aG as QueryObserverResult, b as QueryClient, af as QueryObserverOptions, w as Query, c as QueryObserver } from './hydration-YFGUKxMa.cjs';
2
2
  import { Subscribable } from './subscribable.cjs';
3
3
  import './removable.cjs';
4
4
 
@@ -1,4 +1,4 @@
1
- import { aE as QueryObserverResult, b as QueryClient, ad as QueryObserverOptions, w as Query, c as QueryObserver } from './hydration-B3ndIyL6.js';
1
+ import { aG as QueryObserverResult, b as QueryClient, af as QueryObserverOptions, w as Query, c as QueryObserver } from './hydration-BCnR_RAv.js';
2
2
  import { Subscribable } from './subscribable.js';
3
3
  import './removable.js';
4
4
 
@@ -114,19 +114,33 @@ var Query = class extends import_removable.Removable {
114
114
  }
115
115
  return this.options.queryFn === import_utils.skipToken || this.state.dataUpdateCount + this.state.errorUpdateCount === 0;
116
116
  }
117
- isStale() {
118
- if (this.state.isInvalidated) {
119
- return true;
117
+ isStatic() {
118
+ if (this.getObserversCount() > 0) {
119
+ return this.observers.some(
120
+ (observer) => (0, import_utils.resolveStaleTime)(observer.options.staleTime, this) === "static"
121
+ );
120
122
  }
123
+ return false;
124
+ }
125
+ isStale() {
121
126
  if (this.getObserversCount() > 0) {
122
127
  return this.observers.some(
123
128
  (observer) => observer.getCurrentResult().isStale
124
129
  );
125
130
  }
126
- return this.state.data === void 0;
131
+ return this.state.data === void 0 || this.state.isInvalidated;
127
132
  }
128
133
  isStaleByTime(staleTime = 0) {
129
- return this.state.isInvalidated || this.state.data === void 0 || !(0, import_utils.timeUntilStale)(this.state.dataUpdatedAt, staleTime);
134
+ if (this.state.data === void 0) {
135
+ return true;
136
+ }
137
+ if (staleTime === "static") {
138
+ return false;
139
+ }
140
+ if (this.state.isInvalidated) {
141
+ return true;
142
+ }
143
+ return !(0, import_utils.timeUntilStale)(this.state.dataUpdatedAt, staleTime);
130
144
  }
131
145
  onFocus() {
132
146
  var _a;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/query.ts"],"sourcesContent":["import {\n ensureQueryFn,\n noop,\n replaceData,\n resolveEnabled,\n skipToken,\n timeUntilStale,\n} from './utils'\nimport { notifyManager } from './notifyManager'\nimport { canFetch, createRetryer, isCancelledError } from './retryer'\nimport { Removable } from './removable'\nimport type { QueryCache } from './queryCache'\nimport type { QueryClient } from './queryClient'\nimport type {\n CancelOptions,\n DefaultError,\n FetchStatus,\n InitialDataFunction,\n OmitKeyof,\n QueryFunction,\n QueryFunctionContext,\n QueryKey,\n QueryMeta,\n QueryOptions,\n QueryStatus,\n SetDataOptions,\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 setStateOptions?: SetStateOptions\n}\n\nexport type Action<TData, TError> =\n | ContinueAction\n | ErrorAction<TError>\n | FailedAction<TError>\n | FetchAction\n | InvalidateAction\n | PauseAction\n | SetStateAction<TData, TError>\n | SuccessAction<TData>\n\nexport interface SetStateOptions {\n meta?: any\n}\n\n// CLASS\n\nexport class Query<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends Removable {\n queryKey: TQueryKey\n queryHash: string\n options!: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n state: QueryState<TData, TError>\n\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 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 this.updateGcTime(this.options.gcTime)\n }\n\n protected optionalRemove() {\n if (!this.observers.length && this.state.fetchStatus === 'idle') {\n this.#cache.remove(this)\n }\n }\n\n setData(\n newData: TData,\n options?: SetDataOptions & { manual: boolean },\n ): TData {\n const data = replaceData(this.state.data, newData, this.options)\n\n // Set data and mark it as cached\n this.#dispatch({\n data,\n type: 'success',\n dataUpdatedAt: options?.updatedAt,\n manual: options?.manual,\n })\n\n return data\n }\n\n setState(\n state: Partial<QueryState<TData, TError>>,\n setStateOptions?: SetStateOptions,\n ): void {\n this.#dispatch({ type: 'setState', state, setStateOptions })\n }\n\n cancel(options?: CancelOptions): Promise<void> {\n const promise = this.#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 reset(): void {\n this.destroy()\n this.setState(this.#initialState)\n }\n\n isActive(): boolean {\n return this.observers.some(\n (observer) => resolveEnabled(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 (\n this.options.queryFn === skipToken ||\n this.state.dataUpdateCount + this.state.errorUpdateCount === 0\n )\n }\n\n isStale(): boolean {\n if (this.state.isInvalidated) {\n return true\n }\n\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) => observer.getCurrentResult().isStale,\n )\n }\n\n return this.state.data === undefined\n }\n\n isStaleByTime(staleTime = 0): boolean {\n return (\n this.state.isInvalidated ||\n this.state.data === undefined ||\n !timeUntilStale(this.state.dataUpdatedAt, staleTime)\n )\n }\n\n onFocus(): void {\n const observer = this.observers.find((x) => x.shouldFetchOnWindowFocus())\n\n observer?.refetch({ cancelRefetch: false })\n\n // Continue fetch if currently paused\n this.#retryer?.continue()\n }\n\n onOnline(): void {\n const observer = this.observers.find((x) => x.shouldFetchOnReconnect())\n\n observer?.refetch({ cancelRefetch: false })\n\n // Continue fetch if currently paused\n this.#retryer?.continue()\n }\n\n addObserver(observer: QueryObserver<any, any, any, any, any>): void {\n if (!this.observers.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 if (this.observers.includes(observer)) {\n this.observers = this.observers.filter((x) => x !== observer)\n\n if (!this.observers.length) {\n // If the transport layer does not support cancellation\n // we'll let the query continue so the result can be cached\n if (this.#retryer) {\n if (this.#abortSignalConsumed) {\n this.#retryer.cancel({ revert: true })\n } else {\n this.#retryer.cancelRetry()\n }\n }\n\n this.scheduleGc()\n }\n\n this.#cache.notify({ type: 'observerRemoved', query: this, observer })\n }\n }\n\n getObserversCount(): number {\n return this.observers.length\n }\n\n invalidate(): void {\n if (!this.state.isInvalidated) {\n this.#dispatch({ type: 'invalidate' })\n }\n }\n\n fetch(\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n fetchOptions?: FetchOptions<TQueryFnData>,\n ): Promise<TData> {\n if (this.state.fetchStatus !== 'idle') {\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 queryFnContext: OmitKeyof<\n QueryFunctionContext<TQueryKey>,\n 'signal'\n > = {\n client: this.#client,\n queryKey: this.queryKey,\n meta: this.meta,\n }\n\n addSignalProperty(queryFnContext)\n\n this.#abortSignalConsumed = false\n if (this.options.persister) {\n return this.options.persister(\n queryFn as QueryFunction<any>,\n queryFnContext as QueryFunctionContext<TQueryKey>,\n this as unknown as Query,\n )\n }\n\n return queryFn(queryFnContext as QueryFunctionContext<TQueryKey>)\n }\n\n // Trigger behavior hook\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\n this.options.behavior?.onFetch(\n context as FetchContext<TQueryFnData, TError, TData, TQueryKey>,\n this as unknown as Query,\n )\n\n // Store state in case the current fetch needs to be reverted\n this.#revertState = this.state\n\n // Set to fetching state if not already in it\n if (\n this.state.fetchStatus === 'idle' ||\n this.state.fetchMeta !== context.fetchOptions?.meta\n ) {\n this.#dispatch({ type: 'fetch', meta: context.fetchOptions?.meta })\n }\n\n const onError = (error: TError | { silent?: boolean }) => {\n // Optimistically update state if needed\n if (!(isCancelledError(error) && error.silent)) {\n this.#dispatch({\n type: 'error',\n error: error as TError,\n })\n }\n\n if (!isCancelledError(error)) {\n // Notify cache callback\n this.#cache.config.onError?.(\n error as any,\n this as Query<any, any, any, any>,\n )\n this.#cache.config.onSettled?.(\n this.state.data,\n error as any,\n this as Query<any, any, any, any>,\n )\n }\n\n // Schedule query gc after fetching\n this.scheduleGc()\n }\n\n // Try to fetch the data\n this.#retryer = createRetryer({\n initialPromise: fetchOptions?.initialPromise as\n | Promise<TData>\n | undefined,\n fn: context.fetchFn as () => Promise<TData>,\n abort: abortController.abort.bind(abortController),\n onSuccess: (data) => {\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 onError(new Error(`${this.queryHash} data is undefined`) as any)\n return\n }\n\n try {\n this.setData(data)\n } catch (error) {\n onError(error as TError)\n return\n }\n\n // Notify cache callback\n this.#cache.config.onSuccess?.(data, this as Query<any, any, any, any>)\n this.#cache.config.onSettled?.(\n data,\n this.state.error as any,\n this as Query<any, any, any, any>,\n )\n\n // Schedule query gc after fetching\n this.scheduleGc()\n },\n onError,\n onFail: (failureCount, error) => {\n this.#dispatch({ type: 'failed', failureCount, error })\n },\n onPause: () => {\n this.#dispatch({ type: 'pause' })\n },\n onContinue: () => {\n this.#dispatch({ type: 'continue' })\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode,\n canRun: () => true,\n })\n\n return this.#retryer.start()\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 return {\n ...state,\n data: action.data,\n dataUpdateCount: state.dataUpdateCount + 1,\n dataUpdatedAt: action.dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: 'success',\n ...(!action.manual && {\n fetchStatus: 'idle',\n fetchFailureCount: 0,\n fetchFailureReason: null,\n }),\n }\n case 'error':\n const error = action.error\n\n if (isCancelledError(error) && error.revert && this.#revertState) {\n return { ...this.#revertState, fetchStatus: 'idle' }\n }\n\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 }\n case 'invalidate':\n return {\n ...state,\n isInvalidated: true,\n }\n case 'setState':\n return {\n ...state,\n ...action.state,\n }\n }\n }\n\n this.state = reducer(this.state)\n\n notifyManager.batch(() => {\n this.observers.forEach((observer) => {\n observer.onQueryUpdate()\n })\n\n this.#cache.notify({ query: this, type: 'updated', action })\n })\n }\n}\n\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 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 as () => number | undefined)()\n : options.initialDataUpdatedAt\n : 0\n\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? (initialDataUpdatedAt ?? Date.now()) : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? 'success' : 'pending',\n fetchStatus: 'idle',\n }\n}\n"],"mappings":"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","names":["_a","_b","_c"]}
1
+ {"version":3,"sources":["../../src/query.ts"],"sourcesContent":["import {\n ensureQueryFn,\n noop,\n replaceData,\n resolveEnabled,\n resolveStaleTime,\n skipToken,\n timeUntilStale,\n} from './utils'\nimport { notifyManager } from './notifyManager'\nimport { canFetch, createRetryer, isCancelledError } from './retryer'\nimport { Removable } from './removable'\nimport type { QueryCache } from './queryCache'\nimport type { QueryClient } from './queryClient'\nimport type {\n CancelOptions,\n DefaultError,\n FetchStatus,\n InitialDataFunction,\n OmitKeyof,\n QueryFunction,\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 setStateOptions?: SetStateOptions\n}\n\nexport type Action<TData, TError> =\n | ContinueAction\n | ErrorAction<TError>\n | FailedAction<TError>\n | FetchAction\n | InvalidateAction\n | PauseAction\n | SetStateAction<TData, TError>\n | SuccessAction<TData>\n\nexport interface SetStateOptions {\n meta?: any\n}\n\n// CLASS\n\nexport class Query<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends Removable {\n queryKey: TQueryKey\n queryHash: string\n options!: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n state: QueryState<TData, TError>\n\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 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 this.updateGcTime(this.options.gcTime)\n }\n\n protected optionalRemove() {\n if (!this.observers.length && this.state.fetchStatus === 'idle') {\n this.#cache.remove(this)\n }\n }\n\n setData(\n newData: TData,\n options?: SetDataOptions & { manual: boolean },\n ): TData {\n const data = replaceData(this.state.data, newData, this.options)\n\n // Set data and mark it as cached\n this.#dispatch({\n data,\n type: 'success',\n dataUpdatedAt: options?.updatedAt,\n manual: options?.manual,\n })\n\n return data\n }\n\n setState(\n state: Partial<QueryState<TData, TError>>,\n setStateOptions?: SetStateOptions,\n ): void {\n this.#dispatch({ type: 'setState', state, setStateOptions })\n }\n\n cancel(options?: CancelOptions): Promise<void> {\n const promise = this.#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 reset(): void {\n this.destroy()\n this.setState(this.#initialState)\n }\n\n isActive(): boolean {\n return this.observers.some(\n (observer) => resolveEnabled(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 (\n this.options.queryFn === skipToken ||\n this.state.dataUpdateCount + this.state.errorUpdateCount === 0\n )\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 if (this.observers.includes(observer)) {\n this.observers = this.observers.filter((x) => x !== observer)\n\n if (!this.observers.length) {\n // If the transport layer does not support cancellation\n // we'll let the query continue so the result can be cached\n if (this.#retryer) {\n if (this.#abortSignalConsumed) {\n this.#retryer.cancel({ revert: true })\n } else {\n this.#retryer.cancelRetry()\n }\n }\n\n this.scheduleGc()\n }\n\n this.#cache.notify({ type: 'observerRemoved', query: this, observer })\n }\n }\n\n getObserversCount(): number {\n return this.observers.length\n }\n\n invalidate(): void {\n if (!this.state.isInvalidated) {\n this.#dispatch({ type: 'invalidate' })\n }\n }\n\n fetch(\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n fetchOptions?: FetchOptions<TQueryFnData>,\n ): Promise<TData> {\n if (this.state.fetchStatus !== 'idle') {\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 queryFnContext: OmitKeyof<\n QueryFunctionContext<TQueryKey>,\n 'signal'\n > = {\n client: this.#client,\n queryKey: this.queryKey,\n meta: this.meta,\n }\n\n addSignalProperty(queryFnContext)\n\n this.#abortSignalConsumed = false\n if (this.options.persister) {\n return this.options.persister(\n queryFn as QueryFunction<any>,\n queryFnContext as QueryFunctionContext<TQueryKey>,\n this as unknown as Query,\n )\n }\n\n return queryFn(queryFnContext as QueryFunctionContext<TQueryKey>)\n }\n\n // Trigger behavior hook\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\n this.options.behavior?.onFetch(\n context as FetchContext<TQueryFnData, TError, TData, TQueryKey>,\n this as unknown as Query,\n )\n\n // Store state in case the current fetch needs to be reverted\n this.#revertState = this.state\n\n // Set to fetching state if not already in it\n if (\n this.state.fetchStatus === 'idle' ||\n this.state.fetchMeta !== context.fetchOptions?.meta\n ) {\n this.#dispatch({ type: 'fetch', meta: context.fetchOptions?.meta })\n }\n\n const onError = (error: TError | { silent?: boolean }) => {\n // Optimistically update state if needed\n if (!(isCancelledError(error) && error.silent)) {\n this.#dispatch({\n type: 'error',\n error: error as TError,\n })\n }\n\n if (!isCancelledError(error)) {\n // Notify cache callback\n this.#cache.config.onError?.(\n error as any,\n this as Query<any, any, any, any>,\n )\n this.#cache.config.onSettled?.(\n this.state.data,\n error as any,\n this as Query<any, any, any, any>,\n )\n }\n\n // Schedule query gc after fetching\n this.scheduleGc()\n }\n\n // Try to fetch the data\n this.#retryer = createRetryer({\n initialPromise: fetchOptions?.initialPromise as\n | Promise<TData>\n | undefined,\n fn: context.fetchFn as () => Promise<TData>,\n abort: abortController.abort.bind(abortController),\n onSuccess: (data) => {\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 onError(new Error(`${this.queryHash} data is undefined`) as any)\n return\n }\n\n try {\n this.setData(data)\n } catch (error) {\n onError(error as TError)\n return\n }\n\n // Notify cache callback\n this.#cache.config.onSuccess?.(data, this as Query<any, any, any, any>)\n this.#cache.config.onSettled?.(\n data,\n this.state.error as any,\n this as Query<any, any, any, any>,\n )\n\n // Schedule query gc after fetching\n this.scheduleGc()\n },\n onError,\n onFail: (failureCount, error) => {\n this.#dispatch({ type: 'failed', failureCount, error })\n },\n onPause: () => {\n this.#dispatch({ type: 'pause' })\n },\n onContinue: () => {\n this.#dispatch({ type: 'continue' })\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode,\n canRun: () => true,\n })\n\n return this.#retryer.start()\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 return {\n ...state,\n data: action.data,\n dataUpdateCount: state.dataUpdateCount + 1,\n dataUpdatedAt: action.dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: 'success',\n ...(!action.manual && {\n fetchStatus: 'idle',\n fetchFailureCount: 0,\n fetchFailureReason: null,\n }),\n }\n case 'error':\n const error = action.error\n\n if (isCancelledError(error) && error.revert && this.#revertState) {\n return { ...this.#revertState, fetchStatus: 'idle' }\n }\n\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 }\n case 'invalidate':\n return {\n ...state,\n isInvalidated: true,\n }\n case 'setState':\n return {\n ...state,\n ...action.state,\n }\n }\n }\n\n this.state = reducer(this.state)\n\n notifyManager.batch(() => {\n this.observers.forEach((observer) => {\n observer.onQueryUpdate()\n })\n\n this.#cache.notify({ query: this, type: 'updated', action })\n })\n }\n}\n\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 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 as () => number | undefined)()\n : options.initialDataUpdatedAt\n : 0\n\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? (initialDataUpdatedAt ?? Date.now()) : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? 'success' : 'pending',\n fetchStatus: 'idle',\n }\n}\n"],"mappings":"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","names":["_a","_b","_c"]}
@@ -1,3 +1,3 @@
1
1
  import './removable.cjs';
2
- export { bc as Action, b8 as FetchContext, b9 as FetchDirection, ba as FetchMeta, bb as FetchOptions, w as Query, b7 as QueryBehavior, v as QueryState, bd as SetStateOptions, be as fetchState } from './hydration-GTiXepW_.cjs';
2
+ export { be as Action, ba as FetchContext, bb as FetchDirection, bc as FetchMeta, bd as FetchOptions, w as Query, b9 as QueryBehavior, v as QueryState, bf as SetStateOptions, bg as fetchState } from './hydration-YFGUKxMa.cjs';
3
3
  import './subscribable.cjs';
@@ -1,3 +1,3 @@
1
1
  import './removable.js';
2
- export { bc as Action, b8 as FetchContext, b9 as FetchDirection, ba as FetchMeta, bb as FetchOptions, w as Query, b7 as QueryBehavior, v as QueryState, bd as SetStateOptions, be as fetchState } from './hydration-B3ndIyL6.js';
2
+ export { be as Action, ba as FetchContext, bb as FetchDirection, bc as FetchMeta, bd as FetchOptions, w as Query, b9 as QueryBehavior, v as QueryState, bf as SetStateOptions, bg as fetchState } from './hydration-BCnR_RAv.js';
3
3
  import './subscribable.js';
@@ -11,6 +11,7 @@ import {
11
11
  noop,
12
12
  replaceData,
13
13
  resolveEnabled,
14
+ resolveStaleTime,
14
15
  skipToken,
15
16
  timeUntilStale
16
17
  } from "./utils.js";
@@ -95,19 +96,33 @@ var Query = class extends Removable {
95
96
  }
96
97
  return this.options.queryFn === skipToken || this.state.dataUpdateCount + this.state.errorUpdateCount === 0;
97
98
  }
98
- isStale() {
99
- if (this.state.isInvalidated) {
100
- return true;
99
+ isStatic() {
100
+ if (this.getObserversCount() > 0) {
101
+ return this.observers.some(
102
+ (observer) => resolveStaleTime(observer.options.staleTime, this) === "static"
103
+ );
101
104
  }
105
+ return false;
106
+ }
107
+ isStale() {
102
108
  if (this.getObserversCount() > 0) {
103
109
  return this.observers.some(
104
110
  (observer) => observer.getCurrentResult().isStale
105
111
  );
106
112
  }
107
- return this.state.data === void 0;
113
+ return this.state.data === void 0 || this.state.isInvalidated;
108
114
  }
109
115
  isStaleByTime(staleTime = 0) {
110
- return this.state.isInvalidated || this.state.data === void 0 || !timeUntilStale(this.state.dataUpdatedAt, staleTime);
116
+ if (this.state.data === void 0) {
117
+ return true;
118
+ }
119
+ if (staleTime === "static") {
120
+ return false;
121
+ }
122
+ if (this.state.isInvalidated) {
123
+ return true;
124
+ }
125
+ return !timeUntilStale(this.state.dataUpdatedAt, staleTime);
111
126
  }
112
127
  onFocus() {
113
128
  var _a;