@tanstack/query-core 5.38.0 → 5.40.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 (119) hide show
  1. package/build/legacy/{types-BvcshvE9.d.cts → hydration-DAs3cQH5.d.cts} +44 -3
  2. package/build/legacy/{types-BtrVwz9w.d.ts → hydration-yBB_smkL.d.ts} +44 -3
  3. package/build/legacy/hydration.cjs +40 -23
  4. package/build/legacy/hydration.cjs.map +1 -1
  5. package/build/legacy/hydration.d.cts +1 -34
  6. package/build/legacy/hydration.d.ts +1 -34
  7. package/build/legacy/hydration.js +40 -23
  8. package/build/legacy/hydration.js.map +1 -1
  9. package/build/legacy/index.d.cts +1 -2
  10. package/build/legacy/index.d.ts +1 -2
  11. package/build/legacy/infiniteQueryBehavior.cjs +1 -12
  12. package/build/legacy/infiniteQueryBehavior.cjs.map +1 -1
  13. package/build/legacy/infiniteQueryBehavior.d.cts +1 -1
  14. package/build/legacy/infiniteQueryBehavior.d.ts +1 -1
  15. package/build/legacy/infiniteQueryBehavior.js +2 -13
  16. package/build/legacy/infiniteQueryBehavior.js.map +1 -1
  17. package/build/legacy/infiniteQueryObserver.d.cts +1 -1
  18. package/build/legacy/infiniteQueryObserver.d.ts +1 -1
  19. package/build/legacy/mutation.d.cts +1 -1
  20. package/build/legacy/mutation.d.ts +1 -1
  21. package/build/legacy/mutationCache.d.cts +1 -1
  22. package/build/legacy/mutationCache.d.ts +1 -1
  23. package/build/legacy/mutationObserver.d.cts +1 -1
  24. package/build/legacy/mutationObserver.d.ts +1 -1
  25. package/build/legacy/queriesObserver.d.cts +1 -1
  26. package/build/legacy/queriesObserver.d.ts +1 -1
  27. package/build/legacy/query.cjs +13 -21
  28. package/build/legacy/query.cjs.map +1 -1
  29. package/build/legacy/query.d.cts +1 -1
  30. package/build/legacy/query.d.ts +1 -1
  31. package/build/legacy/query.js +14 -22
  32. package/build/legacy/query.js.map +1 -1
  33. package/build/legacy/queryCache.d.cts +1 -1
  34. package/build/legacy/queryCache.d.ts +1 -1
  35. package/build/legacy/queryClient.d.cts +1 -1
  36. package/build/legacy/queryClient.d.ts +1 -1
  37. package/build/legacy/queryObserver.cjs.map +1 -1
  38. package/build/legacy/queryObserver.d.cts +1 -1
  39. package/build/legacy/queryObserver.d.ts +1 -1
  40. package/build/legacy/queryObserver.js.map +1 -1
  41. package/build/legacy/retryer.cjs +2 -1
  42. package/build/legacy/retryer.cjs.map +1 -1
  43. package/build/legacy/retryer.d.cts +1 -1
  44. package/build/legacy/retryer.d.ts +1 -1
  45. package/build/legacy/retryer.js +2 -1
  46. package/build/legacy/retryer.js.map +1 -1
  47. package/build/legacy/types.cjs.map +1 -1
  48. package/build/legacy/types.d.cts +1 -1
  49. package/build/legacy/types.d.ts +1 -1
  50. package/build/legacy/utils.cjs +18 -0
  51. package/build/legacy/utils.cjs.map +1 -1
  52. package/build/legacy/utils.d.cts +1 -1
  53. package/build/legacy/utils.d.ts +1 -1
  54. package/build/legacy/utils.js +17 -0
  55. package/build/legacy/utils.js.map +1 -1
  56. package/build/modern/{types-BvcshvE9.d.cts → hydration-DAs3cQH5.d.cts} +44 -3
  57. package/build/modern/{types-BtrVwz9w.d.ts → hydration-yBB_smkL.d.ts} +44 -3
  58. package/build/modern/hydration.cjs +35 -20
  59. package/build/modern/hydration.cjs.map +1 -1
  60. package/build/modern/hydration.d.cts +1 -34
  61. package/build/modern/hydration.d.ts +1 -34
  62. package/build/modern/hydration.js +35 -20
  63. package/build/modern/hydration.js.map +1 -1
  64. package/build/modern/index.d.cts +1 -2
  65. package/build/modern/index.d.ts +1 -2
  66. package/build/modern/infiniteQueryBehavior.cjs +1 -12
  67. package/build/modern/infiniteQueryBehavior.cjs.map +1 -1
  68. package/build/modern/infiniteQueryBehavior.d.cts +1 -1
  69. package/build/modern/infiniteQueryBehavior.d.ts +1 -1
  70. package/build/modern/infiniteQueryBehavior.js +2 -13
  71. package/build/modern/infiniteQueryBehavior.js.map +1 -1
  72. package/build/modern/infiniteQueryObserver.d.cts +1 -1
  73. package/build/modern/infiniteQueryObserver.d.ts +1 -1
  74. package/build/modern/mutation.d.cts +1 -1
  75. package/build/modern/mutation.d.ts +1 -1
  76. package/build/modern/mutationCache.d.cts +1 -1
  77. package/build/modern/mutationCache.d.ts +1 -1
  78. package/build/modern/mutationObserver.d.cts +1 -1
  79. package/build/modern/mutationObserver.d.ts +1 -1
  80. package/build/modern/queriesObserver.d.cts +1 -1
  81. package/build/modern/queriesObserver.d.ts +1 -1
  82. package/build/modern/query.cjs +12 -21
  83. package/build/modern/query.cjs.map +1 -1
  84. package/build/modern/query.d.cts +1 -1
  85. package/build/modern/query.d.ts +1 -1
  86. package/build/modern/query.js +13 -22
  87. package/build/modern/query.js.map +1 -1
  88. package/build/modern/queryCache.d.cts +1 -1
  89. package/build/modern/queryCache.d.ts +1 -1
  90. package/build/modern/queryClient.d.cts +1 -1
  91. package/build/modern/queryClient.d.ts +1 -1
  92. package/build/modern/queryObserver.cjs.map +1 -1
  93. package/build/modern/queryObserver.d.cts +1 -1
  94. package/build/modern/queryObserver.d.ts +1 -1
  95. package/build/modern/queryObserver.js.map +1 -1
  96. package/build/modern/retryer.cjs +2 -1
  97. package/build/modern/retryer.cjs.map +1 -1
  98. package/build/modern/retryer.d.cts +1 -1
  99. package/build/modern/retryer.d.ts +1 -1
  100. package/build/modern/retryer.js +2 -1
  101. package/build/modern/retryer.js.map +1 -1
  102. package/build/modern/types.cjs.map +1 -1
  103. package/build/modern/types.d.cts +1 -1
  104. package/build/modern/types.d.ts +1 -1
  105. package/build/modern/utils.cjs +18 -0
  106. package/build/modern/utils.cjs.map +1 -1
  107. package/build/modern/utils.d.cts +1 -1
  108. package/build/modern/utils.d.ts +1 -1
  109. package/build/modern/utils.js +17 -0
  110. package/build/modern/utils.js.map +1 -1
  111. package/package.json +1 -1
  112. package/src/__tests__/hydration.test.tsx +170 -0
  113. package/src/hydration.ts +43 -21
  114. package/src/infiniteQueryBehavior.ts +2 -17
  115. package/src/query.ts +24 -29
  116. package/src/queryObserver.ts +1 -1
  117. package/src/retryer.ts +6 -1
  118. package/src/types.ts +3 -0
  119. package/src/utils.ts +36 -2
@@ -71,9 +71,10 @@ interface FetchMeta {
71
71
  direction: FetchDirection;
72
72
  };
73
73
  }
