@tanstack/query-core 5.91.0 → 5.94.4

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 (298) hide show
  1. package/package.json +1 -1
  2. package/src/query.ts +17 -6
  3. package/src/queryObserver.ts +1 -1
  4. package/src/streamedQuery.ts +2 -4
  5. package/build/legacy/_tsup-dts-rollup.d.cts +0 -2227
  6. package/build/legacy/_tsup-dts-rollup.d.ts +0 -2227
  7. package/build/legacy/chunk-PXG64RU4.js +0 -25
  8. package/build/legacy/chunk-PXG64RU4.js.map +0 -1
  9. package/build/legacy/environmentManager.cjs +0 -48
  10. package/build/legacy/environmentManager.cjs.map +0 -1
  11. package/build/legacy/environmentManager.d.cts +0 -2
  12. package/build/legacy/environmentManager.d.ts +0 -2
  13. package/build/legacy/environmentManager.js +0 -25
  14. package/build/legacy/environmentManager.js.map +0 -1
  15. package/build/legacy/focusManager.cjs +0 -107
  16. package/build/legacy/focusManager.cjs.map +0 -1
  17. package/build/legacy/focusManager.d.cts +0 -2
  18. package/build/legacy/focusManager.d.ts +0 -2
  19. package/build/legacy/focusManager.js +0 -80
  20. package/build/legacy/focusManager.js.map +0 -1
  21. package/build/legacy/hydration.cjs +0 -178
  22. package/build/legacy/hydration.cjs.map +0 -1
  23. package/build/legacy/hydration.d.cts +0 -7
  24. package/build/legacy/hydration.d.ts +0 -7
  25. package/build/legacy/hydration.js +0 -152
  26. package/build/legacy/hydration.js.map +0 -1
  27. package/build/legacy/index.cjs +0 -113
  28. package/build/legacy/index.cjs.map +0 -1
  29. package/build/legacy/index.d.cts +0 -142
  30. package/build/legacy/index.d.ts +0 -142
  31. package/build/legacy/index.js +0 -75
  32. package/build/legacy/index.js.map +0 -1
  33. package/build/legacy/infiniteQueryBehavior.cjs +0 -146
  34. package/build/legacy/infiniteQueryBehavior.cjs.map +0 -1
  35. package/build/legacy/infiniteQueryBehavior.d.cts +0 -3
  36. package/build/legacy/infiniteQueryBehavior.d.ts +0 -3
  37. package/build/legacy/infiniteQueryBehavior.js +0 -126
  38. package/build/legacy/infiniteQueryBehavior.js.map +0 -1
  39. package/build/legacy/infiniteQueryObserver.cjs +0 -93
  40. package/build/legacy/infiniteQueryObserver.cjs.map +0 -1
  41. package/build/legacy/infiniteQueryObserver.d.cts +0 -1
  42. package/build/legacy/infiniteQueryObserver.d.ts +0 -1
  43. package/build/legacy/infiniteQueryObserver.js +0 -74
  44. package/build/legacy/infiniteQueryObserver.js.map +0 -1
  45. package/build/legacy/mutation.cjs +0 -333
  46. package/build/legacy/mutation.cjs.map +0 -1
  47. package/build/legacy/mutation.d.cts +0 -4
  48. package/build/legacy/mutation.d.ts +0 -4
  49. package/build/legacy/mutation.js +0 -306
  50. package/build/legacy/mutation.js.map +0 -1
  51. package/build/legacy/mutationCache.cjs +0 -170
  52. package/build/legacy/mutationCache.cjs.map +0 -1
  53. package/build/legacy/mutationCache.d.cts +0 -2
  54. package/build/legacy/mutationCache.d.ts +0 -2
  55. package/build/legacy/mutationCache.js +0 -137
  56. package/build/legacy/mutationCache.js.map +0 -1
  57. package/build/legacy/mutationObserver.cjs +0 -190
  58. package/build/legacy/mutationObserver.cjs.map +0 -1
  59. package/build/legacy/mutationObserver.d.cts +0 -1
  60. package/build/legacy/mutationObserver.d.ts +0 -1
  61. package/build/legacy/mutationObserver.js +0 -164
  62. package/build/legacy/mutationObserver.js.map +0 -1
  63. package/build/legacy/notifyManager.cjs +0 -113
  64. package/build/legacy/notifyManager.cjs.map +0 -1
  65. package/build/legacy/notifyManager.d.cts +0 -3
  66. package/build/legacy/notifyManager.d.ts +0 -3
  67. package/build/legacy/notifyManager.js +0 -88
  68. package/build/legacy/notifyManager.js.map +0 -1
  69. package/build/legacy/onlineManager.cjs +0 -96
  70. package/build/legacy/onlineManager.cjs.map +0 -1
  71. package/build/legacy/onlineManager.d.cts +0 -2
  72. package/build/legacy/onlineManager.d.ts +0 -2
  73. package/build/legacy/onlineManager.js +0 -69
  74. package/build/legacy/onlineManager.js.map +0 -1
  75. package/build/legacy/queriesObserver.cjs +0 -260
  76. package/build/legacy/queriesObserver.cjs.map +0 -1
  77. package/build/legacy/queriesObserver.d.cts +0 -2
  78. package/build/legacy/queriesObserver.d.ts +0 -2
  79. package/build/legacy/queriesObserver.js +0 -234
  80. package/build/legacy/queriesObserver.js.map +0 -1
  81. package/build/legacy/query.cjs +0 -478
  82. package/build/legacy/query.cjs.map +0 -1
  83. package/build/legacy/query.d.cts +0 -10
  84. package/build/legacy/query.d.ts +0 -10
  85. package/build/legacy/query.js +0 -459
  86. package/build/legacy/query.js.map +0 -1
  87. package/build/legacy/queryCache.cjs +0 -131
  88. package/build/legacy/queryCache.cjs.map +0 -1
  89. package/build/legacy/queryCache.d.cts +0 -3
  90. package/build/legacy/queryCache.d.ts +0 -3
  91. package/build/legacy/queryCache.js +0 -105
  92. package/build/legacy/queryCache.js.map +0 -1
  93. package/build/legacy/queryClient.cjs +0 -349
  94. package/build/legacy/queryClient.cjs.map +0 -1
  95. package/build/legacy/queryClient.d.cts +0 -1
  96. package/build/legacy/queryClient.d.ts +0 -1
  97. package/build/legacy/queryClient.js +0 -324
  98. package/build/legacy/queryClient.js.map +0 -1
  99. package/build/legacy/queryObserver.cjs +0 -516
  100. package/build/legacy/queryObserver.cjs.map +0 -1
  101. package/build/legacy/queryObserver.d.cts +0 -1
  102. package/build/legacy/queryObserver.d.ts +0 -1
  103. package/build/legacy/queryObserver.js +0 -498
  104. package/build/legacy/queryObserver.js.map +0 -1
  105. package/build/legacy/removable.cjs +0 -70
  106. package/build/legacy/removable.cjs.map +0 -1
  107. package/build/legacy/removable.d.cts +0 -1
  108. package/build/legacy/removable.d.ts +0 -1
  109. package/build/legacy/removable.js +0 -44
  110. package/build/legacy/removable.js.map +0 -1
  111. package/build/legacy/retryer.cjs +0 -166
  112. package/build/legacy/retryer.cjs.map +0 -1
  113. package/build/legacy/retryer.d.cts +0 -7
  114. package/build/legacy/retryer.d.ts +0 -7
  115. package/build/legacy/retryer.js +0 -140
  116. package/build/legacy/retryer.js.map +0 -1
  117. package/build/legacy/streamedQuery.cjs +0 -82
  118. package/build/legacy/streamedQuery.cjs.map +0 -1
  119. package/build/legacy/streamedQuery.d.cts +0 -1
  120. package/build/legacy/streamedQuery.d.ts +0 -1
  121. package/build/legacy/streamedQuery.js +0 -59
  122. package/build/legacy/streamedQuery.js.map +0 -1
  123. package/build/legacy/subscribable.cjs +0 -51
  124. package/build/legacy/subscribable.cjs.map +0 -1
  125. package/build/legacy/subscribable.d.cts +0 -1
  126. package/build/legacy/subscribable.d.ts +0 -1
  127. package/build/legacy/subscribable.js +0 -28
  128. package/build/legacy/subscribable.js.map +0 -1
  129. package/build/legacy/thenable.cjs +0 -76
  130. package/build/legacy/thenable.cjs.map +0 -1
  131. package/build/legacy/thenable.d.cts +0 -6
  132. package/build/legacy/thenable.d.ts +0 -6
  133. package/build/legacy/thenable.js +0 -52
  134. package/build/legacy/thenable.js.map +0 -1
  135. package/build/legacy/timeoutManager.cjs +0 -110
  136. package/build/legacy/timeoutManager.cjs.map +0 -1
  137. package/build/legacy/timeoutManager.d.cts +0 -7
  138. package/build/legacy/timeoutManager.d.ts +0 -7
  139. package/build/legacy/timeoutManager.js +0 -81
  140. package/build/legacy/timeoutManager.js.map +0 -1
  141. package/build/legacy/types.cjs +0 -37
  142. package/build/legacy/types.cjs.map +0 -1
  143. package/build/legacy/types.d.cts +0 -95
  144. package/build/legacy/types.d.ts +0 -95
  145. package/build/legacy/types.js +0 -12
  146. package/build/legacy/types.js.map +0 -1
  147. package/build/legacy/utils.cjs +0 -330
  148. package/build/legacy/utils.cjs.map +0 -1
  149. package/build/legacy/utils.d.cts +0 -30
  150. package/build/legacy/utils.d.ts +0 -30
  151. package/build/legacy/utils.js +0 -283
  152. package/build/legacy/utils.js.map +0 -1
  153. package/build/modern/_tsup-dts-rollup.d.cts +0 -2227
  154. package/build/modern/_tsup-dts-rollup.d.ts +0 -2227
  155. package/build/modern/environmentManager.cjs +0 -48
  156. package/build/modern/environmentManager.cjs.map +0 -1
  157. package/build/modern/environmentManager.d.cts +0 -2
  158. package/build/modern/environmentManager.d.ts +0 -2
  159. package/build/modern/environmentManager.js +0 -23
  160. package/build/modern/environmentManager.js.map +0 -1
  161. package/build/modern/focusManager.cjs +0 -93
  162. package/build/modern/focusManager.cjs.map +0 -1
  163. package/build/modern/focusManager.d.cts +0 -2
  164. package/build/modern/focusManager.d.ts +0 -2
  165. package/build/modern/focusManager.js +0 -67
  166. package/build/modern/focusManager.js.map +0 -1
  167. package/build/modern/hydration.cjs +0 -173
  168. package/build/modern/hydration.cjs.map +0 -1
  169. package/build/modern/hydration.d.cts +0 -7
  170. package/build/modern/hydration.d.ts +0 -7
  171. package/build/modern/hydration.js +0 -145
  172. package/build/modern/hydration.js.map +0 -1
  173. package/build/modern/index.cjs +0 -113
  174. package/build/modern/index.cjs.map +0 -1
  175. package/build/modern/index.d.cts +0 -142
  176. package/build/modern/index.d.ts +0 -142
  177. package/build/modern/index.js +0 -73
  178. package/build/modern/index.js.map +0 -1
  179. package/build/modern/infiniteQueryBehavior.cjs +0 -142
  180. package/build/modern/infiniteQueryBehavior.cjs.map +0 -1
  181. package/build/modern/infiniteQueryBehavior.d.cts +0 -3
  182. package/build/modern/infiniteQueryBehavior.d.ts +0 -3
  183. package/build/modern/infiniteQueryBehavior.js +0 -120
  184. package/build/modern/infiniteQueryBehavior.js.map +0 -1
  185. package/build/modern/infiniteQueryObserver.cjs +0 -92
  186. package/build/modern/infiniteQueryObserver.cjs.map +0 -1
  187. package/build/modern/infiniteQueryObserver.d.cts +0 -1
  188. package/build/modern/infiniteQueryObserver.d.ts +0 -1
  189. package/build/modern/infiniteQueryObserver.js +0 -71
  190. package/build/modern/infiniteQueryObserver.js.map +0 -1
  191. package/build/modern/mutation.cjs +0 -307
  192. package/build/modern/mutation.cjs.map +0 -1
  193. package/build/modern/mutation.d.cts +0 -4
  194. package/build/modern/mutation.d.ts +0 -4
  195. package/build/modern/mutation.js +0 -281
  196. package/build/modern/mutation.js.map +0 -1
  197. package/build/modern/mutationCache.cjs +0 -149
  198. package/build/modern/mutationCache.cjs.map +0 -1
  199. package/build/modern/mutationCache.d.cts +0 -2
  200. package/build/modern/mutationCache.d.ts +0 -2
  201. package/build/modern/mutationCache.js +0 -124
  202. package/build/modern/mutationCache.js.map +0 -1
  203. package/build/modern/mutationObserver.cjs +0 -165
  204. package/build/modern/mutationObserver.cjs.map +0 -1
  205. package/build/modern/mutationObserver.d.cts +0 -1
  206. package/build/modern/mutationObserver.d.ts +0 -1
  207. package/build/modern/mutationObserver.js +0 -140
  208. package/build/modern/mutationObserver.js.map +0 -1
  209. package/build/modern/notifyManager.cjs +0 -113
  210. package/build/modern/notifyManager.cjs.map +0 -1
  211. package/build/modern/notifyManager.d.cts +0 -3
  212. package/build/modern/notifyManager.d.ts +0 -3
  213. package/build/modern/notifyManager.js +0 -86
  214. package/build/modern/notifyManager.js.map +0 -1
  215. package/build/modern/onlineManager.cjs +0 -83
  216. package/build/modern/onlineManager.cjs.map +0 -1
  217. package/build/modern/onlineManager.d.cts +0 -2
  218. package/build/modern/onlineManager.d.ts +0 -2
  219. package/build/modern/onlineManager.js +0 -57
  220. package/build/modern/onlineManager.js.map +0 -1
  221. package/build/modern/queriesObserver.cjs +0 -237
  222. package/build/modern/queriesObserver.cjs.map +0 -1
  223. package/build/modern/queriesObserver.d.cts +0 -2
  224. package/build/modern/queriesObserver.d.ts +0 -2
  225. package/build/modern/queriesObserver.js +0 -212
  226. package/build/modern/queriesObserver.js.map +0 -1
  227. package/build/modern/query.cjs +0 -452
  228. package/build/modern/query.cjs.map +0 -1
  229. package/build/modern/query.d.cts +0 -10
  230. package/build/modern/query.d.ts +0 -10
  231. package/build/modern/query.js +0 -434
  232. package/build/modern/query.js.map +0 -1
  233. package/build/modern/queryCache.cjs +0 -122
  234. package/build/modern/queryCache.cjs.map +0 -1
  235. package/build/modern/queryCache.d.cts +0 -3
  236. package/build/modern/queryCache.d.ts +0 -3
  237. package/build/modern/queryCache.js +0 -97
  238. package/build/modern/queryCache.js.map +0 -1
  239. package/build/modern/queryClient.cjs +0 -322
  240. package/build/modern/queryClient.cjs.map +0 -1
  241. package/build/modern/queryClient.d.cts +0 -1
  242. package/build/modern/queryClient.d.ts +0 -1
  243. package/build/modern/queryClient.js +0 -305
  244. package/build/modern/queryClient.js.map +0 -1
  245. package/build/modern/queryObserver.cjs +0 -489
  246. package/build/modern/queryObserver.cjs.map +0 -1
  247. package/build/modern/queryObserver.d.cts +0 -1
  248. package/build/modern/queryObserver.d.ts +0 -1
  249. package/build/modern/queryObserver.js +0 -472
  250. package/build/modern/queryObserver.js.map +0 -1
  251. package/build/modern/removable.cjs +0 -59
  252. package/build/modern/removable.cjs.map +0 -1
  253. package/build/modern/removable.d.cts +0 -1
  254. package/build/modern/removable.d.ts +0 -1
  255. package/build/modern/removable.js +0 -34
  256. package/build/modern/removable.js.map +0 -1
  257. package/build/modern/retryer.cjs +0 -162
  258. package/build/modern/retryer.cjs.map +0 -1
  259. package/build/modern/retryer.d.cts +0 -7
  260. package/build/modern/retryer.d.ts +0 -7
  261. package/build/modern/retryer.js +0 -134
  262. package/build/modern/retryer.js.map +0 -1
  263. package/build/modern/streamedQuery.cjs +0 -82
  264. package/build/modern/streamedQuery.cjs.map +0 -1
  265. package/build/modern/streamedQuery.d.cts +0 -1
  266. package/build/modern/streamedQuery.d.ts +0 -1
  267. package/build/modern/streamedQuery.js +0 -57
  268. package/build/modern/streamedQuery.js.map +0 -1
  269. package/build/modern/subscribable.cjs +0 -51
  270. package/build/modern/subscribable.cjs.map +0 -1
  271. package/build/modern/subscribable.d.cts +0 -1
  272. package/build/modern/subscribable.d.ts +0 -1
  273. package/build/modern/subscribable.js +0 -26
  274. package/build/modern/subscribable.js.map +0 -1
  275. package/build/modern/thenable.cjs +0 -75
  276. package/build/modern/thenable.cjs.map +0 -1
  277. package/build/modern/thenable.d.cts +0 -6
  278. package/build/modern/thenable.d.ts +0 -6
  279. package/build/modern/thenable.js +0 -49
  280. package/build/modern/thenable.js.map +0 -1
  281. package/build/modern/timeoutManager.cjs +0 -98
  282. package/build/modern/timeoutManager.cjs.map +0 -1
  283. package/build/modern/timeoutManager.d.cts +0 -7
  284. package/build/modern/timeoutManager.d.ts +0 -7
  285. package/build/modern/timeoutManager.js +0 -70
  286. package/build/modern/timeoutManager.js.map +0 -1
  287. package/build/modern/types.cjs +0 -37
  288. package/build/modern/types.cjs.map +0 -1
  289. package/build/modern/types.d.cts +0 -95
  290. package/build/modern/types.d.ts +0 -95
  291. package/build/modern/types.js +0 -10
  292. package/build/modern/types.js.map +0 -1
  293. package/build/modern/utils.cjs +0 -330
  294. package/build/modern/utils.cjs.map +0 -1
  295. package/build/modern/utils.d.cts +0 -30
  296. package/build/modern/utils.d.ts +0 -30
  297. package/build/modern/utils.js +0 -281
  298. package/build/modern/utils.js.map +0 -1
