@tanstack/query-core 5.0.0-alpha.6 → 5.0.0-alpha.63

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 (286) hide show
  1. package/build/lib/_virtual/{_rollupPluginBabelHelpers.js → _rollupPluginBabelHelpers.legacy.cjs} +1 -1
  2. package/build/lib/_virtual/_rollupPluginBabelHelpers.legacy.cjs.map +1 -0
  3. package/build/lib/_virtual/{_rollupPluginBabelHelpers.esm.js → _rollupPluginBabelHelpers.legacy.js} +1 -1
  4. package/build/lib/_virtual/_rollupPluginBabelHelpers.legacy.js.map +1 -0
  5. package/build/lib/{focusManager.mjs → focusManager.cjs} +9 -6
  6. package/build/lib/{focusManager.mjs.map → focusManager.cjs.map} +1 -1
  7. package/build/lib/focusManager.d.ts +2 -1
  8. package/build/lib/focusManager.d.ts.map +1 -0
  9. package/build/lib/focusManager.js +20 -39
  10. package/build/lib/focusManager.js.map +1 -1
  11. package/build/lib/focusManager.legacy.cjs +90 -0
  12. package/build/lib/focusManager.legacy.cjs.map +1 -0
  13. package/build/lib/{focusManager.esm.js → focusManager.legacy.js} +4 -4
  14. package/build/lib/focusManager.legacy.js.map +1 -0
  15. package/build/lib/{hydration.mjs → hydration.cjs} +11 -20
  16. package/build/lib/hydration.cjs.map +1 -0
  17. package/build/lib/hydration.d.ts +3 -6
  18. package/build/lib/hydration.d.ts.map +1 -0
  19. package/build/lib/hydration.js +7 -28
  20. package/build/lib/hydration.js.map +1 -1
  21. package/build/lib/hydration.legacy.cjs +92 -0
  22. package/build/lib/hydration.legacy.cjs.map +1 -0
  23. package/build/lib/{hydration.esm.js → hydration.legacy.js} +6 -19
  24. package/build/lib/hydration.legacy.js.map +1 -0
  25. package/build/lib/index.cjs +40 -0
  26. package/build/lib/index.cjs.map +1 -0
  27. package/build/lib/index.d.ts +5 -3
  28. package/build/lib/index.d.ts.map +1 -0
  29. package/build/lib/index.js +13 -39
  30. package/build/lib/index.js.map +1 -1
  31. package/build/lib/index.legacy.cjs +40 -0
  32. package/build/lib/index.legacy.cjs.map +1 -0
  33. package/build/lib/index.legacy.js +14 -0
  34. package/build/lib/index.legacy.js.map +1 -0
  35. package/build/lib/{infiniteQueryBehavior.mjs → infiniteQueryBehavior.cjs} +8 -4
  36. package/build/lib/{infiniteQueryBehavior.mjs.map → infiniteQueryBehavior.cjs.map} +1 -1
  37. package/build/lib/infiniteQueryBehavior.d.ts +1 -0
  38. package/build/lib/infiniteQueryBehavior.d.ts.map +1 -0
  39. package/build/lib/infiniteQueryBehavior.js +7 -12
  40. package/build/lib/infiniteQueryBehavior.js.map +1 -1
  41. package/build/lib/infiniteQueryBehavior.legacy.cjs +131 -0
  42. package/build/lib/infiniteQueryBehavior.legacy.cjs.map +1 -0
  43. package/build/lib/{infiniteQueryBehavior.esm.js → infiniteQueryBehavior.legacy.js} +2 -2
  44. package/build/lib/infiniteQueryBehavior.legacy.js.map +1 -0
  45. package/build/lib/{infiniteQueryObserver.mjs → infiniteQueryObserver.cjs} +11 -9
  46. package/build/lib/{infiniteQueryObserver.mjs.map → infiniteQueryObserver.cjs.map} +1 -1
  47. package/build/lib/infiniteQueryObserver.d.ts +2 -1
  48. package/build/lib/infiniteQueryObserver.d.ts.map +1 -0
  49. package/build/lib/infiniteQueryObserver.js +10 -13
  50. package/build/lib/infiniteQueryObserver.js.map +1 -1
  51. package/build/lib/infiniteQueryObserver.legacy.cjs +78 -0
  52. package/build/lib/infiniteQueryObserver.legacy.cjs.map +1 -0
  53. package/build/lib/{infiniteQueryObserver.esm.js → infiniteQueryObserver.legacy.js} +3 -3
  54. package/build/lib/infiniteQueryObserver.legacy.js.map +1 -0
  55. package/build/lib/{mutation.mjs → mutation.cjs} +13 -10
  56. package/build/lib/mutation.cjs.map +1 -0
  57. package/build/lib/mutation.d.ts +2 -1
  58. package/build/lib/mutation.d.ts.map +1 -0
  59. package/build/lib/mutation.js +107 -135
  60. package/build/lib/mutation.js.map +1 -1
  61. package/build/lib/mutation.legacy.cjs +262 -0
  62. package/build/lib/mutation.legacy.cjs.map +1 -0
  63. package/build/lib/{mutation.esm.js → mutation.legacy.js} +6 -6
  64. package/build/lib/mutation.legacy.js.map +1 -0
  65. package/build/lib/{mutationCache.mjs → mutationCache.cjs} +21 -18
  66. package/build/lib/mutationCache.cjs.map +1 -0
  67. package/build/lib/mutationCache.d.ts +3 -2
  68. package/build/lib/mutationCache.d.ts.map +1 -0
  69. package/build/lib/mutationCache.js +33 -47
  70. package/build/lib/mutationCache.js.map +1 -1
  71. package/build/lib/mutationCache.legacy.cjs +98 -0
  72. package/build/lib/mutationCache.legacy.cjs.map +1 -0
  73. package/build/lib/{mutationCache.esm.js → mutationCache.legacy.js} +11 -10
  74. package/build/lib/mutationCache.legacy.js.map +1 -0
  75. package/build/lib/{mutationObserver.mjs → mutationObserver.cjs} +13 -11
  76. package/build/lib/mutationObserver.cjs.map +1 -0
  77. package/build/lib/mutationObserver.d.ts +2 -1
  78. package/build/lib/mutationObserver.d.ts.map +1 -0
  79. package/build/lib/mutationObserver.js +59 -91
  80. package/build/lib/mutationObserver.js.map +1 -1
  81. package/build/lib/mutationObserver.legacy.cjs +128 -0
  82. package/build/lib/mutationObserver.legacy.cjs.map +1 -0
  83. package/build/lib/{mutationObserver.esm.js → mutationObserver.legacy.js} +7 -7
  84. package/build/lib/mutationObserver.legacy.js.map +1 -0
  85. package/build/lib/{notifyManager.mjs → notifyManager.cjs} +8 -5
  86. package/build/lib/{notifyManager.mjs.map → notifyManager.cjs.map} +1 -1
  87. package/build/lib/notifyManager.d.ts +4 -3
  88. package/build/lib/notifyManager.d.ts.map +1 -0
  89. package/build/lib/notifyManager.js +4 -7
  90. package/build/lib/notifyManager.js.map +1 -1
  91. package/build/lib/notifyManager.legacy.cjs +92 -0
  92. package/build/lib/notifyManager.legacy.cjs.map +1 -0
  93. package/build/lib/{notifyManager.esm.js → notifyManager.legacy.js} +2 -2
  94. package/build/lib/notifyManager.legacy.js.map +1 -0
  95. package/build/lib/{onlineManager.mjs → onlineManager.cjs} +16 -10
  96. package/build/lib/onlineManager.cjs.map +1 -0
  97. package/build/lib/onlineManager.d.ts +2 -1
  98. package/build/lib/onlineManager.d.ts.map +1 -0
  99. package/build/lib/onlineManager.js +26 -41
  100. package/build/lib/onlineManager.js.map +1 -1
  101. package/build/lib/onlineManager.legacy.cjs +94 -0
  102. package/build/lib/onlineManager.legacy.cjs.map +1 -0
  103. package/build/lib/{onlineManager.esm.js → onlineManager.legacy.js} +11 -8
  104. package/build/lib/onlineManager.legacy.js.map +1 -0
  105. package/build/lib/{queriesObserver.mjs → queriesObserver.cjs} +51 -26
  106. package/build/lib/queriesObserver.cjs.map +1 -0
  107. package/build/lib/queriesObserver.d.ts +14 -6
  108. package/build/lib/queriesObserver.d.ts.map +1 -0
  109. package/build/lib/queriesObserver.js +99 -107
  110. package/build/lib/queriesObserver.js.map +1 -1
  111. package/build/lib/queriesObserver.legacy.cjs +207 -0
  112. package/build/lib/queriesObserver.legacy.cjs.map +1 -0
  113. package/build/lib/{queriesObserver.esm.js → queriesObserver.legacy.js} +62 -22
  114. package/build/lib/queriesObserver.legacy.js.map +1 -0
  115. package/build/lib/{query.mjs → query.cjs} +22 -20
  116. package/build/lib/query.cjs.map +1 -0
  117. package/build/lib/query.d.ts +3 -2
  118. package/build/lib/query.d.ts.map +1 -0
  119. package/build/lib/query.js +173 -224
  120. package/build/lib/query.js.map +1 -1
  121. package/build/lib/query.legacy.cjs +471 -0
  122. package/build/lib/query.legacy.cjs.map +1 -0
  123. package/build/lib/{query.esm.js → query.legacy.js} +10 -10
  124. package/build/lib/query.legacy.js.map +1 -0
  125. package/build/lib/{queryCache.mjs → queryCache.cjs} +28 -23
  126. package/build/lib/queryCache.cjs.map +1 -0
  127. package/build/lib/queryCache.d.ts +3 -3
  128. package/build/lib/queryCache.d.ts.map +1 -0
  129. package/build/lib/queryCache.js +31 -37
  130. package/build/lib/queryCache.js.map +1 -1
  131. package/build/lib/queryCache.legacy.cjs +111 -0
  132. package/build/lib/queryCache.legacy.cjs.map +1 -0
  133. package/build/lib/{queryCache.esm.js → queryCache.legacy.js} +13 -12
  134. package/build/lib/queryCache.legacy.js.map +1 -0
  135. package/build/lib/{queryClient.mjs → queryClient.cjs} +50 -42
  136. package/build/lib/queryClient.cjs.map +1 -0
  137. package/build/lib/queryClient.d.ts +2 -2
  138. package/build/lib/queryClient.d.ts.map +1 -0
  139. package/build/lib/queryClient.js +98 -134
  140. package/build/lib/queryClient.js.map +1 -1
  141. package/build/lib/queryClient.legacy.cjs +322 -0
  142. package/build/lib/queryClient.legacy.cjs.map +1 -0
  143. package/build/lib/{queryClient.esm.js → queryClient.legacy.js} +28 -25
  144. package/build/lib/queryClient.legacy.js.map +1 -0
  145. package/build/lib/{queryObserver.mjs → queryObserver.cjs} +40 -50
  146. package/build/lib/queryObserver.cjs.map +1 -0
  147. package/build/lib/queryObserver.d.ts +6 -7
  148. package/build/lib/queryObserver.d.ts.map +1 -0
  149. package/build/lib/queryObserver.js +208 -323
  150. package/build/lib/queryObserver.js.map +1 -1
  151. package/build/lib/queryObserver.legacy.cjs +526 -0
  152. package/build/lib/queryObserver.legacy.cjs.map +1 -0
  153. package/build/lib/{queryObserver.esm.js → queryObserver.legacy.js} +71 -88
  154. package/build/lib/queryObserver.legacy.js.map +1 -0
  155. package/build/lib/{removable.mjs → removable.cjs} +7 -5
  156. package/build/lib/{removable.mjs.map → removable.cjs.map} +1 -1
  157. package/build/lib/removable.d.ts +1 -0
  158. package/build/lib/removable.d.ts.map +1 -0
  159. package/build/lib/removable.js +9 -18
  160. package/build/lib/removable.js.map +1 -1
  161. package/build/lib/removable.legacy.cjs +38 -0
  162. package/build/lib/removable.legacy.cjs.map +1 -0
  163. package/build/lib/{removable.esm.js → removable.legacy.js} +3 -3
  164. package/build/lib/removable.legacy.js.map +1 -0
  165. package/build/lib/{retryer.mjs → retryer.cjs} +15 -8
  166. package/build/lib/{retryer.mjs.map → retryer.cjs.map} +1 -1
  167. package/build/lib/retryer.d.ts +5 -4
  168. package/build/lib/retryer.d.ts.map +1 -0
  169. package/build/lib/retryer.js +21 -25
  170. package/build/lib/retryer.js.map +1 -1
  171. package/build/lib/retryer.legacy.cjs +158 -0
  172. package/build/lib/retryer.legacy.cjs.map +1 -0
  173. package/build/lib/{retryer.esm.js → retryer.legacy.js} +6 -4
  174. package/build/lib/retryer.legacy.js.map +1 -0
  175. package/build/lib/{subscribable.esm.js → subscribable.cjs} +8 -6
  176. package/build/lib/subscribable.cjs.map +1 -0
  177. package/build/lib/subscribable.d.ts +3 -2
  178. package/build/lib/subscribable.d.ts.map +1 -0
  179. package/build/lib/subscribable.js +5 -7
  180. package/build/lib/subscribable.js.map +1 -1
  181. package/build/lib/subscribable.legacy.cjs +28 -0
  182. package/build/lib/subscribable.legacy.cjs.map +1 -0
  183. package/build/lib/{subscribable.mjs → subscribable.legacy.js} +5 -5
  184. package/build/lib/subscribable.legacy.js.map +1 -0
  185. package/build/lib/tests/focusManager.test.d.ts +1 -0
  186. package/build/lib/tests/focusManager.test.d.ts.map +1 -0
  187. package/build/lib/tests/hydration.test.d.ts +1 -0
  188. package/build/lib/tests/hydration.test.d.ts.map +1 -0
  189. package/build/lib/tests/infiniteQueryBehavior.test.d.ts +1 -0
  190. package/build/lib/tests/infiniteQueryBehavior.test.d.ts.map +1 -0
  191. package/build/lib/tests/infiniteQueryObserver.test.d.ts +1 -0
  192. package/build/lib/tests/infiniteQueryObserver.test.d.ts.map +1 -0
  193. package/build/lib/tests/mutationCache.test.d.ts +1 -0
  194. package/build/lib/tests/mutationCache.test.d.ts.map +1 -0
  195. package/build/lib/tests/mutationObserver.test.d.ts +1 -0
  196. package/build/lib/tests/mutationObserver.test.d.ts.map +1 -0
  197. package/build/lib/tests/mutations.test.d.ts +1 -0
  198. package/build/lib/tests/mutations.test.d.ts.map +1 -0
  199. package/build/lib/tests/notifyManager.test.d.ts +1 -0
  200. package/build/lib/tests/notifyManager.test.d.ts.map +1 -0
  201. package/build/lib/tests/onlineManager.test.d.ts +1 -0
  202. package/build/lib/tests/onlineManager.test.d.ts.map +1 -0
  203. package/build/lib/tests/queriesObserver.test.d.ts +1 -0
  204. package/build/lib/tests/queriesObserver.test.d.ts.map +1 -0
  205. package/build/lib/tests/query.test.d.ts +1 -0
  206. package/build/lib/tests/query.test.d.ts.map +1 -0
  207. package/build/lib/tests/queryCache.test.d.ts +1 -0
  208. package/build/lib/tests/queryCache.test.d.ts.map +1 -0
  209. package/build/lib/tests/queryClient.test.d.ts +1 -0
  210. package/build/lib/tests/queryClient.test.d.ts.map +1 -0
  211. package/build/lib/tests/queryObserver.test.d.ts +1 -0
  212. package/build/lib/tests/queryObserver.test.d.ts.map +1 -0
  213. package/build/lib/tests/utils.d.ts +3 -2
  214. package/build/lib/tests/utils.d.ts.map +1 -0
  215. package/build/lib/tests/utils.test.d.ts +1 -0
  216. package/build/lib/tests/utils.test.d.ts.map +1 -0
  217. package/build/lib/types.d.ts +34 -46
  218. package/build/lib/types.d.ts.map +1 -0
  219. package/build/lib/{utils.mjs → utils.cjs} +23 -2
  220. package/build/lib/{utils.mjs.map → utils.cjs.map} +1 -1
  221. package/build/lib/utils.d.ts +4 -3
  222. package/build/lib/utils.d.ts.map +1 -0
  223. package/build/lib/utils.js +2 -23
  224. package/build/lib/utils.js.map +1 -1
  225. package/build/lib/utils.legacy.cjs +248 -0
  226. package/build/lib/utils.legacy.cjs.map +1 -0
  227. package/build/lib/{utils.esm.js → utils.legacy.js} +1 -1
  228. package/build/lib/utils.legacy.js.map +1 -0
  229. package/package.json +13 -9
  230. package/src/hydration.ts +18 -37
  231. package/src/index.ts +3 -4
  232. package/src/mutation.ts +1 -1
  233. package/src/mutationCache.ts +4 -4
  234. package/src/mutationObserver.ts +1 -1
  235. package/src/onlineManager.ts +8 -4
  236. package/src/queriesObserver.ts +75 -25
  237. package/src/query.ts +4 -4
  238. package/src/queryCache.ts +5 -8
  239. package/src/queryClient.ts +20 -20
  240. package/src/queryObserver.ts +47 -55
  241. package/src/subscribable.ts +5 -5
  242. package/src/tests/hydration.test.tsx +7 -3
  243. package/src/tests/query.test.tsx +1 -1
  244. package/src/tests/queryCache.test.tsx +1 -19
  245. package/src/tests/queryClient.test.tsx +39 -3
  246. package/src/tests/queryObserver.test.tsx +121 -0
  247. package/src/types.ts +14 -21
  248. package/build/lib/_virtual/_rollupPluginBabelHelpers.esm.js.map +0 -1
  249. package/build/lib/_virtual/_rollupPluginBabelHelpers.js.map +0 -1
  250. package/build/lib/focusManager.esm.js.map +0 -1
  251. package/build/lib/hydration.esm.js.map +0 -1
  252. package/build/lib/hydration.mjs.map +0 -1
  253. package/build/lib/index.esm.js +0 -14
  254. package/build/lib/index.esm.js.map +0 -1
  255. package/build/lib/index.mjs +0 -14
  256. package/build/lib/index.mjs.map +0 -1
  257. package/build/lib/infiniteQueryBehavior.esm.js.map +0 -1
  258. package/build/lib/infiniteQueryObserver.esm.js.map +0 -1
  259. package/build/lib/mutation.esm.js.map +0 -1
  260. package/build/lib/mutation.mjs.map +0 -1
  261. package/build/lib/mutationCache.esm.js.map +0 -1
  262. package/build/lib/mutationCache.mjs.map +0 -1
  263. package/build/lib/mutationObserver.esm.js.map +0 -1
  264. package/build/lib/mutationObserver.mjs.map +0 -1
  265. package/build/lib/notifyManager.esm.js.map +0 -1
  266. package/build/lib/onlineManager.esm.js.map +0 -1
  267. package/build/lib/onlineManager.mjs.map +0 -1
  268. package/build/lib/queriesObserver.esm.js.map +0 -1
  269. package/build/lib/queriesObserver.mjs.map +0 -1
  270. package/build/lib/query.esm.js.map +0 -1
  271. package/build/lib/query.mjs.map +0 -1
  272. package/build/lib/queryCache.esm.js.map +0 -1
  273. package/build/lib/queryCache.mjs.map +0 -1
  274. package/build/lib/queryClient.esm.js.map +0 -1
  275. package/build/lib/queryClient.mjs.map +0 -1
  276. package/build/lib/queryObserver.esm.js.map +0 -1
  277. package/build/lib/queryObserver.mjs.map +0 -1
  278. package/build/lib/removable.esm.js.map +0 -1
  279. package/build/lib/retryer.esm.js.map +0 -1
  280. package/build/lib/subscribable.esm.js.map +0 -1
  281. package/build/lib/subscribable.mjs.map +0 -1
  282. package/build/lib/utils.esm.js.map +0 -1
  283. package/build/umd/index.development.js +0 -2683
  284. package/build/umd/index.development.js.map +0 -1
  285. package/build/umd/index.production.js +0 -2
  286. package/build/umd/index.production.js.map +0 -1
