@tanstack/query-core 5.44.0 → 5.45.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/build/legacy/{hydration-DJZYTIMr.d.ts → hydration-BZ2M_xzi.d.ts} +1 -0
  2. package/build/legacy/{hydration-XP7CH-6g.d.cts → hydration-CwKUqoFl.d.cts} +1 -0
  3. package/build/legacy/hydration.cjs +4 -2
  4. package/build/legacy/hydration.cjs.map +1 -1
  5. package/build/legacy/hydration.d.cts +1 -1
  6. package/build/legacy/hydration.d.ts +1 -1
  7. package/build/legacy/hydration.js +4 -2
  8. package/build/legacy/hydration.js.map +1 -1
  9. package/build/legacy/index.d.cts +1 -1
  10. package/build/legacy/index.d.ts +1 -1
  11. package/build/legacy/infiniteQueryBehavior.d.cts +1 -1
  12. package/build/legacy/infiniteQueryBehavior.d.ts +1 -1
  13. package/build/legacy/infiniteQueryObserver.d.cts +1 -1
  14. package/build/legacy/infiniteQueryObserver.d.ts +1 -1
  15. package/build/legacy/mutation.d.cts +1 -1
  16. package/build/legacy/mutation.d.ts +1 -1
  17. package/build/legacy/mutationCache.d.cts +1 -1
  18. package/build/legacy/mutationCache.d.ts +1 -1
  19. package/build/legacy/mutationObserver.d.cts +1 -1
  20. package/build/legacy/mutationObserver.d.ts +1 -1
  21. package/build/legacy/queriesObserver.d.cts +1 -1
  22. package/build/legacy/queriesObserver.d.ts +1 -1
  23. package/build/legacy/query.d.cts +1 -1
  24. package/build/legacy/query.d.ts +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.d.cts +1 -1
  28. package/build/legacy/queryClient.d.ts +1 -1
  29. package/build/legacy/queryObserver.d.cts +1 -1
  30. package/build/legacy/queryObserver.d.ts +1 -1
  31. package/build/legacy/retryer.d.cts +1 -1
  32. package/build/legacy/retryer.d.ts +1 -1
  33. package/build/legacy/types.d.cts +1 -1
  34. package/build/legacy/types.d.ts +1 -1
  35. package/build/legacy/utils.d.cts +1 -1
  36. package/build/legacy/utils.d.ts +1 -1
  37. package/build/modern/{hydration-DJZYTIMr.d.ts → hydration-BZ2M_xzi.d.ts} +1 -0
  38. package/build/modern/{hydration-XP7CH-6g.d.cts → hydration-CwKUqoFl.d.cts} +1 -0
  39. package/build/modern/hydration.cjs +3 -1
  40. package/build/modern/hydration.cjs.map +1 -1
  41. package/build/modern/hydration.d.cts +1 -1
  42. package/build/modern/hydration.d.ts +1 -1
  43. package/build/modern/hydration.js +3 -1
  44. package/build/modern/hydration.js.map +1 -1
  45. package/build/modern/index.d.cts +1 -1
  46. package/build/modern/index.d.ts +1 -1
  47. package/build/modern/infiniteQueryBehavior.d.cts +1 -1
  48. package/build/modern/infiniteQueryBehavior.d.ts +1 -1
  49. package/build/modern/infiniteQueryObserver.d.cts +1 -1
  50. package/build/modern/infiniteQueryObserver.d.ts +1 -1
  51. package/build/modern/mutation.d.cts +1 -1
  52. package/build/modern/mutation.d.ts +1 -1
  53. package/build/modern/mutationCache.d.cts +1 -1
  54. package/build/modern/mutationCache.d.ts +1 -1
  55. package/build/modern/mutationObserver.d.cts +1 -1
  56. package/build/modern/mutationObserver.d.ts +1 -1
  57. package/build/modern/queriesObserver.d.cts +1 -1
  58. package/build/modern/queriesObserver.d.ts +1 -1
  59. package/build/modern/query.d.cts +1 -1
  60. package/build/modern/query.d.ts +1 -1
  61. package/build/modern/queryCache.d.cts +1 -1
  62. package/build/modern/queryCache.d.ts +1 -1
  63. package/build/modern/queryClient.d.cts +1 -1
  64. package/build/modern/queryClient.d.ts +1 -1
  65. package/build/modern/queryObserver.d.cts +1 -1
  66. package/build/modern/queryObserver.d.ts +1 -1
  67. package/build/modern/retryer.d.cts +1 -1
  68. package/build/modern/retryer.d.ts +1 -1
  69. package/build/modern/types.d.cts +1 -1
  70. package/build/modern/types.d.ts +1 -1
  71. package/build/modern/utils.d.cts +1 -1
  72. package/build/modern/utils.d.ts +1 -1
  73. package/package.json +1 -1
  74. package/src/__tests__/hydration.test.tsx +35 -0
  75. package/src/hydration.ts +10 -1
@@ -1204,6 +1204,7 @@ interface DehydrateOptions {
1204
1204
  }
1205
1205
  interface HydrateOptions {
1206
1206
  defaultOptions?: {
1207
+ transformPromise?: (promise: Promise<any>) => Promise<any>;
1207
1208
  queries?: QueryOptions;
1208
1209
  mutations?: MutationOptions<unknown, DefaultError, unknown, unknown>;
1209
1210
  };
@@ -1204,6 +1204,7 @@ interface DehydrateOptions {
1204
1204
  }
1205
1205
  interface HydrateOptions {
1206
1206
  defaultOptions?: {
1207
+ transformPromise?: (promise: Promise<any>) => Promise<any>;
1207
1208
  queries?: QueryOptions;
1208
1209
  mutations?: MutationOptions<unknown, DefaultError, unknown, unknown>;
1209
1210
  };
@@ -90,7 +90,7 @@ function hydrate(client, dehydratedState, options) {
90
90
  );
91
91
  });
92
92
  queries.forEach(({ queryKey, state, queryHash, meta, promise }) => {
93
- var _a, _b;
93
+ var _a, _b, _c;
94
94
  let query = queryCache.get(queryHash);
95
95
  if (query) {
96
96
  if (query.state.dataUpdatedAt < state.dataUpdatedAt) {
@@ -116,7 +116,9 @@ function hydrate(client, dehydratedState, options) {
116
116
  );
117
117
  }
118
118
  if (promise) {
119
- void query.fetch(void 0, { initialPromise: promise });
119
+ const transformPromise = (_c = client.getDefaultOptions().hydrate) == null ? void 0 : _c.transformPromise;
120
+ const initialPromise = (transformPromise == null ? void 0 : transformPromise(Promise.resolve(promise))) ?? promise;
121
+ void query.fetch(void 0, { initialPromise });
120
122
  }
121
123
  });
122
124
  }
@@ -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 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
+ {"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 transformPromise?: (promise: Promise<any>) => Promise<any>\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 const transformPromise =\n client.getDefaultOptions().hydrate?.transformPromise\n\n // Note: `Promise.resolve` required cause\n // RSC transformed promises are not thenable\n const initialPromise =\n transformPromise?.(Promise.resolve(promise)) ?? promise\n\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 })\n }\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAmDA,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;AAhEvD;AAiEE,SAAO;AAAA,IACL,OAAO,MAAM;AAAA,IACb,UAAU,MAAM;AAAA,IAChB,WAAW,MAAM;AAAA,IACjB,GAAI,MAAM,MAAM,WAAW,aAAa;AAAA,MACtC,UAAS,WAAM,YAAN,mBAAe,MAAM,CAAC,UAAU;AACvC,YAAI,QAAQ,IAAI,aAAa,cAAc;AACzC,kBAAQ;AAAA,YACN,+DAA+D,MAAM,SAAS,MAAM,KAAK;AAAA,UAC3F;AAAA,QACF;AACA,eAAO,QAAQ,OAAO,IAAI,MAAM,UAAU,CAAC;AAAA,MAC7C;AAAA,IACF;AAAA,IACA,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;AA9FnB;AA+FE,QAAM,iBACJ,QAAQ,6BACR,YAAO,kBAAkB,EAAE,cAA3B,mBAAsC,4BACtC;AAEF,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,0BACR,YAAO,kBAAkB,EAAE,cAA3B,mBAAsC,yBACtC;AAEF,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;AAzIvD;AA0II,kBAAc;AAAA,MACZ;AAAA,MACA;AAAA,QACE,IAAG,YAAO,kBAAkB,EAAE,YAA3B,mBAAoC;AAAA,QACvC,IAAG,wCAAS,mBAAT,mBAAyB;AAAA,QAC5B,GAAG;AAAA,MACL;AAAA,MACA;AAAA,IACF;AAAA,EACF,CAAC;AAED,UAAQ,QAAQ,CAAC,EAAE,UAAU,OAAO,WAAW,MAAM,QAAQ,MAAM;AArJrE;AAsJI,QAAI,QAAQ,WAAW,IAAI,SAAS;AAGpC,QAAI,OAAO;AACT,UAAI,MAAM,MAAM,gBAAgB,MAAM,eAAe;AAGnD,cAAM,EAAE,aAAa,UAAU,GAAG,qBAAqB,IAAI;AAC3D,cAAM,SAAS,oBAAoB;AAAA,MACrC;AAAA,IACF,OAAO;AAEL,cAAQ,WAAW;AAAA,QACjB;AAAA,QACA;AAAA,UACE,IAAG,YAAO,kBAAkB,EAAE,YAA3B,mBAAoC;AAAA,UACvC,IAAG,wCAAS,mBAAT,mBAAyB;AAAA,UAC5B;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA;AAAA;AAAA,QAGA;AAAA,UACE,GAAG;AAAA,UACH,aAAa;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,QAAI,SAAS;AACX,YAAM,oBACJ,YAAO,kBAAkB,EAAE,YAA3B,mBAAoC;AAItC,YAAM,kBACJ,qDAAmB,QAAQ,QAAQ,OAAO,OAAM;AAIlD,WAAK,MAAM,MAAM,QAAW,EAAE,eAAe,CAAC;AAAA,IAChD;AAAA,EACF,CAAC;AACH;","names":[]}
@@ -1,3 +1,3 @@
1
- export { D as DehydrateOptions, x as DehydratedState, H as HydrateOptions, q as defaultShouldDehydrateMutation, p as defaultShouldDehydrateQuery, n as dehydrate, o as hydrate } from './hydration-XP7CH-6g.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-CwKUqoFl.cjs';
2
2
  import './removable.cjs';
3
3
  import './subscribable.cjs';
@@ -1,3 +1,3 @@
1
- export { D as DehydrateOptions, x as DehydratedState, H as HydrateOptions, q as defaultShouldDehydrateMutation, p as defaultShouldDehydrateQuery, n as dehydrate, o as hydrate } from './hydration-DJZYTIMr.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-BZ2M_xzi.js';
2
2
  import './removable.js';
3
3
  import './subscribable.js';
@@ -65,7 +65,7 @@ function hydrate(client, dehydratedState, options) {
65
65
  );
66
66
  });
67
67
  queries.forEach(({ queryKey, state, queryHash, meta, promise }) => {
68
- var _a, _b;
68
+ var _a, _b, _c;
69
69
  let query = queryCache.get(queryHash);
70
70
  if (query) {
71
71
  if (query.state.dataUpdatedAt < state.dataUpdatedAt) {
@@ -91,7 +91,9 @@ function hydrate(client, dehydratedState, options) {
91
91
  );
92
92
  }
93
93
  if (promise) {
94
- void query.fetch(void 0, { initialPromise: promise });
94
+ const transformPromise = (_c = client.getDefaultOptions().hydrate) == null ? void 0 : _c.transformPromise;
95
+ const initialPromise = (transformPromise == null ? void 0 : transformPromise(Promise.resolve(promise))) ?? promise;
96
+ void query.fetch(void 0, { initialPromise });
95
97
  }
96
98
  });
97
99
  }
