@tanstack/query-core 5.94.4 → 5.94.5

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 (295) hide show
  1. package/build/legacy/_tsup-dts-rollup.d.cts +2229 -0
  2. package/build/legacy/_tsup-dts-rollup.d.ts +2229 -0
  3. package/build/legacy/chunk-PXG64RU4.js +25 -0
  4. package/build/legacy/chunk-PXG64RU4.js.map +1 -0
  5. package/build/legacy/environmentManager.cjs +48 -0
  6. package/build/legacy/environmentManager.cjs.map +1 -0
  7. package/build/legacy/environmentManager.d.cts +2 -0
  8. package/build/legacy/environmentManager.d.ts +2 -0
  9. package/build/legacy/environmentManager.js +25 -0
  10. package/build/legacy/environmentManager.js.map +1 -0
  11. package/build/legacy/focusManager.cjs +107 -0
  12. package/build/legacy/focusManager.cjs.map +1 -0
  13. package/build/legacy/focusManager.d.cts +2 -0
  14. package/build/legacy/focusManager.d.ts +2 -0
  15. package/build/legacy/focusManager.js +80 -0
  16. package/build/legacy/focusManager.js.map +1 -0
  17. package/build/legacy/hydration.cjs +178 -0
  18. package/build/legacy/hydration.cjs.map +1 -0
  19. package/build/legacy/hydration.d.cts +7 -0
  20. package/build/legacy/hydration.d.ts +7 -0
  21. package/build/legacy/hydration.js +152 -0
  22. package/build/legacy/hydration.js.map +1 -0
  23. package/build/legacy/index.cjs +113 -0
  24. package/build/legacy/index.cjs.map +1 -0
  25. package/build/legacy/index.d.cts +142 -0
  26. package/build/legacy/index.d.ts +142 -0
  27. package/build/legacy/index.js +75 -0
  28. package/build/legacy/index.js.map +1 -0
  29. package/build/legacy/infiniteQueryBehavior.cjs +146 -0
  30. package/build/legacy/infiniteQueryBehavior.cjs.map +1 -0
  31. package/build/legacy/infiniteQueryBehavior.d.cts +3 -0
  32. package/build/legacy/infiniteQueryBehavior.d.ts +3 -0
  33. package/build/legacy/infiniteQueryBehavior.js +126 -0
  34. package/build/legacy/infiniteQueryBehavior.js.map +1 -0
  35. package/build/legacy/infiniteQueryObserver.cjs +93 -0
  36. package/build/legacy/infiniteQueryObserver.cjs.map +1 -0
  37. package/build/legacy/infiniteQueryObserver.d.cts +1 -0
  38. package/build/legacy/infiniteQueryObserver.d.ts +1 -0
  39. package/build/legacy/infiniteQueryObserver.js +74 -0
  40. package/build/legacy/infiniteQueryObserver.js.map +1 -0
  41. package/build/legacy/mutation.cjs +333 -0
  42. package/build/legacy/mutation.cjs.map +1 -0
  43. package/build/legacy/mutation.d.cts +4 -0
  44. package/build/legacy/mutation.d.ts +4 -0
  45. package/build/legacy/mutation.js +306 -0
  46. package/build/legacy/mutation.js.map +1 -0
  47. package/build/legacy/mutationCache.cjs +170 -0
  48. package/build/legacy/mutationCache.cjs.map +1 -0
  49. package/build/legacy/mutationCache.d.cts +2 -0
  50. package/build/legacy/mutationCache.d.ts +2 -0
  51. package/build/legacy/mutationCache.js +137 -0
  52. package/build/legacy/mutationCache.js.map +1 -0
  53. package/build/legacy/mutationObserver.cjs +190 -0
  54. package/build/legacy/mutationObserver.cjs.map +1 -0
  55. package/build/legacy/mutationObserver.d.cts +1 -0
  56. package/build/legacy/mutationObserver.d.ts +1 -0
  57. package/build/legacy/mutationObserver.js +164 -0
  58. package/build/legacy/mutationObserver.js.map +1 -0
  59. package/build/legacy/notifyManager.cjs +113 -0
  60. package/build/legacy/notifyManager.cjs.map +1 -0
  61. package/build/legacy/notifyManager.d.cts +3 -0
  62. package/build/legacy/notifyManager.d.ts +3 -0
  63. package/build/legacy/notifyManager.js +88 -0
  64. package/build/legacy/notifyManager.js.map +1 -0
  65. package/build/legacy/onlineManager.cjs +96 -0
  66. package/build/legacy/onlineManager.cjs.map +1 -0
  67. package/build/legacy/onlineManager.d.cts +2 -0
  68. package/build/legacy/onlineManager.d.ts +2 -0
  69. package/build/legacy/onlineManager.js +69 -0
  70. package/build/legacy/onlineManager.js.map +1 -0
  71. package/build/legacy/queriesObserver.cjs +260 -0
  72. package/build/legacy/queriesObserver.cjs.map +1 -0
  73. package/build/legacy/queriesObserver.d.cts +2 -0
  74. package/build/legacy/queriesObserver.d.ts +2 -0
  75. package/build/legacy/queriesObserver.js +234 -0
  76. package/build/legacy/queriesObserver.js.map +1 -0
  77. package/build/legacy/query.cjs +487 -0
  78. package/build/legacy/query.cjs.map +1 -0
  79. package/build/legacy/query.d.cts +10 -0
  80. package/build/legacy/query.d.ts +10 -0
  81. package/build/legacy/query.js +468 -0
  82. package/build/legacy/query.js.map +1 -0
  83. package/build/legacy/queryCache.cjs +131 -0
  84. package/build/legacy/queryCache.cjs.map +1 -0
  85. package/build/legacy/queryCache.d.cts +3 -0
  86. package/build/legacy/queryCache.d.ts +3 -0
  87. package/build/legacy/queryCache.js +105 -0
  88. package/build/legacy/queryCache.js.map +1 -0
  89. package/build/legacy/queryClient.cjs +349 -0
  90. package/build/legacy/queryClient.cjs.map +1 -0
  91. package/build/legacy/queryClient.d.cts +1 -0
  92. package/build/legacy/queryClient.d.ts +1 -0
  93. package/build/legacy/queryClient.js +324 -0
  94. package/build/legacy/queryClient.js.map +1 -0
  95. package/build/legacy/queryObserver.cjs +516 -0
  96. package/build/legacy/queryObserver.cjs.map +1 -0
  97. package/build/legacy/queryObserver.d.cts +1 -0
  98. package/build/legacy/queryObserver.d.ts +1 -0
  99. package/build/legacy/queryObserver.js +498 -0
  100. package/build/legacy/queryObserver.js.map +1 -0
  101. package/build/legacy/removable.cjs +70 -0
  102. package/build/legacy/removable.cjs.map +1 -0
  103. package/build/legacy/removable.d.cts +1 -0
  104. package/build/legacy/removable.d.ts +1 -0
  105. package/build/legacy/removable.js +44 -0
  106. package/build/legacy/removable.js.map +1 -0
  107. package/build/legacy/retryer.cjs +166 -0
  108. package/build/legacy/retryer.cjs.map +1 -0
  109. package/build/legacy/retryer.d.cts +7 -0
  110. package/build/legacy/retryer.d.ts +7 -0
  111. package/build/legacy/retryer.js +140 -0
  112. package/build/legacy/retryer.js.map +1 -0
  113. package/build/legacy/streamedQuery.cjs +80 -0
  114. package/build/legacy/streamedQuery.cjs.map +1 -0
  115. package/build/legacy/streamedQuery.d.cts +1 -0
  116. package/build/legacy/streamedQuery.d.ts +1 -0
  117. package/build/legacy/streamedQuery.js +57 -0
  118. package/build/legacy/streamedQuery.js.map +1 -0
  119. package/build/legacy/subscribable.cjs +51 -0
  120. package/build/legacy/subscribable.cjs.map +1 -0
  121. package/build/legacy/subscribable.d.cts +1 -0
  122. package/build/legacy/subscribable.d.ts +1 -0
  123. package/build/legacy/subscribable.js +28 -0
  124. package/build/legacy/subscribable.js.map +1 -0
  125. package/build/legacy/thenable.cjs +76 -0
  126. package/build/legacy/thenable.cjs.map +1 -0
  127. package/build/legacy/thenable.d.cts +6 -0
  128. package/build/legacy/thenable.d.ts +6 -0
  129. package/build/legacy/thenable.js +52 -0
  130. package/build/legacy/thenable.js.map +1 -0
  131. package/build/legacy/timeoutManager.cjs +110 -0
  132. package/build/legacy/timeoutManager.cjs.map +1 -0
  133. package/build/legacy/timeoutManager.d.cts +7 -0
  134. package/build/legacy/timeoutManager.d.ts +7 -0
  135. package/build/legacy/timeoutManager.js +81 -0
  136. package/build/legacy/timeoutManager.js.map +1 -0
  137. package/build/legacy/types.cjs +37 -0
  138. package/build/legacy/types.cjs.map +1 -0
  139. package/build/legacy/types.d.cts +95 -0
  140. package/build/legacy/types.d.ts +95 -0
  141. package/build/legacy/types.js +12 -0
  142. package/build/legacy/types.js.map +1 -0
  143. package/build/legacy/utils.cjs +330 -0
  144. package/build/legacy/utils.cjs.map +1 -0
  145. package/build/legacy/utils.d.cts +30 -0
  146. package/build/legacy/utils.d.ts +30 -0
  147. package/build/legacy/utils.js +283 -0
  148. package/build/legacy/utils.js.map +1 -0
  149. package/build/modern/_tsup-dts-rollup.d.cts +2229 -0
  150. package/build/modern/_tsup-dts-rollup.d.ts +2229 -0
  151. package/build/modern/environmentManager.cjs +48 -0
  152. package/build/modern/environmentManager.cjs.map +1 -0
  153. package/build/modern/environmentManager.d.cts +2 -0
  154. package/build/modern/environmentManager.d.ts +2 -0
  155. package/build/modern/environmentManager.js +23 -0
  156. package/build/modern/environmentManager.js.map +1 -0
  157. package/build/modern/focusManager.cjs +93 -0
  158. package/build/modern/focusManager.cjs.map +1 -0
  159. package/build/modern/focusManager.d.cts +2 -0
  160. package/build/modern/focusManager.d.ts +2 -0
  161. package/build/modern/focusManager.js +67 -0
  162. package/build/modern/focusManager.js.map +1 -0
  163. package/build/modern/hydration.cjs +173 -0
  164. package/build/modern/hydration.cjs.map +1 -0
  165. package/build/modern/hydration.d.cts +7 -0
  166. package/build/modern/hydration.d.ts +7 -0
  167. package/build/modern/hydration.js +145 -0
  168. package/build/modern/hydration.js.map +1 -0
  169. package/build/modern/index.cjs +113 -0
  170. package/build/modern/index.cjs.map +1 -0
  171. package/build/modern/index.d.cts +142 -0
  172. package/build/modern/index.d.ts +142 -0
  173. package/build/modern/index.js +73 -0
  174. package/build/modern/index.js.map +1 -0
  175. package/build/modern/infiniteQueryBehavior.cjs +142 -0
  176. package/build/modern/infiniteQueryBehavior.cjs.map +1 -0
  177. package/build/modern/infiniteQueryBehavior.d.cts +3 -0
  178. package/build/modern/infiniteQueryBehavior.d.ts +3 -0
  179. package/build/modern/infiniteQueryBehavior.js +120 -0
  180. package/build/modern/infiniteQueryBehavior.js.map +1 -0
  181. package/build/modern/infiniteQueryObserver.cjs +92 -0
  182. package/build/modern/infiniteQueryObserver.cjs.map +1 -0
  183. package/build/modern/infiniteQueryObserver.d.cts +1 -0
  184. package/build/modern/infiniteQueryObserver.d.ts +1 -0
  185. package/build/modern/infiniteQueryObserver.js +71 -0
  186. package/build/modern/infiniteQueryObserver.js.map +1 -0
  187. package/build/modern/mutation.cjs +307 -0
  188. package/build/modern/mutation.cjs.map +1 -0
  189. package/build/modern/mutation.d.cts +4 -0
  190. package/build/modern/mutation.d.ts +4 -0
  191. package/build/modern/mutation.js +281 -0
  192. package/build/modern/mutation.js.map +1 -0
  193. package/build/modern/mutationCache.cjs +149 -0
  194. package/build/modern/mutationCache.cjs.map +1 -0
  195. package/build/modern/mutationCache.d.cts +2 -0
  196. package/build/modern/mutationCache.d.ts +2 -0
  197. package/build/modern/mutationCache.js +124 -0
  198. package/build/modern/mutationCache.js.map +1 -0
  199. package/build/modern/mutationObserver.cjs +165 -0
  200. package/build/modern/mutationObserver.cjs.map +1 -0
  201. package/build/modern/mutationObserver.d.cts +1 -0
  202. package/build/modern/mutationObserver.d.ts +1 -0
  203. package/build/modern/mutationObserver.js +140 -0
  204. package/build/modern/mutationObserver.js.map +1 -0
  205. package/build/modern/notifyManager.cjs +113 -0
  206. package/build/modern/notifyManager.cjs.map +1 -0
  207. package/build/modern/notifyManager.d.cts +3 -0
  208. package/build/modern/notifyManager.d.ts +3 -0
  209. package/build/modern/notifyManager.js +86 -0
  210. package/build/modern/notifyManager.js.map +1 -0
  211. package/build/modern/onlineManager.cjs +83 -0
  212. package/build/modern/onlineManager.cjs.map +1 -0
  213. package/build/modern/onlineManager.d.cts +2 -0
  214. package/build/modern/onlineManager.d.ts +2 -0
  215. package/build/modern/onlineManager.js +57 -0
  216. package/build/modern/onlineManager.js.map +1 -0
  217. package/build/modern/queriesObserver.cjs +237 -0
  218. package/build/modern/queriesObserver.cjs.map +1 -0
  219. package/build/modern/queriesObserver.d.cts +2 -0
  220. package/build/modern/queriesObserver.d.ts +2 -0
  221. package/build/modern/queriesObserver.js +212 -0
  222. package/build/modern/queriesObserver.js.map +1 -0
  223. package/build/modern/query.cjs +461 -0
  224. package/build/modern/query.cjs.map +1 -0
  225. package/build/modern/query.d.cts +10 -0
  226. package/build/modern/query.d.ts +10 -0
  227. package/build/modern/query.js +443 -0
  228. package/build/modern/query.js.map +1 -0
  229. package/build/modern/queryCache.cjs +122 -0
  230. package/build/modern/queryCache.cjs.map +1 -0
  231. package/build/modern/queryCache.d.cts +3 -0
  232. package/build/modern/queryCache.d.ts +3 -0
  233. package/build/modern/queryCache.js +97 -0
  234. package/build/modern/queryCache.js.map +1 -0
  235. package/build/modern/queryClient.cjs +322 -0
  236. package/build/modern/queryClient.cjs.map +1 -0
  237. package/build/modern/queryClient.d.cts +1 -0
  238. package/build/modern/queryClient.d.ts +1 -0
  239. package/build/modern/queryClient.js +305 -0
  240. package/build/modern/queryClient.js.map +1 -0
  241. package/build/modern/queryObserver.cjs +489 -0
  242. package/build/modern/queryObserver.cjs.map +1 -0
  243. package/build/modern/queryObserver.d.cts +1 -0
  244. package/build/modern/queryObserver.d.ts +1 -0
  245. package/build/modern/queryObserver.js +472 -0
  246. package/build/modern/queryObserver.js.map +1 -0
  247. package/build/modern/removable.cjs +59 -0
  248. package/build/modern/removable.cjs.map +1 -0
  249. package/build/modern/removable.d.cts +1 -0
  250. package/build/modern/removable.d.ts +1 -0
  251. package/build/modern/removable.js +34 -0
  252. package/build/modern/removable.js.map +1 -0
  253. package/build/modern/retryer.cjs +162 -0
  254. package/build/modern/retryer.cjs.map +1 -0
  255. package/build/modern/retryer.d.cts +7 -0
  256. package/build/modern/retryer.d.ts +7 -0
  257. package/build/modern/retryer.js +134 -0
  258. package/build/modern/retryer.js.map +1 -0
  259. package/build/modern/streamedQuery.cjs +80 -0
  260. package/build/modern/streamedQuery.cjs.map +1 -0
  261. package/build/modern/streamedQuery.d.cts +1 -0
  262. package/build/modern/streamedQuery.d.ts +1 -0
  263. package/build/modern/streamedQuery.js +55 -0
  264. package/build/modern/streamedQuery.js.map +1 -0
  265. package/build/modern/subscribable.cjs +51 -0
  266. package/build/modern/subscribable.cjs.map +1 -0
  267. package/build/modern/subscribable.d.cts +1 -0
  268. package/build/modern/subscribable.d.ts +1 -0
  269. package/build/modern/subscribable.js +26 -0
  270. package/build/modern/subscribable.js.map +1 -0
  271. package/build/modern/thenable.cjs +75 -0
  272. package/build/modern/thenable.cjs.map +1 -0
  273. package/build/modern/thenable.d.cts +6 -0
  274. package/build/modern/thenable.d.ts +6 -0
  275. package/build/modern/thenable.js +49 -0
  276. package/build/modern/thenable.js.map +1 -0
  277. package/build/modern/timeoutManager.cjs +98 -0
  278. package/build/modern/timeoutManager.cjs.map +1 -0
  279. package/build/modern/timeoutManager.d.cts +7 -0
  280. package/build/modern/timeoutManager.d.ts +7 -0
  281. package/build/modern/timeoutManager.js +70 -0
  282. package/build/modern/timeoutManager.js.map +1 -0
  283. package/build/modern/types.cjs +37 -0
  284. package/build/modern/types.cjs.map +1 -0
  285. package/build/modern/types.d.cts +95 -0
  286. package/build/modern/types.d.ts +95 -0
  287. package/build/modern/types.js +10 -0
  288. package/build/modern/types.js.map +1 -0
  289. package/build/modern/utils.cjs +330 -0
  290. package/build/modern/utils.cjs.map +1 -0
  291. package/build/modern/utils.d.cts +30 -0
  292. package/build/modern/utils.d.ts +30 -0
  293. package/build/modern/utils.js +281 -0
  294. package/build/modern/utils.js.map +1 -0
  295. package/package.json +1 -1