@@ -1,48 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/environmentManager.ts
21
- var environmentManager_exports = {};
22
- __export(environmentManager_exports, {
23
- environmentManager: () => environmentManager
24
- });
25
- module.exports = __toCommonJS(environmentManager_exports);
26
- var import_utils = require("./utils.cjs");
27
- var environmentManager = /* @__PURE__ */ (() => {
28
- let isServerFn = () => import_utils.isServer;
29
- return {
30
- /**
31
- * Returns whether the current runtime should be treated as a server environment.
32
- */
33
- isServer() {
34
- return isServerFn();
35
- },
36
- /**
37
- * Overrides the server check globally.
38
- */
39
- setIsServer(isServerValue) {
40
- isServerFn = isServerValue;
41
- }
42
- };
43
- })();
44
- // Annotate the CommonJS export names for ESM import in node:
45
- 0 && (module.exports = {
46
- environmentManager
47
- });
48
- //# sourceMappingURL=environmentManager.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/environmentManager.ts"],"sourcesContent":["import { isServer } from './utils'\n\nexport type IsServerValue = () => boolean\n\n/**\n * Manages environment detection used by TanStack Query internals.\n */\nexport const environmentManager = (() => {\n let isServerFn: IsServerValue = () => isServer\n\n return {\n /**\n * Returns whether the current runtime should be treated as a server environment.\n */\n isServer(): boolean {\n return isServerFn()\n },\n /**\n * Overrides the server check globally.\n */\n setIsServer(isServerValue: IsServerValue): void {\n isServerFn = isServerValue\n },\n }\n})()\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAyB;AAOlB,IAAM,qBAAsB,uBAAM;AACvC,MAAI,aAA4B,MAAM;AAEtC,SAAO;AAAA;AAAA;AAAA;AAAA,IAIL,WAAoB;AAClB,aAAO,WAAW;AAAA,IACpB;AAAA;AAAA;AAAA;AAAA,IAIA,YAAY,eAAoC;AAC9C,mBAAa;AAAA,IACf;AAAA,EACF;AACF,GAAG;","names":[]}
@@ -1,2 +0,0 @@
1
- export { IsServerValue } from './_tsup-dts-rollup.cjs';
2
- export { environmentManager } from './_tsup-dts-rollup.cjs';
@@ -1,2 +0,0 @@
1
- export { IsServerValue } from './_tsup-dts-rollup.js';
2
- export { environmentManager } from './_tsup-dts-rollup.js';
@@ -1,23 +0,0 @@
1
- // src/environmentManager.ts
2
- import { isServer } from "./utils.js";
3
- var environmentManager = /* @__PURE__ */ (() => {
4
- let isServerFn = () => isServer;
5
- return {
6
- /**
7
- * Returns whether the current runtime should be treated as a server environment.
8
- */
9
- isServer() {
10
- return isServerFn();
11
- },
12
- /**
13
- * Overrides the server check globally.
14
- */
15
- setIsServer(isServerValue) {
16
- isServerFn = isServerValue;
17
- }
18
- };
19
- })();
20
- export {
21
- environmentManager
22
- };
23
- //# sourceMappingURL=environmentManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/environmentManager.ts"],"sourcesContent":["import { isServer } from './utils'\n\nexport type IsServerValue = () => boolean\n\n/**\n * Manages environment detection used by TanStack Query internals.\n */\nexport const environmentManager = (() => {\n let isServerFn: IsServerValue = () => isServer\n\n return {\n /**\n * Returns whether the current runtime should be treated as a server environment.\n */\n isServer(): boolean {\n return isServerFn()\n },\n /**\n * Overrides the server check globally.\n */\n setIsServer(isServerValue: IsServerValue): void {\n isServerFn = isServerValue\n },\n }\n})()\n"],"mappings":";AAAA,SAAS,gBAAgB;AAOlB,IAAM,qBAAsB,uBAAM;AACvC,MAAI,aAA4B,MAAM;AAEtC,SAAO;AAAA;AAAA;AAAA;AAAA,IAIL,WAAoB;AAClB,aAAO,WAAW;AAAA,IACpB;AAAA;AAAA;AAAA;AAAA,IAIA,YAAY,eAAoC;AAC9C,mBAAa;AAAA,IACf;AAAA,EACF;AACF,GAAG;","names":[]}
@@ -1,93 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/focusManager.ts
21
- var focusManager_exports = {};
22
- __export(focusManager_exports, {
23
- FocusManager: () => FocusManager,
24
- focusManager: () => focusManager
25
- });
26
- module.exports = __toCommonJS(focusManager_exports);
27
- var import_subscribable = require("./subscribable.cjs");
28
- var FocusManager = class extends import_subscribable.Subscribable {
29
- #focused;
30
- #cleanup;
31
- #setup;
32
- constructor() {
33
- super();
34
- this.#setup = (onFocus) => {
35
- if (typeof window !== "undefined" && window.addEventListener) {
36
- const listener = () => onFocus();
37
- window.addEventListener("visibilitychange", listener, false);
38
- return () => {
39
- window.removeEventListener("visibilitychange", listener);
40
- };
41
- }
42
- return;
43
- };
44
- }
45
- onSubscribe() {
46
- if (!this.#cleanup) {
47
- this.setEventListener(this.#setup);
48
- }
49
- }
50
- onUnsubscribe() {
51
- if (!this.hasListeners()) {
52
- this.#cleanup?.();
53
- this.#cleanup = void 0;
54
- }
55
- }
56
- setEventListener(setup) {
57
- this.#setup = setup;
58
- this.#cleanup?.();
59
- this.#cleanup = setup((focused) => {
60
- if (typeof focused === "boolean") {
61
- this.setFocused(focused);
62
- } else {
63
- this.onFocus();
64
- }
65
- });
66
- }
67
- setFocused(focused) {
68
- const changed = this.#focused !== focused;
69
- if (changed) {
70
- this.#focused = focused;
71
- this.onFocus();
72
- }
73
- }
74
- onFocus() {
75
- const isFocused = this.isFocused();
76
- this.listeners.forEach((listener) => {
77
- listener(isFocused);
78
- });
79
- }
80
- isFocused() {
81
- if (typeof this.#focused === "boolean") {
82
- return this.#focused;
83
- }
84
- return globalThis.document?.visibilityState !== "hidden";
85
- }
86
- };
87
- var focusManager = new FocusManager();
88
- // Annotate the CommonJS export names for ESM import in node:
89
- 0 && (module.exports = {
90
- FocusManager,
91
- focusManager
92
- });
93
- //# sourceMappingURL=focusManager.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/focusManager.ts"],"sourcesContent":["import { Subscribable } from './subscribable'\n\ntype Listener = (focused: boolean) => void\n\ntype SetupFn = (\n setFocused: (focused?: boolean) => void,\n) => (() => void) | undefined\n\nexport class FocusManager extends Subscribable<Listener> {\n #focused?: boolean\n #cleanup?: () => void\n\n #setup: SetupFn\n\n constructor() {\n super()\n this.#setup = (onFocus) => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (typeof window !== 'undefined' && window.addEventListener) {\n const listener = () => onFocus()\n // Listen to visibilitychange\n window.addEventListener('visibilitychange', listener, false)\n\n return () => {\n // Be sure to unsubscribe if a new handler is set\n window.removeEventListener('visibilitychange', listener)\n }\n }\n return\n }\n }\n\n protected onSubscribe(): void {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup)\n }\n }\n\n protected onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.()\n this.#cleanup = undefined\n }\n }\n\n setEventListener(setup: SetupFn): void {\n this.#setup = setup\n this.#cleanup?.()\n this.#cleanup = setup((focused) => {\n if (typeof focused === 'boolean') {\n this.setFocused(focused)\n } else {\n this.onFocus()\n }\n })\n }\n\n setFocused(focused?: boolean): void {\n const changed = this.#focused !== focused\n if (changed) {\n this.#focused = focused\n this.onFocus()\n }\n }\n\n onFocus(): void {\n const isFocused = this.isFocused()\n this.listeners.forEach((listener) => {\n listener(isFocused)\n })\n }\n\n isFocused(): boolean {\n if (typeof this.#focused === 'boolean') {\n return this.#focused\n }\n\n // document global can be unavailable in react native\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n return globalThis.document?.visibilityState !== 'hidden'\n }\n}\n\nexport const focusManager = new FocusManager()\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAA6B;AAQtB,IAAM,eAAN,cAA2B,iCAAuB;AAAA,EACvD;AAAA,EACA;AAAA,EAEA;AAAA,EAEA,cAAc;AACZ,UAAM;AACN,SAAK,SAAS,CAAC,YAAY;AAGzB,UAAI,OAAO,WAAW,eAAe,OAAO,kBAAkB;AAC5D,cAAM,WAAW,MAAM,QAAQ;AAE/B,eAAO,iBAAiB,oBAAoB,UAAU,KAAK;AAE3D,eAAO,MAAM;AAEX,iBAAO,oBAAoB,oBAAoB,QAAQ;AAAA,QACzD;AAAA,MACF;AACA;AAAA,IACF;AAAA,EACF;AAAA,EAEU,cAAoB;AAC5B,QAAI,CAAC,KAAK,UAAU;AAClB,WAAK,iBAAiB,KAAK,MAAM;AAAA,IACnC;AAAA,EACF;AAAA,EAEU,gBAAgB;AACxB,QAAI,CAAC,KAAK,aAAa,GAAG;AACxB,WAAK,WAAW;AAChB,WAAK,WAAW;AAAA,IAClB;AAAA,EACF;AAAA,EAEA,iBAAiB,OAAsB;AACrC,SAAK,SAAS;AACd,SAAK,WAAW;AAChB,SAAK,WAAW,MAAM,CAAC,YAAY;AACjC,UAAI,OAAO,YAAY,WAAW;AAChC,aAAK,WAAW,OAAO;AAAA,MACzB,OAAO;AACL,aAAK,QAAQ;AAAA,MACf;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,WAAW,SAAyB;AAClC,UAAM,UAAU,KAAK,aAAa;AAClC,QAAI,SAAS;AACX,WAAK,WAAW;AAChB,WAAK,QAAQ;AAAA,IACf;AAAA,EACF;AAAA,EAEA,UAAgB;AACd,UAAM,YAAY,KAAK,UAAU;AACjC,SAAK,UAAU,QAAQ,CAAC,aAAa;AACnC,eAAS,SAAS;AAAA,IACpB,CAAC;AAAA,EACH;AAAA,EAEA,YAAqB;AACnB,QAAI,OAAO,KAAK,aAAa,WAAW;AACtC,aAAO,KAAK;AAAA,IACd;AAIA,WAAO,WAAW,UAAU,oBAAoB;AAAA,EAClD;AACF;AAEO,IAAM,eAAe,IAAI,aAAa;","names":[]}
@@ -1,2 +0,0 @@
1
- export { FocusManager } from './_tsup-dts-rollup.cjs';
2
- export { focusManager } from './_tsup-dts-rollup.cjs';
@@ -1,2 +0,0 @@
1
- export { FocusManager } from './_tsup-dts-rollup.js';
2
- export { focusManager } from './_tsup-dts-rollup.js';
@@ -1,67 +0,0 @@
1
- // src/focusManager.ts
2
- import { Subscribable } from "./subscribable.js";
3
- var FocusManager = class extends Subscribable {
4
- #focused;
5
- #cleanup;
6
- #setup;
7
- constructor() {
8
- super();
9
- this.#setup = (onFocus) => {
10
- if (typeof window !== "undefined" && window.addEventListener) {
11
- const listener = () => onFocus();
12
- window.addEventListener("visibilitychange", listener, false);
13
- return () => {
14
- window.removeEventListener("visibilitychange", listener);
15
- };
16
- }
17
- return;
18
- };
19
- }
20
- onSubscribe() {
21
- if (!this.#cleanup) {
22
- this.setEventListener(this.#setup);
23
- }
24
- }
25
- onUnsubscribe() {
26
- if (!this.hasListeners()) {
27
- this.#cleanup?.();
28
- this.#cleanup = void 0;
29
- }
30
- }
31
- setEventListener(setup) {
32
- this.#setup = setup;
33
- this.#cleanup?.();
34
- this.#cleanup = setup((focused) => {
35
- if (typeof focused === "boolean") {
36
- this.setFocused(focused);
37
- } else {
38
- this.onFocus();
39
- }
40
- });
41
- }
42
- setFocused(focused) {
43
- const changed = this.#focused !== focused;
44
- if (changed) {
45
- this.#focused = focused;
46
- this.onFocus();
47
- }
48
- }
49
- onFocus() {
50
- const isFocused = this.isFocused();
51
- this.listeners.forEach((listener) => {
52
- listener(isFocused);
53
- });
54
- }
55
- isFocused() {
56
- if (typeof this.#focused === "boolean") {
57
- return this.#focused;
58
- }
59
- return globalThis.document?.visibilityState !== "hidden";
60
- }
61
- };
62
- var focusManager = new FocusManager();
63
- export {
64
- FocusManager,
65
- focusManager
66
- };
67
- //# sourceMappingURL=focusManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/focusManager.ts"],"sourcesContent":["import { Subscribable } from './subscribable'\n\ntype Listener = (focused: boolean) => void\n\ntype SetupFn = (\n setFocused: (focused?: boolean) => void,\n) => (() => void) | undefined\n\nexport class FocusManager extends Subscribable<Listener> {\n #focused?: boolean\n #cleanup?: () => void\n\n #setup: SetupFn\n\n constructor() {\n super()\n this.#setup = (onFocus) => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (typeof window !== 'undefined' && window.addEventListener) {\n const listener = () => onFocus()\n // Listen to visibilitychange\n window.addEventListener('visibilitychange', listener, false)\n\n return () => {\n // Be sure to unsubscribe if a new handler is set\n window.removeEventListener('visibilitychange', listener)\n }\n }\n return\n }\n }\n\n protected onSubscribe(): void {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup)\n }\n }\n\n protected onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.()\n this.#cleanup = undefined\n }\n }\n\n setEventListener(setup: SetupFn): void {\n this.#setup = setup\n this.#cleanup?.()\n this.#cleanup = setup((focused) => {\n if (typeof focused === 'boolean') {\n this.setFocused(focused)\n } else {\n this.onFocus()\n }\n })\n }\n\n setFocused(focused?: boolean): void {\n const changed = this.#focused !== focused\n if (changed) {\n this.#focused = focused\n this.onFocus()\n }\n }\n\n onFocus(): void {\n const isFocused = this.isFocused()\n this.listeners.forEach((listener) => {\n listener(isFocused)\n })\n }\n\n isFocused(): boolean {\n if (typeof this.#focused === 'boolean') {\n return this.#focused\n }\n\n // document global can be unavailable in react native\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n return globalThis.document?.visibilityState !== 'hidden'\n }\n}\n\nexport const focusManager = new FocusManager()\n"],"mappings":";AAAA,SAAS,oBAAoB;AAQtB,IAAM,eAAN,cAA2B,aAAuB;AAAA,EACvD;AAAA,EACA;AAAA,EAEA;AAAA,EAEA,cAAc;AACZ,UAAM;AACN,SAAK,SAAS,CAAC,YAAY;AAGzB,UAAI,OAAO,WAAW,eAAe,OAAO,kBAAkB;AAC5D,cAAM,WAAW,MAAM,QAAQ;AAE/B,eAAO,iBAAiB,oBAAoB,UAAU,KAAK;AAE3D,eAAO,MAAM;AAEX,iBAAO,oBAAoB,oBAAoB,QAAQ;AAAA,QACzD;AAAA,MACF;AACA;AAAA,IACF;AAAA,EACF;AAAA,EAEU,cAAoB;AAC5B,QAAI,CAAC,KAAK,UAAU;AAClB,WAAK,iBAAiB,KAAK,MAAM;AAAA,IACnC;AAAA,EACF;AAAA,EAEU,gBAAgB;AACxB,QAAI,CAAC,KAAK,aAAa,GAAG;AACxB,WAAK,WAAW;AAChB,WAAK,WAAW;AAAA,IAClB;AAAA,EACF;AAAA,EAEA,iBAAiB,OAAsB;AACrC,SAAK,SAAS;AACd,SAAK,WAAW;AAChB,SAAK,WAAW,MAAM,CAAC,YAAY;AACjC,UAAI,OAAO,YAAY,WAAW;AAChC,aAAK,WAAW,OAAO;AAAA,MACzB,OAAO;AACL,aAAK,QAAQ;AAAA,MACf;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,WAAW,SAAyB;AAClC,UAAM,UAAU,KAAK,aAAa;AAClC,QAAI,SAAS;AACX,WAAK,WAAW;AAChB,WAAK,QAAQ;AAAA,IACf;AAAA,EACF;AAAA,EAEA,UAAgB;AACd,UAAM,YAAY,KAAK,UAAU;AACjC,SAAK,UAAU,QAAQ,CAAC,aAAa;AACnC,eAAS,SAAS;AAAA,IACpB,CAAC;AAAA,EACH;AAAA,EAEA,YAAqB;AACnB,QAAI,OAAO,KAAK,aAAa,WAAW;AACtC,aAAO,KAAK;AAAA,IACd;AAIA,WAAO,WAAW,UAAU,oBAAoB;AAAA,EAClD;AACF;AAEO,IAAM,eAAe,IAAI,aAAa;","names":[]}
@@ -1,173 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/hydration.ts
21
- var hydration_exports = {};
22
- __export(hydration_exports, {
23
- defaultShouldDehydrateMutation: () => defaultShouldDehydrateMutation,
24
- defaultShouldDehydrateQuery: () => defaultShouldDehydrateQuery,
25
- dehydrate: () => dehydrate,
26
- hydrate: () => hydrate
27
- });
28
- module.exports = __toCommonJS(hydration_exports);
29
- var import_thenable = require("./thenable.cjs");
30
- var import_utils = require("./utils.cjs");
31
- function defaultTransformerFn(data) {
32
- return data;
33
- }
34
- function dehydrateMutation(mutation) {
35
- return {
36
- mutationKey: mutation.options.mutationKey,
37
- state: mutation.state,
38
- ...mutation.options.scope && { scope: mutation.options.scope },
39
- ...mutation.meta && { meta: mutation.meta }
40
- };
41
- }
42
- function dehydrateQuery(query, serializeData, shouldRedactErrors) {
43
- const dehydratePromise = () => {
44
- const promise = query.promise?.then(serializeData).catch((error) => {
45
- if (!shouldRedactErrors(error)) {
46
- return Promise.reject(error);
47
- }
48
- if (process.env.NODE_ENV !== "production") {
49
- console.error(
50
- `A query that was dehydrated as pending ended up rejecting. [${query.queryHash}]: ${error}; The error will be redacted in production builds`
51
- );
52
- }
53
- return Promise.reject(new Error("redacted"));
54
- });
55
- promise?.catch(import_utils.noop);
56
- return promise;
57
- };
58
- return {
59
- dehydratedAt: Date.now(),
60
- state: {
61
- ...query.state,
62
- ...query.state.data !== void 0 && {
63
- data: serializeData(query.state.data)
64
- }
65
- },
66
- queryKey: query.queryKey,
67
- queryHash: query.queryHash,
68
- ...query.state.status === "pending" && {
69
- promise: dehydratePromise()
70
- },
71
- ...query.meta && { meta: query.meta }
72
- };
73
- }
74
- function defaultShouldDehydrateMutation(mutation) {
75
- return mutation.state.isPaused;
76
- }
77
- function defaultShouldDehydrateQuery(query) {
78
- return query.state.status === "success";
79
- }
80
- function defaultShouldRedactErrors(_) {
81
- return true;
82
- }
83
- function dehydrate(client, options = {}) {
84
- const filterMutation = options.shouldDehydrateMutation ?? client.getDefaultOptions().dehydrate?.shouldDehydrateMutation ?? defaultShouldDehydrateMutation;
85
- const mutations = client.getMutationCache().getAll().flatMap(
86
- (mutation) => filterMutation(mutation) ? [dehydrateMutation(mutation)] : []
87
- );
88
- const filterQuery = options.shouldDehydrateQuery ?? client.getDefaultOptions().dehydrate?.shouldDehydrateQuery ?? defaultShouldDehydrateQuery;
89
- const shouldRedactErrors = options.shouldRedactErrors ?? client.getDefaultOptions().dehydrate?.shouldRedactErrors ?? defaultShouldRedactErrors;
90
- const serializeData = options.serializeData ?? client.getDefaultOptions().dehydrate?.serializeData ?? defaultTransformerFn;
91
- const queries = client.getQueryCache().getAll().flatMap(
92
- (query) => filterQuery(query) ? [dehydrateQuery(query, serializeData, shouldRedactErrors)] : []
93
- );
94
- return { mutations, queries };
95
- }
96
- function hydrate(client, dehydratedState, options) {
97
- if (typeof dehydratedState !== "object" || dehydratedState === null) {
98
- return;
99
- }
100
- const mutationCache = client.getMutationCache();
101
- const queryCache = client.getQueryCache();
102
- const deserializeData = options?.defaultOptions?.deserializeData ?? client.getDefaultOptions().hydrate?.deserializeData ?? defaultTransformerFn;
103
- const mutations = dehydratedState.mutations || [];
104
- const queries = dehydratedState.queries || [];
105
- mutations.forEach(({ state, ...mutationOptions }) => {
106
- mutationCache.build(
107
- client,
108
- {
109
- ...client.getDefaultOptions().hydrate?.mutations,
110
- ...options?.defaultOptions?.mutations,
111
- ...mutationOptions
112
- },
113
- state
114
- );
115
- });
116
- queries.forEach(
117
- ({ queryKey, state, queryHash, meta, promise, dehydratedAt }) => {
118
- const syncData = promise ? (0, import_thenable.tryResolveSync)(promise) : void 0;
119
- const rawData = state.data === void 0 ? syncData?.data : state.data;
120
- const data = rawData === void 0 ? rawData : deserializeData(rawData);
121
- let query = queryCache.get(queryHash);
122
- const existingQueryIsPending = query?.state.status === "pending";
123
- const existingQueryIsFetching = query?.state.fetchStatus === "fetching";
124
- if (query) {
125
- const hasNewerSyncData = syncData && // We only need this undefined check to handle older dehydration
126
- // payloads that might not have dehydratedAt
127
- dehydratedAt !== void 0 && dehydratedAt > query.state.dataUpdatedAt;
128
- if (state.dataUpdatedAt > query.state.dataUpdatedAt || hasNewerSyncData) {
129
- const { fetchStatus: _ignored, ...serializedState } = state;
130
- query.setState({
131
- ...serializedState,
132
- data
133
- });
134
- }
135
- } else {
136
- query = queryCache.build(
137
- client,
138
- {
139
- ...client.getDefaultOptions().hydrate?.queries,
140
- ...options?.defaultOptions?.queries,
141
- queryKey,
142
- queryHash,
143
- meta
144
- },
145
- // Reset fetch status to idle to avoid
146
- // query being stuck in fetching state upon hydration
147
- {
148
- ...state,
149
- data,
150
- fetchStatus: "idle",
151
- status: data !== void 0 ? "success" : state.status
152
- }
153
- );
154
- }
155
- if (promise && !existingQueryIsPending && !existingQueryIsFetching && // Only hydrate if dehydration is newer than any existing data,
156
- // this is always true for new queries
157
- (dehydratedAt === void 0 || dehydratedAt > query.state.dataUpdatedAt)) {
158
- query.fetch(void 0, {
159
- // RSC transformed promises are not thenable
160
- initialPromise: Promise.resolve(promise).then(deserializeData)
161
- }).catch(import_utils.noop);
162
- }
163
- }
164
- );
165
- }
166
- // Annotate the CommonJS export names for ESM import in node:
167
- 0 && (module.exports = {
168
- defaultShouldDehydrateMutation,
169
- defaultShouldDehydrateQuery,
170
- dehydrate,
171
- hydrate
172
- });
173
- //# sourceMappingURL=hydration.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/hydration.ts"],"sourcesContent":["import { tryResolveSync } from './thenable'\nimport { noop } from './utils'\nimport 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\ntype TransformerFn = (data: any) => any\nfunction defaultTransformerFn(data: any): any {\n return data\n}\n\nexport interface DehydrateOptions {\n serializeData?: TransformerFn\n shouldDehydrateMutation?: (mutation: Mutation) => boolean\n shouldDehydrateQuery?: (query: Query) => boolean\n shouldRedactErrors?: (error: unknown) => boolean\n}\n\nexport interface HydrateOptions {\n defaultOptions?: {\n deserializeData?: TransformerFn\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 // This is only optional because older versions of Query might have dehydrated\n // without it which we need to handle for backwards compatibility.\n // This should be changed to required in the future.\n dehydratedAt?: number\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(\n query: Query,\n serializeData: TransformerFn,\n shouldRedactErrors: (error: unknown) => boolean,\n): DehydratedQuery {\n const dehydratePromise = () => {\n const promise = query.promise?.then(serializeData).catch((error) => {\n if (!shouldRedactErrors(error)) {\n // Reject original error if it should not be redacted\n return Promise.reject(error)\n }\n // If not in production, log original error before rejecting redacted 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 // Avoid unhandled promise rejections\n // We need the promise we dehydrate to reject to get the correct result into\n // the query cache, but we also want to avoid unhandled promise rejections\n // in whatever environment the prefetches are happening in.\n promise?.catch(noop)\n\n return promise\n }\n\n return {\n dehydratedAt: Date.now(),\n state: {\n ...query.state,\n ...(query.state.data !== undefined && {\n data: serializeData(query.state.data),\n }),\n },\n queryKey: query.queryKey,\n queryHash: query.queryHash,\n ...(query.state.status === 'pending' && {\n promise: dehydratePromise(),\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\nfunction defaultShouldRedactErrors(_: unknown) {\n return true\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 shouldRedactErrors =\n options.shouldRedactErrors ??\n client.getDefaultOptions().dehydrate?.shouldRedactErrors ??\n defaultShouldRedactErrors\n\n const serializeData =\n options.serializeData ??\n client.getDefaultOptions().dehydrate?.serializeData ??\n defaultTransformerFn\n\n const queries = client\n .getQueryCache()\n .getAll()\n .flatMap((query) =>\n filterQuery(query)\n ? [dehydrateQuery(query, serializeData, shouldRedactErrors)]\n : [],\n )\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 const deserializeData =\n options?.defaultOptions?.deserializeData ??\n client.getDefaultOptions().hydrate?.deserializeData ??\n defaultTransformerFn\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(\n ({ queryKey, state, queryHash, meta, promise, dehydratedAt }) => {\n const syncData = promise ? tryResolveSync(promise) : undefined\n const rawData = state.data === undefined ? syncData?.data : state.data\n const data = rawData === undefined ? rawData : deserializeData(rawData)\n\n let query = queryCache.get(queryHash)\n const existingQueryIsPending = query?.state.status === 'pending'\n const existingQueryIsFetching = query?.state.fetchStatus === 'fetching'\n\n // Do not hydrate if an existing query exists with newer data\n if (query) {\n const hasNewerSyncData =\n syncData &&\n // We only need this undefined check to handle older dehydration\n // payloads that might not have dehydratedAt\n dehydratedAt !== undefined &&\n dehydratedAt > query.state.dataUpdatedAt\n if (\n state.dataUpdatedAt > query.state.dataUpdatedAt ||\n hasNewerSyncData\n ) {\n // omit fetchStatus from dehydrated state\n // so that query stays in its current fetchStatus\n const { fetchStatus: _ignored, ...serializedState } = state\n query.setState({\n ...serializedState,\n data,\n })\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 data,\n fetchStatus: 'idle',\n status: data !== undefined ? 'success' : state.status,\n },\n )\n }\n\n if (\n promise &&\n !existingQueryIsPending &&\n !existingQueryIsFetching &&\n // Only hydrate if dehydration is newer than any existing data,\n // this is always true for new queries\n (dehydratedAt === undefined || dehydratedAt > query.state.dataUpdatedAt)\n ) {\n // This doesn't actually fetch - it just creates a retryer\n // which will re-use the passed `initialPromise`\n // Note that we need to call these even when data was synchronously\n // available, as we still need to set up the retryer\n query\n .fetch(undefined, {\n // RSC transformed promises are not thenable\n initialPromise: Promise.resolve(promise).then(deserializeData),\n })\n // Avoid unhandled promise rejections\n .catch(noop)\n }\n },\n )\n}\n"],"mappings":"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","names":[]}
@@ -1,7 +0,0 @@
1
- export { defaultShouldDehydrateMutation } from './_tsup-dts-rollup.cjs';
2
- export { defaultShouldDehydrateQuery } from './_tsup-dts-rollup.cjs';
3
- export { dehydrate } from './_tsup-dts-rollup.cjs';
4
- export { hydrate } from './_tsup-dts-rollup.cjs';
5
- export { DehydrateOptions } from './_tsup-dts-rollup.cjs';
6
- export { HydrateOptions } from './_tsup-dts-rollup.cjs';
7
- export { DehydratedState } from './_tsup-dts-rollup.cjs';
@@ -1,7 +0,0 @@
1
- export { defaultShouldDehydrateMutation } from './_tsup-dts-rollup.js';
2
- export { defaultShouldDehydrateQuery } from './_tsup-dts-rollup.js';
3
- export { dehydrate } from './_tsup-dts-rollup.js';
4
- export { hydrate } from './_tsup-dts-rollup.js';
5
- export { DehydrateOptions } from './_tsup-dts-rollup.js';
6
- export { HydrateOptions } from './_tsup-dts-rollup.js';
7
- export { DehydratedState } from './_tsup-dts-rollup.js';
@@ -1,145 +0,0 @@
1
- // src/hydration.ts
2
- import { tryResolveSync } from "./thenable.js";
3
- import { noop } from "./utils.js";
4
- function defaultTransformerFn(data) {
5
- return data;
6
- }
7
- function dehydrateMutation(mutation) {
8
- return {
9
- mutationKey: mutation.options.mutationKey,
10
- state: mutation.state,
11
- ...mutation.options.scope && { scope: mutation.options.scope },
12
- ...mutation.meta && { meta: mutation.meta }
13
- };
14
- }
15
- function dehydrateQuery(query, serializeData, shouldRedactErrors) {
16
- const dehydratePromise = () => {
17
- const promise = query.promise?.then(serializeData).catch((error) => {
18
- if (!shouldRedactErrors(error)) {
19
- return Promise.reject(error);
20
- }
21
- if (process.env.NODE_ENV !== "production") {
22
- console.error(
23
- `A query that was dehydrated as pending ended up rejecting. [${query.queryHash}]: ${error}; The error will be redacted in production builds`
24
- );
25
- }
26
- return Promise.reject(new Error("redacted"));
27
- });
28
- promise?.catch(noop);
29
- return promise;
30
- };
31
- return {
32
- dehydratedAt: Date.now(),
33
- state: {
34
- ...query.state,
35
- ...query.state.data !== void 0 && {
36
- data: serializeData(query.state.data)
37
- }
38
- },
39
- queryKey: query.queryKey,
40
- queryHash: query.queryHash,
41
- ...query.state.status === "pending" && {
42
- promise: dehydratePromise()
43
- },
44
- ...query.meta && { meta: query.meta }
45
- };
46
- }
47
- function defaultShouldDehydrateMutation(mutation) {
48
- return mutation.state.isPaused;
49
- }
50
- function defaultShouldDehydrateQuery(query) {
51
- return query.state.status === "success";
52
- }
53
- function defaultShouldRedactErrors(_) {
54
- return true;
55
- }
56
- function dehydrate(client, options = {}) {
57
- const filterMutation = options.shouldDehydrateMutation ?? client.getDefaultOptions().dehydrate?.shouldDehydrateMutation ?? defaultShouldDehydrateMutation;
58
- const mutations = client.getMutationCache().getAll().flatMap(
59
- (mutation) => filterMutation(mutation) ? [dehydrateMutation(mutation)] : []
60
- );
61
- const filterQuery = options.shouldDehydrateQuery ?? client.getDefaultOptions().dehydrate?.shouldDehydrateQuery ?? defaultShouldDehydrateQuery;
62
- const shouldRedactErrors = options.shouldRedactErrors ?? client.getDefaultOptions().dehydrate?.shouldRedactErrors ?? defaultShouldRedactErrors;
63
- const serializeData = options.serializeData ?? client.getDefaultOptions().dehydrate?.serializeData ?? defaultTransformerFn;
64
- const queries = client.getQueryCache().getAll().flatMap(
65
- (query) => filterQuery(query) ? [dehydrateQuery(query, serializeData, shouldRedactErrors)] : []
66
- );
67
- return { mutations, queries };
68
- }
69
- function hydrate(client, dehydratedState, options) {
70
- if (typeof dehydratedState !== "object" || dehydratedState === null) {
71
- return;
72
- }
73
- const mutationCache = client.getMutationCache();
74
- const queryCache = client.getQueryCache();
75
- const deserializeData = options?.defaultOptions?.deserializeData ?? client.getDefaultOptions().hydrate?.deserializeData ?? defaultTransformerFn;
76
- const mutations = dehydratedState.mutations || [];
77
- const queries = dehydratedState.queries || [];
78
- mutations.forEach(({ state, ...mutationOptions }) => {
79
- mutationCache.build(
80
- client,
81
- {
82
- ...client.getDefaultOptions().hydrate?.mutations,
83
- ...options?.defaultOptions?.mutations,
84
- ...mutationOptions
85
- },
86
- state
87
- );
88
- });
89
- queries.forEach(
90
- ({ queryKey, state, queryHash, meta, promise, dehydratedAt }) => {
91
- const syncData = promise ? tryResolveSync(promise) : void 0;
92
- const rawData = state.data === void 0 ? syncData?.data : state.data;
93
- const data = rawData === void 0 ? rawData : deserializeData(rawData);
94
- let query = queryCache.get(queryHash);
95
- const existingQueryIsPending = query?.state.status === "pending";
96
- const existingQueryIsFetching = query?.state.fetchStatus === "fetching";
97
- if (query) {
98
- const hasNewerSyncData = syncData && // We only need this undefined check to handle older dehydration
99
- // payloads that might not have dehydratedAt
100
- dehydratedAt !== void 0 && dehydratedAt > query.state.dataUpdatedAt;
101
- if (state.dataUpdatedAt > query.state.dataUpdatedAt || hasNewerSyncData) {
102
- const { fetchStatus: _ignored, ...serializedState } = state;
103
- query.setState({
104
- ...serializedState,
105
- data
106
- });
107
- }
108
- } else {
109
- query = queryCache.build(
110
- client,
111
- {
112
- ...client.getDefaultOptions().hydrate?.queries,
113
- ...options?.defaultOptions?.queries,
114
- queryKey,
115
- queryHash,
116
- meta
117
- },
118
- // Reset fetch status to idle to avoid
119
- // query being stuck in fetching state upon hydration
120
- {
121
- ...state,
122
- data,
123
- fetchStatus: "idle",
124
- status: data !== void 0 ? "success" : state.status
125
- }
126
- );
127
- }
128
- if (promise && !existingQueryIsPending && !existingQueryIsFetching && // Only hydrate if dehydration is newer than any existing data,
129
- // this is always true for new queries
130
- (dehydratedAt === void 0 || dehydratedAt > query.state.dataUpdatedAt)) {
131
- query.fetch(void 0, {
132
- // RSC transformed promises are not thenable
133
- initialPromise: Promise.resolve(promise).then(deserializeData)
134
- }).catch(noop);
135
- }
136
- }
137
- );
138
- }
139
- export {
140
- defaultShouldDehydrateMutation,
141
- defaultShouldDehydrateQuery,
142
- dehydrate,
143
- hydrate
144
- };
145
- //# sourceMappingURL=hydration.js.map