@@ -0,0 +1,207 @@
1
+ 'use strict';
2
+
3
+ var _rollupPluginBabelHelpers = require('./_virtual/_rollupPluginBabelHelpers.legacy.cjs');
4
+ var notifyManager = require('./notifyManager.legacy.cjs');
5
+ var queryObserver = require('./queryObserver.legacy.cjs');
6
+ var subscribable = require('./subscribable.legacy.cjs');
7
+ var utils = require('./utils.legacy.cjs');
8
+
9
+ function difference(array1, array2) {
10
+ return array1.filter(x => !array2.includes(x));
11
+ }
12
+ function replaceAt(array, index, value) {
13
+ const copy = array.slice(0);
14
+ copy[index] = value;
15
+ return copy;
16
+ }
17
+ var _client = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("client");
18
+ var _result = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("result");
19
+ var _queries = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("queries");
20
+ var _observers = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("observers");
21
+ var _options = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("options");
22
+ var _combinedResult = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("combinedResult");
23
+ var _setResult = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("setResult");
24
+ var _combineResult = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("combineResult");
25
+ var _findMatchingObservers = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("findMatchingObservers");
26
+ var _onUpdate = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("onUpdate");
27
+ var _notify = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("notify");
28
+ class QueriesObserver extends subscribable.Subscribable {
29
+ constructor(client, _queries2, _options2) {
30
+ super();
31
+ Object.defineProperty(this, _notify, {
32
+ value: _notify2
33
+ });
34
+ Object.defineProperty(this, _onUpdate, {
35
+ value: _onUpdate2
36
+ });
37
+ Object.defineProperty(this, _findMatchingObservers, {
38
+ value: _findMatchingObservers2
39
+ });
40
+ Object.defineProperty(this, _combineResult, {
41
+ value: _combineResult2
42
+ });
43
+ Object.defineProperty(this, _setResult, {
44
+ value: _setResult2
45
+ });
46
+ Object.defineProperty(this, _client, {
47
+ writable: true,
48
+ value: void 0
49
+ });
50
+ Object.defineProperty(this, _result, {
51
+ writable: true,
52
+ value: void 0
53
+ });
54
+ Object.defineProperty(this, _queries, {
55
+ writable: true,
56
+ value: void 0
57
+ });
58
+ Object.defineProperty(this, _observers, {
59
+ writable: true,
60
+ value: void 0
61
+ });
62
+ Object.defineProperty(this, _options, {
63
+ writable: true,
64
+ value: void 0
65
+ });
66
+ Object.defineProperty(this, _combinedResult, {
67
+ writable: true,
68
+ value: void 0
69
+ });
70
+ _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _client)[_client] = client;
71
+ _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _queries)[_queries] = [];
72
+ _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _observers)[_observers] = [];
73
+ _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _setResult)[_setResult]([]);
74
+ this.setQueries(_queries2, _options2);
75
+ }
76
+ onSubscribe() {
77
+ if (this.listeners.size === 1) {
78
+ _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _observers)[_observers].forEach(observer => {
79
+ observer.subscribe(result => {
80
+ _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _onUpdate)[_onUpdate](observer, result);
81
+ });
82
+ });
83
+ }
84
+ }
85
+ onUnsubscribe() {
86
+ if (!this.listeners.size) {
87
+ this.destroy();
88
+ }
89
+ }
90
+ destroy() {
91
+ this.listeners = new Set();
92
+ _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _observers)[_observers].forEach(observer => {
93
+ observer.destroy();
94
+ });
95
+ }
96
+ setQueries(queries, options, notifyOptions) {
97
+ _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _queries)[_queries] = queries;
98
+ _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _options)[_options] = options;
99
+ notifyManager.notifyManager.batch(() => {
100
+ const prevObservers = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _observers)[_observers];
101
+ const newObserverMatches = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _findMatchingObservers)[_findMatchingObservers](_rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _queries)[_queries]);
102
+
103
+ // set options for the new observers to notify of changes
104
+ newObserverMatches.forEach(match => match.observer.setOptions(match.defaultedQueryOptions, notifyOptions));
105
+ const newObservers = newObserverMatches.map(match => match.observer);
106
+ const newResult = newObservers.map(observer => observer.getCurrentResult());
107
+ const hasIndexChange = newObservers.some((observer, index) => observer !== prevObservers[index]);
108
+ if (prevObservers.length === newObservers.length && !hasIndexChange) {
109
+ return;
110
+ }
111
+ _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _observers)[_observers] = newObservers;
112
+ _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _setResult)[_setResult](newResult);
113
+ if (!this.hasListeners()) {
114
+ return;
115
+ }
116
+ difference(prevObservers, newObservers).forEach(observer => {
117
+ observer.destroy();
118
+ });
119
+ difference(newObservers, prevObservers).forEach(observer => {
120
+ observer.subscribe(result => {
121
+ _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _onUpdate)[_onUpdate](observer, result);
122
+ });
123
+ });
124
+ _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _notify)[_notify]();
125
+ });
126
+ }
127
+ getCurrentResult() {
128
+ return _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _combinedResult)[_combinedResult];
129
+ }
130
+ getQueries() {
131
+ return _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _observers)[_observers].map(observer => observer.getCurrentQuery());
132
+ }
133
+ getObservers() {
134
+ return _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _observers)[_observers];
135
+ }
136
+ getOptimisticResult(queries) {
137
+ const matches = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _findMatchingObservers)[_findMatchingObservers](queries);
138
+ const result = matches.map(match => match.observer.getOptimisticResult(match.defaultedQueryOptions));
139
+ return [result, r => {
140
+ return _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _combineResult)[_combineResult](r != null ? r : result);
141
+ }, () => {
142
+ return matches.map((match, index) => {
143
+ const observerResult = result[index];
144
+ return !match.defaultedQueryOptions.notifyOnChangeProps ? match.observer.trackResult(observerResult) : observerResult;
145
+ });
146
+ }];
147
+ }
148
+ }
149
+ function _setResult2(value) {
150
+ _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _result)[_result] = value;
151
+ _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _combinedResult)[_combinedResult] = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _combineResult)[_combineResult](value);
152
+ }
153
+ function _combineResult2(input) {
154
+ var _classPrivateFieldLoo;
155
+ const combine = (_classPrivateFieldLoo = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _options)[_options]) == null ? void 0 : _classPrivateFieldLoo.combine;
156
+ if (combine) {
157
+ return utils.replaceEqualDeep(_rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _combinedResult)[_combinedResult], combine(input));
158
+ }
159
+ return input;
160
+ }
161
+ function _findMatchingObservers2(queries) {
162
+ const prevObservers = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _observers)[_observers];
163
+ const prevObserversMap = new Map(prevObservers.map(observer => [observer.options.queryHash, observer]));
164
+ const defaultedQueryOptions = queries.map(options => _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _client)[_client].defaultQueryOptions(options));
165
+ const matchingObservers = defaultedQueryOptions.flatMap(defaultedOptions => {
166
+ const match = prevObserversMap.get(defaultedOptions.queryHash);
167
+ if (match != null) {
168
+ return [{
169
+ defaultedQueryOptions: defaultedOptions,
170
+ observer: match
171
+ }];
172
+ }
173
+ return [];
174
+ });
175
+ const matchedQueryHashes = new Set(matchingObservers.map(match => match.defaultedQueryOptions.queryHash));
176
+ const unmatchedQueries = defaultedQueryOptions.filter(defaultedOptions => !matchedQueryHashes.has(defaultedOptions.queryHash));
177
+ const getObserver = options => {
178
+ const defaultedOptions = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _client)[_client].defaultQueryOptions(options);
179
+ const currentObserver = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _observers)[_observers].find(o => o.options.queryHash === defaultedOptions.queryHash);
180
+ return currentObserver != null ? currentObserver : new queryObserver.QueryObserver(_rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _client)[_client], defaultedOptions);
181
+ };
182
+ const newOrReusedObservers = unmatchedQueries.map(options => {
183
+ return {
184
+ defaultedQueryOptions: options,
185
+ observer: getObserver(options)
186
+ };
187
+ });
188
+ const sortMatchesByOrderOfQueries = (a, b) => defaultedQueryOptions.indexOf(a.defaultedQueryOptions) - defaultedQueryOptions.indexOf(b.defaultedQueryOptions);
189
+ return matchingObservers.concat(newOrReusedObservers).sort(sortMatchesByOrderOfQueries);
190
+ }
191
+ function _onUpdate2(observer, result) {
192
+ const index = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _observers)[_observers].indexOf(observer);
193
+ if (index !== -1) {
194
+ _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _setResult)[_setResult](replaceAt(_rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _result)[_result], index, result));
195
+ _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _notify)[_notify]();
196
+ }
197
+ }
198
+ function _notify2() {
199
+ notifyManager.notifyManager.batch(() => {
200
+ this.listeners.forEach(listener => {
201
+ listener(_rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _result)[_result]);
202
+ });
203
+ });
204
+ }
205
+
206
+ exports.QueriesObserver = QueriesObserver;
207
+ //# sourceMappingURL=queriesObserver.legacy.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queriesObserver.legacy.cjs","sources":["../../src/queriesObserver.ts"],"sourcesContent":["import { notifyManager } from './notifyManager'\nimport type {\n QueryObserverOptions,\n QueryObserverResult,\n DefaultedQueryObserverOptions,\n} from './types'\nimport type { QueryClient } from './queryClient'\nimport type { NotifyOptions } from './queryObserver'\nimport { QueryObserver } from './queryObserver'\nimport { Subscribable } from './subscribable'\nimport { replaceEqualDeep } from './utils'\n\nfunction difference<T>(array1: T[], array2: T[]): T[] {\n return array1.filter((x) => !array2.includes(x))\n}\n\nfunction replaceAt<T>(array: T[], index: number, value: T): T[] {\n const copy = array.slice(0)\n copy[index] = value\n return copy\n}\n\ntype QueriesObserverListener = (result: QueryObserverResult[]) => void\n\nexport interface QueriesObserverOptions<\n TCombinedResult = QueryObserverResult[],\n> {\n combine?: (result: QueryObserverResult[]) => TCombinedResult\n}\n\nexport class QueriesObserver<\n TCombinedResult = QueryObserverResult[],\n> extends Subscribable<QueriesObserverListener> {\n #client: QueryClient\n #result!: QueryObserverResult[]\n #queries: QueryObserverOptions[]\n #observers: QueryObserver[]\n #options?: QueriesObserverOptions<TCombinedResult>\n #combinedResult!: TCombinedResult\n\n constructor(\n client: QueryClient,\n queries: QueryObserverOptions[],\n options?: QueriesObserverOptions<TCombinedResult>,\n ) {\n super()\n\n this.#client = client\n this.#queries = []\n this.#observers = []\n\n this.#setResult([])\n this.setQueries(queries, options)\n }\n\n #setResult(value: QueryObserverResult[]) {\n this.#result = value\n this.#combinedResult = this.#combineResult(value)\n }\n\n protected onSubscribe(): void {\n if (this.listeners.size === 1) {\n this.#observers.forEach((observer) => {\n observer.subscribe((result) => {\n this.#onUpdate(observer, result)\n })\n })\n }\n }\n\n protected onUnsubscribe(): void {\n if (!this.listeners.size) {\n this.destroy()\n }\n }\n\n destroy(): void {\n this.listeners = new Set()\n this.#observers.forEach((observer) => {\n observer.destroy()\n })\n }\n\n setQueries(\n queries: QueryObserverOptions[],\n options?: QueriesObserverOptions<TCombinedResult>,\n notifyOptions?: NotifyOptions,\n ): void {\n this.#queries = queries\n this.#options = options\n\n notifyManager.batch(() => {\n const prevObservers = this.#observers\n\n const newObserverMatches = this.#findMatchingObservers(this.#queries)\n\n // set options for the new observers to notify of changes\n newObserverMatches.forEach((match) =>\n match.observer.setOptions(match.defaultedQueryOptions, notifyOptions),\n )\n\n const newObservers = newObserverMatches.map((match) => match.observer)\n const newResult = newObservers.map((observer) =>\n observer.getCurrentResult(),\n )\n\n const hasIndexChange = newObservers.some(\n (observer, index) => observer !== prevObservers[index],\n )\n if (prevObservers.length === newObservers.length && !hasIndexChange) {\n return\n }\n\n this.#observers = newObservers\n this.#setResult(newResult)\n\n if (!this.hasListeners()) {\n return\n }\n\n difference(prevObservers, newObservers).forEach((observer) => {\n observer.destroy()\n })\n\n difference(newObservers, prevObservers).forEach((observer) => {\n observer.subscribe((result) => {\n this.#onUpdate(observer, result)\n })\n })\n\n this.#notify()\n })\n }\n\n getCurrentResult(): TCombinedResult {\n return this.#combinedResult\n }\n\n getQueries() {\n return this.#observers.map((observer) => observer.getCurrentQuery())\n }\n\n getObservers() {\n return this.#observers\n }\n\n getOptimisticResult(\n queries: QueryObserverOptions[],\n ): [\n rawResult: QueryObserverResult[],\n combineResult: (r?: QueryObserverResult[]) => TCombinedResult,\n trackResult: () => QueryObserverResult[],\n ] {\n const matches = this.#findMatchingObservers(queries)\n const result = matches.map((match) =>\n match.observer.getOptimisticResult(match.defaultedQueryOptions),\n )\n\n return [\n result,\n (r?: QueryObserverResult[]) => {\n return this.#combineResult(r ?? result)\n },\n () => {\n return matches.map((match, index) => {\n const observerResult = result[index]!\n return !match.defaultedQueryOptions.notifyOnChangeProps\n ? match.observer.trackResult(observerResult)\n : observerResult\n })\n },\n ]\n }\n\n #combineResult(input: QueryObserverResult[]): TCombinedResult {\n const combine = this.#options?.combine\n if (combine) {\n return replaceEqualDeep(this.#combinedResult, combine(input))\n }\n return input as any\n }\n\n #findMatchingObservers(\n queries: QueryObserverOptions[],\n ): QueryObserverMatch[] {\n const prevObservers = this.#observers\n const prevObserversMap = new Map(\n prevObservers.map((observer) => [observer.options.queryHash, observer]),\n )\n\n const defaultedQueryOptions = queries.map((options) =>\n this.#client.defaultQueryOptions(options),\n )\n\n const matchingObservers: QueryObserverMatch[] =\n defaultedQueryOptions.flatMap((defaultedOptions) => {\n const match = prevObserversMap.get(defaultedOptions.queryHash)\n if (match != null) {\n return [{ defaultedQueryOptions: defaultedOptions, observer: match }]\n }\n return []\n })\n\n const matchedQueryHashes = new Set(\n matchingObservers.map((match) => match.defaultedQueryOptions.queryHash),\n )\n const unmatchedQueries = defaultedQueryOptions.filter(\n (defaultedOptions) => !matchedQueryHashes.has(defaultedOptions.queryHash),\n )\n\n const getObserver = (options: QueryObserverOptions): QueryObserver => {\n const defaultedOptions = this.#client.defaultQueryOptions(options)\n const currentObserver = this.#observers.find(\n (o) => o.options.queryHash === defaultedOptions.queryHash,\n )\n return (\n currentObserver ?? new QueryObserver(this.#client, defaultedOptions)\n )\n }\n\n const newOrReusedObservers: QueryObserverMatch[] = unmatchedQueries.map(\n (options) => {\n return {\n defaultedQueryOptions: options,\n observer: getObserver(options),\n }\n },\n )\n\n const sortMatchesByOrderOfQueries = (\n a: QueryObserverMatch,\n b: QueryObserverMatch,\n ): number =>\n defaultedQueryOptions.indexOf(a.defaultedQueryOptions) -\n defaultedQueryOptions.indexOf(b.defaultedQueryOptions)\n\n return matchingObservers\n .concat(newOrReusedObservers)\n .sort(sortMatchesByOrderOfQueries)\n }\n\n #onUpdate(observer: QueryObserver, result: QueryObserverResult): void {\n const index = this.#observers.indexOf(observer)\n if (index !== -1) {\n this.#setResult(replaceAt(this.#result, index, result))\n this.#notify()\n }\n }\n\n #notify(): void {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(this.#result)\n })\n })\n }\n}\n\ntype QueryObserverMatch = {\n defaultedQueryOptions: DefaultedQueryObserverOptions\n observer: QueryObserver\n}\n"],"names":["difference","array1","array2","filter","x","includes","replaceAt","array","index","value","copy","slice","_client","_classPrivateFieldLooseKey","_result","_queries","_observers","_options","_combinedResult","_setResult","_combineResult","_findMatchingObservers","_onUpdate","_notify","QueriesObserver","Subscribable","constructor","client","queries","options","Object","defineProperty","_notify2","_onUpdate2","_findMatchingObservers2","_combineResult2","_setResult2","writable","_classPrivateFieldLooseBase","setQueries","onSubscribe","listeners","size","forEach","observer","subscribe","result","onUnsubscribe","destroy","Set","notifyOptions","notifyManager","batch","prevObservers","newObserverMatches","match","setOptions","defaultedQueryOptions","newObservers","map","newResult","getCurrentResult","hasIndexChange","some","length","hasListeners","getQueries","getCurrentQuery","getObservers","getOptimisticResult","matches","r","observerResult","notifyOnChangeProps","trackResult","input","_classPrivateFieldLoo","combine","replaceEqualDeep","prevObserversMap","Map","queryHash","defaultQueryOptions","matchingObservers","flatMap","defaultedOptions","get","matchedQueryHashes","unmatchedQueries","has","getObserver","currentObserver","find","o","QueryObserver","newOrReusedObservers","sortMatchesByOrderOfQueries","a","b","indexOf","concat","sort","listener"],"mappings":"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"}
@@ -1,10 +1,11 @@
1
- import { classPrivateFieldLooseBase as _classPrivateFieldLooseBase, classPrivateFieldLooseKey as _classPrivateFieldLooseKey } from './_virtual/_rollupPluginBabelHelpers.esm.js';
2
- import { notifyManager } from './notifyManager.esm.js';
3
- import { QueryObserver } from './queryObserver.esm.js';
4
- import { Subscribable } from './subscribable.esm.js';
1
+ import { classPrivateFieldLooseBase as _classPrivateFieldLooseBase, classPrivateFieldLooseKey as _classPrivateFieldLooseKey } from './_virtual/_rollupPluginBabelHelpers.legacy.js';
2
+ import { notifyManager } from './notifyManager.legacy.js';
3
+ import { QueryObserver } from './queryObserver.legacy.js';
4
+ import { Subscribable } from './subscribable.legacy.js';
5
+ import { replaceEqualDeep } from './utils.legacy.js';
5
6
 