74
- interface FetchOptions {
74
+ interface FetchOptions<TData = unknown> {
75
75
  cancelRefetch?: boolean;
76
76
  meta?: FetchMeta;
77
+ initialPromise?: Promise<TData>;
77
78
  }
78
79
  interface FailedAction$1<TError> {
79
80
  type: 'failed';
@@ -122,6 +123,7 @@ declare class Query<TQueryFnData = unknown, TError = DefaultError, TData = TQuer
122
123
  observers: Array<QueryObserver<any, any, any, any, any>>;
123
124
  constructor(config: QueryConfig<TQueryFnData, TError, TData, TQueryKey>);
124
125
  get meta(): QueryMeta | undefined;
126
+ get promise(): Promise<TData> | undefined;
125
127
  setOptions(options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>): void;
126
128
  protected optionalRemove(): void;
127
129
  setData(newData: TData, options?: SetDataOptions & {
@@ -141,7 +143,7 @@ declare class Query<TQueryFnData = unknown, TError = DefaultError, TData = TQuer
141
143
  removeObserver(observer: QueryObserver<any, any, any, any, any>): void;
142
144
  getObserversCount(): number;
143
145
  invalidate(): void;
144
- fetch(options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>, fetchOptions?: FetchOptions): Promise<TData>;
146
+ fetch(options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>, fetchOptions?: FetchOptions<TQueryFnData>): Promise<TData>;
145
147
  }
146
148
  declare function fetchState<TQueryFnData, TError, TData, TQueryKey extends QueryKey>(data: TData | undefined, options: QueryOptions<TQueryFnData, TError, TData, TQueryKey>): {
147
149
  readonly error?: null | undefined;
@@ -233,6 +235,10 @@ declare function addToEnd<T>(items: Array<T>, item: T, max?: number): Array<T>;
233
235
  declare function addToStart<T>(items: Array<T>, item: T, max?: number): Array<T>;
234
236
  declare const skipToken: unique symbol;
235
237
  type SkipToken = typeof skipToken;
238
+ declare const ensureQueryFn: <TQueryFnData = unknown, TQueryKey extends QueryKey = QueryKey>(options: {
239
+ queryFn?: typeof skipToken | QueryFunction<TQueryFnData, TQueryKey> | undefined;
240
+ queryHash?: string | undefined;
241
+ }, fetchOptions?: FetchOptions<TQueryFnData> | undefined) => QueryFunction<TQueryFnData, TQueryKey>;
236
242
 
237
243
  interface QueryCacheConfig {
238
244
  onError?: (error: DefaultError, query: Query<unknown, unknown, unknown>) => void;
@@ -461,6 +467,7 @@ declare function getDefaultState<TData, TError, TVariables, TContext>(): Mutatio
461
467
 
462
468
  interface RetryerConfig<TData = unknown, TError = DefaultError> {
463
469
  fn: () => TData | Promise<TData>;
470
+ initialPromise?: Promise<TData>;
464
471
  abort?: () => void;
465
472
  onError?: (error: TError) => void;
466
473
  onSuccess?: (data: TData) => void;
@@ -1173,6 +1180,8 @@ interface QueryClientConfig {
1173
1180
  interface DefaultOptions<TError = DefaultError> {
1174
1181
  queries?: OmitKeyof<QueryObserverOptions<unknown, TError>, 'suspense' | 'queryKey'>;
1175
1182
  mutations?: MutationObserverOptions<unknown, TError, unknown, unknown>;
1183
+ hydrate?: HydrateOptions['defaultOptions'];
1184
+ dehydrate?: DehydrateOptions;
1176
1185
  }
1177
1186
  interface CancelOptions {
1178
1187
  revert?: boolean;
@@ -1186,4 +1195,36 @@ interface NotifyEvent {
1186
1195
  type: NotifyEventType;
1187
1196
  }
1188
1197
 
1189
- export { type DefaultedInfiniteQueryObserverOptions as $, type QueryKeyHashFunction as A, type GetNextPageParamFunction as B, CancelledError as C, type DefaultError as D, type InfiniteData as E, type QueryMeta as F, type GetPreviousPageParamFunction as G, type NetworkMode as H, type InitialDataFunction as I, type NotifyOnChangeProps as J, type QueryOptions as K, type InitialPageParam as L, MutationCache as M, type NoInfer as N, type OmitKeyof as O, type PlaceholderDataFunction as P, QueryCache as Q, type Register as R, type SkipToken as S, type InfiniteQueryPageParamsOptions as T, type Updater as U, type ThrowOnError as V, type QueryObserverOptions as W, type WithRequired as X, type Optional as Y, type DefaultedQueryObserverOptions as Z, type InfiniteQueryObserverOptions as _, type QueryCacheNotifyEvent as a, isValidTimeout as a$, type FetchQueryOptions as a0, type EnsureQueryDataOptions as a1, type FetchInfiniteQueryOptions as a2, type ResultOptions as a3, type RefetchOptions as a4, type InvalidateQueryFilters as a5, type RefetchQueryFilters as a6, type InvalidateOptions as a7, type ResetOptions as a8, type FetchNextPageOptions as a9, type MutateOptions as aA, type MutateFunction as aB, type MutationObserverBaseResult as aC, type MutationObserverIdleResult as aD, type MutationObserverLoadingResult as aE, type MutationObserverErrorResult as aF, type MutationObserverSuccessResult as aG, type MutationObserverResult as aH, type QueryClientConfig as aI, type DefaultOptions as aJ, type CancelOptions as aK, type SetDataOptions as aL, type NotifyEventType as aM, type NotifyEvent as aN, type QueryBehavior as aO, type ObserverFetchOptions as aP, type NotifyOptions as aQ, type FetchContext as aR, type FetchDirection as aS, type FetchMeta as aT, type FetchOptions as aU, type Action$1 as aV, type SetStateOptions as aW, fetchState as aX, type QueryTypeFilter as aY, noop as aZ, functionalUpdate as a_, type FetchPreviousPageOptions as aa, type QueryStatus as ab, type FetchStatus as ac, type QueryObserverBaseResult as ad, type QueryObserverPendingResult as ae, type QueryObserverLoadingResult as af, type QueryObserverLoadingErrorResult as ag, type QueryObserverRefetchErrorResult as ah, type QueryObserverSuccessResult as ai, type DefinedQueryObserverResult as aj, type QueryObserverResult as ak, type InfiniteQueryObserverBaseResult as al, type InfiniteQueryObserverPendingResult as am, type InfiniteQueryObserverLoadingResult as an, type InfiniteQueryObserverLoadingErrorResult as ao, type InfiniteQueryObserverRefetchErrorResult as ap, type InfiniteQueryObserverSuccessResult as aq, type DefinedInfiniteQueryObserverResult as ar, type InfiniteQueryObserverResult as as, type MutationKey as at, type MutationStatus as au, type MutationScope as av, type MutationMeta as aw, type MutationFunction as ax, type MutationOptions as ay, type MutationObserverOptions as az, QueryClient as b, timeUntilStale as b0, hashQueryKeyByOptions as b1, partialMatchKey as b2, shallowEqualObjects as b3, isPlainArray as b4, isPlainObject as b5, sleep as b6, replaceData as b7, addToEnd as b8, addToStart as b9, type QueryStore as ba, type Action as bb, getDefaultState as bc, type Retryer as bd, type RetryValue as be, type RetryDelayValue as bf, canFetch as bg, createRetryer as bh, QueryObserver as c, type MutationCacheNotifyEvent as d, MutationObserver as e, matchMutation as f, type MutationFilters as g, hashKey as h, isServer as i, type QueryFilters as j, keepPreviousData as k, isCancelledError as l, matchQuery as m, type QueryState as n, Query as o, Mutation as p, type MutationState as q, replaceEqualDeep as r, skipToken as s, type QueryKey as t, dataTagSymbol as u, type DataTag as v, type QueryFunction as w, type QueryPersister as x, type QueryFunctionContext as y, type QueriesPlaceholderDataFunction as z };
1198
+ interface DehydrateOptions {
1199
+ shouldDehydrateMutation?: (mutation: Mutation) => boolean;
1200
+ shouldDehydrateQuery?: (query: Query) => boolean;
1201
+ }
1202
+ interface HydrateOptions {
1203
+ defaultOptions?: {
1204
+ queries?: QueryOptions;
1205
+ mutations?: MutationOptions<unknown, DefaultError, unknown, unknown>;
1206
+ };
1207
+ }
1208
+ interface DehydratedMutation {
1209
+ mutationKey?: MutationKey;
1210
+ state: MutationState;
1211
+ meta?: MutationMeta;
1212
+ scope?: MutationScope;
1213
+ }
1214
+ interface DehydratedQuery {
1215
+ queryHash: string;
1216
+ queryKey: QueryKey;
1217
+ state: QueryState;
1218
+ promise?: Promise<unknown>;
1219
+ meta?: QueryMeta;
1220
+ }
1221
+ interface DehydratedState {
1222
+ mutations: Array<DehydratedMutation>;
1223
+ queries: Array<DehydratedQuery>;
1224
+ }
1225
+ declare function defaultShouldDehydrateMutation(mutation: Mutation): boolean;
1226
+ declare function defaultShouldDehydrateQuery(query: Query): boolean;
1227
+ declare function dehydrate(client: QueryClient, options?: DehydrateOptions): DehydratedState;
1228
+ declare function hydrate(client: QueryClient, dehydratedState: unknown, options?: HydrateOptions): void;
1229
+
1230
+ export { type InfiniteQueryPageParamsOptions as $, dataTagSymbol as A, type DataTag as B, CancelledError as C, type DehydrateOptions as D, type QueryFunction as E, type QueryPersister as F, type QueryFunctionContext as G, type HydrateOptions as H, type InitialDataFunction as I, type QueriesPlaceholderDataFunction as J, type QueryKeyHashFunction as K, type GetPreviousPageParamFunction as L, MutationCache as M, type NoInfer as N, type OmitKeyof as O, type PlaceholderDataFunction as P, QueryCache as Q, type Register as R, type SkipToken as S, type GetNextPageParamFunction as T, type Updater as U, type InfiniteData as V, type QueryMeta as W, type NetworkMode as X, type NotifyOnChangeProps as Y, type QueryOptions as Z, type InitialPageParam as _, type QueryCacheNotifyEvent as a, type FetchOptions as a$, type ThrowOnError as a0, type QueryObserverOptions as a1, type WithRequired as a2, type Optional as a3, type DefaultedQueryObserverOptions as a4, type InfiniteQueryObserverOptions as a5, type DefaultedInfiniteQueryObserverOptions as a6, type FetchQueryOptions as a7, type EnsureQueryDataOptions as a8, type FetchInfiniteQueryOptions as a9, type MutationKey as aA, type MutationStatus as aB, type MutationScope as aC, type MutationMeta as aD, type MutationFunction as aE, type MutationOptions as aF, type MutationObserverOptions as aG, type MutateOptions as aH, type MutateFunction as aI, type MutationObserverBaseResult as aJ, type MutationObserverIdleResult as aK, type MutationObserverLoadingResult as aL, type MutationObserverErrorResult as aM, type MutationObserverSuccessResult as aN, type MutationObserverResult as aO, type QueryClientConfig as aP, type DefaultOptions as aQ, type CancelOptions as aR, type SetDataOptions as aS, type NotifyEventType as aT, type NotifyEvent as aU, type QueryBehavior as aV, type ObserverFetchOptions as aW, type NotifyOptions as aX, type FetchContext as aY, type FetchDirection as aZ, type FetchMeta as a_, type ResultOptions as aa, type RefetchOptions as ab, type InvalidateQueryFilters as ac, type RefetchQueryFilters as ad, type InvalidateOptions as ae, type ResetOptions as af, type FetchNextPageOptions as ag, type FetchPreviousPageOptions as ah, type QueryStatus as ai, type FetchStatus as aj, type QueryObserverBaseResult as ak, type QueryObserverPendingResult as al, type QueryObserverLoadingResult as am, type QueryObserverLoadingErrorResult as an, type QueryObserverRefetchErrorResult as ao, type QueryObserverSuccessResult as ap, type DefinedQueryObserverResult as aq, type QueryObserverResult as ar, type InfiniteQueryObserverBaseResult as as, type InfiniteQueryObserverPendingResult as at, type InfiniteQueryObserverLoadingResult as au, type InfiniteQueryObserverLoadingErrorResult as av, type InfiniteQueryObserverRefetchErrorResult as aw, type InfiniteQueryObserverSuccessResult as ax, type DefinedInfiniteQueryObserverResult as ay, type InfiniteQueryObserverResult as az, QueryClient as b, type Action$1 as b0, type SetStateOptions as b1, fetchState as b2, type QueryTypeFilter as b3, noop as b4, functionalUpdate as b5, isValidTimeout as b6, timeUntilStale as b7, hashQueryKeyByOptions as b8, partialMatchKey as b9, shallowEqualObjects as ba, isPlainArray as bb, isPlainObject as bc, sleep as bd, replaceData as be, addToEnd as bf, addToStart as bg, ensureQueryFn as bh, type QueryStore as bi, type Action as bj, getDefaultState as bk, type Retryer as bl, type RetryValue as bm, type RetryDelayValue as bn, canFetch as bo, createRetryer as bp, QueryObserver as c, type MutationCacheNotifyEvent as d, MutationObserver as e, matchMutation as f, type MutationFilters as g, hashKey as h, isServer as i, type QueryFilters as j, keepPreviousData as k, isCancelledError as l, matchQuery as m, dehydrate as n, hydrate as o, defaultShouldDehydrateQuery as p, defaultShouldDehydrateMutation as q, replaceEqualDeep as r, skipToken as s, type QueryState as t, Query as u, Mutation as v, type MutationState as w, type DehydratedState as x, type DefaultError as y, type QueryKey as z };
@@ -71,9 +71,10 @@ interface FetchMeta {
71
71
  direction: FetchDirection;
72
72
  };
73
73
  }
74
- interface FetchOptions {
74
+ interface FetchOptions<TData = unknown> {
75
75
  cancelRefetch?: boolean;
76
76
  meta?: FetchMeta;
77
+ initialPromise?: Promise<TData>;
77
78
  }
78
79
  interface FailedAction$1<TError> {
79
80
  type: 'failed';
@@ -122,6 +123,7 @@ declare class Query<TQueryFnData = unknown, TError = DefaultError, TData = TQuer
122
123
  observers: Array<QueryObserver<any, any, any, any, any>>;
123
124
  constructor(config: QueryConfig<TQueryFnData, TError, TData, TQueryKey>);
124
125
  get meta(): QueryMeta | undefined;
126
+ get promise(): Promise<TData> | undefined;
125
127
  setOptions(options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>): void;
126
128
  protected optionalRemove(): void;
127
129
  setData(newData: TData, options?: SetDataOptions & {
@@ -141,7 +143,7 @@ declare class Query<TQueryFnData = unknown, TError = DefaultError, TData = TQuer
141
143
  removeObserver(observer: QueryObserver<any, any, any, any, any>): void;
142
144
  getObserversCount(): number;
143
145
  invalidate(): void;
144
- fetch(options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>, fetchOptions?: FetchOptions): Promise<TData>;
146
+ fetch(options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>, fetchOptions?: FetchOptions<TQueryFnData>): Promise<TData>;
145
147
  }
146
148
  declare function fetchState<TQueryFnData, TError, TData, TQueryKey extends QueryKey>(data: TData | undefined, options: QueryOptions<TQueryFnData, TError, TData, TQueryKey>): {
147
149
  readonly error?: null | undefined;
@@ -233,6 +235,10 @@ declare function addToEnd<T>(items: Array<T>, item: T, max?: number): Array<T>;
233
235
  declare function addToStart<T>(items: Array<T>, item: T, max?: number): Array<T>;
234
236
  declare const skipToken: unique symbol;
235
237
  type SkipToken = typeof skipToken;
238
+ declare const ensureQueryFn: <TQueryFnData = unknown, TQueryKey extends QueryKey = QueryKey>(options: {
239
+ queryFn?: typeof skipToken | QueryFunction<TQueryFnData, TQueryKey> | undefined;
240
+ queryHash?: string | undefined;
241
+ }, fetchOptions?: FetchOptions<TQueryFnData> | undefined) => QueryFunction<TQueryFnData, TQueryKey>;
236
242
 
237
243
  interface QueryCacheConfig {
238
244
  onError?: (error: DefaultError, query: Query<unknown, unknown, unknown>) => void;
@@ -461,6 +467,7 @@ declare function getDefaultState<TData, TError, TVariables, TContext>(): Mutatio
461
467
 
462
468
  interface RetryerConfig<TData = unknown, TError = DefaultError> {
463
469
  fn: () => TData | Promise<TData>;
470
+ initialPromise?: Promise<TData>;
464
471
  abort?: () => void;
465
472
  onError?: (error: TError) => void;
466
473
  onSuccess?: (data: TData) => void;
@@ -1173,6 +1180,8 @@ interface QueryClientConfig {
1173
1180
  interface DefaultOptions<TError = DefaultError> {
1174
1181
  queries?: OmitKeyof<QueryObserverOptions<unknown, TError>, 'suspense' | 'queryKey'>;
1175
1182
  mutations?: MutationObserverOptions<unknown, TError, unknown, unknown>;
1183
+ hydrate?: HydrateOptions['defaultOptions'];
1184
+ dehydrate?: DehydrateOptions;
1176
1185
  }
1177
1186
  interface CancelOptions {
1178
1187
  revert?: boolean;
@@ -1186,4 +1195,36 @@ interface NotifyEvent {
1186
1195
  type: NotifyEventType;
1187
1196
  }
1188
1197
 
1189
- export { type DefaultedInfiniteQueryObserverOptions as $, type QueryKeyHashFunction as A, type GetNextPageParamFunction as B, CancelledError as C, type DefaultError as D, type InfiniteData as E, type QueryMeta as F, type GetPreviousPageParamFunction as G, type NetworkMode as H, type InitialDataFunction as I, type NotifyOnChangeProps as J, type QueryOptions as K, type InitialPageParam as L, MutationCache as M, type NoInfer as N, type OmitKeyof as O, type PlaceholderDataFunction as P, QueryCache as Q, type Register as R, type SkipToken as S, type InfiniteQueryPageParamsOptions as T, type Updater as U, type ThrowOnError as V, type QueryObserverOptions as W, type WithRequired as X, type Optional as Y, type DefaultedQueryObserverOptions as Z, type InfiniteQueryObserverOptions as _, type QueryCacheNotifyEvent as a, isValidTimeout as a$, type FetchQueryOptions as a0, type EnsureQueryDataOptions as a1, type FetchInfiniteQueryOptions as a2, type ResultOptions as a3, type RefetchOptions as a4, type InvalidateQueryFilters as a5, type RefetchQueryFilters as a6, type InvalidateOptions as a7, type ResetOptions as a8, type FetchNextPageOptions as a9, type MutateOptions as aA, type MutateFunction as aB, type MutationObserverBaseResult as aC, type MutationObserverIdleResult as aD, type MutationObserverLoadingResult as aE, type MutationObserverErrorResult as aF, type MutationObserverSuccessResult as aG, type MutationObserverResult as aH, type QueryClientConfig as aI, type DefaultOptions as aJ, type CancelOptions as aK, type SetDataOptions as aL, type NotifyEventType as aM, type NotifyEvent as aN, type QueryBehavior as aO, type ObserverFetchOptions as aP, type NotifyOptions as aQ, type FetchContext as aR, type FetchDirection as aS, type FetchMeta as aT, type FetchOptions as aU, type Action$1 as aV, type SetStateOptions as aW, fetchState as aX, type QueryTypeFilter as aY, noop as aZ, functionalUpdate as a_, type FetchPreviousPageOptions as aa, type QueryStatus as ab, type FetchStatus as ac, type QueryObserverBaseResult as ad, type QueryObserverPendingResult as ae, type QueryObserverLoadingResult as af, type QueryObserverLoadingErrorResult as ag, type QueryObserverRefetchErrorResult as ah, type QueryObserverSuccessResult as ai, type DefinedQueryObserverResult as aj, type QueryObserverResult as ak, type InfiniteQueryObserverBaseResult as al, type InfiniteQueryObserverPendingResult as am, type InfiniteQueryObserverLoadingResult as an, type InfiniteQueryObserverLoadingErrorResult as ao, type InfiniteQueryObserverRefetchErrorResult as ap, type InfiniteQueryObserverSuccessResult as aq, type DefinedInfiniteQueryObserverResult as ar, type InfiniteQueryObserverResult as as, type MutationKey as at, type MutationStatus as au, type MutationScope as av, type MutationMeta as aw, type MutationFunction as ax, type MutationOptions as ay, type MutationObserverOptions as az, QueryClient as b, timeUntilStale as b0, hashQueryKeyByOptions as b1, partialMatchKey as b2, shallowEqualObjects as b3, isPlainArray as b4, isPlainObject as b5, sleep as b6, replaceData as b7, addToEnd as b8, addToStart as b9, type QueryStore as ba, type Action as bb, getDefaultState as bc, type Retryer as bd, type RetryValue as be, type RetryDelayValue as bf, canFetch as bg, createRetryer as bh, QueryObserver as c, type MutationCacheNotifyEvent as d, MutationObserver as e, matchMutation as f, type MutationFilters as g, hashKey as h, isServer as i, type QueryFilters as j, keepPreviousData as k, isCancelledError as l, matchQuery as m, type QueryState as n, Query as o, Mutation as p, type MutationState as q, replaceEqualDeep as r, skipToken as s, type QueryKey as t, dataTagSymbol as u, type DataTag as v, type QueryFunction as w, type QueryPersister as x, type QueryFunctionContext as y, type QueriesPlaceholderDataFunction as z };
1198
+ interface DehydrateOptions {
1199
+ shouldDehydrateMutation?: (mutation: Mutation) => boolean;
1200
+ shouldDehydrateQuery?: (query: Query) => boolean;
1201
+ }
1202
+ interface HydrateOptions {
1203
+ defaultOptions?: {
1204
+ queries?: QueryOptions;
1205
+ mutations?: MutationOptions<unknown, DefaultError, unknown, unknown>;
1206
+ };
1207
+ }
1208
+ interface DehydratedMutation {
1209
+ mutationKey?: MutationKey;
1210
+ state: MutationState;
1211
+ meta?: MutationMeta;
1212
+ scope?: MutationScope;
1213
+ }
1214
+ interface DehydratedQuery {
1215
+ queryHash: string;
1216
+ queryKey: QueryKey;
1217
+ state: QueryState;
1218
+ promise?: Promise<unknown>;
1219
+ meta?: QueryMeta;
1220
+ }
1221
+ interface DehydratedState {
1222
+ mutations: Array<DehydratedMutation>;
1223
+ queries: Array<DehydratedQuery>;
1224
+ }
1225
+ declare function defaultShouldDehydrateMutation(mutation: Mutation): boolean;
1226
+ declare function defaultShouldDehydrateQuery(query: Query): boolean;
1227
+ declare function dehydrate(client: QueryClient, options?: DehydrateOptions): DehydratedState;
1228
+ declare function hydrate(client: QueryClient, dehydratedState: unknown, options?: HydrateOptions): void;
1229
+
1230
+ export { type InfiniteQueryPageParamsOptions as $, dataTagSymbol as A, type DataTag as B, CancelledError as C, type DehydrateOptions as D, type QueryFunction as E, type QueryPersister as F, type QueryFunctionContext as G, type HydrateOptions as H, type InitialDataFunction as I, type QueriesPlaceholderDataFunction as J, type QueryKeyHashFunction as K, type GetPreviousPageParamFunction as L, MutationCache as M, type NoInfer as N, type OmitKeyof as O, type PlaceholderDataFunction as P, QueryCache as Q, type Register as R, type SkipToken as S, type GetNextPageParamFunction as T, type Updater as U, type InfiniteData as V, type QueryMeta as W, type NetworkMode as X, type NotifyOnChangeProps as Y, type QueryOptions as Z, type InitialPageParam as _, type QueryCacheNotifyEvent as a, type FetchOptions as a$, type ThrowOnError as a0, type QueryObserverOptions as a1, type WithRequired as a2, type Optional as a3, type DefaultedQueryObserverOptions as a4, type InfiniteQueryObserverOptions as a5, type DefaultedInfiniteQueryObserverOptions as a6, type FetchQueryOptions as a7, type EnsureQueryDataOptions as a8, type FetchInfiniteQueryOptions as a9, type MutationKey as aA, type MutationStatus as aB, type MutationScope as aC, type MutationMeta as aD, type MutationFunction as aE, type MutationOptions as aF, type MutationObserverOptions as aG, type MutateOptions as aH, type MutateFunction as aI, type MutationObserverBaseResult as aJ, type MutationObserverIdleResult as aK, type MutationObserverLoadingResult as aL, type MutationObserverErrorResult as aM, type MutationObserverSuccessResult as aN, type MutationObserverResult as aO, type QueryClientConfig as aP, type DefaultOptions as aQ, type CancelOptions as aR, type SetDataOptions as aS, type NotifyEventType as aT, type NotifyEvent as aU, type QueryBehavior as aV, type ObserverFetchOptions as aW, type NotifyOptions as aX, type FetchContext as aY, type FetchDirection as aZ, type FetchMeta as a_, type ResultOptions as aa, type RefetchOptions as ab, type InvalidateQueryFilters as ac, type RefetchQueryFilters as ad, type InvalidateOptions as ae, type ResetOptions as af, type FetchNextPageOptions as ag, type FetchPreviousPageOptions as ah, type QueryStatus as ai, type FetchStatus as aj, type QueryObserverBaseResult as ak, type QueryObserverPendingResult as al, type QueryObserverLoadingResult as am, type QueryObserverLoadingErrorResult as an, type QueryObserverRefetchErrorResult as ao, type QueryObserverSuccessResult as ap, type DefinedQueryObserverResult as aq, type QueryObserverResult as ar, type InfiniteQueryObserverBaseResult as as, type InfiniteQueryObserverPendingResult as at, type InfiniteQueryObserverLoadingResult as au, type InfiniteQueryObserverLoadingErrorResult as av, type InfiniteQueryObserverRefetchErrorResult as aw, type InfiniteQueryObserverSuccessResult as ax, type DefinedInfiniteQueryObserverResult as ay, type InfiniteQueryObserverResult as az, QueryClient as b, type Action$1 as b0, type SetStateOptions as b1, fetchState as b2, type QueryTypeFilter as b3, noop as b4, functionalUpdate as b5, isValidTimeout as b6, timeUntilStale as b7, hashQueryKeyByOptions as b8, partialMatchKey as b9, shallowEqualObjects as ba, isPlainArray as bb, isPlainObject as bc, sleep as bd, replaceData as be, addToEnd as bf, addToStart as bg, ensureQueryFn as bh, type QueryStore as bi, type Action as bj, getDefaultState as bk, type Retryer as bl, type RetryValue as bm, type RetryDelayValue as bn, canFetch as bo, createRetryer as bp, QueryObserver as c, type MutationCacheNotifyEvent as d, MutationObserver as e, matchMutation as f, type MutationFilters as g, hashKey as h, isServer as i, type QueryFilters as j, keepPreviousData as k, isCancelledError as l, matchQuery as m, dehydrate as n, hydrate as o, defaultShouldDehydrateQuery as p, defaultShouldDehydrateMutation as q, replaceEqualDeep as r, skipToken as s, type QueryState as t, Query as u, Mutation as v, type MutationState as w, type DehydratedState as x, type DefaultError as y, type QueryKey as z };
@@ -35,10 +35,21 @@ function dehydrateMutation(mutation) {
35
35
  };
36
36
  }
37
37
  function dehydrateQuery(query) {
38
+ var _a;
38
39
  return {
39
40
  state: query.state,
40
41
  queryKey: query.queryKey,
41
42
  queryHash: query.queryHash,
43
+ ...query.state.status === "pending" && {
44
+ promise: (_a = query.promise) == null ? void 0 : _a.catch((error) => {
45
+ if (process.env.NODE_ENV !== "production") {
46
+ console.error(
47
+ `A query that was dehydrated as pending ended up rejecting. [${query.queryHash}]: ${error}; The error will be redacted in production builds`
48
+ );
49
+ }
50
+ return Promise.reject(new Error("redacted"));
51
+ })
52
+ },
42
53
  ...query.meta && { meta: query.meta }
43
54
  };
44
55
  }
@@ -49,11 +60,12 @@ function defaultShouldDehydrateQuery(query) {
49
60
  return query.state.status === "success";
50
61
  }
51
62
  function dehydrate(client, options = {}) {
52
- const filterMutation = options.shouldDehydrateMutation ?? defaultShouldDehydrateMutation;
63
+ var _a, _b;
64
+ const filterMutation = options.shouldDehydrateMutation ?? ((_a = client.getDefaultOptions().dehydrate) == null ? void 0 : _a.shouldDehydrateMutation) ?? defaultShouldDehydrateMutation;
53
65
  const mutations = client.getMutationCache().getAll().flatMap(
54
66
  (mutation) => filterMutation(mutation) ? [dehydrateMutation(mutation)] : []
55
67
  );
56
- const filterQuery = options.shouldDehydrateQuery ?? defaultShouldDehydrateQuery;
68
+ const filterQuery = options.shouldDehydrateQuery ?? ((_b = client.getDefaultOptions().dehydrate) == null ? void 0 : _b.shouldDehydrateQuery) ?? defaultShouldDehydrateQuery;
57
69
  const queries = client.getQueryCache().getAll().flatMap((query) => filterQuery(query) ? [dehydrateQuery(query)] : []);
58
70
  return { mutations, queries };
59
71
  }
@@ -66,41 +78,46 @@ function hydrate(client, dehydratedState, options) {
66
78
  const mutations = dehydratedState.mutations || [];
67
79
  const queries = dehydratedState.queries || [];
68
80
  mutations.forEach(({ state, ...mutationOptions }) => {
69
- var _a;
81
+ var _a, _b;
70
82
  mutationCache.build(
71
83
  client,
72
84
  {
73
- ...(_a = options == null ? void 0 : options.defaultOptions) == null ? void 0 : _a.mutations,
85
+ ...(_a = client.getDefaultOptions().hydrate) == null ? void 0 : _a.mutations,
86
+ ...(_b = options == null ? void 0 : options.defaultOptions) == null ? void 0 : _b.mutations,
74
87
  ...mutationOptions
75
88
  },
76
89
  state
77
90
  );
78
91
  });
79
- queries.forEach(({ queryKey, state, queryHash, meta }) => {
80
- var _a;
81
- const query = queryCache.get(queryHash);
92
+ queries.forEach(({ queryKey, state, queryHash, meta, promise }) => {
93
+ var _a, _b;
94
+ let query = queryCache.get(queryHash);
82
95
  if (query) {
83
96
  if (query.state.dataUpdatedAt < state.dataUpdatedAt) {
84
97
  const { fetchStatus: _ignored, ...dehydratedQueryState } = state;
85
98
  query.setState(dehydratedQueryState);
86
99
  }
87
- return;
100
+ } else {
101
+ query = queryCache.build(
102
+ client,
103
+ {
104
+ ...(_a = client.getDefaultOptions().hydrate) == null ? void 0 : _a.queries,
105
+ ...(_b = options == null ? void 0 : options.defaultOptions) == null ? void 0 : _b.queries,
106
+ queryKey,
107
+ queryHash,
108
+ meta
109
+ },
110
+ // Reset fetch status to idle to avoid
111
+ // query being stuck in fetching state upon hydration
112
+ {
113
+ ...state,
114
+ fetchStatus: "idle"
115
+ }
116
+ );
117
+ }
118
+ if (promise) {
119
+ void query.fetch(void 0, { initialPromise: promise });
88
120
  }
89
- queryCache.build(
90
- client,
91
- {
92
- ...(_a = options == null ? void 0 : options.defaultOptions) == null ? void 0 : _a.queries,
93
- queryKey,
94
- queryHash,
95
- meta
96
- },
97
- // Reset fetch status to idle to avoid
98
- // query being stuck in fetching state upon hydration
99
- {
100
- ...state,
101
- fetchStatus: "idle"
102
- }
103
- );
104
121
  });
105
122
  }
106
123
  // Annotate the CommonJS export names for ESM import in node:
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hydration.ts"],"sourcesContent":["import type {\n DefaultError,\n MutationKey,\n MutationMeta,\n MutationOptions,\n MutationScope,\n QueryKey,\n QueryMeta,\n QueryOptions,\n} from './types'\nimport type { QueryClient } from './queryClient'\nimport type { Query, QueryState } from './query'\nimport type { Mutation, MutationState } from './mutation'\n\n// TYPES\n\nexport interface DehydrateOptions {\n shouldDehydrateMutation?: (mutation: Mutation) => boolean\n shouldDehydrateQuery?: (query: Query) => boolean\n}\n\nexport interface HydrateOptions {\n defaultOptions?: {\n queries?: QueryOptions\n mutations?: MutationOptions<unknown, DefaultError, unknown, unknown>\n }\n}\n\ninterface DehydratedMutation {\n mutationKey?: MutationKey\n state: MutationState\n meta?: MutationMeta\n scope?: MutationScope\n}\n\ninterface DehydratedQuery {\n queryHash: string\n queryKey: QueryKey\n state: QueryState\n meta?: QueryMeta\n}\n\nexport interface DehydratedState {\n mutations: Array<DehydratedMutation>\n queries: Array<DehydratedQuery>\n}\n\n// FUNCTIONS\n\nfunction dehydrateMutation(mutation: Mutation): DehydratedMutation {\n return {\n mutationKey: mutation.options.mutationKey,\n state: mutation.state,\n ...(mutation.options.scope && { scope: mutation.options.scope }),\n ...(mutation.meta && { meta: mutation.meta }),\n }\n}\n\n// Most config is not dehydrated but instead meant to configure again when\n// consuming the de/rehydrated data, typically with useQuery on the client.\n// Sometimes it might make sense to prefetch data on the server and include\n// in the html-payload, but not consume it on the initial render.\nfunction dehydrateQuery(query: Query): DehydratedQuery {\n return {\n state: query.state,\n queryKey: query.queryKey,\n queryHash: query.queryHash,\n ...(query.meta && { meta: query.meta }),\n }\n}\n\nexport function defaultShouldDehydrateMutation(mutation: Mutation) {\n return mutation.state.isPaused\n}\n\nexport function defaultShouldDehydrateQuery(query: Query) {\n return query.state.status === 'success'\n}\n\nexport function dehydrate(\n client: QueryClient,\n options: DehydrateOptions = {},\n): DehydratedState {\n const filterMutation =\n options.shouldDehydrateMutation ?? defaultShouldDehydrateMutation\n\n const mutations = client\n .getMutationCache()\n .getAll()\n .flatMap((mutation) =>\n filterMutation(mutation) ? [dehydrateMutation(mutation)] : [],\n )\n\n const filterQuery =\n options.shouldDehydrateQuery ?? defaultShouldDehydrateQuery\n\n const queries = client\n .getQueryCache()\n .getAll()\n .flatMap((query) => (filterQuery(query) ? [dehydrateQuery(query)] : []))\n\n return { mutations, queries }\n}\n\nexport function hydrate(\n client: QueryClient,\n dehydratedState: unknown,\n options?: HydrateOptions,\n): void {\n if (typeof dehydratedState !== 'object' || dehydratedState === null) {\n return\n }\n\n const mutationCache = client.getMutationCache()\n const queryCache = client.getQueryCache()\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n const mutations = (dehydratedState as DehydratedState).mutations || []\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n const queries = (dehydratedState as DehydratedState).queries || []\n\n mutations.forEach(({ state, ...mutationOptions }) => {\n mutationCache.build(\n client,\n {\n ...options?.defaultOptions?.mutations,\n ...mutationOptions,\n },\n state,\n )\n })\n\n queries.forEach(({ queryKey, state, queryHash, meta }) => {\n const query = queryCache.get(queryHash)\n\n // Do not hydrate if an existing query exists with newer data\n if (query) {\n if (query.state.dataUpdatedAt < state.dataUpdatedAt) {\n // omit fetchStatus from dehydrated state\n // so that query stays in its current fetchStatus\n const { fetchStatus: _ignored, ...dehydratedQueryState } = state\n query.setState(dehydratedQueryState)\n }\n return\n }\n\n // Restore query\n queryCache.build(\n client,\n {\n ...options?.defaultOptions?.queries,\n queryKey,\n queryHash,\n meta,\n },\n // Reset fetch status to idle to avoid\n // query being stuck in fetching state upon hydration\n {\n ...state,\n fetchStatus: 'idle',\n },\n )\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiDA,SAAS,kBAAkB,UAAwC;AACjE,SAAO;AAAA,IACL,aAAa,SAAS,QAAQ;AAAA,IAC9B,OAAO,SAAS;AAAA,IAChB,GAAI,SAAS,QAAQ,SAAS,EAAE,OAAO,SAAS,QAAQ,MAAM;AAAA,IAC9D,GAAI,SAAS,QAAQ,EAAE,MAAM,SAAS,KAAK;AAAA,EAC7C;AACF;AAMA,SAAS,eAAe,OAA+B;AACrD,SAAO;AAAA,IACL,OAAO,MAAM;AAAA,IACb,UAAU,MAAM;AAAA,IAChB,WAAW,MAAM;AAAA,IACjB,GAAI,MAAM,QAAQ,EAAE,MAAM,MAAM,KAAK;AAAA,EACvC;AACF;AAEO,SAAS,+BAA+B,UAAoB;AACjE,SAAO,SAAS,MAAM;AACxB;AAEO,SAAS,4BAA4B,OAAc;AACxD,SAAO,MAAM,MAAM,WAAW;AAChC;AAEO,SAAS,UACd,QACA,UAA4B,CAAC,GACZ;AACjB,QAAM,iBACJ,QAAQ,2BAA2B;AAErC,QAAM,YAAY,OACf,iBAAiB,EACjB,OAAO,EACP;AAAA,IAAQ,CAAC,aACR,eAAe,QAAQ,IAAI,CAAC,kBAAkB,QAAQ,CAAC,IAAI,CAAC;AAAA,EAC9D;AAEF,QAAM,cACJ,QAAQ,wBAAwB;AAElC,QAAM,UAAU,OACb,cAAc,EACd,OAAO,EACP,QAAQ,CAAC,UAAW,YAAY,KAAK,IAAI,CAAC,eAAe,KAAK,CAAC,IAAI,CAAC,CAAE;AAEzE,SAAO,EAAE,WAAW,QAAQ;AAC9B;AAEO,SAAS,QACd,QACA,iBACA,SACM;AACN,MAAI,OAAO,oBAAoB,YAAY,oBAAoB,MAAM;AACnE;AAAA,EACF;AAEA,QAAM,gBAAgB,OAAO,iBAAiB;AAC9C,QAAM,aAAa,OAAO,cAAc;AAGxC,QAAM,YAAa,gBAAoC,aAAa,CAAC;AAErE,QAAM,UAAW,gBAAoC,WAAW,CAAC;AAEjE,YAAU,QAAQ,CAAC,EAAE,OAAO,GAAG,gBAAgB,MAAM;AAzHvD;AA0HI,kBAAc;AAAA,MACZ;AAAA,MACA;AAAA,QACE,IAAG,wCAAS,mBAAT,mBAAyB;AAAA,QAC5B,GAAG;AAAA,MACL;AAAA,MACA;AAAA,IACF;AAAA,EACF,CAAC;AAED,UAAQ,QAAQ,CAAC,EAAE,UAAU,OAAO,WAAW,KAAK,MAAM;AApI5D;AAqII,UAAM,QAAQ,WAAW,IAAI,SAAS;AAGtC,QAAI,OAAO;AACT,UAAI,MAAM,MAAM,gBAAgB,MAAM,eAAe;AAGnD,cAAM,EAAE,aAAa,UAAU,GAAG,qBAAqB,IAAI;AAC3D,cAAM,SAAS,oBAAoB;AAAA,MACrC;AACA;AAAA,IACF;AAGA,eAAW;AAAA,MACT;AAAA,MACA;AAAA,QACE,IAAG,wCAAS,mBAAT,mBAAyB;AAAA,QAC5B;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA;AAAA;AAAA,MAGA;AAAA,QACE,GAAG;AAAA,QACH,aAAa;AAAA,MACf;AAAA,IACF;AAAA,EACF,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../../src/hydration.ts"],"sourcesContent":["import type {\n DefaultError,\n MutationKey,\n MutationMeta,\n MutationOptions,\n MutationScope,\n QueryKey,\n QueryMeta,\n QueryOptions,\n} from './types'\nimport type { QueryClient } from './queryClient'\nimport type { Query, QueryState } from './query'\nimport type { Mutation, MutationState } from './mutation'\n\n// TYPES\n\nexport interface DehydrateOptions {\n shouldDehydrateMutation?: (mutation: Mutation) => boolean\n shouldDehydrateQuery?: (query: Query) => boolean\n}\n\nexport interface HydrateOptions {\n defaultOptions?: {\n queries?: QueryOptions\n mutations?: MutationOptions<unknown, DefaultError, unknown, unknown>\n }\n}\n\ninterface DehydratedMutation {\n mutationKey?: MutationKey\n state: MutationState\n meta?: MutationMeta\n scope?: MutationScope\n}\n\ninterface DehydratedQuery {\n queryHash: string\n queryKey: QueryKey\n state: QueryState\n promise?: Promise<unknown>\n meta?: QueryMeta\n}\n\nexport interface DehydratedState {\n mutations: Array<DehydratedMutation>\n queries: Array<DehydratedQuery>\n}\n\n// FUNCTIONS\n\nfunction dehydrateMutation(mutation: Mutation): DehydratedMutation {\n return {\n mutationKey: mutation.options.mutationKey,\n state: mutation.state,\n ...(mutation.options.scope && { scope: mutation.options.scope }),\n ...(mutation.meta && { meta: mutation.meta }),\n }\n}\n\n// Most config is not dehydrated but instead meant to configure again when\n// consuming the de/rehydrated data, typically with useQuery on the client.\n// Sometimes it might make sense to prefetch data on the server and include\n// in the html-payload, but not consume it on the initial render.\nfunction dehydrateQuery(query: Query): DehydratedQuery {\n return {\n state: query.state,\n queryKey: query.queryKey,\n queryHash: query.queryHash,\n ...(query.state.status === 'pending' && {\n promise: query.promise?.catch((error) => {\n if (process.env.NODE_ENV !== 'production') {\n console.error(\n `A query that was dehydrated as pending ended up rejecting. [${query.queryHash}]: ${error}; The error will be redacted in production builds`,\n )\n }\n return Promise.reject(new Error('redacted'))\n }),\n }),\n ...(query.meta && { meta: query.meta }),\n }\n}\n\nexport function defaultShouldDehydrateMutation(mutation: Mutation) {\n return mutation.state.isPaused\n}\n\nexport function defaultShouldDehydrateQuery(query: Query) {\n return query.state.status === 'success'\n}\n\nexport function dehydrate(\n client: QueryClient,\n options: DehydrateOptions = {},\n): DehydratedState {\n const filterMutation =\n options.shouldDehydrateMutation ??\n client.getDefaultOptions().dehydrate?.shouldDehydrateMutation ??\n defaultShouldDehydrateMutation\n\n const mutations = client\n .getMutationCache()\n .getAll()\n .flatMap((mutation) =>\n filterMutation(mutation) ? [dehydrateMutation(mutation)] : [],\n )\n\n const filterQuery =\n options.shouldDehydrateQuery ??\n client.getDefaultOptions().dehydrate?.shouldDehydrateQuery ??\n defaultShouldDehydrateQuery\n\n const queries = client\n .getQueryCache()\n .getAll()\n .flatMap((query) => (filterQuery(query) ? [dehydrateQuery(query)] : []))\n\n return { mutations, queries }\n}\n\nexport function hydrate(\n client: QueryClient,\n dehydratedState: unknown,\n options?: HydrateOptions,\n): void {\n if (typeof dehydratedState !== 'object' || dehydratedState === null) {\n return\n }\n\n const mutationCache = client.getMutationCache()\n const queryCache = client.getQueryCache()\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n const mutations = (dehydratedState as DehydratedState).mutations || []\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n const queries = (dehydratedState as DehydratedState).queries || []\n\n mutations.forEach(({ state, ...mutationOptions }) => {\n mutationCache.build(\n client,\n {\n ...client.getDefaultOptions().hydrate?.mutations,\n ...options?.defaultOptions?.mutations,\n ...mutationOptions,\n },\n state,\n )\n })\n\n queries.forEach(({ queryKey, state, queryHash, meta, promise }) => {\n let query = queryCache.get(queryHash)\n\n // Do not hydrate if an existing query exists with newer data\n if (query) {\n if (query.state.dataUpdatedAt < state.dataUpdatedAt) {\n // omit fetchStatus from dehydrated state\n // so that query stays in its current fetchStatus\n const { fetchStatus: _ignored, ...dehydratedQueryState } = state\n query.setState(dehydratedQueryState)\n }\n } else {\n // Restore query\n query = queryCache.build(\n client,\n {\n ...client.getDefaultOptions().hydrate?.queries,\n ...options?.defaultOptions?.queries,\n queryKey,\n queryHash,\n meta,\n },\n // Reset fetch status to idle to avoid\n // query being stuck in fetching state upon hydration\n {\n ...state,\n fetchStatus: 'idle',\n },\n )\n }\n\n if (promise) {\n // this doesn't actually fetch - it just creates a retryer\n // which will re-use the passed `initialPromise`\n void query.fetch(undefined, { initialPromise: promise })\n }\n })\n}\n"],"mappings":"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","names":[]}
@@ -1,36 +1,3 @@
1
- import { p as Mutation, o as Query, K as QueryOptions, ay as MutationOptions, D as DefaultError, b as QueryClient, at as MutationKey, q as MutationState, aw as MutationMeta, av as MutationScope, t as QueryKey, n as QueryState, F as QueryMeta } from './types-BvcshvE9.cjs';
1
+ export { D as DehydrateOptions, x as DehydratedState, H as HydrateOptions, q as defaultShouldDehydrateMutation, p as defaultShouldDehydrateQuery, n as dehydrate, o as hydrate } from './hydration-DAs3cQH5.cjs';
2
2
  import './removable.cjs';
3
3
  import './subscribable.cjs';
4
-
5
- interface DehydrateOptions {
6
- shouldDehydrateMutation?: (mutation: Mutation) => boolean;
7
- shouldDehydrateQuery?: (query: Query) => boolean;
8
- }
9
- interface HydrateOptions {
10
- defaultOptions?: {
11
- queries?: QueryOptions;
12
- mutations?: MutationOptions<unknown, DefaultError, unknown, unknown>;
13
- };
14
- }
15
- interface DehydratedMutation {
16
- mutationKey?: MutationKey;
17
- state: MutationState;
18
- meta?: MutationMeta;
19
- scope?: MutationScope;
20
- }
21
- interface DehydratedQuery {
22
- queryHash: string;
23
- queryKey: QueryKey;
24
- state: QueryState;
25
- meta?: QueryMeta;
26
- }
27
- interface DehydratedState {
28
- mutations: Array<DehydratedMutation>;
29
- queries: Array<DehydratedQuery>;
30
- }
31
- declare function defaultShouldDehydrateMutation(mutation: Mutation): boolean;
32
- declare function defaultShouldDehydrateQuery(query: Query): boolean;
33
- declare function dehydrate(client: QueryClient, options?: DehydrateOptions): DehydratedState;
34
- declare function hydrate(client: QueryClient, dehydratedState: unknown, options?: HydrateOptions): void;
35
-
36
- export { type DehydrateOptions, type DehydratedState, type HydrateOptions, defaultShouldDehydrateMutation, defaultShouldDehydrateQuery, dehydrate, hydrate };
@@ -1,36 +1,3 @@
1
- import { p as Mutation, o as Query, K as QueryOptions, ay as MutationOptions, D as DefaultError, b as QueryClient, at as MutationKey, q as MutationState, aw as MutationMeta, av as MutationScope, t as QueryKey, n as QueryState, F as QueryMeta } from './types-BtrVwz9w.js';
1
+ export { D as DehydrateOptions, x as DehydratedState, H as HydrateOptions, q as defaultShouldDehydrateMutation, p as defaultShouldDehydrateQuery, n as dehydrate, o as hydrate } from './hydration-yBB_smkL.js';
2
2
  import './removable.js';
3
3
  import './subscribable.js';
4
-
5
- interface DehydrateOptions {
6
- shouldDehydrateMutation?: (mutation: Mutation) => boolean;
7
- shouldDehydrateQuery?: (query: Query) => boolean;
8
- }
9
- interface HydrateOptions {
10
- defaultOptions?: {
11
- queries?: QueryOptions;
12
- mutations?: MutationOptions<unknown, DefaultError, unknown, unknown>;
13
- };
14
- }
15
- interface DehydratedMutation {
16
- mutationKey?: MutationKey;
17
- state: MutationState;
18
- meta?: MutationMeta;
19
- scope?: MutationScope;
20
- }
21
- interface DehydratedQuery {
22
- queryHash: string;
23
- queryKey: QueryKey;
24
- state: QueryState;
25
- meta?: QueryMeta;
26
- }
27
- interface DehydratedState {
28
- mutations: Array<DehydratedMutation>;
29
- queries: Array<DehydratedQuery>;
30
- }
31
- declare function defaultShouldDehydrateMutation(mutation: Mutation): boolean;
32
- declare function defaultShouldDehydrateQuery(query: Query): boolean;
33
- declare function dehydrate(client: QueryClient, options?: DehydrateOptions): DehydratedState;
34
- declare function hydrate(client: QueryClient, dehydratedState: unknown, options?: HydrateOptions): void;
35
-
36
- export { type DehydrateOptions, type DehydratedState, type HydrateOptions, defaultShouldDehydrateMutation, defaultShouldDehydrateQuery, dehydrate, hydrate };
@@ -10,10 +10,21 @@ function dehydrateMutation(mutation) {
10
10
  };
11
11
  }
12
12
  function dehydrateQuery(query) {
13
+ var _a;
13
14
  return {
14
15
  state: query.state,
15
16
  queryKey: query.queryKey,
16
17
  queryHash: query.queryHash,
18
+ ...query.state.status === "pending" && {
19
+ promise: (_a = query.promise) == null ? void 0 : _a.catch((error) => {
20
+ if (process.env.NODE_ENV !== "production") {
21
+ console.error(
22
+ `A query that was dehydrated as pending ended up rejecting. [${query.queryHash}]: ${error}; The error will be redacted in production builds`
23
+ );
24
+ }
25
+ return Promise.reject(new Error("redacted"));
26
+ })
27
+ },
17
28
  ...query.meta && { meta: query.meta }
18
29
  };
19
30
  }
@@ -24,11 +35,12 @@ function defaultShouldDehydrateQuery(query) {
24
35
  return query.state.status === "success";
25
36
  }
26
37
  function dehydrate(client, options = {}) {
27
- const filterMutation = options.shouldDehydrateMutation ?? defaultShouldDehydrateMutation;
38
+ var _a, _b;
39
+ const filterMutation = options.shouldDehydrateMutation ?? ((_a = client.getDefaultOptions().dehydrate) == null ? void 0 : _a.shouldDehydrateMutation) ?? defaultShouldDehydrateMutation;
28
40
  const mutations = client.getMutationCache().getAll().flatMap(
29
41
  (mutation) => filterMutation(mutation) ? [dehydrateMutation(mutation)] : []
30
42
  );
31
- const filterQuery = options.shouldDehydrateQuery ?? defaultShouldDehydrateQuery;
43
+ const filterQuery = options.shouldDehydrateQuery ?? ((_b = client.getDefaultOptions().dehydrate) == null ? void 0 : _b.shouldDehydrateQuery) ?? defaultShouldDehydrateQuery;
32
44
  const queries = client.getQueryCache().getAll().flatMap((query) => filterQuery(query) ? [dehydrateQuery(query)] : []);
33
45
  return { mutations, queries };
34
46
  }
@@ -41,41 +53,46 @@ function hydrate(client, dehydratedState, options) {
41
53
  const mutations = dehydratedState.mutations || [];
42
54
  const queries = dehydratedState.queries || [];
43
55
  mutations.forEach(({ state, ...mutationOptions }) => {
44
- var _a;
56
+ var _a, _b;
45
57
  mutationCache.build(
46
58
  client,
47
59
  {
48
- ...(_a = options == null ? void 0 : options.defaultOptions) == null ? void 0 : _a.mutations,
60
+ ...(_a = client.getDefaultOptions().hydrate) == null ? void 0 : _a.mutations,
61
+ ...(_b = options == null ? void 0 : options.defaultOptions) == null ? void 0 : _b.mutations,
49
62
  ...mutationOptions
50
63
  },
51
64
  state
52
65
  );
53
66
  });
54
- queries.forEach(({ queryKey, state, queryHash, meta }) => {
55
- var _a;
56
- const query = queryCache.get(queryHash);
67
+ queries.forEach(({ queryKey, state, queryHash, meta, promise }) => {
68
+ var _a, _b;
69
+ let query = queryCache.get(queryHash);
57
70
  if (query) {
58
71
  if (query.state.dataUpdatedAt < state.dataUpdatedAt) {
59
72
  const { fetchStatus: _ignored, ...dehydratedQueryState } = state;
60
73
  query.setState(dehydratedQueryState);
61
74
  }
62
- return;
75
+ } else {
76
+ query = queryCache.build(
77
+ client,
78
+ {
79
+ ...(_a = client.getDefaultOptions().hydrate) == null ? void 0 : _a.queries,
80
+ ...(_b = options == null ? void 0 : options.defaultOptions) == null ? void 0 : _b.queries,
81
+ queryKey,
82
+ queryHash,
83
+ meta
84
+ },
85
+ // Reset fetch status to idle to avoid
86
+ // query being stuck in fetching state upon hydration
87
+ {
88
+ ...state,
89
+ fetchStatus: "idle"
90
+ }
91
+ );
92
+ }
93
+ if (promise) {
94
+ void query.fetch(void 0, { initialPromise: promise });
63
95
  }
64
- queryCache.build(
65
- client,
66
- {
67
- ...(_a = options == null ? void 0 : options.defaultOptions) == null ? void 0 : _a.queries,
68
- queryKey,
69
- queryHash,
70
- meta
71
- },
72
- // Reset fetch status to idle to avoid
73
- // query being stuck in fetching state upon hydration
74
- {
75
- ...state,
76
- fetchStatus: "idle"
77
- }
78
- );
79
96
  });
80
97
  }
81
98
  export {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hydration.ts"],"sourcesContent":["import type {\n DefaultError,\n MutationKey,\n MutationMeta,\n MutationOptions,\n MutationScope,\n QueryKey,\n QueryMeta,\n QueryOptions,\n} from './types'\nimport type { QueryClient } from './queryClient'\nimport type { Query, QueryState } from './query'\nimport type { Mutation, MutationState } from './mutation'\n\n// TYPES\n\nexport interface DehydrateOptions {\n shouldDehydrateMutation?: (mutation: Mutation) => boolean\n shouldDehydrateQuery?: (query: Query) => boolean\n}\n\nexport interface HydrateOptions {\n defaultOptions?: {\n queries?: QueryOptions\n mutations?: MutationOptions<unknown, DefaultError, unknown, unknown>\n }\n}\n\ninterface DehydratedMutation {\n mutationKey?: MutationKey\n state: MutationState\n meta?: MutationMeta\n scope?: MutationScope\n}\n\ninterface DehydratedQuery {\n queryHash: string\n queryKey: QueryKey\n state: QueryState\n meta?: QueryMeta\n}\n\nexport interface DehydratedState {\n mutations: Array<DehydratedMutation>\n queries: Array<DehydratedQuery>\n}\n\n// FUNCTIONS\n\nfunction dehydrateMutation(mutation: Mutation): DehydratedMutation {\n return {\n mutationKey: mutation.options.mutationKey,\n state: mutation.state,\n ...(mutation.options.scope && { scope: mutation.options.scope }),\n ...(mutation.meta && { meta: mutation.meta }),\n }\n}\n\n// Most config is not dehydrated but instead meant to configure again when\n// consuming the de/rehydrated data, typically with useQuery on the client.\n// Sometimes it might make sense to prefetch data on the server and include\n// in the html-payload, but not consume it on the initial render.\nfunction dehydrateQuery(query: Query): DehydratedQuery {\n return {\n state: query.state,\n queryKey: query.queryKey,\n queryHash: query.queryHash,\n ...(query.meta && { meta: query.meta }),\n }\n}\n\nexport function defaultShouldDehydrateMutation(mutation: Mutation) {\n return mutation.state.isPaused\n}\n\nexport function defaultShouldDehydrateQuery(query: Query) {\n return query.state.status === 'success'\n}\n\nexport function dehydrate(\n client: QueryClient,\n options: DehydrateOptions = {},\n): DehydratedState {\n const filterMutation =\n options.shouldDehydrateMutation ?? defaultShouldDehydrateMutation\n\n const mutations = client\n .getMutationCache()\n .getAll()\n .flatMap((mutation) =>\n filterMutation(mutation) ? [dehydrateMutation(mutation)] : [],\n )\n\n const filterQuery =\n options.shouldDehydrateQuery ?? defaultShouldDehydrateQuery\n\n const queries = client\n .getQueryCache()\n .getAll()\n .flatMap((query) => (filterQuery(query) ? [dehydrateQuery(query)] : []))\n\n return { mutations, queries }\n}\n\nexport function hydrate(\n client: QueryClient,\n dehydratedState: unknown,\n options?: HydrateOptions,\n): void {\n if (typeof dehydratedState !== 'object' || dehydratedState === null) {\n return\n }\n\n const mutationCache = client.getMutationCache()\n const queryCache = client.getQueryCache()\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n const mutations = (dehydratedState as DehydratedState).mutations || []\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n const queries = (dehydratedState as DehydratedState).queries || []\n\n mutations.forEach(({ state, ...mutationOptions }) => {\n mutationCache.build(\n client,\n {\n ...options?.defaultOptions?.mutations,\n ...mutationOptions,\n },\n state,\n )\n })\n\n queries.forEach(({ queryKey, state, queryHash, meta }) => {\n const query = queryCache.get(queryHash)\n\n // Do not hydrate if an existing query exists with newer data\n if (query) {\n if (query.state.dataUpdatedAt < state.dataUpdatedAt) {\n // omit fetchStatus from dehydrated state\n // so that query stays in its current fetchStatus\n const { fetchStatus: _ignored, ...dehydratedQueryState } = state\n query.setState(dehydratedQueryState)\n }\n return\n }\n\n // Restore query\n queryCache.build(\n client,\n {\n ...options?.defaultOptions?.queries,\n queryKey,\n queryHash,\n meta,\n },\n // Reset fetch status to idle to avoid\n // query being stuck in fetching state upon hydration\n {\n ...state,\n fetchStatus: 'idle',\n },\n )\n })\n}\n"],"mappings":";;;AAiDA,SAAS,kBAAkB,UAAwC;AACjE,SAAO;AAAA,IACL,aAAa,SAAS,QAAQ;AAAA,IAC9B,OAAO,SAAS;AAAA,IAChB,GAAI,SAAS,QAAQ,SAAS,EAAE,OAAO,SAAS,QAAQ,MAAM;AAAA,IAC9D,GAAI,SAAS,QAAQ,EAAE,MAAM,SAAS,KAAK;AAAA,EAC7C;AACF;AAMA,SAAS,eAAe,OAA+B;AACrD,SAAO;AAAA,IACL,OAAO,MAAM;AAAA,IACb,UAAU,MAAM;AAAA,IAChB,WAAW,MAAM;AAAA,IACjB,GAAI,MAAM,QAAQ,EAAE,MAAM,MAAM,KAAK;AAAA,EACvC;AACF;AAEO,SAAS,+BAA+B,UAAoB;AACjE,SAAO,SAAS,MAAM;AACxB;AAEO,SAAS,4BAA4B,OAAc;AACxD,SAAO,MAAM,MAAM,WAAW;AAChC;AAEO,SAAS,UACd,QACA,UAA4B,CAAC,GACZ;AACjB,QAAM,iBACJ,QAAQ,2BAA2B;AAErC,QAAM,YAAY,OACf,iBAAiB,EACjB,OAAO,EACP;AAAA,IAAQ,CAAC,aACR,eAAe,QAAQ,IAAI,CAAC,kBAAkB,QAAQ,CAAC,IAAI,CAAC;AAAA,EAC9D;AAEF,QAAM,cACJ,QAAQ,wBAAwB;AAElC,QAAM,UAAU,OACb,cAAc,EACd,OAAO,EACP,QAAQ,CAAC,UAAW,YAAY,KAAK,IAAI,CAAC,eAAe,KAAK,CAAC,IAAI,CAAC,CAAE;AAEzE,SAAO,EAAE,WAAW,QAAQ;AAC9B;AAEO,SAAS,QACd,QACA,iBACA,SACM;AACN,MAAI,OAAO,oBAAoB,YAAY,oBAAoB,MAAM;AACnE;AAAA,EACF;AAEA,QAAM,gBAAgB,OAAO,iBAAiB;AAC9C,QAAM,aAAa,OAAO,cAAc;AAGxC,QAAM,YAAa,gBAAoC,aAAa,CAAC;AAErE,QAAM,UAAW,gBAAoC,WAAW,CAAC;AAEjE,YAAU,QAAQ,CAAC,EAAE,OAAO,GAAG,gBAAgB,MAAM;AAzHvD;AA0HI,kBAAc;AAAA,MACZ;AAAA,MACA;AAAA,QACE,IAAG,wCAAS,mBAAT,mBAAyB;AAAA,QAC5B,GAAG;AAAA,MACL;AAAA,MACA;AAAA,IACF;AAAA,EACF,CAAC;AAED,UAAQ,QAAQ,CAAC,EAAE,UAAU,OAAO,WAAW,KAAK,MAAM;AApI5D;AAqII,UAAM,QAAQ,WAAW,IAAI,SAAS;AAGtC,QAAI,OAAO;AACT,UAAI,MAAM,MAAM,gBAAgB,MAAM,eAAe;AAGnD,cAAM,EAAE,aAAa,UAAU,GAAG,qBAAqB,IAAI;AAC3D,cAAM,SAAS,oBAAoB;AAAA,MACrC;AACA;AAAA,IACF;AAGA,eAAW;AAAA,MACT;AAAA,MACA;AAAA,QACE,IAAG,wCAAS,mBAAT,mBAAyB;AAAA,QAC5B;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA;AAAA;AAAA,MAGA;AAAA,QACE,GAAG;AAAA,QACH,aAAa;AAAA,MACf;AAAA,IACF;AAAA,EACF,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../../src/hydration.ts"],"sourcesContent":["import type {\n DefaultError,\n MutationKey,\n MutationMeta,\n MutationOptions,\n MutationScope,\n QueryKey,\n QueryMeta,\n QueryOptions,\n} from './types'\nimport type { QueryClient } from './queryClient'\nimport type { Query, QueryState } from './query'\nimport type { Mutation, MutationState } from './mutation'\n\n// TYPES\n\nexport interface DehydrateOptions {\n shouldDehydrateMutation?: (mutation: Mutation) => boolean\n shouldDehydrateQuery?: (query: Query) => boolean\n}\n\nexport interface HydrateOptions {\n defaultOptions?: {\n queries?: QueryOptions\n mutations?: MutationOptions<unknown, DefaultError, unknown, unknown>\n }\n}\n\ninterface DehydratedMutation {\n mutationKey?: MutationKey\n state: MutationState\n meta?: MutationMeta\n scope?: MutationScope\n}\n\ninterface DehydratedQuery {\n queryHash: string\n queryKey: QueryKey\n state: QueryState\n promise?: Promise<unknown>\n meta?: QueryMeta\n}\n\nexport interface DehydratedState {\n mutations: Array<DehydratedMutation>\n queries: Array<DehydratedQuery>\n}\n\n// FUNCTIONS\n\nfunction dehydrateMutation(mutation: Mutation): DehydratedMutation {\n return {\n mutationKey: mutation.options.mutationKey,\n state: mutation.state,\n ...(mutation.options.scope && { scope: mutation.options.scope }),\n ...(mutation.meta && { meta: mutation.meta }),\n }\n}\n\n// Most config is not dehydrated but instead meant to configure again when\n// consuming the de/rehydrated data, typically with useQuery on the client.\n// Sometimes it might make sense to prefetch data on the server and include\n// in the html-payload, but not consume it on the initial render.\nfunction dehydrateQuery(query: Query): DehydratedQuery {\n return {\n state: query.state,\n queryKey: query.queryKey,\n queryHash: query.queryHash,\n ...(query.state.status === 'pending' && {\n promise: query.promise?.catch((error) => {\n if (process.env.NODE_ENV !== 'production') {\n console.error(\n `A query that was dehydrated as pending ended up rejecting. [${query.queryHash}]: ${error}; The error will be redacted in production builds`,\n )\n }\n return Promise.reject(new Error('redacted'))\n }),\n }),\n ...(query.meta && { meta: query.meta }),\n }\n}\n\nexport function defaultShouldDehydrateMutation(mutation: Mutation) {\n return mutation.state.isPaused\n}\n\nexport function defaultShouldDehydrateQuery(query: Query) {\n return query.state.status === 'success'\n}\n\nexport function dehydrate(\n client: QueryClient,\n options: DehydrateOptions = {},\n): DehydratedState {\n const filterMutation =\n options.shouldDehydrateMutation ??\n client.getDefaultOptions().dehydrate?.shouldDehydrateMutation ??\n defaultShouldDehydrateMutation\n\n const mutations = client\n .getMutationCache()\n .getAll()\n .flatMap((mutation) =>\n filterMutation(mutation) ? [dehydrateMutation(mutation)] : [],\n )\n\n const filterQuery =\n options.shouldDehydrateQuery ??\n client.getDefaultOptions().dehydrate?.shouldDehydrateQuery ??\n defaultShouldDehydrateQuery\n\n const queries = client\n .getQueryCache()\n .getAll()\n .flatMap((query) => (filterQuery(query) ? [dehydrateQuery(query)] : []))\n\n return { mutations, queries }\n}\n\nexport function hydrate(\n client: QueryClient,\n dehydratedState: unknown,\n options?: HydrateOptions,\n): void {\n if (typeof dehydratedState !== 'object' || dehydratedState === null) {\n return\n }\n\n const mutationCache = client.getMutationCache()\n const queryCache = client.getQueryCache()\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n const mutations = (dehydratedState as DehydratedState).mutations || []\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n const queries = (dehydratedState as DehydratedState).queries || []\n\n mutations.forEach(({ state, ...mutationOptions }) => {\n mutationCache.build(\n client,\n {\n ...client.getDefaultOptions().hydrate?.mutations,\n ...options?.defaultOptions?.mutations,\n ...mutationOptions,\n },\n state,\n )\n })\n\n queries.forEach(({ queryKey, state, queryHash, meta, promise }) => {\n let query = queryCache.get(queryHash)\n\n // Do not hydrate if an existing query exists with newer data\n if (query) {\n if (query.state.dataUpdatedAt < state.dataUpdatedAt) {\n // omit fetchStatus from dehydrated state\n // so that query stays in its current fetchStatus\n const { fetchStatus: _ignored, ...dehydratedQueryState } = state\n query.setState(dehydratedQueryState)\n }\n } else {\n // Restore query\n query = queryCache.build(\n client,\n {\n ...client.getDefaultOptions().hydrate?.queries,\n ...options?.defaultOptions?.queries,\n queryKey,\n queryHash,\n meta,\n },\n // Reset fetch status to idle to avoid\n // query being stuck in fetching state upon hydration\n {\n ...state,\n fetchStatus: 'idle',\n },\n )\n }\n\n if (promise) {\n // this doesn't actually fetch - it just creates a retryer\n // which will re-use the passed `initialPromise`\n void query.fetch(undefined, { initialPromise: promise })\n }\n })\n}\n"],"mappings":"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","names":[]}
@@ -1,9 +1,8 @@
1
- export { aK as CancelOptions, C as CancelledError, v as DataTag, D as DefaultError, aJ as DefaultOptions, $ as DefaultedInfiniteQueryObserverOptions, Z as DefaultedQueryObserverOptions, ar as DefinedInfiniteQueryObserverResult, aj as DefinedQueryObserverResult, a1 as EnsureQueryDataOptions, a2 as FetchInfiniteQueryOptions, a9 as FetchNextPageOptions, aa as FetchPreviousPageOptions, a0 as FetchQueryOptions, ac as FetchStatus, B as GetNextPageParamFunction, G as GetPreviousPageParamFunction, E as InfiniteData, al as InfiniteQueryObserverBaseResult, ao as InfiniteQueryObserverLoadingErrorResult, an as InfiniteQueryObserverLoadingResult, _ as InfiniteQueryObserverOptions, am as InfiniteQueryObserverPendingResult, ap as InfiniteQueryObserverRefetchErrorResult, as as InfiniteQueryObserverResult, aq as InfiniteQueryObserverSuccessResult, T as InfiniteQueryPageParamsOptions, I as InitialDataFunction, L as InitialPageParam, a7 as InvalidateOptions, a5 as InvalidateQueryFilters, aB as MutateFunction, aA as MutateOptions, p as Mutation, M as MutationCache, d as MutationCacheNotifyEvent, g as MutationFilters, ax as MutationFunction, at as MutationKey, aw as MutationMeta, e as MutationObserver, aC as MutationObserverBaseResult, aF as MutationObserverErrorResult, aD as MutationObserverIdleResult, aE as MutationObserverLoadingResult, az as MutationObserverOptions, aH as MutationObserverResult, aG as MutationObserverSuccessResult, ay as MutationOptions, av as MutationScope, q as MutationState, au as MutationStatus, H as NetworkMode, N as NoInfer, aN as NotifyEvent, aM as NotifyEventType, J as NotifyOnChangeProps, O as OmitKeyof, Y as Optional, P as PlaceholderDataFunction, z as QueriesPlaceholderDataFunction, o as Query, Q as QueryCache, a as QueryCacheNotifyEvent, b as QueryClient, aI as QueryClientConfig, j as QueryFilters, w as QueryFunction, y as QueryFunctionContext, t as QueryKey, A as QueryKeyHashFunction, F as QueryMeta, c as QueryObserver, ad as QueryObserverBaseResult, ag as QueryObserverLoadingErrorResult, af as QueryObserverLoadingResult, W as QueryObserverOptions, ae as QueryObserverPendingResult, ah as QueryObserverRefetchErrorResult, ak as QueryObserverResult, ai as QueryObserverSuccessResult, K as QueryOptions, x as QueryPersister, n as QueryState, ab as QueryStatus, a4 as RefetchOptions, a6 as RefetchQueryFilters, R as Register, a8 as ResetOptions, a3 as ResultOptions, aL as SetDataOptions, S as SkipToken, V as ThrowOnError, U as Updater, X as WithRequired, u as dataTagSymbol, h as hashKey, l as isCancelledError, i as isServer, k as keepPreviousData, f as matchMutation, m as matchQuery, r as replaceEqualDeep, s as skipToken } from './types-BvcshvE9.cjs';
1
+ export { aR as CancelOptions, C as CancelledError, B as DataTag, y as DefaultError, aQ as DefaultOptions, a6 as DefaultedInfiniteQueryObserverOptions, a4 as DefaultedQueryObserverOptions, ay as DefinedInfiniteQueryObserverResult, aq as DefinedQueryObserverResult, D as DehydrateOptions, x as DehydratedState, a8 as EnsureQueryDataOptions, a9 as FetchInfiniteQueryOptions, ag as FetchNextPageOptions, ah as FetchPreviousPageOptions, a7 as FetchQueryOptions, aj as FetchStatus, T as GetNextPageParamFunction, L as GetPreviousPageParamFunction, H as HydrateOptions, V as InfiniteData, as as InfiniteQueryObserverBaseResult, av as InfiniteQueryObserverLoadingErrorResult, au as InfiniteQueryObserverLoadingResult, a5 as InfiniteQueryObserverOptions, at as InfiniteQueryObserverPendingResult, aw as InfiniteQueryObserverRefetchErrorResult, az as InfiniteQueryObserverResult, ax as InfiniteQueryObserverSuccessResult, $ as InfiniteQueryPageParamsOptions, I as InitialDataFunction, _ as InitialPageParam, ae as InvalidateOptions, ac as InvalidateQueryFilters, aI as MutateFunction, aH as MutateOptions, v as Mutation, M as MutationCache, d as MutationCacheNotifyEvent, g as MutationFilters, aE as MutationFunction, aA as MutationKey, aD as MutationMeta, e as MutationObserver, aJ as MutationObserverBaseResult, aM as MutationObserverErrorResult, aK as MutationObserverIdleResult, aL as MutationObserverLoadingResult, aG as MutationObserverOptions, aO as MutationObserverResult, aN as MutationObserverSuccessResult, aF as MutationOptions, aC as MutationScope, w as MutationState, aB as MutationStatus, X as NetworkMode, N as NoInfer, aU as NotifyEvent, aT as NotifyEventType, Y as NotifyOnChangeProps, O as OmitKeyof, a3 as Optional, P as PlaceholderDataFunction, J as QueriesPlaceholderDataFunction, u as Query, Q as QueryCache, a as QueryCacheNotifyEvent, b as QueryClient, aP as QueryClientConfig, j as QueryFilters, E as QueryFunction, G as QueryFunctionContext, z as QueryKey, K as QueryKeyHashFunction, W as QueryMeta, c as QueryObserver, ak as QueryObserverBaseResult, an as QueryObserverLoadingErrorResult, am as QueryObserverLoadingResult, a1 as QueryObserverOptions, al as QueryObserverPendingResult, ao as QueryObserverRefetchErrorResult, ar as QueryObserverResult, ap as QueryObserverSuccessResult, Z as QueryOptions, F as QueryPersister, t as QueryState, ai as QueryStatus, ab as RefetchOptions, ad as RefetchQueryFilters, R as Register, af as ResetOptions, aa as ResultOptions, aS as SetDataOptions, S as SkipToken, a0 as ThrowOnError, U as Updater, a2 as WithRequired, A as dataTagSymbol, q as defaultShouldDehydrateMutation, p as defaultShouldDehydrateQuery, n as dehydrate, h as hashKey, o as hydrate, l as isCancelledError, i as isServer, k as keepPreviousData, f as matchMutation, m as matchQuery, r as replaceEqualDeep, s as skipToken } from './hydration-DAs3cQH5.cjs';
2
2
  export { QueriesObserver, QueriesObserverOptions } from './queriesObserver.cjs';
3
3
  export { InfiniteQueryObserver } from './infiniteQueryObserver.cjs';
4
4
  export { notifyManager } from './notifyManager.cjs';
5
5
  export { focusManager } from './focusManager.cjs';
6
6
  export { onlineManager } from './onlineManager.cjs';
7
- export { DehydrateOptions, DehydratedState, HydrateOptions, defaultShouldDehydrateMutation, defaultShouldDehydrateQuery, dehydrate, hydrate } from './hydration.cjs';
8
7
  import './removable.cjs';
9
8
  import './subscribable.cjs';
@@ -1,9 +1,8 @@
1
- export { aK as CancelOptions, C as CancelledError, v as DataTag, D as DefaultError, aJ as DefaultOptions, $ as DefaultedInfiniteQueryObserverOptions, Z as DefaultedQueryObserverOptions, ar as DefinedInfiniteQueryObserverResult, aj as DefinedQueryObserverResult, a1 as EnsureQueryDataOptions, a2 as FetchInfiniteQueryOptions, a9 as FetchNextPageOptions, aa as FetchPreviousPageOptions, a0 as FetchQueryOptions, ac as FetchStatus, B as GetNextPageParamFunction, G as GetPreviousPageParamFunction, E as InfiniteData, al as InfiniteQueryObserverBaseResult, ao as InfiniteQueryObserverLoadingErrorResult, an as InfiniteQueryObserverLoadingResult, _ as InfiniteQueryObserverOptions, am as InfiniteQueryObserverPendingResult, ap as InfiniteQueryObserverRefetchErrorResult, as as InfiniteQueryObserverResult, aq as InfiniteQueryObserverSuccessResult, T as InfiniteQueryPageParamsOptions, I as InitialDataFunction, L as InitialPageParam, a7 as InvalidateOptions, a5 as InvalidateQueryFilters, aB as MutateFunction, aA as MutateOptions, p as Mutation, M as MutationCache, d as MutationCacheNotifyEvent, g as MutationFilters, ax as MutationFunction, at as MutationKey, aw as MutationMeta, e as MutationObserver, aC as MutationObserverBaseResult, aF as MutationObserverErrorResult, aD as MutationObserverIdleResult, aE as MutationObserverLoadingResult, az as MutationObserverOptions, aH as MutationObserverResult, aG as MutationObserverSuccessResult, ay as MutationOptions, av as MutationScope, q as MutationState, au as MutationStatus, H as NetworkMode, N as NoInfer, aN as NotifyEvent, aM as NotifyEventType, J as NotifyOnChangeProps, O as OmitKeyof, Y as Optional, P as PlaceholderDataFunction, z as QueriesPlaceholderDataFunction, o as Query, Q as QueryCache, a as QueryCacheNotifyEvent, b as QueryClient, aI as QueryClientConfig, j as QueryFilters, w as QueryFunction, y as QueryFunctionContext, t as QueryKey, A as QueryKeyHashFunction, F as QueryMeta, c as QueryObserver, ad as QueryObserverBaseResult, ag as QueryObserverLoadingErrorResult, af as QueryObserverLoadingResult, W as QueryObserverOptions, ae as QueryObserverPendingResult, ah as QueryObserverRefetchErrorResult, ak as QueryObserverResult, ai as QueryObserverSuccessResult, K as QueryOptions, x as QueryPersister, n as QueryState, ab as QueryStatus, a4 as RefetchOptions, a6 as RefetchQueryFilters, R as Register, a8 as ResetOptions, a3 as ResultOptions, aL as SetDataOptions, S as SkipToken, V as ThrowOnError, U as Updater, X as WithRequired, u as dataTagSymbol, h as hashKey, l as isCancelledError, i as isServer, k as keepPreviousData, f as matchMutation, m as matchQuery, r as replaceEqualDeep, s as skipToken } from './types-BtrVwz9w.js';
1
+ export { aR as CancelOptions, C as CancelledError, B as DataTag, y as DefaultError, aQ as DefaultOptions, a6 as DefaultedInfiniteQueryObserverOptions, a4 as DefaultedQueryObserverOptions, ay as DefinedInfiniteQueryObserverResult, aq as DefinedQueryObserverResult, D as DehydrateOptions, x as DehydratedState, a8 as EnsureQueryDataOptions, a9 as FetchInfiniteQueryOptions, ag as FetchNextPageOptions, ah as FetchPreviousPageOptions, a7 as FetchQueryOptions, aj as FetchStatus, T as GetNextPageParamFunction, L as GetPreviousPageParamFunction, H as HydrateOptions, V as InfiniteData, as as InfiniteQueryObserverBaseResult, av as InfiniteQueryObserverLoadingErrorResult, au as InfiniteQueryObserverLoadingResult, a5 as InfiniteQueryObserverOptions, at as InfiniteQueryObserverPendingResult, aw as InfiniteQueryObserverRefetchErrorResult, az as InfiniteQueryObserverResult, ax as InfiniteQueryObserverSuccessResult, $ as InfiniteQueryPageParamsOptions, I as InitialDataFunction, _ as InitialPageParam, ae as InvalidateOptions, ac as InvalidateQueryFilters, aI as MutateFunction, aH as MutateOptions, v as Mutation, M as MutationCache, d as MutationCacheNotifyEvent, g as MutationFilters, aE as MutationFunction, aA as MutationKey, aD as MutationMeta, e as MutationObserver, aJ as MutationObserverBaseResult, aM as MutationObserverErrorResult, aK as MutationObserverIdleResult, aL as MutationObserverLoadingResult, aG as MutationObserverOptions, aO as MutationObserverResult, aN as MutationObserverSuccessResult, aF as MutationOptions, aC as MutationScope, w as MutationState, aB as MutationStatus, X as NetworkMode, N as NoInfer, aU as NotifyEvent, aT as NotifyEventType, Y as NotifyOnChangeProps, O as OmitKeyof, a3 as Optional, P as PlaceholderDataFunction, J as QueriesPlaceholderDataFunction, u as Query, Q as QueryCache, a as QueryCacheNotifyEvent, b as QueryClient, aP as QueryClientConfig, j as QueryFilters, E as QueryFunction, G as QueryFunctionContext, z as QueryKey, K as QueryKeyHashFunction, W as QueryMeta, c as QueryObserver, ak as QueryObserverBaseResult, an as QueryObserverLoadingErrorResult, am as QueryObserverLoadingResult, a1 as QueryObserverOptions, al as QueryObserverPendingResult, ao as QueryObserverRefetchErrorResult, ar as QueryObserverResult, ap as QueryObserverSuccessResult, Z as QueryOptions, F as QueryPersister, t as QueryState, ai as QueryStatus, ab as RefetchOptions, ad as RefetchQueryFilters, R as Register, af as ResetOptions, aa as ResultOptions, aS as SetDataOptions, S as SkipToken, a0 as ThrowOnError, U as Updater, a2 as WithRequired, A as dataTagSymbol, q as defaultShouldDehydrateMutation, p as defaultShouldDehydrateQuery, n as dehydrate, h as hashKey, o as hydrate, l as isCancelledError, i as isServer, k as keepPreviousData, f as matchMutation, m as matchQuery, r as replaceEqualDeep, s as skipToken } from './hydration-yBB_smkL.js';
2
2
  export { QueriesObserver, QueriesObserverOptions } from './queriesObserver.js';
3
3
  export { InfiniteQueryObserver } from './infiniteQueryObserver.js';
4
4
  export { notifyManager } from './notifyManager.js';
5
5
  export { focusManager } from './focusManager.js';
6
6
  export { onlineManager } from './onlineManager.js';
7
- export { DehydrateOptions, DehydratedState, HydrateOptions, defaultShouldDehydrateMutation, defaultShouldDehydrateQuery, dehydrate, hydrate } from './hydration.js';
8
7
  import './removable.js';
9
8
  import './subscribable.js';