@@ -0,0 +1,516 @@
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 __typeError = (msg) => {
7
+ throw TypeError(msg);
8
+ };
9
+ var __export = (target, all) => {
10
+ for (var name in all)
11
+ __defProp(target, name, { get: all[name], enumerable: true });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from))
16
+ if (!__hasOwnProp.call(to, key) && key !== except)
17
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
18
+ }
19
+ return to;
20
+ };
21
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
22
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
23
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
24
+ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
25
+ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
26
+ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
27
+
28
+ // src/queryObserver.ts
29
+ var queryObserver_exports = {};
30
+ __export(queryObserver_exports, {
31
+ QueryObserver: () => QueryObserver
32
+ });
33
+ module.exports = __toCommonJS(queryObserver_exports);
34
+ var import_focusManager = require("./focusManager.cjs");
35
+ var import_environmentManager = require("./environmentManager.cjs");
36
+ var import_notifyManager = require("./notifyManager.cjs");
37
+ var import_query = require("./query.cjs");
38
+ var import_subscribable = require("./subscribable.cjs");
39
+ var import_thenable = require("./thenable.cjs");
40
+ var import_utils = require("./utils.cjs");
41
+ var import_timeoutManager = require("./timeoutManager.cjs");
42
+ var _client, _currentQuery, _currentQueryInitialState, _currentResult, _currentResultState, _currentResultOptions, _currentThenable, _selectError, _selectFn, _selectResult, _lastQueryWithDefinedData, _staleTimeoutId, _refetchIntervalId, _currentRefetchInterval, _trackedProps, _QueryObserver_instances, executeFetch_fn, updateStaleTimeout_fn, computeRefetchInterval_fn, updateRefetchInterval_fn, updateTimers_fn, clearStaleTimeout_fn, clearRefetchInterval_fn, updateQuery_fn, notify_fn;
43
+ var QueryObserver = class extends import_subscribable.Subscribable {
44
+ constructor(client, options) {
45
+ super();
46
+ this.options = options;
47
+ __privateAdd(this, _QueryObserver_instances);
48
+ __privateAdd(this, _client);
49
+ __privateAdd(this, _currentQuery);
50
+ __privateAdd(this, _currentQueryInitialState);
51
+ __privateAdd(this, _currentResult);
52
+ __privateAdd(this, _currentResultState);
53
+ __privateAdd(this, _currentResultOptions);
54
+ __privateAdd(this, _currentThenable);
55
+ __privateAdd(this, _selectError);
56
+ __privateAdd(this, _selectFn);
57
+ __privateAdd(this, _selectResult);
58
+ // This property keeps track of the last query with defined data.
59
+ // It will be used to pass the previous data and query to the placeholder function between renders.
60
+ __privateAdd(this, _lastQueryWithDefinedData);
61
+ __privateAdd(this, _staleTimeoutId);
62
+ __privateAdd(this, _refetchIntervalId);
63
+ __privateAdd(this, _currentRefetchInterval);
64
+ __privateAdd(this, _trackedProps, /* @__PURE__ */ new Set());
65
+ __privateSet(this, _client, client);
66
+ __privateSet(this, _selectError, null);
67
+ __privateSet(this, _currentThenable, (0, import_thenable.pendingThenable)());
68
+ this.bindMethods();
69
+ this.setOptions(options);
70
+ }
71
+ bindMethods() {
72
+ this.refetch = this.refetch.bind(this);
73
+ }
74
+ onSubscribe() {
75
+ if (this.listeners.size === 1) {
76
+ __privateGet(this, _currentQuery).addObserver(this);
77
+ if (shouldFetchOnMount(__privateGet(this, _currentQuery), this.options)) {
78
+ __privateMethod(this, _QueryObserver_instances, executeFetch_fn).call(this);
79
+ } else {
80
+ this.updateResult();
81
+ }
82
+ __privateMethod(this, _QueryObserver_instances, updateTimers_fn).call(this);
83
+ }
84
+ }
85
+ onUnsubscribe() {
86
+ if (!this.hasListeners()) {
87
+ this.destroy();
88
+ }
89
+ }
90
+ shouldFetchOnReconnect() {
91
+ return shouldFetchOn(
92
+ __privateGet(this, _currentQuery),
93
+ this.options,
94
+ this.options.refetchOnReconnect
95
+ );
96
+ }
97
+ shouldFetchOnWindowFocus() {
98
+ return shouldFetchOn(
99
+ __privateGet(this, _currentQuery),
100
+ this.options,
101
+ this.options.refetchOnWindowFocus
102
+ );
103
+ }
104
+ destroy() {
105
+ this.listeners = /* @__PURE__ */ new Set();
106
+ __privateMethod(this, _QueryObserver_instances, clearStaleTimeout_fn).call(this);
107
+ __privateMethod(this, _QueryObserver_instances, clearRefetchInterval_fn).call(this);
108
+ __privateGet(this, _currentQuery).removeObserver(this);
109
+ }
110
+ setOptions(options) {
111
+ const prevOptions = this.options;
112
+ const prevQuery = __privateGet(this, _currentQuery);
113
+ this.options = __privateGet(this, _client).defaultQueryOptions(options);
114
+ if (this.options.enabled !== void 0 && typeof this.options.enabled !== "boolean" && typeof this.options.enabled !== "function" && typeof (0, import_utils.resolveEnabled)(this.options.enabled, __privateGet(this, _currentQuery)) !== "boolean") {
115
+ throw new Error(
116
+ "Expected enabled to be a boolean or a callback that returns a boolean"
117
+ );
118
+ }
119
+ __privateMethod(this, _QueryObserver_instances, updateQuery_fn).call(this);
120
+ __privateGet(this, _currentQuery).setOptions(this.options);
121
+ if (prevOptions._defaulted && !(0, import_utils.shallowEqualObjects)(this.options, prevOptions)) {
122
+ __privateGet(this, _client).getQueryCache().notify({
123
+ type: "observerOptionsUpdated",
124
+ query: __privateGet(this, _currentQuery),
125
+ observer: this
126
+ });
127
+ }
128
+ const mounted = this.hasListeners();
129
+ if (mounted && shouldFetchOptionally(
130
+ __privateGet(this, _currentQuery),
131
+ prevQuery,
132
+ this.options,
133
+ prevOptions
134
+ )) {
135
+ __privateMethod(this, _QueryObserver_instances, executeFetch_fn).call(this);
136
+ }
137
+ this.updateResult();
138
+ if (mounted && (__privateGet(this, _currentQuery) !== prevQuery || (0, import_utils.resolveEnabled)(this.options.enabled, __privateGet(this, _currentQuery)) !== (0, import_utils.resolveEnabled)(prevOptions.enabled, __privateGet(this, _currentQuery)) || (0, import_utils.resolveStaleTime)(this.options.staleTime, __privateGet(this, _currentQuery)) !== (0, import_utils.resolveStaleTime)(prevOptions.staleTime, __privateGet(this, _currentQuery)))) {
139
+ __privateMethod(this, _QueryObserver_instances, updateStaleTimeout_fn).call(this);
140
+ }
141
+ const nextRefetchInterval = __privateMethod(this, _QueryObserver_instances, computeRefetchInterval_fn).call(this);
142
+ if (mounted && (__privateGet(this, _currentQuery) !== prevQuery || (0, import_utils.resolveEnabled)(this.options.enabled, __privateGet(this, _currentQuery)) !== (0, import_utils.resolveEnabled)(prevOptions.enabled, __privateGet(this, _currentQuery)) || nextRefetchInterval !== __privateGet(this, _currentRefetchInterval))) {
143
+ __privateMethod(this, _QueryObserver_instances, updateRefetchInterval_fn).call(this, nextRefetchInterval);
144
+ }
145
+ }
146
+ getOptimisticResult(options) {
147
+ const query = __privateGet(this, _client).getQueryCache().build(__privateGet(this, _client), options);
148
+ const result = this.createResult(query, options);
149
+ if (shouldAssignObserverCurrentProperties(this, result)) {
150
+ __privateSet(this, _currentResult, result);
151
+ __privateSet(this, _currentResultOptions, this.options);
152
+ __privateSet(this, _currentResultState, __privateGet(this, _currentQuery).state);
153
+ }
154
+ return result;
155
+ }
156
+ getCurrentResult() {
157
+ return __privateGet(this, _currentResult);
158
+ }
159
+ trackResult(result, onPropTracked) {
160
+ return new Proxy(result, {
161
+ get: (target, key) => {
162
+ this.trackProp(key);
163
+ onPropTracked == null ? void 0 : onPropTracked(key);
164
+ if (key === "promise") {
165
+ this.trackProp("data");
166
+ if (!this.options.experimental_prefetchInRender && __privateGet(this, _currentThenable).status === "pending") {
167
+ __privateGet(this, _currentThenable).reject(
168
+ new Error(
169
+ "experimental_prefetchInRender feature flag is not enabled"
170
+ )
171
+ );
172
+ }
173
+ }
174
+ return Reflect.get(target, key);
175
+ }
176
+ });
177
+ }
178
+ trackProp(key) {
179
+ __privateGet(this, _trackedProps).add(key);
180
+ }
181
+ getCurrentQuery() {
182
+ return __privateGet(this, _currentQuery);
183
+ }
184
+ refetch({ ...options } = {}) {
185
+ return this.fetch({
186
+ ...options
187
+ });
188
+ }
189
+ fetchOptimistic(options) {
190
+ const defaultedOptions = __privateGet(this, _client).defaultQueryOptions(options);
191
+ const query = __privateGet(this, _client).getQueryCache().build(__privateGet(this, _client), defaultedOptions);
192
+ return query.fetch().then(() => this.createResult(query, defaultedOptions));
193
+ }
194
+ fetch(fetchOptions) {
195
+ return __privateMethod(this, _QueryObserver_instances, executeFetch_fn).call(this, {
196
+ ...fetchOptions,
197
+ cancelRefetch: fetchOptions.cancelRefetch ?? true
198
+ }).then(() => {
199
+ this.updateResult();
200
+ return __privateGet(this, _currentResult);
201
+ });
202
+ }
203
+ createResult(query, options) {
204
+ var _a;
205
+ const prevQuery = __privateGet(this, _currentQuery);
206
+ const prevOptions = this.options;
207
+ const prevResult = __privateGet(this, _currentResult);
208
+ const prevResultState = __privateGet(this, _currentResultState);
209
+ const prevResultOptions = __privateGet(this, _currentResultOptions);
210
+ const queryChange = query !== prevQuery;
211
+ const queryInitialState = queryChange ? query.state : __privateGet(this, _currentQueryInitialState);
212
+ const { state } = query;
213
+ let newState = { ...state };
214
+ let isPlaceholderData = false;
215
+ let data;
216
+ if (options._optimisticResults) {
217
+ const mounted = this.hasListeners();
218
+ const fetchOnMount = !mounted && shouldFetchOnMount(query, options);
219
+ const fetchOptionally = mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions);
220
+ if (fetchOnMount || fetchOptionally) {
221
+ newState = {
222
+ ...newState,
223
+ ...(0, import_query.fetchState)(state.data, query.options)
224
+ };
225
+ }
226
+ if (options._optimisticResults === "isRestoring") {
227
+ newState.fetchStatus = "idle";
228
+ }
229
+ }
230
+ let { error, errorUpdatedAt, status } = newState;
231
+ data = newState.data;
232
+ let skipSelect = false;
233
+ if (options.placeholderData !== void 0 && data === void 0 && status === "pending") {
234
+ let placeholderData;
235
+ if ((prevResult == null ? void 0 : prevResult.isPlaceholderData) && options.placeholderData === (prevResultOptions == null ? void 0 : prevResultOptions.placeholderData)) {
236
+ placeholderData = prevResult.data;
237
+ skipSelect = true;
238
+ } else {
239
+ placeholderData = typeof options.placeholderData === "function" ? options.placeholderData(
240
+ (_a = __privateGet(this, _lastQueryWithDefinedData)) == null ? void 0 : _a.state.data,
241
+ __privateGet(this, _lastQueryWithDefinedData)
242
+ ) : options.placeholderData;
243
+ }
244
+ if (placeholderData !== void 0) {
245
+ status = "success";
246
+ data = (0, import_utils.replaceData)(
247
+ prevResult == null ? void 0 : prevResult.data,
248
+ placeholderData,
249
+ options
250
+ );
251
+ isPlaceholderData = true;
252
+ }
253
+ }
254
+ if (options.select && data !== void 0 && !skipSelect) {
255
+ if (prevResult && data === (prevResultState == null ? void 0 : prevResultState.data) && options.select === __privateGet(this, _selectFn)) {
256
+ data = __privateGet(this, _selectResult);
257
+ } else {
258
+ try {
259
+ __privateSet(this, _selectFn, options.select);
260
+ data = options.select(data);
261
+ data = (0, import_utils.replaceData)(prevResult == null ? void 0 : prevResult.data, data, options);
262
+ __privateSet(this, _selectResult, data);
263
+ __privateSet(this, _selectError, null);
264
+ } catch (selectError) {
265
+ __privateSet(this, _selectError, selectError);
266
+ }
267
+ }
268
+ }
269
+ if (__privateGet(this, _selectError)) {
270
+ error = __privateGet(this, _selectError);
271
+ data = __privateGet(this, _selectResult);
272
+ errorUpdatedAt = Date.now();
273
+ status = "error";
274
+ }
275
+ const isFetching = newState.fetchStatus === "fetching";
276
+ const isPending = status === "pending";
277
+ const isError = status === "error";
278
+ const isLoading = isPending && isFetching;
279
+ const hasData = data !== void 0;
280
+ const result = {
281
+ status,
282
+ fetchStatus: newState.fetchStatus,
283
+ isPending,
284
+ isSuccess: status === "success",
285
+ isError,
286
+ isInitialLoading: isLoading,
287
+ isLoading,
288
+ data,
289
+ dataUpdatedAt: newState.dataUpdatedAt,
290
+ error,
291
+ errorUpdatedAt,
292
+ failureCount: newState.fetchFailureCount,
293
+ failureReason: newState.fetchFailureReason,
294
+ errorUpdateCount: newState.errorUpdateCount,
295
+ isFetched: query.isFetched(),
296
+ isFetchedAfterMount: newState.dataUpdateCount > queryInitialState.dataUpdateCount || newState.errorUpdateCount > queryInitialState.errorUpdateCount,
297
+ isFetching,
298
+ isRefetching: isFetching && !isPending,
299
+ isLoadingError: isError && !hasData,
300
+ isPaused: newState.fetchStatus === "paused",
301
+ isPlaceholderData,
302
+ isRefetchError: isError && hasData,
303
+ isStale: isStale(query, options),
304
+ refetch: this.refetch,
305
+ promise: __privateGet(this, _currentThenable),
306
+ isEnabled: (0, import_utils.resolveEnabled)(options.enabled, query) !== false
307
+ };
308
+ const nextResult = result;
309
+ if (this.options.experimental_prefetchInRender) {
310
+ const hasResultData = nextResult.data !== void 0;
311
+ const isErrorWithoutData = nextResult.status === "error" && !hasResultData;
312
+ const finalizeThenableIfPossible = (thenable) => {
313
+ if (isErrorWithoutData) {
314
+ thenable.reject(nextResult.error);
315
+ } else if (hasResultData) {
316
+ thenable.resolve(nextResult.data);
317
+ }
318
+ };
319
+ const recreateThenable = () => {
320
+ const pending = __privateSet(this, _currentThenable, nextResult.promise = (0, import_thenable.pendingThenable)());
321
+ finalizeThenableIfPossible(pending);
322
+ };
323
+ const prevThenable = __privateGet(this, _currentThenable);
324
+ switch (prevThenable.status) {
325
+ case "pending":
326
+ if (query.queryHash === prevQuery.queryHash) {
327
+ finalizeThenableIfPossible(prevThenable);
328
+ }
329
+ break;
330
+ case "fulfilled":
331
+ if (isErrorWithoutData || nextResult.data !== prevThenable.value) {
332
+ recreateThenable();
333
+ }
334
+ break;
335
+ case "rejected":
336
+ if (!isErrorWithoutData || nextResult.error !== prevThenable.reason) {
337
+ recreateThenable();
338
+ }
339
+ break;
340
+ }
341
+ }
342
+ return nextResult;
343
+ }
344
+ updateResult() {
345
+ const prevResult = __privateGet(this, _currentResult);
346
+ const nextResult = this.createResult(__privateGet(this, _currentQuery), this.options);
347
+ __privateSet(this, _currentResultState, __privateGet(this, _currentQuery).state);
348
+ __privateSet(this, _currentResultOptions, this.options);
349
+ if (__privateGet(this, _currentResultState).data !== void 0) {
350
+ __privateSet(this, _lastQueryWithDefinedData, __privateGet(this, _currentQuery));
351
+ }
352
+ if ((0, import_utils.shallowEqualObjects)(nextResult, prevResult)) {
353
+ return;
354
+ }
355
+ __privateSet(this, _currentResult, nextResult);
356
+ const shouldNotifyListeners = () => {
357
+ if (!prevResult) {
358
+ return true;
359
+ }
360
+ const { notifyOnChangeProps } = this.options;
361
+ const notifyOnChangePropsValue = typeof notifyOnChangeProps === "function" ? notifyOnChangeProps() : notifyOnChangeProps;
362
+ if (notifyOnChangePropsValue === "all" || !notifyOnChangePropsValue && !__privateGet(this, _trackedProps).size) {
363
+ return true;
364
+ }
365
+ const includedProps = new Set(
366
+ notifyOnChangePropsValue ?? __privateGet(this, _trackedProps)
367
+ );
368
+ if (this.options.throwOnError) {
369
+ includedProps.add("error");
370
+ }
371
+ return Object.keys(__privateGet(this, _currentResult)).some((key) => {
372
+ const typedKey = key;
373
+ const changed = __privateGet(this, _currentResult)[typedKey] !== prevResult[typedKey];
374
+ return changed && includedProps.has(typedKey);
375
+ });
376
+ };
377
+ __privateMethod(this, _QueryObserver_instances, notify_fn).call(this, { listeners: shouldNotifyListeners() });
378
+ }
379
+ onQueryUpdate() {
380
+ this.updateResult();
381
+ if (this.hasListeners()) {
382
+ __privateMethod(this, _QueryObserver_instances, updateTimers_fn).call(this);
383
+ }
384
+ }
385
+ };
386
+ _client = new WeakMap();
387
+ _currentQuery = new WeakMap();
388
+ _currentQueryInitialState = new WeakMap();
389
+ _currentResult = new WeakMap();
390
+ _currentResultState = new WeakMap();
391
+ _currentResultOptions = new WeakMap();
392
+ _currentThenable = new WeakMap();
393
+ _selectError = new WeakMap();
394
+ _selectFn = new WeakMap();
395
+ _selectResult = new WeakMap();
396
+ _lastQueryWithDefinedData = new WeakMap();
397
+ _staleTimeoutId = new WeakMap();
398
+ _refetchIntervalId = new WeakMap();
399
+ _currentRefetchInterval = new WeakMap();
400
+ _trackedProps = new WeakMap();
401
+ _QueryObserver_instances = new WeakSet();
402
+ executeFetch_fn = function(fetchOptions) {
403
+ __privateMethod(this, _QueryObserver_instances, updateQuery_fn).call(this);
404
+ let promise = __privateGet(this, _currentQuery).fetch(
405
+ this.options,
406
+ fetchOptions
407
+ );
408
+ if (!(fetchOptions == null ? void 0 : fetchOptions.throwOnError)) {
409
+ promise = promise.catch(import_utils.noop);
410
+ }
411
+ return promise;
412
+ };
413
+ updateStaleTimeout_fn = function() {
414
+ __privateMethod(this, _QueryObserver_instances, clearStaleTimeout_fn).call(this);
415
+ const staleTime = (0, import_utils.resolveStaleTime)(
416
+ this.options.staleTime,
417
+ __privateGet(this, _currentQuery)
418
+ );
419
+ if (import_environmentManager.environmentManager.isServer() || __privateGet(this, _currentResult).isStale || !(0, import_utils.isValidTimeout)(staleTime)) {
420
+ return;
421
+ }
422
+ const time = (0, import_utils.timeUntilStale)(__privateGet(this, _currentResult).dataUpdatedAt, staleTime);
423
+ const timeout = time + 1;
424
+ __privateSet(this, _staleTimeoutId, import_timeoutManager.timeoutManager.setTimeout(() => {
425
+ if (!__privateGet(this, _currentResult).isStale) {
426
+ this.updateResult();
427
+ }
428
+ }, timeout));
429
+ };
430
+ computeRefetchInterval_fn = function() {
431
+ return (typeof this.options.refetchInterval === "function" ? this.options.refetchInterval(__privateGet(this, _currentQuery)) : this.options.refetchInterval) ?? false;
432
+ };
433
+ updateRefetchInterval_fn = function(nextInterval) {
434
+ __privateMethod(this, _QueryObserver_instances, clearRefetchInterval_fn).call(this);
435
+ __privateSet(this, _currentRefetchInterval, nextInterval);
436
+ if (import_environmentManager.environmentManager.isServer() || (0, import_utils.resolveEnabled)(this.options.enabled, __privateGet(this, _currentQuery)) === false || !(0, import_utils.isValidTimeout)(__privateGet(this, _currentRefetchInterval)) || __privateGet(this, _currentRefetchInterval) === 0) {
437
+ return;
438
+ }
439
+ __privateSet(this, _refetchIntervalId, import_timeoutManager.timeoutManager.setInterval(() => {
440
+ if (this.options.refetchIntervalInBackground || import_focusManager.focusManager.isFocused()) {
441
+ __privateMethod(this, _QueryObserver_instances, executeFetch_fn).call(this);
442
+ }
443
+ }, __privateGet(this, _currentRefetchInterval)));
444
+ };
445
+ updateTimers_fn = function() {
446
+ __privateMethod(this, _QueryObserver_instances, updateStaleTimeout_fn).call(this);
447
+ __privateMethod(this, _QueryObserver_instances, updateRefetchInterval_fn).call(this, __privateMethod(this, _QueryObserver_instances, computeRefetchInterval_fn).call(this));
448
+ };
449
+ clearStaleTimeout_fn = function() {
450
+ if (__privateGet(this, _staleTimeoutId)) {
451
+ import_timeoutManager.timeoutManager.clearTimeout(__privateGet(this, _staleTimeoutId));
452
+ __privateSet(this, _staleTimeoutId, void 0);
453
+ }
454
+ };
455
+ clearRefetchInterval_fn = function() {
456
+ if (__privateGet(this, _refetchIntervalId)) {
457
+ import_timeoutManager.timeoutManager.clearInterval(__privateGet(this, _refetchIntervalId));
458
+ __privateSet(this, _refetchIntervalId, void 0);
459
+ }
460
+ };
461
+ updateQuery_fn = function() {
462
+ const query = __privateGet(this, _client).getQueryCache().build(__privateGet(this, _client), this.options);
463
+ if (query === __privateGet(this, _currentQuery)) {
464
+ return;
465
+ }
466
+ const prevQuery = __privateGet(this, _currentQuery);
467
+ __privateSet(this, _currentQuery, query);
468
+ __privateSet(this, _currentQueryInitialState, query.state);
469
+ if (this.hasListeners()) {
470
+ prevQuery == null ? void 0 : prevQuery.removeObserver(this);
471
+ query.addObserver(this);
472
+ }
473
+ };
474
+ notify_fn = function(notifyOptions) {
475
+ import_notifyManager.notifyManager.batch(() => {
476
+ if (notifyOptions.listeners) {
477
+ this.listeners.forEach((listener) => {
478
+ listener(__privateGet(this, _currentResult));
479
+ });
480
+ }
481
+ __privateGet(this, _client).getQueryCache().notify({
482
+ query: __privateGet(this, _currentQuery),
483
+ type: "observerResultsUpdated"
484
+ });
485
+ });
486
+ };
487
+ function shouldLoadOnMount(query, options) {
488
+ return (0, import_utils.resolveEnabled)(options.enabled, query) !== false && query.state.data === void 0 && !(query.state.status === "error" && options.retryOnMount === false);
489
+ }
490
+ function shouldFetchOnMount(query, options) {
491
+ return shouldLoadOnMount(query, options) || query.state.data !== void 0 && shouldFetchOn(query, options, options.refetchOnMount);
492
+ }
493
+ function shouldFetchOn(query, options, field) {
494
+ if ((0, import_utils.resolveEnabled)(options.enabled, query) !== false && (0, import_utils.resolveStaleTime)(options.staleTime, query) !== "static") {
495
+ const value = typeof field === "function" ? field(query) : field;
496
+ return value === "always" || value !== false && isStale(query, options);
497
+ }
498
+ return false;
499
+ }
500
+ function shouldFetchOptionally(query, prevQuery, options, prevOptions) {
501
+ return (query !== prevQuery || (0, import_utils.resolveEnabled)(prevOptions.enabled, query) === false) && (!options.suspense || query.state.status !== "error") && isStale(query, options);
502
+ }
503
+ function isStale(query, options) {
504
+ return (0, import_utils.resolveEnabled)(options.enabled, query) !== false && query.isStaleByTime((0, import_utils.resolveStaleTime)(options.staleTime, query));
505
+ }
506
+ function shouldAssignObserverCurrentProperties(observer, optimisticResult) {
507
+ if (!(0, import_utils.shallowEqualObjects)(observer.getCurrentResult(), optimisticResult)) {
508
+ return true;
509
+ }
510
+ return false;
511
+ }
512
+ // Annotate the CommonJS export names for ESM import in node:
513
+ 0 && (module.exports = {
514
+ QueryObserver
515
+ });
516
+ //# sourceMappingURL=queryObserver.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/queryObserver.ts"],"sourcesContent":["import { focusManager } from './focusManager'\nimport { environmentManager } from './environmentManager'\nimport { notifyManager } from './notifyManager'\nimport { fetchState } from './query'\nimport { Subscribable } from './subscribable'\nimport { pendingThenable } from './thenable'\nimport {\n isValidTimeout,\n noop,\n replaceData,\n resolveEnabled,\n resolveStaleTime,\n shallowEqualObjects,\n timeUntilStale,\n} from './utils'\nimport { timeoutManager } from './timeoutManager'\nimport type { ManagedTimerId } from './timeoutManager'\nimport type { FetchOptions, Query, QueryState } from './query'\nimport type { QueryClient } from './queryClient'\nimport type { PendingThenable, Thenable } from './thenable'\nimport type {\n DefaultError,\n DefaultedQueryObserverOptions,\n PlaceholderDataFunction,\n QueryKey,\n QueryObserverBaseResult,\n QueryObserverOptions,\n QueryObserverResult,\n RefetchOptions,\n} from './types'\n\ntype QueryObserverListener<TData, TError> = (\n result: QueryObserverResult<TData, TError>,\n) => void\n\ninterface ObserverFetchOptions extends FetchOptions {\n throwOnError?: boolean\n}\n\nexport class QueryObserver<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends Subscribable<QueryObserverListener<TData, TError>> {\n #client: QueryClient\n #currentQuery: Query<TQueryFnData, TError, TQueryData, TQueryKey> = undefined!\n #currentQueryInitialState: QueryState<TQueryData, TError> = undefined!\n #currentResult: QueryObserverResult<TData, TError> = undefined!\n #currentResultState?: QueryState<TQueryData, TError>\n #currentResultOptions?: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n #currentThenable: Thenable<TData>\n #selectError: TError | null\n #selectFn?: (data: TQueryData) => TData\n #selectResult?: TData\n // This property keeps track of the last query with defined data.\n // It will be used to pass the previous data and query to the placeholder function between renders.\n #lastQueryWithDefinedData?: Query<TQueryFnData, TError, TQueryData, TQueryKey>\n #staleTimeoutId?: ManagedTimerId\n #refetchIntervalId?: ManagedTimerId\n #currentRefetchInterval?: number | false\n #trackedProps = new Set<keyof QueryObserverResult>()\n\n constructor(\n client: QueryClient,\n public options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ) {\n super()\n\n this.#client = client\n this.#selectError = null\n this.#currentThenable = pendingThenable()\n\n this.bindMethods()\n this.setOptions(options)\n }\n\n protected bindMethods(): void {\n this.refetch = this.refetch.bind(this)\n }\n\n protected onSubscribe(): void {\n if (this.listeners.size === 1) {\n this.#currentQuery.addObserver(this)\n\n if (shouldFetchOnMount(this.#currentQuery, this.options)) {\n this.#executeFetch()\n } else {\n this.updateResult()\n }\n\n this.#updateTimers()\n }\n }\n\n protected onUnsubscribe(): void {\n if (!this.hasListeners()) {\n this.destroy()\n }\n }\n\n shouldFetchOnReconnect(): boolean {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnReconnect,\n )\n }\n\n shouldFetchOnWindowFocus(): boolean {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnWindowFocus,\n )\n }\n\n destroy(): void {\n this.listeners = new Set()\n this.#clearStaleTimeout()\n this.#clearRefetchInterval()\n this.#currentQuery.removeObserver(this)\n }\n\n setOptions(\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): void {\n const prevOptions = this.options\n const prevQuery = this.#currentQuery\n\n this.options = this.#client.defaultQueryOptions(options)\n\n if (\n this.options.enabled !== undefined &&\n typeof this.options.enabled !== 'boolean' &&\n typeof this.options.enabled !== 'function' &&\n typeof resolveEnabled(this.options.enabled, this.#currentQuery) !==\n 'boolean'\n ) {\n throw new Error(\n 'Expected enabled to be a boolean or a callback that returns a boolean',\n )\n }\n\n this.#updateQuery()\n this.#currentQuery.setOptions(this.options)\n\n if (\n prevOptions._defaulted &&\n !shallowEqualObjects(this.options, prevOptions)\n ) {\n this.#client.getQueryCache().notify({\n type: 'observerOptionsUpdated',\n query: this.#currentQuery,\n observer: this,\n })\n }\n\n const mounted = this.hasListeners()\n\n // Fetch if there are subscribers\n if (\n mounted &&\n shouldFetchOptionally(\n this.#currentQuery,\n prevQuery,\n this.options,\n prevOptions,\n )\n ) {\n this.#executeFetch()\n }\n\n // Update result\n this.updateResult()\n\n // Update stale interval if needed\n if (\n mounted &&\n (this.#currentQuery !== prevQuery ||\n resolveEnabled(this.options.enabled, this.#currentQuery) !==\n resolveEnabled(prevOptions.enabled, this.#currentQuery) ||\n resolveStaleTime(this.options.staleTime, this.#currentQuery) !==\n resolveStaleTime(prevOptions.staleTime, this.#currentQuery))\n ) {\n this.#updateStaleTimeout()\n }\n\n const nextRefetchInterval = this.#computeRefetchInterval()\n\n // Update refetch interval if needed\n if (\n mounted &&\n (this.#currentQuery !== prevQuery ||\n resolveEnabled(this.options.enabled, this.#currentQuery) !==\n resolveEnabled(prevOptions.enabled, this.#currentQuery) ||\n nextRefetchInterval !== this.#currentRefetchInterval)\n ) {\n this.#updateRefetchInterval(nextRefetchInterval)\n }\n }\n\n getOptimisticResult(\n options: DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): QueryObserverResult<TData, TError> {\n const query = this.#client.getQueryCache().build(this.#client, options)\n\n const result = this.createResult(query, options)\n\n if (shouldAssignObserverCurrentProperties(this, result)) {\n // this assigns the optimistic result to the current Observer\n // because if the query function changes, useQuery will be performing\n // an effect where it would fetch again.\n // When the fetch finishes, we perform a deep data cloning in order\n // to reuse objects references. This deep data clone is performed against\n // the `observer.currentResult.data` property\n // When QueryKey changes, we refresh the query and get new `optimistic`\n // result, while we leave the `observer.currentResult`, so when new data\n // arrives, it finds the old `observer.currentResult` which is related\n // to the old QueryKey. Which means that currentResult and selectData are\n // out of sync already.\n // To solve this, we move the cursor of the currentResult every time\n // an observer reads an optimistic value.\n\n // When keeping the previous data, the result doesn't change until new\n // data arrives.\n this.#currentResult = result\n this.#currentResultOptions = this.options\n this.#currentResultState = this.#currentQuery.state\n }\n return result\n }\n\n getCurrentResult(): QueryObserverResult<TData, TError> {\n return this.#currentResult\n }\n\n trackResult(\n result: QueryObserverResult<TData, TError>,\n onPropTracked?: (key: keyof QueryObserverResult) => void,\n ): QueryObserverResult<TData, TError> {\n return new Proxy(result, {\n get: (target, key) => {\n this.trackProp(key as keyof QueryObserverResult)\n onPropTracked?.(key as keyof QueryObserverResult)\n if (key === 'promise') {\n this.trackProp('data')\n if (\n !this.options.experimental_prefetchInRender &&\n this.#currentThenable.status === 'pending'\n ) {\n this.#currentThenable.reject(\n new Error(\n 'experimental_prefetchInRender feature flag is not enabled',\n ),\n )\n }\n }\n return Reflect.get(target, key)\n },\n })\n }\n\n trackProp(key: keyof QueryObserverResult) {\n this.#trackedProps.add(key)\n }\n\n getCurrentQuery(): Query<TQueryFnData, TError, TQueryData, TQueryKey> {\n return this.#currentQuery\n }\n\n refetch({ ...options }: RefetchOptions = {}): Promise<\n QueryObserverResult<TData, TError>\n > {\n return this.fetch({\n ...options,\n })\n }\n\n fetchOptimistic(\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): Promise<QueryObserverResult<TData, TError>> {\n const defaultedOptions = this.#client.defaultQueryOptions(options)\n\n const query = this.#client\n .getQueryCache()\n .build(this.#client, defaultedOptions)\n\n return query.fetch().then(() => this.createResult(query, defaultedOptions))\n }\n\n protected fetch(\n fetchOptions: ObserverFetchOptions,\n ): Promise<QueryObserverResult<TData, TError>> {\n return this.#executeFetch({\n ...fetchOptions,\n cancelRefetch: fetchOptions.cancelRefetch ?? true,\n }).then(() => {\n this.updateResult()\n return this.#currentResult\n })\n }\n\n #executeFetch(\n fetchOptions?: Omit<ObserverFetchOptions, 'initialPromise'>,\n ): Promise<TQueryData | undefined> {\n // Make sure we reference the latest query as the current one might have been removed\n this.#updateQuery()\n\n // Fetch\n let promise: Promise<TQueryData | undefined> = this.#currentQuery.fetch(\n this.options,\n fetchOptions,\n )\n\n if (!fetchOptions?.throwOnError) {\n promise = promise.catch(noop)\n }\n\n return promise\n }\n\n #updateStaleTimeout(): void {\n this.#clearStaleTimeout()\n const staleTime = resolveStaleTime(\n this.options.staleTime,\n this.#currentQuery,\n )\n\n if (\n environmentManager.isServer() ||\n this.#currentResult.isStale ||\n !isValidTimeout(staleTime)\n ) {\n return\n }\n\n const time = timeUntilStale(this.#currentResult.dataUpdatedAt, staleTime)\n\n // The timeout is sometimes triggered 1 ms before the stale time expiration.\n // To mitigate this issue we always add 1 ms to the timeout.\n const timeout = time + 1\n\n this.#staleTimeoutId = timeoutManager.setTimeout(() => {\n if (!this.#currentResult.isStale) {\n this.updateResult()\n }\n }, timeout)\n }\n\n #computeRefetchInterval() {\n return (\n (typeof this.options.refetchInterval === 'function'\n ? this.options.refetchInterval(this.#currentQuery)\n : this.options.refetchInterval) ?? false\n )\n }\n\n #updateRefetchInterval(nextInterval: number | false): void {\n this.#clearRefetchInterval()\n\n this.#currentRefetchInterval = nextInterval\n\n if (\n environmentManager.isServer() ||\n resolveEnabled(this.options.enabled, this.#currentQuery) === false ||\n !isValidTimeout(this.#currentRefetchInterval) ||\n this.#currentRefetchInterval === 0\n ) {\n return\n }\n\n this.#refetchIntervalId = timeoutManager.setInterval(() => {\n if (\n this.options.refetchIntervalInBackground ||\n focusManager.isFocused()\n ) {\n this.#executeFetch()\n }\n }, this.#currentRefetchInterval)\n }\n\n #updateTimers(): void {\n this.#updateStaleTimeout()\n this.#updateRefetchInterval(this.#computeRefetchInterval())\n }\n\n #clearStaleTimeout(): void {\n if (this.#staleTimeoutId) {\n timeoutManager.clearTimeout(this.#staleTimeoutId)\n this.#staleTimeoutId = undefined\n }\n }\n\n #clearRefetchInterval(): void {\n if (this.#refetchIntervalId) {\n timeoutManager.clearInterval(this.#refetchIntervalId)\n this.#refetchIntervalId = undefined\n }\n }\n\n protected createResult(\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): QueryObserverResult<TData, TError> {\n const prevQuery = this.#currentQuery\n const prevOptions = this.options\n const prevResult = this.#currentResult as\n | QueryObserverResult<TData, TError>\n | undefined\n const prevResultState = this.#currentResultState\n const prevResultOptions = this.#currentResultOptions\n const queryChange = query !== prevQuery\n const queryInitialState = queryChange\n ? query.state\n : this.#currentQueryInitialState\n\n const { state } = query\n let newState = { ...state }\n let isPlaceholderData = false\n let data: TData | undefined\n\n // Optimistically set result in fetching state if needed\n if (options._optimisticResults) {\n const mounted = this.hasListeners()\n\n const fetchOnMount = !mounted && shouldFetchOnMount(query, options)\n\n const fetchOptionally =\n mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions)\n\n if (fetchOnMount || fetchOptionally) {\n newState = {\n ...newState,\n ...fetchState(state.data, query.options),\n }\n }\n if (options._optimisticResults === 'isRestoring') {\n newState.fetchStatus = 'idle'\n }\n }\n\n let { error, errorUpdatedAt, status } = newState\n\n // Per default, use query data\n data = newState.data as unknown as TData\n let skipSelect = false\n\n // use placeholderData if needed\n if (\n options.placeholderData !== undefined &&\n data === undefined &&\n status === 'pending'\n ) {\n let placeholderData\n\n // Memoize placeholder data\n if (\n prevResult?.isPlaceholderData &&\n options.placeholderData === prevResultOptions?.placeholderData\n ) {\n placeholderData = prevResult.data\n // we have to skip select when reading this memoization\n // because prevResult.data is already \"selected\"\n skipSelect = true\n } else {\n // compute placeholderData\n placeholderData =\n typeof options.placeholderData === 'function'\n ? (\n options.placeholderData as unknown as PlaceholderDataFunction<TQueryData>\n )(\n this.#lastQueryWithDefinedData?.state.data,\n this.#lastQueryWithDefinedData as any,\n )\n : options.placeholderData\n }\n\n if (placeholderData !== undefined) {\n status = 'success'\n data = replaceData(\n prevResult?.data,\n placeholderData as unknown,\n options,\n ) as TData\n isPlaceholderData = true\n }\n }\n\n // Select data if needed\n // this also runs placeholderData through the select function\n if (options.select && data !== undefined && !skipSelect) {\n // Memoize select result\n if (\n prevResult &&\n data === prevResultState?.data &&\n options.select === this.#selectFn\n ) {\n data = this.#selectResult\n } else {\n try {\n this.#selectFn = options.select\n data = options.select(data as any)\n data = replaceData(prevResult?.data, data, options)\n this.#selectResult = data\n this.#selectError = null\n } catch (selectError) {\n this.#selectError = selectError as TError\n }\n }\n }\n\n if (this.#selectError) {\n error = this.#selectError\n data = this.#selectResult\n errorUpdatedAt = Date.now()\n status = 'error'\n }\n\n const isFetching = newState.fetchStatus === 'fetching'\n const isPending = status === 'pending'\n const isError = status === 'error'\n\n const isLoading = isPending && isFetching\n const hasData = data !== undefined\n\n const result: QueryObserverBaseResult<TData, TError> = {\n status,\n fetchStatus: newState.fetchStatus,\n isPending,\n isSuccess: status === 'success',\n isError,\n isInitialLoading: isLoading,\n isLoading,\n data,\n dataUpdatedAt: newState.dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: newState.fetchFailureCount,\n failureReason: newState.fetchFailureReason,\n errorUpdateCount: newState.errorUpdateCount,\n isFetched: query.isFetched(),\n isFetchedAfterMount:\n newState.dataUpdateCount > queryInitialState.dataUpdateCount ||\n newState.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching,\n isRefetching: isFetching && !isPending,\n isLoadingError: isError && !hasData,\n isPaused: newState.fetchStatus === 'paused',\n isPlaceholderData,\n isRefetchError: isError && hasData,\n isStale: isStale(query, options),\n refetch: this.refetch,\n promise: this.#currentThenable,\n isEnabled: resolveEnabled(options.enabled, query) !== false,\n }\n\n const nextResult = result as QueryObserverResult<TData, TError>\n\n if (this.options.experimental_prefetchInRender) {\n const hasResultData = nextResult.data !== undefined\n const isErrorWithoutData = nextResult.status === 'error' && !hasResultData\n const finalizeThenableIfPossible = (thenable: PendingThenable<TData>) => {\n if (isErrorWithoutData) {\n thenable.reject(nextResult.error)\n } else if (hasResultData) {\n thenable.resolve(nextResult.data as TData)\n }\n }\n\n /**\n * Create a new thenable and result promise when the results have changed\n */\n const recreateThenable = () => {\n const pending =\n (this.#currentThenable =\n nextResult.promise =\n pendingThenable())\n\n finalizeThenableIfPossible(pending)\n }\n\n const prevThenable = this.#currentThenable\n switch (prevThenable.status) {\n case 'pending':\n // Finalize the previous thenable if it was pending\n // and we are still observing the same query\n if (query.queryHash === prevQuery.queryHash) {\n finalizeThenableIfPossible(prevThenable)\n }\n break\n case 'fulfilled':\n if (isErrorWithoutData || nextResult.data !== prevThenable.value) {\n recreateThenable()\n }\n break\n case 'rejected':\n if (!isErrorWithoutData || nextResult.error !== prevThenable.reason) {\n recreateThenable()\n }\n break\n }\n }\n\n return nextResult\n }\n\n updateResult(): void {\n const prevResult = this.#currentResult as\n | QueryObserverResult<TData, TError>\n | undefined\n\n const nextResult = this.createResult(this.#currentQuery, this.options)\n\n this.#currentResultState = this.#currentQuery.state\n this.#currentResultOptions = this.options\n\n if (this.#currentResultState.data !== undefined) {\n this.#lastQueryWithDefinedData = this.#currentQuery\n }\n\n // Only notify and update result if something has changed\n if (shallowEqualObjects(nextResult, prevResult)) {\n return\n }\n\n this.#currentResult = nextResult\n\n const shouldNotifyListeners = (): boolean => {\n if (!prevResult) {\n return true\n }\n\n const { notifyOnChangeProps } = this.options\n const notifyOnChangePropsValue =\n typeof notifyOnChangeProps === 'function'\n ? notifyOnChangeProps()\n : notifyOnChangeProps\n\n if (\n notifyOnChangePropsValue === 'all' ||\n (!notifyOnChangePropsValue && !this.#trackedProps.size)\n ) {\n return true\n }\n\n const includedProps = new Set(\n notifyOnChangePropsValue ?? this.#trackedProps,\n )\n\n if (this.options.throwOnError) {\n includedProps.add('error')\n }\n\n return Object.keys(this.#currentResult).some((key) => {\n const typedKey = key as keyof QueryObserverResult\n const changed = this.#currentResult[typedKey] !== prevResult[typedKey]\n\n return changed && includedProps.has(typedKey)\n })\n }\n\n this.#notify({ listeners: shouldNotifyListeners() })\n }\n\n #updateQuery(): void {\n const query = this.#client.getQueryCache().build(this.#client, this.options)\n\n if (query === this.#currentQuery) {\n return\n }\n\n const prevQuery = this.#currentQuery as\n | Query<TQueryFnData, TError, TQueryData, TQueryKey>\n | undefined\n this.#currentQuery = query\n this.#currentQueryInitialState = query.state\n\n if (this.hasListeners()) {\n prevQuery?.removeObserver(this)\n query.addObserver(this)\n }\n }\n\n onQueryUpdate(): void {\n this.updateResult()\n\n if (this.hasListeners()) {\n this.#updateTimers()\n }\n }\n\n #notify(notifyOptions: { listeners: boolean }): void {\n notifyManager.batch(() => {\n // First, trigger the listeners\n if (notifyOptions.listeners) {\n this.listeners.forEach((listener) => {\n listener(this.#currentResult)\n })\n }\n\n // Then the cache listeners\n this.#client.getQueryCache().notify({\n query: this.#currentQuery,\n type: 'observerResultsUpdated',\n })\n })\n }\n}\n\nfunction shouldLoadOnMount(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any>,\n): boolean {\n return (\n resolveEnabled(options.enabled, query) !== false &&\n query.state.data === undefined &&\n !(query.state.status === 'error' && options.retryOnMount === false)\n )\n}\n\nfunction shouldFetchOnMount(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n shouldLoadOnMount(query, options) ||\n (query.state.data !== undefined &&\n shouldFetchOn(query, options, options.refetchOnMount))\n )\n}\n\nfunction shouldFetchOn(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n field: (typeof options)['refetchOnMount'] &\n (typeof options)['refetchOnWindowFocus'] &\n (typeof options)['refetchOnReconnect'],\n) {\n if (\n resolveEnabled(options.enabled, query) !== false &&\n resolveStaleTime(options.staleTime, query) !== 'static'\n ) {\n const value = typeof field === 'function' ? field(query) : field\n\n return value === 'always' || (value !== false && isStale(query, options))\n }\n return false\n}\n\nfunction shouldFetchOptionally(\n query: Query<any, any, any, any>,\n prevQuery: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n prevOptions: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n (query !== prevQuery ||\n resolveEnabled(prevOptions.enabled, query) === false) &&\n (!options.suspense || query.state.status !== 'error') &&\n isStale(query, options)\n )\n}\n\nfunction isStale(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n resolveEnabled(options.enabled, query) !== false &&\n query.isStaleByTime(resolveStaleTime(options.staleTime, query))\n )\n}\n\n// this function would decide if we will update the observer's 'current'\n// properties after an optimistic reading via getOptimisticResult\nfunction shouldAssignObserverCurrentProperties<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n observer: QueryObserver<TQueryFnData, TError, TData, TQueryData, TQueryKey>,\n optimisticResult: QueryObserverResult<TData, TError>,\n) {\n // if the newly created result isn't what the observer is holding as current,\n // then we'll need to update the properties as well\n if (!shallowEqualObjects(observer.getCurrentResult(), optimisticResult)) {\n return true\n }\n\n // basically, just keep previous properties if nothing changed\n return false\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1 @@
1
+ export { QueryObserver_alias_1 as QueryObserver } from './_tsup-dts-rollup.cjs';
@@ -0,0 +1 @@
1
+ export { QueryObserver_alias_1 as QueryObserver } from './_tsup-dts-rollup.js';