6
7
  function difference(array1, array2) {
7
- return array1.filter(x => array2.indexOf(x) === -1);
8
+ return array1.filter(x => !array2.includes(x));
8
9
  }
9
10
  function replaceAt(array, index, value) {
10
11
  const copy = array.slice(0);
@@ -15,11 +16,15 @@ var _client = /*#__PURE__*/_classPrivateFieldLooseKey("client");
15
16
  var _result = /*#__PURE__*/_classPrivateFieldLooseKey("result");
16
17
  var _queries = /*#__PURE__*/_classPrivateFieldLooseKey("queries");
17
18
  var _observers = /*#__PURE__*/_classPrivateFieldLooseKey("observers");
19
+ var _options = /*#__PURE__*/_classPrivateFieldLooseKey("options");
20
+ var _combinedResult = /*#__PURE__*/_classPrivateFieldLooseKey("combinedResult");
21
+ var _setResult = /*#__PURE__*/_classPrivateFieldLooseKey("setResult");
22
+ var _combineResult = /*#__PURE__*/_classPrivateFieldLooseKey("combineResult");
18
23
  var _findMatchingObservers = /*#__PURE__*/_classPrivateFieldLooseKey("findMatchingObservers");
19
24
  var _onUpdate = /*#__PURE__*/_classPrivateFieldLooseKey("onUpdate");
20
25
  var _notify = /*#__PURE__*/_classPrivateFieldLooseKey("notify");
21
26
  class QueriesObserver extends Subscribable {
22
- constructor(client, _queries2) {
27
+ constructor(client, _queries2, _options2) {
23
28
  super();
24
29
  Object.defineProperty(this, _notify, {
25
30
  value: _notify2
@@ -30,6 +35,12 @@ class QueriesObserver extends Subscribable {
30
35
  Object.defineProperty(this, _findMatchingObservers, {
31
36
  value: _findMatchingObservers2
32
37
  });
38
+ Object.defineProperty(this, _combineResult, {
39
+ value: _combineResult2
40
+ });
41
+ Object.defineProperty(this, _setResult, {
42
+ value: _setResult2
43
+ });
33
44
  Object.defineProperty(this, _client, {
34
45
  writable: true,
35
46
  value: void 0
@@ -46,16 +57,22 @@ class QueriesObserver extends Subscribable {
46
57
  writable: true,
47
58
  value: void 0
48
59
  });
60
+ Object.defineProperty(this, _options, {
61
+ writable: true,
62
+ value: void 0
63
+ });
64
+ Object.defineProperty(this, _combinedResult, {
65
+ writable: true,
66
+ value: void 0
67
+ });
49
68
  _classPrivateFieldLooseBase(this, _client)[_client] = client;
50
69
  _classPrivateFieldLooseBase(this, _queries)[_queries] = [];
51
- _classPrivateFieldLooseBase(this, _result)[_result] = [];
52
70
  _classPrivateFieldLooseBase(this, _observers)[_observers] = [];
53
- if (_queries2) {
54
- this.setQueries(_queries2);
55
- }
71
+ _classPrivateFieldLooseBase(this, _setResult)[_setResult]([]);
72
+ this.setQueries(_queries2, _options2);
56
73
  }
57
74
  onSubscribe() {
58
- if (this.listeners.length === 1) {
75
+ if (this.listeners.size === 1) {
59
76
  _classPrivateFieldLooseBase(this, _observers)[_observers].forEach(observer => {
60
77
  observer.subscribe(result => {
61
78
  _classPrivateFieldLooseBase(this, _onUpdate)[_onUpdate](observer, result);
@@ -64,18 +81,19 @@ class QueriesObserver extends Subscribable {
64
81
  }
65
82
  }
66
83
  onUnsubscribe() {
67
- if (!this.listeners.length) {
84
+ if (!this.listeners.size) {
68
85
  this.destroy();
69
86
  }
70
87
  }
71
88
  destroy() {
72
- this.listeners = [];
89
+ this.listeners = new Set();
73
90
  _classPrivateFieldLooseBase(this, _observers)[_observers].forEach(observer => {
74
91
  observer.destroy();
75
92
  });
76
93
  }
77
- setQueries(queries, notifyOptions) {
94
+ setQueries(queries, options, notifyOptions) {
78
95
  _classPrivateFieldLooseBase(this, _queries)[_queries] = queries;
96
+ _classPrivateFieldLooseBase(this, _options)[_options] = options;
79
97
  notifyManager.batch(() => {
80
98
  const prevObservers = _classPrivateFieldLooseBase(this, _observers)[_observers];
81
99
  const newObserverMatches = _classPrivateFieldLooseBase(this, _findMatchingObservers)[_findMatchingObservers](_classPrivateFieldLooseBase(this, _queries)[_queries]);
@@ -89,7 +107,7 @@ class QueriesObserver extends Subscribable {
89
107
  return;
90
108
  }
91
109
  _classPrivateFieldLooseBase(this, _observers)[_observers] = newObservers;
92
- _classPrivateFieldLooseBase(this, _result)[_result] = newResult;
110
+ _classPrivateFieldLooseBase(this, _setResult)[_setResult](newResult);
93
111
  if (!this.hasListeners()) {
94
112
  return;
95
113
  }
@@ -105,7 +123,7 @@ class QueriesObserver extends Subscribable {
105
123
  });
106
124
  }
107
125
  getCurrentResult() {
108
- return _classPrivateFieldLooseBase(this, _result)[_result];
126
+ return _classPrivateFieldLooseBase(this, _combinedResult)[_combinedResult];
109
127
  }
110
128
  getQueries() {
111
129
  return _classPrivateFieldLooseBase(this, _observers)[_observers].map(observer => observer.getCurrentQuery());
@@ -114,14 +132,36 @@ class QueriesObserver extends Subscribable {
114
132
  return _classPrivateFieldLooseBase(this, _observers)[_observers];
115
133
  }
116
134
  getOptimisticResult(queries) {
117
- return _classPrivateFieldLooseBase(this, _findMatchingObservers)[_findMatchingObservers](queries).map(match => match.observer.getOptimisticResult(match.defaultedQueryOptions));
135
+ const matches = _classPrivateFieldLooseBase(this, _findMatchingObservers)[_findMatchingObservers](queries);
136
+ const result = matches.map(match => match.observer.getOptimisticResult(match.defaultedQueryOptions));
137
+ return [result, r => {
138
+ return _classPrivateFieldLooseBase(this, _combineResult)[_combineResult](r != null ? r : result);
139
+ }, () => {
140
+ return matches.map((match, index) => {
141
+ const observerResult = result[index];
142
+ return !match.defaultedQueryOptions.notifyOnChangeProps ? match.observer.trackResult(observerResult) : observerResult;
143
+ });
144
+ }];
145
+ }
146
+ }
147
+ function _setResult2(value) {
148
+ _classPrivateFieldLooseBase(this, _result)[_result] = value;
149
+ _classPrivateFieldLooseBase(this, _combinedResult)[_combinedResult] = _classPrivateFieldLooseBase(this, _combineResult)[_combineResult](value);
150
+ }
151
+ function _combineResult2(input) {
152
+ var _classPrivateFieldLoo;
153
+ const combine = (_classPrivateFieldLoo = _classPrivateFieldLooseBase(this, _options)[_options]) == null ? void 0 : _classPrivateFieldLoo.combine;
154
+ if (combine) {
155
+ return replaceEqualDeep(_classPrivateFieldLooseBase(this, _combinedResult)[_combinedResult], combine(input));
118
156
  }
157
+ return input;
119
158
  }
120
159
  function _findMatchingObservers2(queries) {
121
160
  const prevObservers = _classPrivateFieldLooseBase(this, _observers)[_observers];
161
+ const prevObserversMap = new Map(prevObservers.map(observer => [observer.options.queryHash, observer]));
122
162
  const defaultedQueryOptions = queries.map(options => _classPrivateFieldLooseBase(this, _client)[_client].defaultQueryOptions(options));
123
163
  const matchingObservers = defaultedQueryOptions.flatMap(defaultedOptions => {
124
- const match = prevObservers.find(observer => observer.options.queryHash === defaultedOptions.queryHash);
164
+ const match = prevObserversMap.get(defaultedOptions.queryHash);
125
165
  if (match != null) {
126
166
  return [{
127
167
  defaultedQueryOptions: defaultedOptions,
@@ -130,8 +170,8 @@ function _findMatchingObservers2(queries) {
130
170
  }
131
171
  return [];
132
172
  });
133
- const matchedQueryHashes = matchingObservers.map(match => match.defaultedQueryOptions.queryHash);
134
- const unmatchedQueries = defaultedQueryOptions.filter(defaultedOptions => !matchedQueryHashes.includes(defaultedOptions.queryHash));
173
+ const matchedQueryHashes = new Set(matchingObservers.map(match => match.defaultedQueryOptions.queryHash));
174
+ const unmatchedQueries = defaultedQueryOptions.filter(defaultedOptions => !matchedQueryHashes.has(defaultedOptions.queryHash));
135
175
  const getObserver = options => {
136
176
  const defaultedOptions = _classPrivateFieldLooseBase(this, _client)[_client].defaultQueryOptions(options);
137
177
  const currentObserver = _classPrivateFieldLooseBase(this, _observers)[_observers].find(o => o.options.queryHash === defaultedOptions.queryHash);
@@ -149,7 +189,7 @@ function _findMatchingObservers2(queries) {
149
189
  function _onUpdate2(observer, result) {
150
190
  const index = _classPrivateFieldLooseBase(this, _observers)[_observers].indexOf(observer);
151
191
  if (index !== -1) {
152
- _classPrivateFieldLooseBase(this, _result)[_result] = replaceAt(_classPrivateFieldLooseBase(this, _result)[_result], index, result);
192
+ _classPrivateFieldLooseBase(this, _setResult)[_setResult](replaceAt(_classPrivateFieldLooseBase(this, _result)[_result], index, result));
153
193
  _classPrivateFieldLooseBase(this, _notify)[_notify]();
154
194
  }
155
195
  }
@@ -162,4 +202,4 @@ function _notify2() {
162
202
  }
163
203
 
164
204
  export { QueriesObserver };
165
- //# sourceMappingURL=queriesObserver.esm.js.map
205
+ //# sourceMappingURL=queriesObserver.legacy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queriesObserver.legacy.js","sources":["../../src/queriesObserver.ts"],"sourcesContent":["import { notifyManager } from './notifyManager'\nimport type {\n QueryObserverOptions,\n QueryObserverResult,\n DefaultedQueryObserverOptions,\n} from './types'\nimport type { QueryClient } from './queryClient'\nimport type { NotifyOptions } from './queryObserver'\nimport { QueryObserver } from './queryObserver'\nimport { Subscribable } from './subscribable'\nimport { replaceEqualDeep } from './utils'\n\nfunction difference<T>(array1: T[], array2: T[]): T[] {\n return array1.filter((x) => !array2.includes(x))\n}\n\nfunction replaceAt<T>(array: T[], index: number, value: T): T[] {\n const copy = array.slice(0)\n copy[index] = value\n return copy\n}\n\ntype QueriesObserverListener = (result: QueryObserverResult[]) => void\n\nexport interface QueriesObserverOptions<\n TCombinedResult = QueryObserverResult[],\n> {\n combine?: (result: QueryObserverResult[]) => TCombinedResult\n}\n\nexport class QueriesObserver<\n TCombinedResult = QueryObserverResult[],\n> extends Subscribable<QueriesObserverListener> {\n #client: QueryClient\n #result!: QueryObserverResult[]\n #queries: QueryObserverOptions[]\n #observers: QueryObserver[]\n #options?: QueriesObserverOptions<TCombinedResult>\n #combinedResult!: TCombinedResult\n\n constructor(\n client: QueryClient,\n queries: QueryObserverOptions[],\n options?: QueriesObserverOptions<TCombinedResult>,\n ) {\n super()\n\n this.#client = client\n this.#queries = []\n this.#observers = []\n\n this.#setResult([])\n this.setQueries(queries, options)\n }\n\n #setResult(value: QueryObserverResult[]) {\n this.#result = value\n this.#combinedResult = this.#combineResult(value)\n }\n\n protected onSubscribe(): void {\n if (this.listeners.size === 1) {\n this.#observers.forEach((observer) => {\n observer.subscribe((result) => {\n this.#onUpdate(observer, result)\n })\n })\n }\n }\n\n protected onUnsubscribe(): void {\n if (!this.listeners.size) {\n this.destroy()\n }\n }\n\n destroy(): void {\n this.listeners = new Set()\n this.#observers.forEach((observer) => {\n observer.destroy()\n })\n }\n\n setQueries(\n queries: QueryObserverOptions[],\n options?: QueriesObserverOptions<TCombinedResult>,\n notifyOptions?: NotifyOptions,\n ): void {\n this.#queries = queries\n this.#options = options\n\n notifyManager.batch(() => {\n const prevObservers = this.#observers\n\n const newObserverMatches = this.#findMatchingObservers(this.#queries)\n\n // set options for the new observers to notify of changes\n newObserverMatches.forEach((match) =>\n match.observer.setOptions(match.defaultedQueryOptions, notifyOptions),\n )\n\n const newObservers = newObserverMatches.map((match) => match.observer)\n const newResult = newObservers.map((observer) =>\n observer.getCurrentResult(),\n )\n\n const hasIndexChange = newObservers.some(\n (observer, index) => observer !== prevObservers[index],\n )\n if (prevObservers.length === newObservers.length && !hasIndexChange) {\n return\n }\n\n this.#observers = newObservers\n this.#setResult(newResult)\n\n if (!this.hasListeners()) {\n return\n }\n\n difference(prevObservers, newObservers).forEach((observer) => {\n observer.destroy()\n })\n\n difference(newObservers, prevObservers).forEach((observer) => {\n observer.subscribe((result) => {\n this.#onUpdate(observer, result)\n })\n })\n\n this.#notify()\n })\n }\n\n getCurrentResult(): TCombinedResult {\n return this.#combinedResult\n }\n\n getQueries() {\n return this.#observers.map((observer) => observer.getCurrentQuery())\n }\n\n getObservers() {\n return this.#observers\n }\n\n getOptimisticResult(\n queries: QueryObserverOptions[],\n ): [\n rawResult: QueryObserverResult[],\n combineResult: (r?: QueryObserverResult[]) => TCombinedResult,\n trackResult: () => QueryObserverResult[],\n ] {\n const matches = this.#findMatchingObservers(queries)\n const result = matches.map((match) =>\n match.observer.getOptimisticResult(match.defaultedQueryOptions),\n )\n\n return [\n result,\n (r?: QueryObserverResult[]) => {\n return this.#combineResult(r ?? result)\n },\n () => {\n return matches.map((match, index) => {\n const observerResult = result[index]!\n return !match.defaultedQueryOptions.notifyOnChangeProps\n ? match.observer.trackResult(observerResult)\n : observerResult\n })\n },\n ]\n }\n\n #combineResult(input: QueryObserverResult[]): TCombinedResult {\n const combine = this.#options?.combine\n if (combine) {\n return replaceEqualDeep(this.#combinedResult, combine(input))\n }\n return input as any\n }\n\n #findMatchingObservers(\n queries: QueryObserverOptions[],\n ): QueryObserverMatch[] {\n const prevObservers = this.#observers\n const prevObserversMap = new Map(\n prevObservers.map((observer) => [observer.options.queryHash, observer]),\n )\n\n const defaultedQueryOptions = queries.map((options) =>\n this.#client.defaultQueryOptions(options),\n )\n\n const matchingObservers: QueryObserverMatch[] =\n defaultedQueryOptions.flatMap((defaultedOptions) => {\n const match = prevObserversMap.get(defaultedOptions.queryHash)\n if (match != null) {\n return [{ defaultedQueryOptions: defaultedOptions, observer: match }]\n }\n return []\n })\n\n const matchedQueryHashes = new Set(\n matchingObservers.map((match) => match.defaultedQueryOptions.queryHash),\n )\n const unmatchedQueries = defaultedQueryOptions.filter(\n (defaultedOptions) => !matchedQueryHashes.has(defaultedOptions.queryHash),\n )\n\n const getObserver = (options: QueryObserverOptions): QueryObserver => {\n const defaultedOptions = this.#client.defaultQueryOptions(options)\n const currentObserver = this.#observers.find(\n (o) => o.options.queryHash === defaultedOptions.queryHash,\n )\n return (\n currentObserver ?? new QueryObserver(this.#client, defaultedOptions)\n )\n }\n\n const newOrReusedObservers: QueryObserverMatch[] = unmatchedQueries.map(\n (options) => {\n return {\n defaultedQueryOptions: options,\n observer: getObserver(options),\n }\n },\n )\n\n const sortMatchesByOrderOfQueries = (\n a: QueryObserverMatch,\n b: QueryObserverMatch,\n ): number =>\n defaultedQueryOptions.indexOf(a.defaultedQueryOptions) -\n defaultedQueryOptions.indexOf(b.defaultedQueryOptions)\n\n return matchingObservers\n .concat(newOrReusedObservers)\n .sort(sortMatchesByOrderOfQueries)\n }\n\n #onUpdate(observer: QueryObserver, result: QueryObserverResult): void {\n const index = this.#observers.indexOf(observer)\n if (index !== -1) {\n this.#setResult(replaceAt(this.#result, index, result))\n this.#notify()\n }\n }\n\n #notify(): void {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(this.#result)\n })\n })\n }\n}\n\ntype QueryObserverMatch = {\n defaultedQueryOptions: DefaultedQueryObserverOptions\n observer: QueryObserver\n}\n"],"names":["difference","array1","array2","filter","x","includes","replaceAt","array","index","value","copy","slice","_client","_classPrivateFieldLooseKey","_result","_queries","_observers","_options","_combinedResult","_setResult","_combineResult","_findMatchingObservers","_onUpdate","_notify","QueriesObserver","Subscribable","constructor","client","queries","options","Object","defineProperty","_notify2","_onUpdate2","_findMatchingObservers2","_combineResult2","_setResult2","writable","_classPrivateFieldLooseBase","setQueries","onSubscribe","listeners","size","forEach","observer","subscribe","result","onUnsubscribe","destroy","Set","notifyOptions","notifyManager","batch","prevObservers","newObserverMatches","match","setOptions","defaultedQueryOptions","newObservers","map","newResult","getCurrentResult","hasIndexChange","some","length","hasListeners","getQueries","getCurrentQuery","getObservers","getOptimisticResult","matches","r","observerResult","notifyOnChangeProps","trackResult","input","_classPrivateFieldLoo","combine","replaceEqualDeep","prevObserversMap","Map","queryHash","defaultQueryOptions","matchingObservers","flatMap","defaultedOptions","get","matchedQueryHashes","unmatchedQueries","has","getObserver","currentObserver","find","o","QueryObserver","newOrReusedObservers","sortMatchesByOrderOfQueries","a","b","indexOf","concat","sort","listener"],"mappings":"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"}
@@ -1,13 +1,15 @@
1
- import { replaceData, noop, timeUntilStale } from './utils.mjs';
2
- import { notifyManager } from './notifyManager.mjs';
3
- import { createRetryer, isCancelledError, canFetch } from './retryer.mjs';
4
- import { Removable } from './removable.mjs';
1
+ 'use strict';
2
+
3
+ var utils = require('./utils.cjs');
4
+ var notifyManager = require('./notifyManager.cjs');
5
+ var retryer = require('./retryer.cjs');
6
+ var removable = require('./removable.cjs');
5
7
 
6
8
  // TYPES
7
9
 
8
10
  // CLASS
9
11
 
10
- class Query extends Removable {
12
+ class Query extends removable.Removable {
11
13
  #initialState;
12
14
  #revertState;
13
15
  #cache;
@@ -45,7 +47,7 @@ class Query extends Removable {
45
47
  }
46
48
  }
47
49
  setData(newData, options) {
48
- const data = replaceData(this.state.data, newData, this.options);
50
+ const data = utils.replaceData(this.state.data, newData, this.options);
49
51
 
50
52
  // Set data and mark it as cached
51
53
  this.#dispatch({
@@ -66,7 +68,7 @@ class Query extends Removable {
66
68
  cancel(options) {
67
69
  const promise = this.#promise;
68
70
  this.#retryer?.cancel(options);
69
- return promise ? promise.then(noop).catch(noop) : Promise.resolve();
71
+ return promise ? promise.then(utils.noop).catch(utils.noop) : Promise.resolve();
70
72
  }
71
73
  destroy() {
72
74
  super.destroy();
@@ -88,7 +90,7 @@ class Query extends Removable {
88
90
  return this.state.isInvalidated || !this.state.dataUpdatedAt || this.#observers.some(observer => observer.getCurrentResult().isStale);
89
91
  }
90
92
  isStaleByTime(staleTime = 0) {
91
- return this.state.isInvalidated || !this.state.dataUpdatedAt || !timeUntilStale(this.state.dataUpdatedAt, staleTime);
93
+ return this.state.isInvalidated || !this.state.dataUpdatedAt || !utils.timeUntilStale(this.state.dataUpdatedAt, staleTime);
92
94
  }
93
95
  onFocus() {
94
96
  const observer = this.#observers.find(x => x.shouldFetchOnWindowFocus());
@@ -109,7 +111,7 @@ class Query extends Removable {
109
111
  this.#retryer?.continue();
110
112
  }
111
113
  addObserver(observer) {
112
- if (this.#observers.indexOf(observer) === -1) {
114
+ if (!this.#observers.includes(observer)) {
113
115
  this.#observers.push(observer);
114
116
 
115
117
  // Stop the query from being garbage collected
@@ -122,7 +124,7 @@ class Query extends Removable {
122
124
  }
123
125
  }
124
126
  removeObserver(observer) {
125
- if (this.#observers.indexOf(observer) !== -1) {
127
+ if (this.#observers.includes(observer)) {
126
128
  this.#observers = this.#observers.filter(x => x !== observer);
127
129
  if (!this.#observers.length) {
128
130
  // If the transport layer does not support cancellation
@@ -242,13 +244,13 @@ class Query extends Removable {
242
244
  }
243
245
  const onError = error => {
244
246
  // Optimistically update state if needed
245
- if (!(isCancelledError(error) && error.silent)) {
247
+ if (!(retryer.isCancelledError(error) && error.silent)) {
246
248
  this.#dispatch({
247
249
  type: 'error',
248
250
  error: error
249
251
  });
250
252
  }
251
- if (!isCancelledError(error)) {
253
+ if (!retryer.isCancelledError(error)) {
252
254
  // Notify cache callback
253
255
  this.#cache.config.onError?.(error, this);
254
256
  this.#cache.config.onSettled?.(this.state.data, error, this);
@@ -261,7 +263,7 @@ class Query extends Removable {
261
263
  };
262
264
 
263
265
  // Try to fetch the data
264
- this.#retryer = createRetryer({
266
+ this.#retryer = retryer.createRetryer({
265
267
  fn: context.fetchFn,
266
268
  abort: abortController.abort.bind(abortController),
267
269
  onSuccess: data => {
@@ -269,7 +271,7 @@ class Query extends Removable {
269
271
  if (process.env.NODE_ENV !== 'production') {
270
272
  console.error(`Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`);
271
273
  }
272
- onError(new Error('undefined'));
274
+ onError(new Error(`${this.queryHash} data is undefined`));
273
275
  return;
274
276
  }
275
277
  this.setData(data);
@@ -333,7 +335,7 @@ class Query extends Removable {
333
335
  fetchFailureCount: 0,
334
336
  fetchFailureReason: null,
335
337
  fetchMeta: action.meta ?? null,
336
- fetchStatus: canFetch(this.options.networkMode) ? 'fetching' : 'paused',
338
+ fetchStatus: retryer.canFetch(this.options.networkMode) ? 'fetching' : 'paused',
337
339
  ...(!state.dataUpdatedAt && {
338
340
  error: null,
339
341
  status: 'pending'
@@ -356,7 +358,7 @@ class Query extends Removable {
356
358
  };
357
359
  case 'error':
358
360
  const error = action.error;
359
- if (isCancelledError(error) && error.revert && this.#revertState) {
361
+ if (retryer.isCancelledError(error) && error.revert && this.#revertState) {
360
362
  return {
361
363
  ...this.#revertState
362
364
  };
@@ -384,9 +386,9 @@ class Query extends Removable {
384
386
  }
385
387
  };
386
388
  this.state = reducer(this.state);
387
- notifyManager.batch(() => {
389
+ notifyManager.notifyManager.batch(() => {
388
390
  this.#observers.forEach(observer => {
389
- observer.onQueryUpdate(action);
391
+ observer.onQueryUpdate();
390
392
  });
391
393
  this.#cache.notify({
392
394
  query: this,
@@ -416,5 +418,5 @@ function getDefaultState(options) {
416
418
  };
417
419
  }
418
420
 
419
- export { Query };
420
- //# sourceMappingURL=query.mjs.map
421
+ exports.Query = Query;
422
+ //# sourceMappingURL=query.cjs.map