@@ -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 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
+ {"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 transformPromise?: (promise: Promise<any>) => Promise<any>\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 const transformPromise =\n client.getDefaultOptions().hydrate?.transformPromise\n\n // Note: `Promise.resolve` required cause\n // RSC transformed promises are not thenable\n const initialPromise =\n transformPromise?.(Promise.resolve(promise)) ?? promise\n\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 })\n }\n })\n}\n"],"mappings":"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","names":[]}
@@ -1,4 +1,4 @@
1
- export { aS as CancelOptions, C as CancelledError, B as DataTag, y as DefaultError, aR as DefaultOptions, a7 as DefaultedInfiniteQueryObserverOptions, a5 as DefaultedQueryObserverOptions, az as DefinedInfiniteQueryObserverResult, ar as DefinedQueryObserverResult, D as DehydrateOptions, x as DehydratedState, a9 as EnsureQueryDataOptions, aa as FetchInfiniteQueryOptions, ah as FetchNextPageOptions, ai as FetchPreviousPageOptions, a8 as FetchQueryOptions, ak as FetchStatus, V as GetNextPageParamFunction, T as GetPreviousPageParamFunction, H as HydrateOptions, W as InfiniteData, at as InfiniteQueryObserverBaseResult, aw as InfiniteQueryObserverLoadingErrorResult, av as InfiniteQueryObserverLoadingResult, a6 as InfiniteQueryObserverOptions, au as InfiniteQueryObserverPendingResult, ax as InfiniteQueryObserverRefetchErrorResult, aA as InfiniteQueryObserverResult, ay as InfiniteQueryObserverSuccessResult, a0 as InfiniteQueryPageParamsOptions, J as InitialDataFunction, $ as InitialPageParam, af as InvalidateOptions, ad as InvalidateQueryFilters, aJ as MutateFunction, aI as MutateOptions, v as Mutation, M as MutationCache, d as MutationCacheNotifyEvent, g as MutationFilters, aF as MutationFunction, aB as MutationKey, aE as MutationMeta, e as MutationObserver, aK as MutationObserverBaseResult, aN as MutationObserverErrorResult, aL as MutationObserverIdleResult, aM as MutationObserverLoadingResult, aH as MutationObserverOptions, aP as MutationObserverResult, aO as MutationObserverSuccessResult, aG as MutationOptions, aD as MutationScope, w as MutationState, aC as MutationStatus, Y as NetworkMode, N as NoInfer, aV as NotifyEvent, aU as NotifyEventType, Z as NotifyOnChangeProps, O as OmitKeyof, a4 as Optional, P as PlaceholderDataFunction, K as QueriesPlaceholderDataFunction, u as Query, Q as QueryCache, a as QueryCacheNotifyEvent, b as QueryClient, aQ as QueryClientConfig, j as QueryFilters, E as QueryFunction, I as QueryFunctionContext, z as QueryKey, L as QueryKeyHashFunction, X as QueryMeta, c as QueryObserver, al as QueryObserverBaseResult, ao as QueryObserverLoadingErrorResult, an as QueryObserverLoadingResult, a2 as QueryObserverOptions, am as QueryObserverPendingResult, ap as QueryObserverRefetchErrorResult, as as QueryObserverResult, aq as QueryObserverSuccessResult, _ as QueryOptions, G as QueryPersister, t as QueryState, aj as QueryStatus, ac as RefetchOptions, ae as RefetchQueryFilters, R as Register, ag as ResetOptions, ab as ResultOptions, aT as SetDataOptions, S as SkipToken, F as StaleTime, a1 as ThrowOnError, U as Updater, a3 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-XP7CH-6g.cjs';
1
+ export { aS as CancelOptions, C as CancelledError, B as DataTag, y as DefaultError, aR as DefaultOptions, a7 as DefaultedInfiniteQueryObserverOptions, a5 as DefaultedQueryObserverOptions, az as DefinedInfiniteQueryObserverResult, ar as DefinedQueryObserverResult, D as DehydrateOptions, x as DehydratedState, a9 as EnsureQueryDataOptions, aa as FetchInfiniteQueryOptions, ah as FetchNextPageOptions, ai as FetchPreviousPageOptions, a8 as FetchQueryOptions, ak as FetchStatus, V as GetNextPageParamFunction, T as GetPreviousPageParamFunction, H as HydrateOptions, W as InfiniteData, at as InfiniteQueryObserverBaseResult, aw as InfiniteQueryObserverLoadingErrorResult, av as InfiniteQueryObserverLoadingResult, a6 as InfiniteQueryObserverOptions, au as InfiniteQueryObserverPendingResult, ax as InfiniteQueryObserverRefetchErrorResult, aA as InfiniteQueryObserverResult, ay as InfiniteQueryObserverSuccessResult, a0 as InfiniteQueryPageParamsOptions, J as InitialDataFunction, $ as InitialPageParam, af as InvalidateOptions, ad as InvalidateQueryFilters, aJ as MutateFunction, aI as MutateOptions, v as Mutation, M as MutationCache, d as MutationCacheNotifyEvent, g as MutationFilters, aF as MutationFunction, aB as MutationKey, aE as MutationMeta, e as MutationObserver, aK as MutationObserverBaseResult, aN as MutationObserverErrorResult, aL as MutationObserverIdleResult, aM as MutationObserverLoadingResult, aH as MutationObserverOptions, aP as MutationObserverResult, aO as MutationObserverSuccessResult, aG as MutationOptions, aD as MutationScope, w as MutationState, aC as MutationStatus, Y as NetworkMode, N as NoInfer, aV as NotifyEvent, aU as NotifyEventType, Z as NotifyOnChangeProps, O as OmitKeyof, a4 as Optional, P as PlaceholderDataFunction, K as QueriesPlaceholderDataFunction, u as Query, Q as QueryCache, a as QueryCacheNotifyEvent, b as QueryClient, aQ as QueryClientConfig, j as QueryFilters, E as QueryFunction, I as QueryFunctionContext, z as QueryKey, L as QueryKeyHashFunction, X as QueryMeta, c as QueryObserver, al as QueryObserverBaseResult, ao as QueryObserverLoadingErrorResult, an as QueryObserverLoadingResult, a2 as QueryObserverOptions, am as QueryObserverPendingResult, ap as QueryObserverRefetchErrorResult, as as QueryObserverResult, aq as QueryObserverSuccessResult, _ as QueryOptions, G as QueryPersister, t as QueryState, aj as QueryStatus, ac as RefetchOptions, ae as RefetchQueryFilters, R as Register, ag as ResetOptions, ab as ResultOptions, aT as SetDataOptions, S as SkipToken, F as StaleTime, a1 as ThrowOnError, U as Updater, a3 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-CwKUqoFl.cjs';
2
2
  export { QueriesObserver, QueriesObserverOptions } from './queriesObserver.cjs';
3
3
  export { InfiniteQueryObserver } from './infiniteQueryObserver.cjs';
4
4
  export { notifyManager } from './notifyManager.cjs';
@@ -1,4 +1,4 @@
1
- export { aS as CancelOptions, C as CancelledError, B as DataTag, y as DefaultError, aR as DefaultOptions, a7 as DefaultedInfiniteQueryObserverOptions, a5 as DefaultedQueryObserverOptions, az as DefinedInfiniteQueryObserverResult, ar as DefinedQueryObserverResult, D as DehydrateOptions, x as DehydratedState, a9 as EnsureQueryDataOptions, aa as FetchInfiniteQueryOptions, ah as FetchNextPageOptions, ai as FetchPreviousPageOptions, a8 as FetchQueryOptions, ak as FetchStatus, V as GetNextPageParamFunction, T as GetPreviousPageParamFunction, H as HydrateOptions, W as InfiniteData, at as InfiniteQueryObserverBaseResult, aw as InfiniteQueryObserverLoadingErrorResult, av as InfiniteQueryObserverLoadingResult, a6 as InfiniteQueryObserverOptions, au as InfiniteQueryObserverPendingResult, ax as InfiniteQueryObserverRefetchErrorResult, aA as InfiniteQueryObserverResult, ay as InfiniteQueryObserverSuccessResult, a0 as InfiniteQueryPageParamsOptions, J as InitialDataFunction, $ as InitialPageParam, af as InvalidateOptions, ad as InvalidateQueryFilters, aJ as MutateFunction, aI as MutateOptions, v as Mutation, M as MutationCache, d as MutationCacheNotifyEvent, g as MutationFilters, aF as MutationFunction, aB as MutationKey, aE as MutationMeta, e as MutationObserver, aK as MutationObserverBaseResult, aN as MutationObserverErrorResult, aL as MutationObserverIdleResult, aM as MutationObserverLoadingResult, aH as MutationObserverOptions, aP as MutationObserverResult, aO as MutationObserverSuccessResult, aG as MutationOptions, aD as MutationScope, w as MutationState, aC as MutationStatus, Y as NetworkMode, N as NoInfer, aV as NotifyEvent, aU as NotifyEventType, Z as NotifyOnChangeProps, O as OmitKeyof, a4 as Optional, P as PlaceholderDataFunction, K as QueriesPlaceholderDataFunction, u as Query, Q as QueryCache, a as QueryCacheNotifyEvent, b as QueryClient, aQ as QueryClientConfig, j as QueryFilters, E as QueryFunction, I as QueryFunctionContext, z as QueryKey, L as QueryKeyHashFunction, X as QueryMeta, c as QueryObserver, al as QueryObserverBaseResult, ao as QueryObserverLoadingErrorResult, an as QueryObserverLoadingResult, a2 as QueryObserverOptions, am as QueryObserverPendingResult, ap as QueryObserverRefetchErrorResult, as as QueryObserverResult, aq as QueryObserverSuccessResult, _ as QueryOptions, G as QueryPersister, t as QueryState, aj as QueryStatus, ac as RefetchOptions, ae as RefetchQueryFilters, R as Register, ag as ResetOptions, ab as ResultOptions, aT as SetDataOptions, S as SkipToken, F as StaleTime, a1 as ThrowOnError, U as Updater, a3 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-DJZYTIMr.js';
1
+ export { aS as CancelOptions, C as CancelledError, B as DataTag, y as DefaultError, aR as DefaultOptions, a7 as DefaultedInfiniteQueryObserverOptions, a5 as DefaultedQueryObserverOptions, az as DefinedInfiniteQueryObserverResult, ar as DefinedQueryObserverResult, D as DehydrateOptions, x as DehydratedState, a9 as EnsureQueryDataOptions, aa as FetchInfiniteQueryOptions, ah as FetchNextPageOptions, ai as FetchPreviousPageOptions, a8 as FetchQueryOptions, ak as FetchStatus, V as GetNextPageParamFunction, T as GetPreviousPageParamFunction, H as HydrateOptions, W as InfiniteData, at as InfiniteQueryObserverBaseResult, aw as InfiniteQueryObserverLoadingErrorResult, av as InfiniteQueryObserverLoadingResult, a6 as InfiniteQueryObserverOptions, au as InfiniteQueryObserverPendingResult, ax as InfiniteQueryObserverRefetchErrorResult, aA as InfiniteQueryObserverResult, ay as InfiniteQueryObserverSuccessResult, a0 as InfiniteQueryPageParamsOptions, J as InitialDataFunction, $ as InitialPageParam, af as InvalidateOptions, ad as InvalidateQueryFilters, aJ as MutateFunction, aI as MutateOptions, v as Mutation, M as MutationCache, d as MutationCacheNotifyEvent, g as MutationFilters, aF as MutationFunction, aB as MutationKey, aE as MutationMeta, e as MutationObserver, aK as MutationObserverBaseResult, aN as MutationObserverErrorResult, aL as MutationObserverIdleResult, aM as MutationObserverLoadingResult, aH as MutationObserverOptions, aP as MutationObserverResult, aO as MutationObserverSuccessResult, aG as MutationOptions, aD as MutationScope, w as MutationState, aC as MutationStatus, Y as NetworkMode, N as NoInfer, aV as NotifyEvent, aU as NotifyEventType, Z as NotifyOnChangeProps, O as OmitKeyof, a4 as Optional, P as PlaceholderDataFunction, K as QueriesPlaceholderDataFunction, u as Query, Q as QueryCache, a as QueryCacheNotifyEvent, b as QueryClient, aQ as QueryClientConfig, j as QueryFilters, E as QueryFunction, I as QueryFunctionContext, z as QueryKey, L as QueryKeyHashFunction, X as QueryMeta, c as QueryObserver, al as QueryObserverBaseResult, ao as QueryObserverLoadingErrorResult, an as QueryObserverLoadingResult, a2 as QueryObserverOptions, am as QueryObserverPendingResult, ap as QueryObserverRefetchErrorResult, as as QueryObserverResult, aq as QueryObserverSuccessResult, _ as QueryOptions, G as QueryPersister, t as QueryState, aj as QueryStatus, ac as RefetchOptions, ae as RefetchQueryFilters, R as Register, ag as ResetOptions, ab as ResultOptions, aT as SetDataOptions, S as SkipToken, F as StaleTime, a1 as ThrowOnError, U as Updater, a3 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-BZ2M_xzi.js';
2
2
  export { QueriesObserver, QueriesObserverOptions } from './queriesObserver.js';
3
3
  export { InfiniteQueryObserver } from './infiniteQueryObserver.js';
4
4
  export { notifyManager } from './notifyManager.js';
@@ -1,4 +1,4 @@
1
- import { aW as QueryBehavior, W as InfiniteData, a0 as InfiniteQueryPageParamsOptions } from './hydration-XP7CH-6g.cjs';
1
+ import { aW as QueryBehavior, W as InfiniteData, a0 as InfiniteQueryPageParamsOptions } from './hydration-CwKUqoFl.cjs';
2
2
  import './removable.cjs';
3
3
  import './subscribable.cjs';
4
4
 
@@ -1,4 +1,4 @@
1
- import { aW as QueryBehavior, W as InfiniteData, a0 as InfiniteQueryPageParamsOptions } from './hydration-DJZYTIMr.js';
1
+ import { aW as QueryBehavior, W as InfiniteData, a0 as InfiniteQueryPageParamsOptions } from './hydration-BZ2M_xzi.js';
2
2
  import './removable.js';
3
3
  import './subscribable.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { y as DefaultError, W as InfiniteData, z as QueryKey, c as QueryObserver, aA as InfiniteQueryObserverResult, aX as ObserverFetchOptions, b as QueryClient, a6 as InfiniteQueryObserverOptions, aY as NotifyOptions, a7 as DefaultedInfiniteQueryObserverOptions, ah as FetchNextPageOptions, ai as FetchPreviousPageOptions, u as Query } from './hydration-XP7CH-6g.cjs';
1
+ import { y as DefaultError, W as InfiniteData, z as QueryKey, c as QueryObserver, aA as InfiniteQueryObserverResult, aX as ObserverFetchOptions, b as QueryClient, a6 as InfiniteQueryObserverOptions, aY as NotifyOptions, a7 as DefaultedInfiniteQueryObserverOptions, ah as FetchNextPageOptions, ai as FetchPreviousPageOptions, u as Query } from './hydration-CwKUqoFl.cjs';
2
2
  import './removable.cjs';
3
3
  import './subscribable.cjs';
4
4
 
@@ -1,4 +1,4 @@
1
- import { y as DefaultError, W as InfiniteData, z as QueryKey, c as QueryObserver, aA as InfiniteQueryObserverResult, aX as ObserverFetchOptions, b as QueryClient, a6 as InfiniteQueryObserverOptions, aY as NotifyOptions, a7 as DefaultedInfiniteQueryObserverOptions, ah as FetchNextPageOptions, ai as FetchPreviousPageOptions, u as Query } from './hydration-DJZYTIMr.js';
1
+ import { y as DefaultError, W as InfiniteData, z as QueryKey, c as QueryObserver, aA as InfiniteQueryObserverResult, aX as ObserverFetchOptions, b as QueryClient, a6 as InfiniteQueryObserverOptions, aY as NotifyOptions, a7 as DefaultedInfiniteQueryObserverOptions, ah as FetchNextPageOptions, ai as FetchPreviousPageOptions, u as Query } from './hydration-BZ2M_xzi.js';
2
2
  import './removable.js';
3
3
  import './subscribable.js';
4
4
 
@@ -1,3 +1,3 @@
1
1
  import './removable.cjs';
2
- export { bl as Action, v as Mutation, w as MutationState, bm as getDefaultState } from './hydration-XP7CH-6g.cjs';
2
+ export { bl as Action, v as Mutation, w as MutationState, bm as getDefaultState } from './hydration-CwKUqoFl.cjs';
3
3
  import './subscribable.cjs';
@@ -1,3 +1,3 @@
1
1
  import './removable.js';
2
- export { bl as Action, v as Mutation, w as MutationState, bm as getDefaultState } from './hydration-DJZYTIMr.js';
2
+ export { bl as Action, v as Mutation, w as MutationState, bm as getDefaultState } from './hydration-BZ2M_xzi.js';
3
3
  import './subscribable.js';
@@ -1,3 +1,3 @@
1
- export { M as MutationCache, d as MutationCacheNotifyEvent } from './hydration-XP7CH-6g.cjs';
1
+ export { M as MutationCache, d as MutationCacheNotifyEvent } from './hydration-CwKUqoFl.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-DJZYTIMr.js';
1
+ export { M as MutationCache, d as MutationCacheNotifyEvent } from './hydration-BZ2M_xzi.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-XP7CH-6g.cjs';
2
+ export { e as MutationObserver } from './hydration-CwKUqoFl.cjs';
3
3
  import './removable.cjs';
@@ -1,3 +1,3 @@
1
1
  import './subscribable.js';
2
- export { e as MutationObserver } from './hydration-DJZYTIMr.js';
2
+ export { e as MutationObserver } from './hydration-BZ2M_xzi.js';
3
3
  import './removable.js';
@@ -1,4 +1,4 @@
1
- import { as as QueryObserverResult, b as QueryClient, a2 as QueryObserverOptions, aY as NotifyOptions, u as Query, z as QueryKey, c as QueryObserver } from './hydration-XP7CH-6g.cjs';
1
+ import { as as QueryObserverResult, b as QueryClient, a2 as QueryObserverOptions, aY as NotifyOptions, u as Query, z as QueryKey, c as QueryObserver } from './hydration-CwKUqoFl.cjs';
2
2
  import { Subscribable } from './subscribable.cjs';
3
3
  import './removable.cjs';
4
4
 
@@ -1,4 +1,4 @@
1
- import { as as QueryObserverResult, b as QueryClient, a2 as QueryObserverOptions, aY as NotifyOptions, u as Query, z as QueryKey, c as QueryObserver } from './hydration-DJZYTIMr.js';
1
+ import { as as QueryObserverResult, b as QueryClient, a2 as QueryObserverOptions, aY as NotifyOptions, u as Query, z as QueryKey, c as QueryObserver } from './hydration-BZ2M_xzi.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 { b1 as Action, aZ as FetchContext, a_ as FetchDirection, a$ as FetchMeta, b0 as FetchOptions, u as Query, aW as QueryBehavior, t as QueryState, b2 as SetStateOptions, b3 as fetchState } from './hydration-XP7CH-6g.cjs';
2
+ export { b1 as Action, aZ as FetchContext, a_ as FetchDirection, a$ as FetchMeta, b0 as FetchOptions, u as Query, aW as QueryBehavior, t as QueryState, b2 as SetStateOptions, b3 as fetchState } from './hydration-CwKUqoFl.cjs';
3
3
  import './subscribable.cjs';
@@ -1,3 +1,3 @@
1
1
  import './removable.js';
2
- export { b1 as Action, aZ as FetchContext, a_ as FetchDirection, a$ as FetchMeta, b0 as FetchOptions, u as Query, aW as QueryBehavior, t as QueryState, b2 as SetStateOptions, b3 as fetchState } from './hydration-DJZYTIMr.js';
2
+ export { b1 as Action, aZ as FetchContext, a_ as FetchDirection, a$ as FetchMeta, b0 as FetchOptions, u as Query, aW as QueryBehavior, t as QueryState, b2 as SetStateOptions, b3 as fetchState } from './hydration-BZ2M_xzi.js';
3
3
  import './subscribable.js';
@@ -1,3 +1,3 @@
1
- export { Q as QueryCache, a as QueryCacheNotifyEvent, bk as QueryStore } from './hydration-XP7CH-6g.cjs';
1
+ export { Q as QueryCache, a as QueryCacheNotifyEvent, bk as QueryStore } from './hydration-CwKUqoFl.cjs';
2
2
  import './subscribable.cjs';
3
3
  import './removable.cjs';
@@ -1,3 +1,3 @@
1
- export { Q as QueryCache, a as QueryCacheNotifyEvent, bk as QueryStore } from './hydration-DJZYTIMr.js';
1
+ export { Q as QueryCache, a as QueryCacheNotifyEvent, bk as QueryStore } from './hydration-BZ2M_xzi.js';
2
2
  import './subscribable.js';
3
3
  import './removable.js';
@@ -1,3 +1,3 @@
1
- export { b as QueryClient } from './hydration-XP7CH-6g.cjs';
1
+ export { b as QueryClient } from './hydration-CwKUqoFl.cjs';
2
2
  import './removable.cjs';
3
3
  import './subscribable.cjs';
@@ -1,3 +1,3 @@
1
- export { b as QueryClient } from './hydration-DJZYTIMr.js';
1
+ export { b as QueryClient } from './hydration-BZ2M_xzi.js';
2
2
  import './removable.js';
3
3
  import './subscribable.js';
@@ -1,3 +1,3 @@
1
1
  import './subscribable.cjs';
2
- export { aY as NotifyOptions, aX as ObserverFetchOptions, c as QueryObserver } from './hydration-XP7CH-6g.cjs';
2
+ export { aY as NotifyOptions, aX as ObserverFetchOptions, c as QueryObserver } from './hydration-CwKUqoFl.cjs';
3
3
  import './removable.cjs';
@@ -1,3 +1,3 @@
1
1
  import './subscribable.js';
2
- export { aY as NotifyOptions, aX as ObserverFetchOptions, c as QueryObserver } from './hydration-DJZYTIMr.js';
2
+ export { aY as NotifyOptions, aX as ObserverFetchOptions, c as QueryObserver } from './hydration-BZ2M_xzi.js';
3
3
  import './removable.js';
@@ -1,3 +1,3 @@
1
- export { C as CancelledError, bp as RetryDelayValue, bo as RetryValue, bn as Retryer, bq as canFetch, br as createRetryer, l as isCancelledError } from './hydration-XP7CH-6g.cjs';
1
+ export { C as CancelledError, bp as RetryDelayValue, bo as RetryValue, bn as Retryer, bq as canFetch, br as createRetryer, l as isCancelledError } from './hydration-CwKUqoFl.cjs';
2
2
  import './removable.cjs';
3
3
  import './subscribable.cjs';
@@ -1,3 +1,3 @@
1
- export { C as CancelledError, bp as RetryDelayValue, bo as RetryValue, bn as Retryer, bq as canFetch, br as createRetryer, l as isCancelledError } from './hydration-DJZYTIMr.js';
1
+ export { C as CancelledError, bp as RetryDelayValue, bo as RetryValue, bn as Retryer, bq as canFetch, br as createRetryer, l as isCancelledError } from './hydration-BZ2M_xzi.js';
2
2
  import './removable.js';
3
3
  import './subscribable.js';
@@ -1,3 +1,3 @@
1
- export { aS as CancelOptions, B as DataTag, y as DefaultError, aR as DefaultOptions, a7 as DefaultedInfiniteQueryObserverOptions, a5 as DefaultedQueryObserverOptions, az as DefinedInfiniteQueryObserverResult, ar as DefinedQueryObserverResult, a9 as EnsureQueryDataOptions, aa as FetchInfiniteQueryOptions, ah as FetchNextPageOptions, ai as FetchPreviousPageOptions, a8 as FetchQueryOptions, ak as FetchStatus, V as GetNextPageParamFunction, T as GetPreviousPageParamFunction, W as InfiniteData, at as InfiniteQueryObserverBaseResult, aw as InfiniteQueryObserverLoadingErrorResult, av as InfiniteQueryObserverLoadingResult, a6 as InfiniteQueryObserverOptions, au as InfiniteQueryObserverPendingResult, ax as InfiniteQueryObserverRefetchErrorResult, aA as InfiniteQueryObserverResult, ay as InfiniteQueryObserverSuccessResult, a0 as InfiniteQueryPageParamsOptions, J as InitialDataFunction, $ as InitialPageParam, af as InvalidateOptions, ad as InvalidateQueryFilters, aJ as MutateFunction, aI as MutateOptions, aF as MutationFunction, aB as MutationKey, aE as MutationMeta, aK as MutationObserverBaseResult, aN as MutationObserverErrorResult, aL as MutationObserverIdleResult, aM as MutationObserverLoadingResult, aH as MutationObserverOptions, aP as MutationObserverResult, aO as MutationObserverSuccessResult, aG as MutationOptions, aD as MutationScope, aC as MutationStatus, Y as NetworkMode, N as NoInfer, aV as NotifyEvent, aU as NotifyEventType, Z as NotifyOnChangeProps, O as OmitKeyof, a4 as Optional, P as PlaceholderDataFunction, K as QueriesPlaceholderDataFunction, aQ as QueryClientConfig, E as QueryFunction, I as QueryFunctionContext, z as QueryKey, L as QueryKeyHashFunction, X as QueryMeta, al as QueryObserverBaseResult, ao as QueryObserverLoadingErrorResult, an as QueryObserverLoadingResult, a2 as QueryObserverOptions, am as QueryObserverPendingResult, ap as QueryObserverRefetchErrorResult, as as QueryObserverResult, aq as QueryObserverSuccessResult, _ as QueryOptions, G as QueryPersister, aj as QueryStatus, ac as RefetchOptions, ae as RefetchQueryFilters, R as Register, ag as ResetOptions, ab as ResultOptions, aT as SetDataOptions, F as StaleTime, a1 as ThrowOnError, a3 as WithRequired, A as dataTagSymbol } from './hydration-XP7CH-6g.cjs';
1
+ export { aS as CancelOptions, B as DataTag, y as DefaultError, aR as DefaultOptions, a7 as DefaultedInfiniteQueryObserverOptions, a5 as DefaultedQueryObserverOptions, az as DefinedInfiniteQueryObserverResult, ar as DefinedQueryObserverResult, a9 as EnsureQueryDataOptions, aa as FetchInfiniteQueryOptions, ah as FetchNextPageOptions, ai as FetchPreviousPageOptions, a8 as FetchQueryOptions, ak as FetchStatus, V as GetNextPageParamFunction, T as GetPreviousPageParamFunction, W as InfiniteData, at as InfiniteQueryObserverBaseResult, aw as InfiniteQueryObserverLoadingErrorResult, av as InfiniteQueryObserverLoadingResult, a6 as InfiniteQueryObserverOptions, au as InfiniteQueryObserverPendingResult, ax as InfiniteQueryObserverRefetchErrorResult, aA as InfiniteQueryObserverResult, ay as InfiniteQueryObserverSuccessResult, a0 as InfiniteQueryPageParamsOptions, J as InitialDataFunction, $ as InitialPageParam, af as InvalidateOptions, ad as InvalidateQueryFilters, aJ as MutateFunction, aI as MutateOptions, aF as MutationFunction, aB as MutationKey, aE as MutationMeta, aK as MutationObserverBaseResult, aN as MutationObserverErrorResult, aL as MutationObserverIdleResult, aM as MutationObserverLoadingResult, aH as MutationObserverOptions, aP as MutationObserverResult, aO as MutationObserverSuccessResult, aG as MutationOptions, aD as MutationScope, aC as MutationStatus, Y as NetworkMode, N as NoInfer, aV as NotifyEvent, aU as NotifyEventType, Z as NotifyOnChangeProps, O as OmitKeyof, a4 as Optional, P as PlaceholderDataFunction, K as QueriesPlaceholderDataFunction, aQ as QueryClientConfig, E as QueryFunction, I as QueryFunctionContext, z as QueryKey, L as QueryKeyHashFunction, X as QueryMeta, al as QueryObserverBaseResult, ao as QueryObserverLoadingErrorResult, an as QueryObserverLoadingResult, a2 as QueryObserverOptions, am as QueryObserverPendingResult, ap as QueryObserverRefetchErrorResult, as as QueryObserverResult, aq as QueryObserverSuccessResult, _ as QueryOptions, G as QueryPersister, aj as QueryStatus, ac as RefetchOptions, ae as RefetchQueryFilters, R as Register, ag as ResetOptions, ab as ResultOptions, aT as SetDataOptions, F as StaleTime, a1 as ThrowOnError, a3 as WithRequired, A as dataTagSymbol } from './hydration-CwKUqoFl.cjs';
2
2
  import './removable.cjs';
3
3
  import './subscribable.cjs';
@@ -1,3 +1,3 @@
1
- export { aS as CancelOptions, B as DataTag, y as DefaultError, aR as DefaultOptions, a7 as DefaultedInfiniteQueryObserverOptions, a5 as DefaultedQueryObserverOptions, az as DefinedInfiniteQueryObserverResult, ar as DefinedQueryObserverResult, a9 as EnsureQueryDataOptions, aa as FetchInfiniteQueryOptions, ah as FetchNextPageOptions, ai as FetchPreviousPageOptions, a8 as FetchQueryOptions, ak as FetchStatus, V as GetNextPageParamFunction, T as GetPreviousPageParamFunction, W as InfiniteData, at as InfiniteQueryObserverBaseResult, aw as InfiniteQueryObserverLoadingErrorResult, av as InfiniteQueryObserverLoadingResult, a6 as InfiniteQueryObserverOptions, au as InfiniteQueryObserverPendingResult, ax as InfiniteQueryObserverRefetchErrorResult, aA as InfiniteQueryObserverResult, ay as InfiniteQueryObserverSuccessResult, a0 as InfiniteQueryPageParamsOptions, J as InitialDataFunction, $ as InitialPageParam, af as InvalidateOptions, ad as InvalidateQueryFilters, aJ as MutateFunction, aI as MutateOptions, aF as MutationFunction, aB as MutationKey, aE as MutationMeta, aK as MutationObserverBaseResult, aN as MutationObserverErrorResult, aL as MutationObserverIdleResult, aM as MutationObserverLoadingResult, aH as MutationObserverOptions, aP as MutationObserverResult, aO as MutationObserverSuccessResult, aG as MutationOptions, aD as MutationScope, aC as MutationStatus, Y as NetworkMode, N as NoInfer, aV as NotifyEvent, aU as NotifyEventType, Z as NotifyOnChangeProps, O as OmitKeyof, a4 as Optional, P as PlaceholderDataFunction, K as QueriesPlaceholderDataFunction, aQ as QueryClientConfig, E as QueryFunction, I as QueryFunctionContext, z as QueryKey, L as QueryKeyHashFunction, X as QueryMeta, al as QueryObserverBaseResult, ao as QueryObserverLoadingErrorResult, an as QueryObserverLoadingResult, a2 as QueryObserverOptions, am as QueryObserverPendingResult, ap as QueryObserverRefetchErrorResult, as as QueryObserverResult, aq as QueryObserverSuccessResult, _ as QueryOptions, G as QueryPersister, aj as QueryStatus, ac as RefetchOptions, ae as RefetchQueryFilters, R as Register, ag as ResetOptions, ab as ResultOptions, aT as SetDataOptions, F as StaleTime, a1 as ThrowOnError, a3 as WithRequired, A as dataTagSymbol } from './hydration-DJZYTIMr.js';
1
+ export { aS as CancelOptions, B as DataTag, y as DefaultError, aR as DefaultOptions, a7 as DefaultedInfiniteQueryObserverOptions, a5 as DefaultedQueryObserverOptions, az as DefinedInfiniteQueryObserverResult, ar as DefinedQueryObserverResult, a9 as EnsureQueryDataOptions, aa as FetchInfiniteQueryOptions, ah as FetchNextPageOptions, ai as FetchPreviousPageOptions, a8 as FetchQueryOptions, ak as FetchStatus, V as GetNextPageParamFunction, T as GetPreviousPageParamFunction, W as InfiniteData, at as InfiniteQueryObserverBaseResult, aw as InfiniteQueryObserverLoadingErrorResult, av as InfiniteQueryObserverLoadingResult, a6 as InfiniteQueryObserverOptions, au as InfiniteQueryObserverPendingResult, ax as InfiniteQueryObserverRefetchErrorResult, aA as InfiniteQueryObserverResult, ay as InfiniteQueryObserverSuccessResult, a0 as InfiniteQueryPageParamsOptions, J as InitialDataFunction, $ as InitialPageParam, af as InvalidateOptions, ad as InvalidateQueryFilters, aJ as MutateFunction, aI as MutateOptions, aF as MutationFunction, aB as MutationKey, aE as MutationMeta, aK as MutationObserverBaseResult, aN as MutationObserverErrorResult, aL as MutationObserverIdleResult, aM as MutationObserverLoadingResult, aH as MutationObserverOptions, aP as MutationObserverResult, aO as MutationObserverSuccessResult, aG as MutationOptions, aD as MutationScope, aC as MutationStatus, Y as NetworkMode, N as NoInfer, aV as NotifyEvent, aU as NotifyEventType, Z as NotifyOnChangeProps, O as OmitKeyof, a4 as Optional, P as PlaceholderDataFunction, K as QueriesPlaceholderDataFunction, aQ as QueryClientConfig, E as QueryFunction, I as QueryFunctionContext, z as QueryKey, L as QueryKeyHashFunction, X as QueryMeta, al as QueryObserverBaseResult, ao as QueryObserverLoadingErrorResult, an as QueryObserverLoadingResult, a2 as QueryObserverOptions, am as QueryObserverPendingResult, ap as QueryObserverRefetchErrorResult, as as QueryObserverResult, aq as QueryObserverSuccessResult, _ as QueryOptions, G as QueryPersister, aj as QueryStatus, ac as RefetchOptions, ae as RefetchQueryFilters, R as Register, ag as ResetOptions, ab as ResultOptions, aT as SetDataOptions, F as StaleTime, a1 as ThrowOnError, a3 as WithRequired, A as dataTagSymbol } from './hydration-BZ2M_xzi.js';
2
2
  import './removable.js';
3
3
  import './subscribable.js';
@@ -1,3 +1,3 @@
1
- export { g as MutationFilters, j as QueryFilters, b4 as QueryTypeFilter, S as SkipToken, U as Updater, bh as addToEnd, bi as addToStart, bj as ensureQueryFn, b6 as functionalUpdate, h as hashKey, ba as hashQueryKeyByOptions, bd as isPlainArray, be as isPlainObject, i as isServer, b7 as isValidTimeout, k as keepPreviousData, f as matchMutation, m as matchQuery, b5 as noop, bb as partialMatchKey, bg as replaceData, r as replaceEqualDeep, b9 as resolveStaleTime, bc as shallowEqualObjects, s as skipToken, bf as sleep, b8 as timeUntilStale } from './hydration-XP7CH-6g.cjs';
1
+ export { g as MutationFilters, j as QueryFilters, b4 as QueryTypeFilter, S as SkipToken, U as Updater, bh as addToEnd, bi as addToStart, bj as ensureQueryFn, b6 as functionalUpdate, h as hashKey, ba as hashQueryKeyByOptions, bd as isPlainArray, be as isPlainObject, i as isServer, b7 as isValidTimeout, k as keepPreviousData, f as matchMutation, m as matchQuery, b5 as noop, bb as partialMatchKey, bg as replaceData, r as replaceEqualDeep, b9 as resolveStaleTime, bc as shallowEqualObjects, s as skipToken, bf as sleep, b8 as timeUntilStale } from './hydration-CwKUqoFl.cjs';
2
2
  import './removable.cjs';
3
3
  import './subscribable.cjs';
@@ -1,3 +1,3 @@
1
- export { g as MutationFilters, j as QueryFilters, b4 as QueryTypeFilter, S as SkipToken, U as Updater, bh as addToEnd, bi as addToStart, bj as ensureQueryFn, b6 as functionalUpdate, h as hashKey, ba as hashQueryKeyByOptions, bd as isPlainArray, be as isPlainObject, i as isServer, b7 as isValidTimeout, k as keepPreviousData, f as matchMutation, m as matchQuery, b5 as noop, bb as partialMatchKey, bg as replaceData, r as replaceEqualDeep, b9 as resolveStaleTime, bc as shallowEqualObjects, s as skipToken, bf as sleep, b8 as timeUntilStale } from './hydration-DJZYTIMr.js';
1
+ export { g as MutationFilters, j as QueryFilters, b4 as QueryTypeFilter, S as SkipToken, U as Updater, bh as addToEnd, bi as addToStart, bj as ensureQueryFn, b6 as functionalUpdate, h as hashKey, ba as hashQueryKeyByOptions, bd as isPlainArray, be as isPlainObject, i as isServer, b7 as isValidTimeout, k as keepPreviousData, f as matchMutation, m as matchQuery, b5 as noop, bb as partialMatchKey, bg as replaceData, r as replaceEqualDeep, b9 as resolveStaleTime, bc as shallowEqualObjects, s as skipToken, bf as sleep, b8 as timeUntilStale } from './hydration-BZ2M_xzi.js';
2
2
  import './removable.js';
3
3
  import './subscribable.js';
@@ -1204,6 +1204,7 @@ interface DehydrateOptions {
1204
1204
  }
1205
1205
  interface HydrateOptions {
1206
1206
  defaultOptions?: {
1207
+ transformPromise?: (promise: Promise<any>) => Promise<any>;
1207
1208
  queries?: QueryOptions;
1208
1209
  mutations?: MutationOptions<unknown, DefaultError, unknown, unknown>;
1209
1210
  };
@@ -1204,6 +1204,7 @@ interface DehydrateOptions {
1204
1204
  }
1205
1205
  interface HydrateOptions {
1206
1206
  defaultOptions?: {
1207
+ transformPromise?: (promise: Promise<any>) => Promise<any>;
1207
1208
  queries?: QueryOptions;
1208
1209
  mutations?: MutationOptions<unknown, DefaultError, unknown, unknown>;
1209
1210
  };
@@ -112,7 +112,9 @@ function hydrate(client, dehydratedState, options) {
112
112
  );
113
113
  }
114
114
  if (promise) {
115
- void query.fetch(void 0, { initialPromise: promise });
115
+ const transformPromise = client.getDefaultOptions().hydrate?.transformPromise;
116
+ const initialPromise = transformPromise?.(Promise.resolve(promise)) ?? promise;
117
+ void query.fetch(void 0, { initialPromise });
116
118
  }
117
119
  });
118
120
  }
@@ -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 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
+ {"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 transformPromise?: (promise: Promise<any>) => Promise<any>\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 const transformPromise =\n client.getDefaultOptions().hydrate?.transformPromise\n\n // Note: `Promise.resolve` required cause\n // RSC transformed promises are not thenable\n const initialPromise =\n transformPromise?.(Promise.resolve(promise)) ?? promise\n\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 })\n }\n })\n}\n"],"mappings":"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","names":[]}
@@ -1,3 +1,3 @@
1
- export { D as DehydrateOptions, x as DehydratedState, H as HydrateOptions, q as defaultShouldDehydrateMutation, p as defaultShouldDehydrateQuery, n as dehydrate, o as hydrate } from './hydration-XP7CH-6g.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-CwKUqoFl.cjs';
2
2
  import './removable.cjs';
3
3
  import './subscribable.cjs';
@@ -1,3 +1,3 @@
1
- export { D as DehydrateOptions, x as DehydratedState, H as HydrateOptions, q as defaultShouldDehydrateMutation, p as defaultShouldDehydrateQuery, n as dehydrate, o as hydrate } from './hydration-DJZYTIMr.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-BZ2M_xzi.js';
2
2
  import './removable.js';
3
3
  import './subscribable.js';
@@ -85,7 +85,9 @@ function hydrate(client, dehydratedState, options) {
85
85
  );
86
86
  }
87
87
  if (promise) {
88
- void query.fetch(void 0, { initialPromise: promise });
88
+ const transformPromise = client.getDefaultOptions().hydrate?.transformPromise;
89
+ const initialPromise = transformPromise?.(Promise.resolve(promise)) ?? promise;
90
+ void query.fetch(void 0, { initialPromise });
89
91
  }
90
92
  });
91
93
  }
@@ -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 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
+ {"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 transformPromise?: (promise: Promise<any>) => Promise<any>\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 const transformPromise =\n client.getDefaultOptions().hydrate?.transformPromise\n\n // Note: `Promise.resolve` required cause\n // RSC transformed promises are not thenable\n const initialPromise =\n transformPromise?.(Promise.resolve(promise)) ?? promise\n\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 })\n }\n })\n}\n"],"mappings":"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","names":[]}
@@ -1,4 +1,4 @@
1
- export { aS as CancelOptions, C as CancelledError, B as DataTag, y as DefaultError, aR as DefaultOptions, a7 as DefaultedInfiniteQueryObserverOptions, a5 as DefaultedQueryObserverOptions, az as DefinedInfiniteQueryObserverResult, ar as DefinedQueryObserverResult, D as DehydrateOptions, x as DehydratedState, a9 as EnsureQueryDataOptions, aa as FetchInfiniteQueryOptions, ah as FetchNextPageOptions, ai as FetchPreviousPageOptions, a8 as FetchQueryOptions, ak as FetchStatus, V as GetNextPageParamFunction, T as GetPreviousPageParamFunction, H as HydrateOptions, W as InfiniteData, at as InfiniteQueryObserverBaseResult, aw as InfiniteQueryObserverLoadingErrorResult, av as InfiniteQueryObserverLoadingResult, a6 as InfiniteQueryObserverOptions, au as InfiniteQueryObserverPendingResult, ax as InfiniteQueryObserverRefetchErrorResult, aA as InfiniteQueryObserverResult, ay as InfiniteQueryObserverSuccessResult, a0 as InfiniteQueryPageParamsOptions, J as InitialDataFunction, $ as InitialPageParam, af as InvalidateOptions, ad as InvalidateQueryFilters, aJ as MutateFunction, aI as MutateOptions, v as Mutation, M as MutationCache, d as MutationCacheNotifyEvent, g as MutationFilters, aF as MutationFunction, aB as MutationKey, aE as MutationMeta, e as MutationObserver, aK as MutationObserverBaseResult, aN as MutationObserverErrorResult, aL as MutationObserverIdleResult, aM as MutationObserverLoadingResult, aH as MutationObserverOptions, aP as MutationObserverResult, aO as MutationObserverSuccessResult, aG as MutationOptions, aD as MutationScope, w as MutationState, aC as MutationStatus, Y as NetworkMode, N as NoInfer, aV as NotifyEvent, aU as NotifyEventType, Z as NotifyOnChangeProps, O as OmitKeyof, a4 as Optional, P as PlaceholderDataFunction, K as QueriesPlaceholderDataFunction, u as Query, Q as QueryCache, a as QueryCacheNotifyEvent, b as QueryClient, aQ as QueryClientConfig, j as QueryFilters, E as QueryFunction, I as QueryFunctionContext, z as QueryKey, L as QueryKeyHashFunction, X as QueryMeta, c as QueryObserver, al as QueryObserverBaseResult, ao as QueryObserverLoadingErrorResult, an as QueryObserverLoadingResult, a2 as QueryObserverOptions, am as QueryObserverPendingResult, ap as QueryObserverRefetchErrorResult, as as QueryObserverResult, aq as QueryObserverSuccessResult, _ as QueryOptions, G as QueryPersister, t as QueryState, aj as QueryStatus, ac as RefetchOptions, ae as RefetchQueryFilters, R as Register, ag as ResetOptions, ab as ResultOptions, aT as SetDataOptions, S as SkipToken, F as StaleTime, a1 as ThrowOnError, U as Updater, a3 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-XP7CH-6g.cjs';
1
+ export { aS as CancelOptions, C as CancelledError, B as DataTag, y as DefaultError, aR as DefaultOptions, a7 as DefaultedInfiniteQueryObserverOptions, a5 as DefaultedQueryObserverOptions, az as DefinedInfiniteQueryObserverResult, ar as DefinedQueryObserverResult, D as DehydrateOptions, x as DehydratedState, a9 as EnsureQueryDataOptions, aa as FetchInfiniteQueryOptions, ah as FetchNextPageOptions, ai as FetchPreviousPageOptions, a8 as FetchQueryOptions, ak as FetchStatus, V as GetNextPageParamFunction, T as GetPreviousPageParamFunction, H as HydrateOptions, W as InfiniteData, at as InfiniteQueryObserverBaseResult, aw as InfiniteQueryObserverLoadingErrorResult, av as InfiniteQueryObserverLoadingResult, a6 as InfiniteQueryObserverOptions, au as InfiniteQueryObserverPendingResult, ax as InfiniteQueryObserverRefetchErrorResult, aA as InfiniteQueryObserverResult, ay as InfiniteQueryObserverSuccessResult, a0 as InfiniteQueryPageParamsOptions, J as InitialDataFunction, $ as InitialPageParam, af as InvalidateOptions, ad as InvalidateQueryFilters, aJ as MutateFunction, aI as MutateOptions, v as Mutation, M as MutationCache, d as MutationCacheNotifyEvent, g as MutationFilters, aF as MutationFunction, aB as MutationKey, aE as MutationMeta, e as MutationObserver, aK as MutationObserverBaseResult, aN as MutationObserverErrorResult, aL as MutationObserverIdleResult, aM as MutationObserverLoadingResult, aH as MutationObserverOptions, aP as MutationObserverResult, aO as MutationObserverSuccessResult, aG as MutationOptions, aD as MutationScope, w as MutationState, aC as MutationStatus, Y as NetworkMode, N as NoInfer, aV as NotifyEvent, aU as NotifyEventType, Z as NotifyOnChangeProps, O as OmitKeyof, a4 as Optional, P as PlaceholderDataFunction, K as QueriesPlaceholderDataFunction, u as Query, Q as QueryCache, a as QueryCacheNotifyEvent, b as QueryClient, aQ as QueryClientConfig, j as QueryFilters, E as QueryFunction, I as QueryFunctionContext, z as QueryKey, L as QueryKeyHashFunction, X as QueryMeta, c as QueryObserver, al as QueryObserverBaseResult, ao as QueryObserverLoadingErrorResult, an as QueryObserverLoadingResult, a2 as QueryObserverOptions, am as QueryObserverPendingResult, ap as QueryObserverRefetchErrorResult, as as QueryObserverResult, aq as QueryObserverSuccessResult, _ as QueryOptions, G as QueryPersister, t as QueryState, aj as QueryStatus, ac as RefetchOptions, ae as RefetchQueryFilters, R as Register, ag as ResetOptions, ab as ResultOptions, aT as SetDataOptions, S as SkipToken, F as StaleTime, a1 as ThrowOnError, U as Updater, a3 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-CwKUqoFl.cjs';
2
2
  export { QueriesObserver, QueriesObserverOptions } from './queriesObserver.cjs';
3
3
  export { InfiniteQueryObserver } from './infiniteQueryObserver.cjs';
4
4
  export { notifyManager } from './notifyManager.cjs';
@@ -1,4 +1,4 @@
1
- export { aS as CancelOptions, C as CancelledError, B as DataTag, y as DefaultError, aR as DefaultOptions, a7 as DefaultedInfiniteQueryObserverOptions, a5 as DefaultedQueryObserverOptions, az as DefinedInfiniteQueryObserverResult, ar as DefinedQueryObserverResult, D as DehydrateOptions, x as DehydratedState, a9 as EnsureQueryDataOptions, aa as FetchInfiniteQueryOptions, ah as FetchNextPageOptions, ai as FetchPreviousPageOptions, a8 as FetchQueryOptions, ak as FetchStatus, V as GetNextPageParamFunction, T as GetPreviousPageParamFunction, H as HydrateOptions, W as InfiniteData, at as InfiniteQueryObserverBaseResult, aw as InfiniteQueryObserverLoadingErrorResult, av as InfiniteQueryObserverLoadingResult, a6 as InfiniteQueryObserverOptions, au as InfiniteQueryObserverPendingResult, ax as InfiniteQueryObserverRefetchErrorResult, aA as InfiniteQueryObserverResult, ay as InfiniteQueryObserverSuccessResult, a0 as InfiniteQueryPageParamsOptions, J as InitialDataFunction, $ as InitialPageParam, af as InvalidateOptions, ad as InvalidateQueryFilters, aJ as MutateFunction, aI as MutateOptions, v as Mutation, M as MutationCache, d as MutationCacheNotifyEvent, g as MutationFilters, aF as MutationFunction, aB as MutationKey, aE as MutationMeta, e as MutationObserver, aK as MutationObserverBaseResult, aN as MutationObserverErrorResult, aL as MutationObserverIdleResult, aM as MutationObserverLoadingResult, aH as MutationObserverOptions, aP as MutationObserverResult, aO as MutationObserverSuccessResult, aG as MutationOptions, aD as MutationScope, w as MutationState, aC as MutationStatus, Y as NetworkMode, N as NoInfer, aV as NotifyEvent, aU as NotifyEventType, Z as NotifyOnChangeProps, O as OmitKeyof, a4 as Optional, P as PlaceholderDataFunction, K as QueriesPlaceholderDataFunction, u as Query, Q as QueryCache, a as QueryCacheNotifyEvent, b as QueryClient, aQ as QueryClientConfig, j as QueryFilters, E as QueryFunction, I as QueryFunctionContext, z as QueryKey, L as QueryKeyHashFunction, X as QueryMeta, c as QueryObserver, al as QueryObserverBaseResult, ao as QueryObserverLoadingErrorResult, an as QueryObserverLoadingResult, a2 as QueryObserverOptions, am as QueryObserverPendingResult, ap as QueryObserverRefetchErrorResult, as as QueryObserverResult, aq as QueryObserverSuccessResult, _ as QueryOptions, G as QueryPersister, t as QueryState, aj as QueryStatus, ac as RefetchOptions, ae as RefetchQueryFilters, R as Register, ag as ResetOptions, ab as ResultOptions, aT as SetDataOptions, S as SkipToken, F as StaleTime, a1 as ThrowOnError, U as Updater, a3 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-DJZYTIMr.js';
1
+ export { aS as CancelOptions, C as CancelledError, B as DataTag, y as DefaultError, aR as DefaultOptions, a7 as DefaultedInfiniteQueryObserverOptions, a5 as DefaultedQueryObserverOptions, az as DefinedInfiniteQueryObserverResult, ar as DefinedQueryObserverResult, D as DehydrateOptions, x as DehydratedState, a9 as EnsureQueryDataOptions, aa as FetchInfiniteQueryOptions, ah as FetchNextPageOptions, ai as FetchPreviousPageOptions, a8 as FetchQueryOptions, ak as FetchStatus, V as GetNextPageParamFunction, T as GetPreviousPageParamFunction, H as HydrateOptions, W as InfiniteData, at as InfiniteQueryObserverBaseResult, aw as InfiniteQueryObserverLoadingErrorResult, av as InfiniteQueryObserverLoadingResult, a6 as InfiniteQueryObserverOptions, au as InfiniteQueryObserverPendingResult, ax as InfiniteQueryObserverRefetchErrorResult, aA as InfiniteQueryObserverResult, ay as InfiniteQueryObserverSuccessResult, a0 as InfiniteQueryPageParamsOptions, J as InitialDataFunction, $ as InitialPageParam, af as InvalidateOptions, ad as InvalidateQueryFilters, aJ as MutateFunction, aI as MutateOptions, v as Mutation, M as MutationCache, d as MutationCacheNotifyEvent, g as MutationFilters, aF as MutationFunction, aB as MutationKey, aE as MutationMeta, e as MutationObserver, aK as MutationObserverBaseResult, aN as MutationObserverErrorResult, aL as MutationObserverIdleResult, aM as MutationObserverLoadingResult, aH as MutationObserverOptions, aP as MutationObserverResult, aO as MutationObserverSuccessResult, aG as MutationOptions, aD as MutationScope, w as MutationState, aC as MutationStatus, Y as NetworkMode, N as NoInfer, aV as NotifyEvent, aU as NotifyEventType, Z as NotifyOnChangeProps, O as OmitKeyof, a4 as Optional, P as PlaceholderDataFunction, K as QueriesPlaceholderDataFunction, u as Query, Q as QueryCache, a as QueryCacheNotifyEvent, b as QueryClient, aQ as QueryClientConfig, j as QueryFilters, E as QueryFunction, I as QueryFunctionContext, z as QueryKey, L as QueryKeyHashFunction, X as QueryMeta, c as QueryObserver, al as QueryObserverBaseResult, ao as QueryObserverLoadingErrorResult, an as QueryObserverLoadingResult, a2 as QueryObserverOptions, am as QueryObserverPendingResult, ap as QueryObserverRefetchErrorResult, as as QueryObserverResult, aq as QueryObserverSuccessResult, _ as QueryOptions, G as QueryPersister, t as QueryState, aj as QueryStatus, ac as RefetchOptions, ae as RefetchQueryFilters, R as Register, ag as ResetOptions, ab as ResultOptions, aT as SetDataOptions, S as SkipToken, F as StaleTime, a1 as ThrowOnError, U as Updater, a3 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-BZ2M_xzi.js';
2
2
  export { QueriesObserver, QueriesObserverOptions } from './queriesObserver.js';
3
3
  export { InfiniteQueryObserver } from './infiniteQueryObserver.js';
4
4
  export { notifyManager } from './notifyManager.js';
@@ -1,4 +1,4 @@
1
- import { aW as QueryBehavior, W as InfiniteData, a0 as InfiniteQueryPageParamsOptions } from './hydration-XP7CH-6g.cjs';
1
+ import { aW as QueryBehavior, W as InfiniteData, a0 as InfiniteQueryPageParamsOptions } from './hydration-CwKUqoFl.cjs';
2
2
  import './removable.cjs';
3
3
  import './subscribable.cjs';
4
4
 
@@ -1,4 +1,4 @@
1
- import { aW as QueryBehavior, W as InfiniteData, a0 as InfiniteQueryPageParamsOptions } from './hydration-DJZYTIMr.js';
1
+ import { aW as QueryBehavior, W as InfiniteData, a0 as InfiniteQueryPageParamsOptions } from './hydration-BZ2M_xzi.js';
2
2
  import './removable.js';
3
3
  import './subscribable.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { y as DefaultError, W as InfiniteData, z as QueryKey, c as QueryObserver, aA as InfiniteQueryObserverResult, aX as ObserverFetchOptions, b as QueryClient, a6 as InfiniteQueryObserverOptions, aY as NotifyOptions, a7 as DefaultedInfiniteQueryObserverOptions, ah as FetchNextPageOptions, ai as FetchPreviousPageOptions, u as Query } from './hydration-XP7CH-6g.cjs';
1
+ import { y as DefaultError, W as InfiniteData, z as QueryKey, c as QueryObserver, aA as InfiniteQueryObserverResult, aX as ObserverFetchOptions, b as QueryClient, a6 as InfiniteQueryObserverOptions, aY as NotifyOptions, a7 as DefaultedInfiniteQueryObserverOptions, ah as FetchNextPageOptions, ai as FetchPreviousPageOptions, u as Query } from './hydration-CwKUqoFl.cjs';
2
2
  import './removable.cjs';
3
3
  import './subscribable.cjs';
4
4
 
@@ -1,4 +1,4 @@
1
- import { y as DefaultError, W as InfiniteData, z as QueryKey, c as QueryObserver, aA as InfiniteQueryObserverResult, aX as ObserverFetchOptions, b as QueryClient, a6 as InfiniteQueryObserverOptions, aY as NotifyOptions, a7 as DefaultedInfiniteQueryObserverOptions, ah as FetchNextPageOptions, ai as FetchPreviousPageOptions, u as Query } from './hydration-DJZYTIMr.js';
1
+ import { y as DefaultError, W as InfiniteData, z as QueryKey, c as QueryObserver, aA as InfiniteQueryObserverResult, aX as ObserverFetchOptions, b as QueryClient, a6 as InfiniteQueryObserverOptions, aY as NotifyOptions, a7 as DefaultedInfiniteQueryObserverOptions, ah as FetchNextPageOptions, ai as FetchPreviousPageOptions, u as Query } from './hydration-BZ2M_xzi.js';
2
2
  import './removable.js';
3
3
  import './subscribable.js';
4
4
 
@@ -1,3 +1,3 @@
1
1
  import './removable.cjs';
2
- export { bl as Action, v as Mutation, w as MutationState, bm as getDefaultState } from './hydration-XP7CH-6g.cjs';
2
+ export { bl as Action, v as Mutation, w as MutationState, bm as getDefaultState } from './hydration-CwKUqoFl.cjs';
3
3
  import './subscribable.cjs';
@@ -1,3 +1,3 @@
1
1
  import './removable.js';
2
- export { bl as Action, v as Mutation, w as MutationState, bm as getDefaultState } from './hydration-DJZYTIMr.js';
2
+ export { bl as Action, v as Mutation, w as MutationState, bm as getDefaultState } from './hydration-BZ2M_xzi.js';
3
3
  import './subscribable.js';
@@ -1,3 +1,3 @@
1
- export { M as MutationCache, d as MutationCacheNotifyEvent } from './hydration-XP7CH-6g.cjs';
1
+ export { M as MutationCache, d as MutationCacheNotifyEvent } from './hydration-CwKUqoFl.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-DJZYTIMr.js';
1
+ export { M as MutationCache, d as MutationCacheNotifyEvent } from './hydration-BZ2M_xzi.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-XP7CH-6g.cjs';
2
+ export { e as MutationObserver } from './hydration-CwKUqoFl.cjs';
3
3
  import './removable.cjs';
@@ -1,3 +1,3 @@
1
1
  import './subscribable.js';
2
- export { e as MutationObserver } from './hydration-DJZYTIMr.js';
2
+ export { e as MutationObserver } from './hydration-BZ2M_xzi.js';
3
3
  import './removable.js';
@@ -1,4 +1,4 @@
1
- import { as as QueryObserverResult, b as QueryClient, a2 as QueryObserverOptions, aY as NotifyOptions, u as Query, z as QueryKey, c as QueryObserver } from './hydration-XP7CH-6g.cjs';
1
+ import { as as QueryObserverResult, b as QueryClient, a2 as QueryObserverOptions, aY as NotifyOptions, u as Query, z as QueryKey, c as QueryObserver } from './hydration-CwKUqoFl.cjs';
2
2
  import { Subscribable } from './subscribable.cjs';
3
3
  import './removable.cjs';
4
4
 
@@ -1,4 +1,4 @@
1
- import { as as QueryObserverResult, b as QueryClient, a2 as QueryObserverOptions, aY as NotifyOptions, u as Query, z as QueryKey, c as QueryObserver } from './hydration-DJZYTIMr.js';
1
+ import { as as QueryObserverResult, b as QueryClient, a2 as QueryObserverOptions, aY as NotifyOptions, u as Query, z as QueryKey, c as QueryObserver } from './hydration-BZ2M_xzi.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 { b1 as Action, aZ as FetchContext, a_ as FetchDirection, a$ as FetchMeta, b0 as FetchOptions, u as Query, aW as QueryBehavior, t as QueryState, b2 as SetStateOptions, b3 as fetchState } from './hydration-XP7CH-6g.cjs';
2
+ export { b1 as Action, aZ as FetchContext, a_ as FetchDirection, a$ as FetchMeta, b0 as FetchOptions, u as Query, aW as QueryBehavior, t as QueryState, b2 as SetStateOptions, b3 as fetchState } from './hydration-CwKUqoFl.cjs';
3
3
  import './subscribable.cjs';
@@ -1,3 +1,3 @@
1
1
  import './removable.js';
2
- export { b1 as Action, aZ as FetchContext, a_ as FetchDirection, a$ as FetchMeta, b0 as FetchOptions, u as Query, aW as QueryBehavior, t as QueryState, b2 as SetStateOptions, b3 as fetchState } from './hydration-DJZYTIMr.js';
2
+ export { b1 as Action, aZ as FetchContext, a_ as FetchDirection, a$ as FetchMeta, b0 as FetchOptions, u as Query, aW as QueryBehavior, t as QueryState, b2 as SetStateOptions, b3 as fetchState } from './hydration-BZ2M_xzi.js';
3
3
  import './subscribable.js';
@@ -1,3 +1,3 @@
1
- export { Q as QueryCache, a as QueryCacheNotifyEvent, bk as QueryStore } from './hydration-XP7CH-6g.cjs';
1
+ export { Q as QueryCache, a as QueryCacheNotifyEvent, bk as QueryStore } from './hydration-CwKUqoFl.cjs';
2
2
  import './subscribable.cjs';
3
3
  import './removable.cjs';
@@ -1,3 +1,3 @@
1
- export { Q as QueryCache, a as QueryCacheNotifyEvent, bk as QueryStore } from './hydration-DJZYTIMr.js';
1
+ export { Q as QueryCache, a as QueryCacheNotifyEvent, bk as QueryStore } from './hydration-BZ2M_xzi.js';
2
2
  import './subscribable.js';
3
3
  import './removable.js';
@@ -1,3 +1,3 @@
1
- export { b as QueryClient } from './hydration-XP7CH-6g.cjs';
1
+ export { b as QueryClient } from './hydration-CwKUqoFl.cjs';
2
2
  import './removable.cjs';
3
3
  import './subscribable.cjs';
@@ -1,3 +1,3 @@
1
- export { b as QueryClient } from './hydration-DJZYTIMr.js';
1
+ export { b as QueryClient } from './hydration-BZ2M_xzi.js';
2
2
  import './removable.js';
3
3
  import './subscribable.js';
@@ -1,3 +1,3 @@
1
1
  import './subscribable.cjs';
2
- export { aY as NotifyOptions, aX as ObserverFetchOptions, c as QueryObserver } from './hydration-XP7CH-6g.cjs';
2
+ export { aY as NotifyOptions, aX as ObserverFetchOptions, c as QueryObserver } from './hydration-CwKUqoFl.cjs';
3
3
  import './removable.cjs';
@@ -1,3 +1,3 @@
1
1
  import './subscribable.js';
2
- export { aY as NotifyOptions, aX as ObserverFetchOptions, c as QueryObserver } from './hydration-DJZYTIMr.js';
2
+ export { aY as NotifyOptions, aX as ObserverFetchOptions, c as QueryObserver } from './hydration-BZ2M_xzi.js';
3
3
  import './removable.js';
@@ -1,3 +1,3 @@
1
- export { C as CancelledError, bp as RetryDelayValue, bo as RetryValue, bn as Retryer, bq as canFetch, br as createRetryer, l as isCancelledError } from './hydration-XP7CH-6g.cjs';
1
+ export { C as CancelledError, bp as RetryDelayValue, bo as RetryValue, bn as Retryer, bq as canFetch, br as createRetryer, l as isCancelledError } from './hydration-CwKUqoFl.cjs';
2
2
  import './removable.cjs';
3
3
  import './subscribable.cjs';
@@ -1,3 +1,3 @@
1
- export { C as CancelledError, bp as RetryDelayValue, bo as RetryValue, bn as Retryer, bq as canFetch, br as createRetryer, l as isCancelledError } from './hydration-DJZYTIMr.js';
1
+ export { C as CancelledError, bp as RetryDelayValue, bo as RetryValue, bn as Retryer, bq as canFetch, br as createRetryer, l as isCancelledError } from './hydration-BZ2M_xzi.js';
2
2
  import './removable.js';
3
3
  import './subscribable.js';
@@ -1,3 +1,3 @@
1
- export { aS as CancelOptions, B as DataTag, y as DefaultError, aR as DefaultOptions, a7 as DefaultedInfiniteQueryObserverOptions, a5 as DefaultedQueryObserverOptions, az as DefinedInfiniteQueryObserverResult, ar as DefinedQueryObserverResult, a9 as EnsureQueryDataOptions, aa as FetchInfiniteQueryOptions, ah as FetchNextPageOptions, ai as FetchPreviousPageOptions, a8 as FetchQueryOptions, ak as FetchStatus, V as GetNextPageParamFunction, T as GetPreviousPageParamFunction, W as InfiniteData, at as InfiniteQueryObserverBaseResult, aw as InfiniteQueryObserverLoadingErrorResult, av as InfiniteQueryObserverLoadingResult, a6 as InfiniteQueryObserverOptions, au as InfiniteQueryObserverPendingResult, ax as InfiniteQueryObserverRefetchErrorResult, aA as InfiniteQueryObserverResult, ay as InfiniteQueryObserverSuccessResult, a0 as InfiniteQueryPageParamsOptions, J as InitialDataFunction, $ as InitialPageParam, af as InvalidateOptions, ad as InvalidateQueryFilters, aJ as MutateFunction, aI as MutateOptions, aF as MutationFunction, aB as MutationKey, aE as MutationMeta, aK as MutationObserverBaseResult, aN as MutationObserverErrorResult, aL as MutationObserverIdleResult, aM as MutationObserverLoadingResult, aH as MutationObserverOptions, aP as MutationObserverResult, aO as MutationObserverSuccessResult, aG as MutationOptions, aD as MutationScope, aC as MutationStatus, Y as NetworkMode, N as NoInfer, aV as NotifyEvent, aU as NotifyEventType, Z as NotifyOnChangeProps, O as OmitKeyof, a4 as Optional, P as PlaceholderDataFunction, K as QueriesPlaceholderDataFunction, aQ as QueryClientConfig, E as QueryFunction, I as QueryFunctionContext, z as QueryKey, L as QueryKeyHashFunction, X as QueryMeta, al as QueryObserverBaseResult, ao as QueryObserverLoadingErrorResult, an as QueryObserverLoadingResult, a2 as QueryObserverOptions, am as QueryObserverPendingResult, ap as QueryObserverRefetchErrorResult, as as QueryObserverResult, aq as QueryObserverSuccessResult, _ as QueryOptions, G as QueryPersister, aj as QueryStatus, ac as RefetchOptions, ae as RefetchQueryFilters, R as Register, ag as ResetOptions, ab as ResultOptions, aT as SetDataOptions, F as StaleTime, a1 as ThrowOnError, a3 as WithRequired, A as dataTagSymbol } from './hydration-XP7CH-6g.cjs';
1
+ export { aS as CancelOptions, B as DataTag, y as DefaultError, aR as DefaultOptions, a7 as DefaultedInfiniteQueryObserverOptions, a5 as DefaultedQueryObserverOptions, az as DefinedInfiniteQueryObserverResult, ar as DefinedQueryObserverResult, a9 as EnsureQueryDataOptions, aa as FetchInfiniteQueryOptions, ah as FetchNextPageOptions, ai as FetchPreviousPageOptions, a8 as FetchQueryOptions, ak as FetchStatus, V as GetNextPageParamFunction, T as GetPreviousPageParamFunction, W as InfiniteData, at as InfiniteQueryObserverBaseResult, aw as InfiniteQueryObserverLoadingErrorResult, av as InfiniteQueryObserverLoadingResult, a6 as InfiniteQueryObserverOptions, au as InfiniteQueryObserverPendingResult, ax as InfiniteQueryObserverRefetchErrorResult, aA as InfiniteQueryObserverResult, ay as InfiniteQueryObserverSuccessResult, a0 as InfiniteQueryPageParamsOptions, J as InitialDataFunction, $ as InitialPageParam, af as InvalidateOptions, ad as InvalidateQueryFilters, aJ as MutateFunction, aI as MutateOptions, aF as MutationFunction, aB as MutationKey, aE as MutationMeta, aK as MutationObserverBaseResult, aN as MutationObserverErrorResult, aL as MutationObserverIdleResult, aM as MutationObserverLoadingResult, aH as MutationObserverOptions, aP as MutationObserverResult, aO as MutationObserverSuccessResult, aG as MutationOptions, aD as MutationScope, aC as MutationStatus, Y as NetworkMode, N as NoInfer, aV as NotifyEvent, aU as NotifyEventType, Z as NotifyOnChangeProps, O as OmitKeyof, a4 as Optional, P as PlaceholderDataFunction, K as QueriesPlaceholderDataFunction, aQ as QueryClientConfig, E as QueryFunction, I as QueryFunctionContext, z as QueryKey, L as QueryKeyHashFunction, X as QueryMeta, al as QueryObserverBaseResult, ao as QueryObserverLoadingErrorResult, an as QueryObserverLoadingResult, a2 as QueryObserverOptions, am as QueryObserverPendingResult, ap as QueryObserverRefetchErrorResult, as as QueryObserverResult, aq as QueryObserverSuccessResult, _ as QueryOptions, G as QueryPersister, aj as QueryStatus, ac as RefetchOptions, ae as RefetchQueryFilters, R as Register, ag as ResetOptions, ab as ResultOptions, aT as SetDataOptions, F as StaleTime, a1 as ThrowOnError, a3 as WithRequired, A as dataTagSymbol } from './hydration-CwKUqoFl.cjs';
2
2
  import './removable.cjs';
3
3
  import './subscribable.cjs';
@@ -1,3 +1,3 @@
1
- export { aS as CancelOptions, B as DataTag, y as DefaultError, aR as DefaultOptions, a7 as DefaultedInfiniteQueryObserverOptions, a5 as DefaultedQueryObserverOptions, az as DefinedInfiniteQueryObserverResult, ar as DefinedQueryObserverResult, a9 as EnsureQueryDataOptions, aa as FetchInfiniteQueryOptions, ah as FetchNextPageOptions, ai as FetchPreviousPageOptions, a8 as FetchQueryOptions, ak as FetchStatus, V as GetNextPageParamFunction, T as GetPreviousPageParamFunction, W as InfiniteData, at as InfiniteQueryObserverBaseResult, aw as InfiniteQueryObserverLoadingErrorResult, av as InfiniteQueryObserverLoadingResult, a6 as InfiniteQueryObserverOptions, au as InfiniteQueryObserverPendingResult, ax as InfiniteQueryObserverRefetchErrorResult, aA as InfiniteQueryObserverResult, ay as InfiniteQueryObserverSuccessResult, a0 as InfiniteQueryPageParamsOptions, J as InitialDataFunction, $ as InitialPageParam, af as InvalidateOptions, ad as InvalidateQueryFilters, aJ as MutateFunction, aI as MutateOptions, aF as MutationFunction, aB as MutationKey, aE as MutationMeta, aK as MutationObserverBaseResult, aN as MutationObserverErrorResult, aL as MutationObserverIdleResult, aM as MutationObserverLoadingResult, aH as MutationObserverOptions, aP as MutationObserverResult, aO as MutationObserverSuccessResult, aG as MutationOptions, aD as MutationScope, aC as MutationStatus, Y as NetworkMode, N as NoInfer, aV as NotifyEvent, aU as NotifyEventType, Z as NotifyOnChangeProps, O as OmitKeyof, a4 as Optional, P as PlaceholderDataFunction, K as QueriesPlaceholderDataFunction, aQ as QueryClientConfig, E as QueryFunction, I as QueryFunctionContext, z as QueryKey, L as QueryKeyHashFunction, X as QueryMeta, al as QueryObserverBaseResult, ao as QueryObserverLoadingErrorResult, an as QueryObserverLoadingResult, a2 as QueryObserverOptions, am as QueryObserverPendingResult, ap as QueryObserverRefetchErrorResult, as as QueryObserverResult, aq as QueryObserverSuccessResult, _ as QueryOptions, G as QueryPersister, aj as QueryStatus, ac as RefetchOptions, ae as RefetchQueryFilters, R as Register, ag as ResetOptions, ab as ResultOptions, aT as SetDataOptions, F as StaleTime, a1 as ThrowOnError, a3 as WithRequired, A as dataTagSymbol } from './hydration-DJZYTIMr.js';
1
+ export { aS as CancelOptions, B as DataTag, y as DefaultError, aR as DefaultOptions, a7 as DefaultedInfiniteQueryObserverOptions, a5 as DefaultedQueryObserverOptions, az as DefinedInfiniteQueryObserverResult, ar as DefinedQueryObserverResult, a9 as EnsureQueryDataOptions, aa as FetchInfiniteQueryOptions, ah as FetchNextPageOptions, ai as FetchPreviousPageOptions, a8 as FetchQueryOptions, ak as FetchStatus, V as GetNextPageParamFunction, T as GetPreviousPageParamFunction, W as InfiniteData, at as InfiniteQueryObserverBaseResult, aw as InfiniteQueryObserverLoadingErrorResult, av as InfiniteQueryObserverLoadingResult, a6 as InfiniteQueryObserverOptions, au as InfiniteQueryObserverPendingResult, ax as InfiniteQueryObserverRefetchErrorResult, aA as InfiniteQueryObserverResult, ay as InfiniteQueryObserverSuccessResult, a0 as InfiniteQueryPageParamsOptions, J as InitialDataFunction, $ as InitialPageParam, af as InvalidateOptions, ad as InvalidateQueryFilters, aJ as MutateFunction, aI as MutateOptions, aF as MutationFunction, aB as MutationKey, aE as MutationMeta, aK as MutationObserverBaseResult, aN as MutationObserverErrorResult, aL as MutationObserverIdleResult, aM as MutationObserverLoadingResult, aH as MutationObserverOptions, aP as MutationObserverResult, aO as MutationObserverSuccessResult, aG as MutationOptions, aD as MutationScope, aC as MutationStatus, Y as NetworkMode, N as NoInfer, aV as NotifyEvent, aU as NotifyEventType, Z as NotifyOnChangeProps, O as OmitKeyof, a4 as Optional, P as PlaceholderDataFunction, K as QueriesPlaceholderDataFunction, aQ as QueryClientConfig, E as QueryFunction, I as QueryFunctionContext, z as QueryKey, L as QueryKeyHashFunction, X as QueryMeta, al as QueryObserverBaseResult, ao as QueryObserverLoadingErrorResult, an as QueryObserverLoadingResult, a2 as QueryObserverOptions, am as QueryObserverPendingResult, ap as QueryObserverRefetchErrorResult, as as QueryObserverResult, aq as QueryObserverSuccessResult, _ as QueryOptions, G as QueryPersister, aj as QueryStatus, ac as RefetchOptions, ae as RefetchQueryFilters, R as Register, ag as ResetOptions, ab as ResultOptions, aT as SetDataOptions, F as StaleTime, a1 as ThrowOnError, a3 as WithRequired, A as dataTagSymbol } from './hydration-BZ2M_xzi.js';
2
2
  import './removable.js';
3
3
  import './subscribable.js';
@@ -1,3 +1,3 @@
1
- export { g as MutationFilters, j as QueryFilters, b4 as QueryTypeFilter, S as SkipToken, U as Updater, bh as addToEnd, bi as addToStart, bj as ensureQueryFn, b6 as functionalUpdate, h as hashKey, ba as hashQueryKeyByOptions, bd as isPlainArray, be as isPlainObject, i as isServer, b7 as isValidTimeout, k as keepPreviousData, f as matchMutation, m as matchQuery, b5 as noop, bb as partialMatchKey, bg as replaceData, r as replaceEqualDeep, b9 as resolveStaleTime, bc as shallowEqualObjects, s as skipToken, bf as sleep, b8 as timeUntilStale } from './hydration-XP7CH-6g.cjs';
1
+ export { g as MutationFilters, j as QueryFilters, b4 as QueryTypeFilter, S as SkipToken, U as Updater, bh as addToEnd, bi as addToStart, bj as ensureQueryFn, b6 as functionalUpdate, h as hashKey, ba as hashQueryKeyByOptions, bd as isPlainArray, be as isPlainObject, i as isServer, b7 as isValidTimeout, k as keepPreviousData, f as matchMutation, m as matchQuery, b5 as noop, bb as partialMatchKey, bg as replaceData, r as replaceEqualDeep, b9 as resolveStaleTime, bc as shallowEqualObjects, s as skipToken, bf as sleep, b8 as timeUntilStale } from './hydration-CwKUqoFl.cjs';
2
2
  import './removable.cjs';
3
3
  import './subscribable.cjs';
@@ -1,3 +1,3 @@
1
- export { g as MutationFilters, j as QueryFilters, b4 as QueryTypeFilter, S as SkipToken, U as Updater, bh as addToEnd, bi as addToStart, bj as ensureQueryFn, b6 as functionalUpdate, h as hashKey, ba as hashQueryKeyByOptions, bd as isPlainArray, be as isPlainObject, i as isServer, b7 as isValidTimeout, k as keepPreviousData, f as matchMutation, m as matchQuery, b5 as noop, bb as partialMatchKey, bg as replaceData, r as replaceEqualDeep, b9 as resolveStaleTime, bc as shallowEqualObjects, s as skipToken, bf as sleep, b8 as timeUntilStale } from './hydration-DJZYTIMr.js';
1
+ export { g as MutationFilters, j as QueryFilters, b4 as QueryTypeFilter, S as SkipToken, U as Updater, bh as addToEnd, bi as addToStart, bj as ensureQueryFn, b6 as functionalUpdate, h as hashKey, ba as hashQueryKeyByOptions, bd as isPlainArray, be as isPlainObject, i as isServer, b7 as isValidTimeout, k as keepPreviousData, f as matchMutation, m as matchQuery, b5 as noop, bb as partialMatchKey, bg as replaceData, r as replaceEqualDeep, b9 as resolveStaleTime, bc as shallowEqualObjects, s as skipToken, bf as sleep, b8 as timeUntilStale } from './hydration-BZ2M_xzi.js';
2
2
  import './removable.js';
3
3
  import './subscribable.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tanstack/query-core",
3
- "version": "5.44.0",
3
+ "version": "5.45.0",
4
4
  "description": "The framework agnostic core that powers TanStack Query",
5
5
  "author": "tannerlinsley",
6
6
  "license": "MIT",
@@ -908,4 +908,39 @@ describe('dehydration and rehydration', () => {
908
908
  }),
909
909
  )
910
910
  })
911
+
912
+ test('should transform promise result', async () => {
913
+ const queryClient = createQueryClient({
914
+ defaultOptions: {
915
+ dehydrate: {
916
+ shouldDehydrateQuery: () => true,
917
+ },
918
+ },
919
+ })
920
+
921
+ const promise = queryClient.prefetchQuery({
922
+ queryKey: ['transformedStringToDate'],
923
+ queryFn: () => fetchData('2024-01-01T00:00:00.000Z', 20),
924
+ })
925
+ const dehydrated = dehydrate(queryClient)
926
+ expect(dehydrated.queries[0]?.promise).toBeInstanceOf(Promise)
927
+
928
+ const hydrationClient = createQueryClient({
929
+ defaultOptions: {
930
+ hydrate: {
931
+ transformPromise: (p) => p.then((d) => new Date(d)),
932
+ },
933
+ },
934
+ })
935
+
936
+ hydrate(hydrationClient, dehydrated)
937
+ await promise
938
+ await waitFor(() =>
939
+ expect(
940
+ hydrationClient.getQueryData(['transformedStringToDate']),
941
+ ).toBeInstanceOf(Date),
942
+ )
943
+
944
+ queryClient.clear()
945
+ })
911
946
  })
package/src/hydration.ts CHANGED
@@ -21,6 +21,7 @@ export interface DehydrateOptions {
21
21
 
22
22
  export interface HydrateOptions {
23
23
  defaultOptions?: {
24
+ transformPromise?: (promise: Promise<any>) => Promise<any>
24
25
  queries?: QueryOptions
25
26
  mutations?: MutationOptions<unknown, DefaultError, unknown, unknown>
26
27
  }
@@ -178,9 +179,17 @@ export function hydrate(
178
179
  }
179
180
 
180
181
  if (promise) {
182
+ const transformPromise =
183
+ client.getDefaultOptions().hydrate?.transformPromise
184
+
185
+ // Note: `Promise.resolve` required cause
186
+ // RSC transformed promises are not thenable
187
+ const initialPromise =
188
+ transformPromise?.(Promise.resolve(promise)) ?? promise
189
+
181
190
  // this doesn't actually fetch - it just creates a retryer
182
191
  // which will re-use the passed `initialPromise`
183
- void query.fetch(undefined, { initialPromise: promise })
192
+ void query.fetch(undefined, { initialPromise })
184
193
  }
185
194
  })
186
195
  }