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

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 (226) hide show
  1. package/build/lib/{focusManager.mjs → focusManager.cjs} +9 -6
  2. package/build/lib/{focusManager.mjs.map → focusManager.cjs.map} +1 -1
  3. package/build/lib/focusManager.d.ts +2 -1
  4. package/build/lib/focusManager.d.ts.map +1 -0
  5. package/build/lib/focusManager.js +20 -39
  6. package/build/lib/focusManager.js.map +1 -1
  7. package/build/lib/{hydration.mjs → hydration.cjs} +11 -20
  8. package/build/lib/hydration.cjs.map +1 -0
  9. package/build/lib/hydration.d.ts +3 -6
  10. package/build/lib/hydration.d.ts.map +1 -0
  11. package/build/lib/hydration.js +7 -28
  12. package/build/lib/hydration.js.map +1 -1
  13. package/build/lib/index.cjs +40 -0
  14. package/build/lib/index.cjs.map +1 -0
  15. package/build/lib/index.d.ts +5 -3
  16. package/build/lib/index.d.ts.map +1 -0
  17. package/build/lib/index.js +13 -39
  18. package/build/lib/index.js.map +1 -1
  19. package/build/lib/{infiniteQueryBehavior.mjs → infiniteQueryBehavior.cjs} +8 -4
  20. package/build/lib/{infiniteQueryBehavior.mjs.map → infiniteQueryBehavior.cjs.map} +1 -1
  21. package/build/lib/infiniteQueryBehavior.d.ts +1 -0
  22. package/build/lib/infiniteQueryBehavior.d.ts.map +1 -0
  23. package/build/lib/infiniteQueryBehavior.js +7 -12
  24. package/build/lib/infiniteQueryBehavior.js.map +1 -1
  25. package/build/lib/{infiniteQueryObserver.mjs → infiniteQueryObserver.cjs} +11 -9
  26. package/build/lib/{infiniteQueryObserver.mjs.map → infiniteQueryObserver.cjs.map} +1 -1
  27. package/build/lib/infiniteQueryObserver.d.ts +2 -1
  28. package/build/lib/infiniteQueryObserver.d.ts.map +1 -0
  29. package/build/lib/infiniteQueryObserver.js +10 -13
  30. package/build/lib/infiniteQueryObserver.js.map +1 -1
  31. package/build/lib/{mutation.mjs → mutation.cjs} +13 -10
  32. package/build/lib/mutation.cjs.map +1 -0
  33. package/build/lib/mutation.d.ts +2 -1
  34. package/build/lib/mutation.d.ts.map +1 -0
  35. package/build/lib/mutation.js +107 -135
  36. package/build/lib/mutation.js.map +1 -1
  37. package/build/lib/{mutationCache.mjs → mutationCache.cjs} +21 -18
  38. package/build/lib/mutationCache.cjs.map +1 -0
  39. package/build/lib/mutationCache.d.ts +3 -2
  40. package/build/lib/mutationCache.d.ts.map +1 -0
  41. package/build/lib/mutationCache.js +33 -47
  42. package/build/lib/mutationCache.js.map +1 -1
  43. package/build/lib/{mutationObserver.mjs → mutationObserver.cjs} +13 -11
  44. package/build/lib/mutationObserver.cjs.map +1 -0
  45. package/build/lib/mutationObserver.d.ts +2 -1
  46. package/build/lib/mutationObserver.d.ts.map +1 -0
  47. package/build/lib/mutationObserver.js +59 -91
  48. package/build/lib/mutationObserver.js.map +1 -1
  49. package/build/lib/{notifyManager.mjs → notifyManager.cjs} +8 -5
  50. package/build/lib/{notifyManager.mjs.map → notifyManager.cjs.map} +1 -1
  51. package/build/lib/notifyManager.d.ts +4 -3
  52. package/build/lib/notifyManager.d.ts.map +1 -0
  53. package/build/lib/notifyManager.js +4 -7
  54. package/build/lib/notifyManager.js.map +1 -1
  55. package/build/lib/{onlineManager.mjs → onlineManager.cjs} +16 -10
  56. package/build/lib/onlineManager.cjs.map +1 -0
  57. package/build/lib/onlineManager.d.ts +2 -1
  58. package/build/lib/onlineManager.d.ts.map +1 -0
  59. package/build/lib/onlineManager.js +26 -41
  60. package/build/lib/onlineManager.js.map +1 -1
  61. package/build/lib/{queriesObserver.mjs → queriesObserver.cjs} +51 -26
  62. package/build/lib/queriesObserver.cjs.map +1 -0
  63. package/build/lib/queriesObserver.d.ts +14 -6
  64. package/build/lib/queriesObserver.d.ts.map +1 -0
  65. package/build/lib/queriesObserver.js +99 -107
  66. package/build/lib/queriesObserver.js.map +1 -1
  67. package/build/lib/{query.mjs → query.cjs} +22 -20
  68. package/build/lib/query.cjs.map +1 -0
  69. package/build/lib/query.d.ts +3 -2
  70. package/build/lib/query.d.ts.map +1 -0
  71. package/build/lib/query.js +173 -224
  72. package/build/lib/query.js.map +1 -1
  73. package/build/lib/{queryCache.mjs → queryCache.cjs} +28 -23
  74. package/build/lib/queryCache.cjs.map +1 -0
  75. package/build/lib/queryCache.d.ts +3 -3
  76. package/build/lib/queryCache.d.ts.map +1 -0
  77. package/build/lib/queryCache.js +31 -37
  78. package/build/lib/queryCache.js.map +1 -1
  79. package/build/lib/{queryClient.mjs → queryClient.cjs} +50 -42
  80. package/build/lib/queryClient.cjs.map +1 -0
  81. package/build/lib/queryClient.d.ts +2 -2
  82. package/build/lib/queryClient.d.ts.map +1 -0
  83. package/build/lib/queryClient.js +98 -134
  84. package/build/lib/queryClient.js.map +1 -1
  85. package/build/lib/{queryObserver.mjs → queryObserver.cjs} +40 -50
  86. package/build/lib/queryObserver.cjs.map +1 -0
  87. package/build/lib/queryObserver.d.ts +6 -7
  88. package/build/lib/queryObserver.d.ts.map +1 -0
  89. package/build/lib/queryObserver.js +208 -323
  90. package/build/lib/queryObserver.js.map +1 -1
  91. package/build/lib/{removable.mjs → removable.cjs} +7 -5
  92. package/build/lib/{removable.mjs.map → removable.cjs.map} +1 -1
  93. package/build/lib/removable.d.ts +1 -0
  94. package/build/lib/removable.d.ts.map +1 -0
  95. package/build/lib/removable.js +9 -18
  96. package/build/lib/removable.js.map +1 -1
  97. package/build/lib/{retryer.mjs → retryer.cjs} +15 -8
  98. package/build/lib/{retryer.mjs.map → retryer.cjs.map} +1 -1
  99. package/build/lib/retryer.d.ts +5 -4
  100. package/build/lib/retryer.d.ts.map +1 -0
  101. package/build/lib/retryer.js +21 -25
  102. package/build/lib/retryer.js.map +1 -1
  103. package/build/lib/{subscribable.mjs → subscribable.cjs} +8 -6
  104. package/build/lib/subscribable.cjs.map +1 -0
  105. package/build/lib/subscribable.d.ts +3 -2
  106. package/build/lib/subscribable.d.ts.map +1 -0
  107. package/build/lib/subscribable.js +5 -7
  108. package/build/lib/subscribable.js.map +1 -1
  109. package/build/lib/tests/focusManager.test.d.ts +1 -0
  110. package/build/lib/tests/focusManager.test.d.ts.map +1 -0
  111. package/build/lib/tests/hydration.test.d.ts +1 -0
  112. package/build/lib/tests/hydration.test.d.ts.map +1 -0
  113. package/build/lib/tests/infiniteQueryBehavior.test.d.ts +1 -0
  114. package/build/lib/tests/infiniteQueryBehavior.test.d.ts.map +1 -0
  115. package/build/lib/tests/infiniteQueryObserver.test.d.ts +1 -0
  116. package/build/lib/tests/infiniteQueryObserver.test.d.ts.map +1 -0
  117. package/build/lib/tests/mutationCache.test.d.ts +1 -0
  118. package/build/lib/tests/mutationCache.test.d.ts.map +1 -0
  119. package/build/lib/tests/mutationObserver.test.d.ts +1 -0
  120. package/build/lib/tests/mutationObserver.test.d.ts.map +1 -0
  121. package/build/lib/tests/mutations.test.d.ts +1 -0
  122. package/build/lib/tests/mutations.test.d.ts.map +1 -0
  123. package/build/lib/tests/notifyManager.test.d.ts +1 -0
  124. package/build/lib/tests/notifyManager.test.d.ts.map +1 -0
  125. package/build/lib/tests/onlineManager.test.d.ts +1 -0
  126. package/build/lib/tests/onlineManager.test.d.ts.map +1 -0
  127. package/build/lib/tests/queriesObserver.test.d.ts +1 -0
  128. package/build/lib/tests/queriesObserver.test.d.ts.map +1 -0
  129. package/build/lib/tests/query.test.d.ts +1 -0
  130. package/build/lib/tests/query.test.d.ts.map +1 -0
  131. package/build/lib/tests/queryCache.test.d.ts +1 -0
  132. package/build/lib/tests/queryCache.test.d.ts.map +1 -0
  133. package/build/lib/tests/queryClient.test.d.ts +1 -0
  134. package/build/lib/tests/queryClient.test.d.ts.map +1 -0
  135. package/build/lib/tests/queryObserver.test.d.ts +1 -0
  136. package/build/lib/tests/queryObserver.test.d.ts.map +1 -0
  137. package/build/lib/tests/utils.d.ts +3 -2
  138. package/build/lib/tests/utils.d.ts.map +1 -0
  139. package/build/lib/tests/utils.test.d.ts +1 -0
  140. package/build/lib/tests/utils.test.d.ts.map +1 -0
  141. package/build/lib/types.d.ts +34 -46
  142. package/build/lib/types.d.ts.map +1 -0
  143. package/build/lib/{utils.mjs → utils.cjs} +23 -2
  144. package/build/lib/{utils.mjs.map → utils.cjs.map} +1 -1
  145. package/build/lib/utils.d.ts +4 -3
  146. package/build/lib/utils.d.ts.map +1 -0
  147. package/build/lib/utils.js +2 -23
  148. package/build/lib/utils.js.map +1 -1
  149. package/package.json +13 -9
  150. package/src/hydration.ts +18 -37
  151. package/src/index.ts +3 -4
  152. package/src/mutation.ts +1 -1
  153. package/src/mutationCache.ts +4 -4
  154. package/src/mutationObserver.ts +1 -1
  155. package/src/onlineManager.ts +8 -4
  156. package/src/queriesObserver.ts +75 -25
  157. package/src/query.ts +4 -4
  158. package/src/queryCache.ts +5 -8
  159. package/src/queryClient.ts +20 -20
  160. package/src/queryObserver.ts +47 -55
  161. package/src/subscribable.ts +5 -5
  162. package/src/tests/hydration.test.tsx +7 -3
  163. package/src/tests/query.test.tsx +1 -1
  164. package/src/tests/queryCache.test.tsx +1 -19
  165. package/src/tests/queryClient.test.tsx +39 -3
  166. package/src/tests/queryObserver.test.tsx +121 -0
  167. package/src/types.ts +14 -21
  168. package/build/lib/_virtual/_rollupPluginBabelHelpers.esm.js +0 -13
  169. package/build/lib/_virtual/_rollupPluginBabelHelpers.esm.js.map +0 -1
  170. package/build/lib/_virtual/_rollupPluginBabelHelpers.js +0 -16
  171. package/build/lib/_virtual/_rollupPluginBabelHelpers.js.map +0 -1
  172. package/build/lib/focusManager.esm.js +0 -87
  173. package/build/lib/focusManager.esm.js.map +0 -1
  174. package/build/lib/hydration.esm.js +0 -100
  175. package/build/lib/hydration.esm.js.map +0 -1
  176. package/build/lib/hydration.mjs.map +0 -1
  177. package/build/lib/index.esm.js +0 -14
  178. package/build/lib/index.esm.js.map +0 -1
  179. package/build/lib/index.mjs +0 -14
  180. package/build/lib/index.mjs.map +0 -1
  181. package/build/lib/infiniteQueryBehavior.esm.js +0 -127
  182. package/build/lib/infiniteQueryBehavior.esm.js.map +0 -1
  183. package/build/lib/infiniteQueryObserver.esm.js +0 -76
  184. package/build/lib/infiniteQueryObserver.esm.js.map +0 -1
  185. package/build/lib/mutation.esm.js +0 -259
  186. package/build/lib/mutation.esm.js.map +0 -1
  187. package/build/lib/mutation.mjs.map +0 -1
  188. package/build/lib/mutationCache.esm.js +0 -95
  189. package/build/lib/mutationCache.esm.js.map +0 -1
  190. package/build/lib/mutationCache.mjs.map +0 -1
  191. package/build/lib/mutationObserver.esm.js +0 -126
  192. package/build/lib/mutationObserver.esm.js.map +0 -1
  193. package/build/lib/mutationObserver.mjs.map +0 -1
  194. package/build/lib/notifyManager.esm.js +0 -89
  195. package/build/lib/notifyManager.esm.js.map +0 -1
  196. package/build/lib/onlineManager.esm.js +0 -88
  197. package/build/lib/onlineManager.esm.js.map +0 -1
  198. package/build/lib/onlineManager.mjs.map +0 -1
  199. package/build/lib/queriesObserver.esm.js +0 -165
  200. package/build/lib/queriesObserver.esm.js.map +0 -1
  201. package/build/lib/queriesObserver.mjs.map +0 -1
  202. package/build/lib/query.esm.js +0 -469
  203. package/build/lib/query.esm.js.map +0 -1
  204. package/build/lib/query.mjs.map +0 -1
  205. package/build/lib/queryCache.esm.js +0 -108
  206. package/build/lib/queryCache.esm.js.map +0 -1
  207. package/build/lib/queryCache.mjs.map +0 -1
  208. package/build/lib/queryClient.esm.js +0 -317
  209. package/build/lib/queryClient.esm.js.map +0 -1
  210. package/build/lib/queryClient.mjs.map +0 -1
  211. package/build/lib/queryObserver.esm.js +0 -541
  212. package/build/lib/queryObserver.esm.js.map +0 -1
  213. package/build/lib/queryObserver.mjs.map +0 -1
  214. package/build/lib/removable.esm.js +0 -36
  215. package/build/lib/removable.esm.js.map +0 -1
  216. package/build/lib/retryer.esm.js +0 -151
  217. package/build/lib/retryer.esm.js.map +0 -1
  218. package/build/lib/subscribable.esm.js +0 -26
  219. package/build/lib/subscribable.esm.js.map +0 -1
  220. package/build/lib/subscribable.mjs.map +0 -1
  221. package/build/lib/utils.esm.js +0 -227
  222. package/build/lib/utils.esm.js.map +0 -1
  223. package/build/umd/index.development.js +0 -2683
  224. package/build/umd/index.development.js.map +0 -1
  225. package/build/umd/index.production.js +0 -2
  226. package/build/umd/index.production.js.map +0 -1
@@ -1,86 +1,61 @@
1
- 'use strict';
2
-
3
- var _rollupPluginBabelHelpers = require('./_virtual/_rollupPluginBabelHelpers.js');
4
- var notifyManager = require('./notifyManager.js');
5
- var queryObserver = require('./queryObserver.js');
6
- var subscribable = require('./subscribable.js');
1
+ import { notifyManager } from './notifyManager.js';
2
+ import { QueryObserver } from './queryObserver.js';
3
+ import { Subscribable } from './subscribable.js';
4
+ import { replaceEqualDeep } from './utils.js';
7
5
 
8
6
  function difference(array1, array2) {
9
- return array1.filter(x => array2.indexOf(x) === -1);
7
+ return array1.filter(x => !array2.includes(x));
10
8
  }
11
9
  function replaceAt(array, index, value) {
12
10
  const copy = array.slice(0);
13
11
  copy[index] = value;
14
12
  return copy;
15
13
  }
16
- var _client = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("client");
17
- var _result = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("result");
18
- var _queries = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("queries");
19
- var _observers = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("observers");
20
- var _findMatchingObservers = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("findMatchingObservers");
21
- var _onUpdate = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("onUpdate");
22
- var _notify = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("notify");
23
- class QueriesObserver extends subscribable.Subscribable {
24
- constructor(client, _queries2) {
14
+ class QueriesObserver extends Subscribable {
15
+ #client;
16
+ #result;
17
+ #queries;
18
+ #observers;
19
+ #options;
20
+ #combinedResult;
21
+ constructor(client, queries, options) {
25
22
  super();
26
- Object.defineProperty(this, _notify, {
27
- value: _notify2
28
- });
29
- Object.defineProperty(this, _onUpdate, {
30
- value: _onUpdate2
31
- });
32
- Object.defineProperty(this, _findMatchingObservers, {
33
- value: _findMatchingObservers2
34
- });
35
- Object.defineProperty(this, _client, {
36
- writable: true,
37
- value: void 0
38
- });
39
- Object.defineProperty(this, _result, {
40
- writable: true,
41
- value: void 0
42
- });
43
- Object.defineProperty(this, _queries, {
44
- writable: true,
45
- value: void 0
46
- });
47
- Object.defineProperty(this, _observers, {
48
- writable: true,
49
- value: void 0
50
- });
51
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _client)[_client] = client;
52
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _queries)[_queries] = [];
53
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _result)[_result] = [];
54
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _observers)[_observers] = [];
55
- if (_queries2) {
56
- this.setQueries(_queries2);
57
- }
23
+ this.#client = client;
24
+ this.#queries = [];
25
+ this.#observers = [];
26
+ this.#setResult([]);
27
+ this.setQueries(queries, options);
28
+ }
29
+ #setResult(value) {
30
+ this.#result = value;
31
+ this.#combinedResult = this.#combineResult(value);
58
32
  }
59
33
  onSubscribe() {
60
- if (this.listeners.length === 1) {
61
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _observers)[_observers].forEach(observer => {
34
+ if (this.listeners.size === 1) {
35
+ this.#observers.forEach(observer => {
62
36
  observer.subscribe(result => {
63
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _onUpdate)[_onUpdate](observer, result);
37
+ this.#onUpdate(observer, result);
64
38
  });
65
39
  });
66
40
  }
67
41
  }
68
42
  onUnsubscribe() {
69
- if (!this.listeners.length) {
43
+ if (!this.listeners.size) {
70
44
  this.destroy();
71
45
  }
72
46
  }
73
47
  destroy() {
74
- this.listeners = [];
75
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _observers)[_observers].forEach(observer => {
48
+ this.listeners = new Set();
49
+ this.#observers.forEach(observer => {
76
50
  observer.destroy();
77
51
  });
78
52
  }
79
- setQueries(queries, notifyOptions) {
80
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _queries)[_queries] = queries;
81
- notifyManager.notifyManager.batch(() => {
82
- const prevObservers = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _observers)[_observers];
83
- const newObserverMatches = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _findMatchingObservers)[_findMatchingObservers](_rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _queries)[_queries]);
53
+ setQueries(queries, options, notifyOptions) {
54
+ this.#queries = queries;
55
+ this.#options = options;
56
+ notifyManager.batch(() => {
57
+ const prevObservers = this.#observers;
58
+ const newObserverMatches = this.#findMatchingObservers(this.#queries);
84
59
 
85
60
  // set options for the new observers to notify of changes
86
61
  newObserverMatches.forEach(match => match.observer.setOptions(match.defaultedQueryOptions, notifyOptions));
@@ -90,8 +65,8 @@ class QueriesObserver extends subscribable.Subscribable {
90
65
  if (prevObservers.length === newObservers.length && !hasIndexChange) {
91
66
  return;
92
67
  }
93
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _observers)[_observers] = newObservers;
94
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _result)[_result] = newResult;
68
+ this.#observers = newObservers;
69
+ this.#setResult(newResult);
95
70
  if (!this.hasListeners()) {
96
71
  return;
97
72
  }
@@ -100,68 +75,85 @@ class QueriesObserver extends subscribable.Subscribable {
100
75
  });
101
76
  difference(newObservers, prevObservers).forEach(observer => {
102
77
  observer.subscribe(result => {
103
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _onUpdate)[_onUpdate](observer, result);
78
+ this.#onUpdate(observer, result);
104
79
  });
105
80
  });
106
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _notify)[_notify]();
81
+ this.#notify();
107
82
  });
108
83
  }
109
84
  getCurrentResult() {
110
- return _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _result)[_result];
85
+ return this.#combinedResult;
111
86
  }
112
87
  getQueries() {
113
- return _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _observers)[_observers].map(observer => observer.getCurrentQuery());
88
+ return this.#observers.map(observer => observer.getCurrentQuery());
114
89
  }
115
90
  getObservers() {
116
- return _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _observers)[_observers];
91
+ return this.#observers;
117
92
  }
118
93
  getOptimisticResult(queries) {
119
- return _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _findMatchingObservers)[_findMatchingObservers](queries).map(match => match.observer.getOptimisticResult(match.defaultedQueryOptions));
94
+ const matches = this.#findMatchingObservers(queries);
95
+ const result = matches.map(match => match.observer.getOptimisticResult(match.defaultedQueryOptions));
96
+ return [result, r => {
97
+ return this.#combineResult(r ?? result);
98
+ }, () => {
99
+ return matches.map((match, index) => {
100
+ const observerResult = result[index];
101
+ return !match.defaultedQueryOptions.notifyOnChangeProps ? match.observer.trackResult(observerResult) : observerResult;
102
+ });
103
+ }];
120
104
  }
121
- }
122
- function _findMatchingObservers2(queries) {
123
- const prevObservers = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _observers)[_observers];
124
- const defaultedQueryOptions = queries.map(options => _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _client)[_client].defaultQueryOptions(options));
125
- const matchingObservers = defaultedQueryOptions.flatMap(defaultedOptions => {
126
- const match = prevObservers.find(observer => observer.options.queryHash === defaultedOptions.queryHash);
127
- if (match != null) {
128
- return [{
129
- defaultedQueryOptions: defaultedOptions,
130
- observer: match
131
- }];
105
+ #combineResult(input) {
106
+ const combine = this.#options?.combine;
107
+ if (combine) {
108
+ return replaceEqualDeep(this.#combinedResult, combine(input));
132
109
  }
133
- return [];
134
- });
135
- const matchedQueryHashes = matchingObservers.map(match => match.defaultedQueryOptions.queryHash);
136
- const unmatchedQueries = defaultedQueryOptions.filter(defaultedOptions => !matchedQueryHashes.includes(defaultedOptions.queryHash));
137
- const getObserver = options => {
138
- const defaultedOptions = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _client)[_client].defaultQueryOptions(options);
139
- const currentObserver = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _observers)[_observers].find(o => o.options.queryHash === defaultedOptions.queryHash);
140
- return currentObserver != null ? currentObserver : new queryObserver.QueryObserver(_rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _client)[_client], defaultedOptions);
141
- };
142
- const newOrReusedObservers = unmatchedQueries.map(options => {
143
- return {
144
- defaultedQueryOptions: options,
145
- observer: getObserver(options)
110
+ return input;
111
+ }
112
+ #findMatchingObservers(queries) {
113
+ const prevObservers = this.#observers;
114
+ const prevObserversMap = new Map(prevObservers.map(observer => [observer.options.queryHash, observer]));
115
+ const defaultedQueryOptions = queries.map(options => this.#client.defaultQueryOptions(options));
116
+ const matchingObservers = defaultedQueryOptions.flatMap(defaultedOptions => {
117
+ const match = prevObserversMap.get(defaultedOptions.queryHash);
118
+ if (match != null) {
119
+ return [{
120
+ defaultedQueryOptions: defaultedOptions,
121
+ observer: match
122
+ }];
123
+ }
124
+ return [];
125
+ });
126
+ const matchedQueryHashes = new Set(matchingObservers.map(match => match.defaultedQueryOptions.queryHash));
127
+ const unmatchedQueries = defaultedQueryOptions.filter(defaultedOptions => !matchedQueryHashes.has(defaultedOptions.queryHash));
128
+ const getObserver = options => {
129
+ const defaultedOptions = this.#client.defaultQueryOptions(options);
130
+ const currentObserver = this.#observers.find(o => o.options.queryHash === defaultedOptions.queryHash);
131
+ return currentObserver ?? new QueryObserver(this.#client, defaultedOptions);
146
132
  };
147
- });
148
- const sortMatchesByOrderOfQueries = (a, b) => defaultedQueryOptions.indexOf(a.defaultedQueryOptions) - defaultedQueryOptions.indexOf(b.defaultedQueryOptions);
149
- return matchingObservers.concat(newOrReusedObservers).sort(sortMatchesByOrderOfQueries);
150
- }
151
- function _onUpdate2(observer, result) {
152
- const index = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _observers)[_observers].indexOf(observer);
153
- if (index !== -1) {
154
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _result)[_result] = replaceAt(_rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _result)[_result], index, result);
155
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _notify)[_notify]();
133
+ const newOrReusedObservers = unmatchedQueries.map(options => {
134
+ return {
135
+ defaultedQueryOptions: options,
136
+ observer: getObserver(options)
137
+ };
138
+ });
139
+ const sortMatchesByOrderOfQueries = (a, b) => defaultedQueryOptions.indexOf(a.defaultedQueryOptions) - defaultedQueryOptions.indexOf(b.defaultedQueryOptions);
140
+ return matchingObservers.concat(newOrReusedObservers).sort(sortMatchesByOrderOfQueries);
156
141
  }
157
- }
158
- function _notify2() {
159
- notifyManager.notifyManager.batch(() => {
160
- this.listeners.forEach(listener => {
161
- listener(_rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _result)[_result]);
142
+ #onUpdate(observer, result) {
143
+ const index = this.#observers.indexOf(observer);
144
+ if (index !== -1) {
145
+ this.#setResult(replaceAt(this.#result, index, result));
146
+ this.#notify();
147
+ }
148
+ }
149
+ #notify() {
150
+ notifyManager.batch(() => {
151
+ this.listeners.forEach(listener => {
152
+ listener(this.#result);
153
+ });
162
154
  });
163
- });
155
+ }
164
156
  }
165
157
 
166
- exports.QueriesObserver = QueriesObserver;
158
+ export { QueriesObserver };
167
159
  //# sourceMappingURL=queriesObserver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"queriesObserver.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'\n\nfunction difference<T>(array1: T[], array2: T[]): T[] {\n return array1.filter((x) => array2.indexOf(x) === -1)\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 class QueriesObserver extends Subscribable<QueriesObserverListener> {\n #client: QueryClient\n #result: QueryObserverResult[]\n #queries: QueryObserverOptions[]\n #observers: QueryObserver[]\n\n constructor(client: QueryClient, queries?: QueryObserverOptions[]) {\n super()\n\n this.#client = client\n this.#queries = []\n this.#result = []\n this.#observers = []\n\n if (queries) {\n this.setQueries(queries)\n }\n }\n\n protected onSubscribe(): void {\n if (this.listeners.length === 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.length) {\n this.destroy()\n }\n }\n\n destroy(): void {\n this.listeners = []\n this.#observers.forEach((observer) => {\n observer.destroy()\n })\n }\n\n setQueries(\n queries: QueryObserverOptions[],\n notifyOptions?: NotifyOptions,\n ): void {\n this.#queries = queries\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.#result = 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(): QueryObserverResult[] {\n return this.#result\n }\n\n getQueries() {\n return this.#observers.map((observer) => observer.getCurrentQuery())\n }\n\n getObservers() {\n return this.#observers\n }\n\n getOptimisticResult(queries: QueryObserverOptions[]): QueryObserverResult[] {\n return this.#findMatchingObservers(queries).map((match) =>\n match.observer.getOptimisticResult(match.defaultedQueryOptions),\n )\n }\n\n #findMatchingObservers(\n queries: QueryObserverOptions[],\n ): QueryObserverMatch[] {\n const prevObservers = this.#observers\n const defaultedQueryOptions = queries.map((options) =>\n this.#client.defaultQueryOptions(options),\n )\n\n const matchingObservers: QueryObserverMatch[] =\n defaultedQueryOptions.flatMap((defaultedOptions) => {\n const match = prevObservers.find(\n (observer) =>\n observer.options.queryHash === defaultedOptions.queryHash,\n )\n if (match != null) {\n return [{ defaultedQueryOptions: defaultedOptions, observer: match }]\n }\n return []\n })\n\n const matchedQueryHashes = matchingObservers.map(\n (match) => match.defaultedQueryOptions.queryHash,\n )\n const unmatchedQueries = defaultedQueryOptions.filter(\n (defaultedOptions) =>\n !matchedQueryHashes.includes(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.#result = 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","indexOf","replaceAt","array","index","value","copy","slice","_classPrivateFieldLooseKey","QueriesObserver","Subscribable","constructor","client","queries","_classPrivateFieldLooseBase","setQueries","onSubscribe","listeners","length","forEach","observer","subscribe","result","onUnsubscribe","destroy","notifyOptions","notifyManager","batch","prevObservers","newObserverMatches","match","setOptions","defaultedQueryOptions","newObservers","map","newResult","getCurrentResult","hasIndexChange","some","hasListeners","getQueries","getCurrentQuery","getObservers","getOptimisticResult","options","defaultQueryOptions","matchingObservers","flatMap","defaultedOptions","find","queryHash","matchedQueryHashes","unmatchedQueries","includes","getObserver","currentObserver","o","QueryObserver","newOrReusedObservers","sortMatchesByOrderOfQueries","a","b","concat","sort","listener"],"mappings":"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"}
1
+ {"version":3,"file":"queriesObserver.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","QueriesObserver","Subscribable","constructor","client","queries","options","setQueries","#setResult","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","#combineResult","input","combine","replaceEqualDeep","#findMatchingObservers","prevObserversMap","Map","queryHash","defaultQueryOptions","matchingObservers","flatMap","defaultedOptions","get","matchedQueryHashes","unmatchedQueries","has","getObserver","currentObserver","find","o","QueryObserver","newOrReusedObservers","sortMatchesByOrderOfQueries","a","b","indexOf","concat","sort","#onUpdate","#notify","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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.cjs","sources":["../../src/query.ts"],"sourcesContent":["import { noop, replaceData, timeUntilStale } from './utils'\nimport type {\n InitialDataFunction,\n QueryKey,\n QueryOptions,\n QueryStatus,\n QueryFunctionContext,\n QueryMeta,\n CancelOptions,\n SetDataOptions,\n FetchStatus,\n DefaultError,\n} from './types'\nimport type { QueryCache } from './queryCache'\nimport type { QueryObserver } from './queryObserver'\nimport { notifyManager } from './notifyManager'\nimport type { Retryer } from './retryer'\nimport { isCancelledError, canFetch, createRetryer } from './retryer'\nimport { Removable } from './removable'\n\n// TYPES\n\ninterface QueryConfig<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n cache: QueryCache\n queryKey: TQueryKey\n queryHash: string\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n defaultOptions?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n state?: QueryState<TData, TError>\n}\n\nexport interface QueryState<TData = unknown, TError = DefaultError> {\n data: TData | undefined\n dataUpdateCount: number\n dataUpdatedAt: number\n error: TError | null\n errorUpdateCount: number\n errorUpdatedAt: number\n fetchFailureCount: number\n fetchFailureReason: TError | null\n fetchMeta: FetchMeta | null\n isInvalidated: boolean\n status: QueryStatus\n fetchStatus: FetchStatus\n}\n\nexport interface FetchContext<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n fetchFn: () => unknown | Promise<unknown>\n fetchOptions?: FetchOptions\n signal: AbortSignal\n options: QueryOptions<TQueryFnData, TError, TData, any>\n queryKey: TQueryKey\n state: QueryState<TData, TError>\n}\n\nexport interface QueryBehavior<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n onFetch: (\n context: FetchContext<TQueryFnData, TError, TData, TQueryKey>,\n ) => void\n}\n\nexport type FetchDirection = 'forward' | 'backward'\n\nexport interface FetchMeta {\n fetchMore?: { direction: FetchDirection }\n}\n\nexport interface FetchOptions {\n cancelRefetch?: boolean\n meta?: FetchMeta\n}\n\ninterface FailedAction<TError> {\n type: 'failed'\n failureCount: number\n error: TError\n}\n\ninterface FetchAction {\n type: 'fetch'\n meta?: FetchMeta\n}\n\ninterface SuccessAction<TData> {\n data: TData | undefined\n type: 'success'\n dataUpdatedAt?: number\n manual?: boolean\n}\n\ninterface ErrorAction<TError> {\n type: 'error'\n error: TError\n}\n\ninterface InvalidateAction {\n type: 'invalidate'\n}\n\ninterface PauseAction {\n type: 'pause'\n}\n\ninterface ContinueAction {\n type: 'continue'\n}\n\ninterface SetStateAction<TData, TError> {\n type: 'setState'\n state: Partial<QueryState<TData, TError>>\n setStateOptions?: SetStateOptions\n}\n\nexport type Action<TData, TError> =\n | ContinueAction\n | ErrorAction<TError>\n | FailedAction<TError>\n | FetchAction\n | InvalidateAction\n | PauseAction\n | SetStateAction<TData, TError>\n | SuccessAction<TData>\n\nexport interface SetStateOptions {\n meta?: any\n}\n\n// CLASS\n\nexport class Query<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends Removable {\n queryKey: TQueryKey\n queryHash: string\n options!: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n state: QueryState<TData, TError>\n isFetchingOptimistic?: boolean\n\n #initialState: QueryState<TData, TError>\n #revertState?: QueryState<TData, TError>\n #cache: QueryCache\n #promise?: Promise<TData>\n #retryer?: Retryer<TData>\n #observers: QueryObserver<any, any, any, any, any>[]\n #defaultOptions?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n #abortSignalConsumed: boolean\n\n constructor(config: QueryConfig<TQueryFnData, TError, TData, TQueryKey>) {\n super()\n\n this.#abortSignalConsumed = false\n this.#defaultOptions = config.defaultOptions\n this.#setOptions(config.options)\n this.#observers = []\n this.#cache = config.cache\n this.queryKey = config.queryKey\n this.queryHash = config.queryHash\n this.#initialState = config.state || getDefaultState(this.options)\n this.state = this.#initialState\n this.scheduleGc()\n }\n get meta(): QueryMeta | undefined {\n return this.options.meta\n }\n\n #setOptions(\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): void {\n this.options = { ...this.#defaultOptions, ...options }\n\n this.updateGcTime(this.options.gcTime)\n }\n\n protected optionalRemove() {\n if (!this.#observers.length && this.state.fetchStatus === 'idle') {\n this.#cache.remove(this)\n }\n }\n\n setData(\n newData: TData,\n options?: SetDataOptions & { manual: boolean },\n ): TData {\n const data = replaceData(this.state.data, newData, this.options)\n\n // Set data and mark it as cached\n this.#dispatch({\n data,\n type: 'success',\n dataUpdatedAt: options?.updatedAt,\n manual: options?.manual,\n })\n\n return data\n }\n\n setState(\n state: Partial<QueryState<TData, TError>>,\n setStateOptions?: SetStateOptions,\n ): void {\n this.#dispatch({ type: 'setState', state, setStateOptions })\n }\n\n cancel(options?: CancelOptions): Promise<void> {\n const promise = this.#promise\n this.#retryer?.cancel(options)\n return promise ? promise.then(noop).catch(noop) : Promise.resolve()\n }\n\n destroy(): void {\n super.destroy()\n\n this.cancel({ silent: true })\n }\n\n reset(): void {\n this.destroy()\n this.setState(this.#initialState)\n }\n\n isActive(): boolean {\n return this.#observers.some(\n (observer) => observer.options.enabled !== false,\n )\n }\n\n isDisabled(): boolean {\n return this.getObserversCount() > 0 && !this.isActive()\n }\n\n isStale(): boolean {\n return (\n this.state.isInvalidated ||\n !this.state.dataUpdatedAt ||\n this.#observers.some((observer) => observer.getCurrentResult().isStale)\n )\n }\n\n isStaleByTime(staleTime = 0): boolean {\n return (\n this.state.isInvalidated ||\n !this.state.dataUpdatedAt ||\n !timeUntilStale(this.state.dataUpdatedAt, staleTime)\n )\n }\n\n onFocus(): void {\n const observer = this.#observers.find((x) => x.shouldFetchOnWindowFocus())\n\n observer?.refetch({ cancelRefetch: false })\n\n // Continue fetch if currently paused\n this.#retryer?.continue()\n }\n\n onOnline(): void {\n const observer = this.#observers.find((x) => x.shouldFetchOnReconnect())\n\n observer?.refetch({ cancelRefetch: false })\n\n // Continue fetch if currently paused\n this.#retryer?.continue()\n }\n\n addObserver(observer: QueryObserver<any, any, any, any, any>): void {\n if (!this.#observers.includes(observer)) {\n this.#observers.push(observer)\n\n // Stop the query from being garbage collected\n this.clearGcTimeout()\n\n this.#cache.notify({ type: 'observerAdded', query: this, observer })\n }\n }\n\n removeObserver(observer: QueryObserver<any, any, any, any, any>): void {\n if (this.#observers.includes(observer)) {\n this.#observers = this.#observers.filter((x) => x !== observer)\n\n if (!this.#observers.length) {\n // If the transport layer does not support cancellation\n // we'll let the query continue so the result can be cached\n if (this.#retryer) {\n if (this.#abortSignalConsumed) {\n this.#retryer.cancel({ revert: true })\n } else {\n this.#retryer.cancelRetry()\n }\n }\n\n this.scheduleGc()\n }\n\n this.#cache.notify({ type: 'observerRemoved', query: this, observer })\n }\n }\n\n getObserversCount(): number {\n return this.#observers.length\n }\n\n invalidate(): void {\n if (!this.state.isInvalidated) {\n this.#dispatch({ type: 'invalidate' })\n }\n }\n\n fetch(\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n fetchOptions?: FetchOptions,\n ): Promise<TData> {\n if (this.state.fetchStatus !== 'idle') {\n if (this.state.dataUpdatedAt && fetchOptions?.cancelRefetch) {\n // Silently cancel current fetch if the user wants to cancel refetches\n this.cancel({ silent: true })\n } else if (this.#promise) {\n // make sure that retries that were potentially cancelled due to unmounts can continue\n this.#retryer?.continueRetry()\n // Return current promise if we are already fetching\n return this.#promise\n }\n }\n\n // Update config if passed, otherwise the config from the last execution is used\n if (options) {\n this.#setOptions(options)\n }\n\n // Use the options from the first observer with a query function if no function is found.\n // This can happen when the query is hydrated or created with setQueryData.\n if (!this.options.queryFn) {\n const observer = this.#observers.find((x) => x.options.queryFn)\n if (observer) {\n this.#setOptions(observer.options)\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (!Array.isArray(this.options.queryKey)) {\n console.error(\n `As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`,\n )\n }\n }\n\n const abortController = new AbortController()\n\n // Create query function context\n const queryFnContext: Omit<QueryFunctionContext<TQueryKey>, 'signal'> = {\n queryKey: this.queryKey,\n meta: this.meta,\n }\n\n // Adds an enumerable signal property to the object that\n // which sets abortSignalConsumed to true when the signal\n // is read.\n const addSignalProperty = (object: unknown) => {\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n this.#abortSignalConsumed = true\n return abortController.signal\n },\n })\n }\n\n addSignalProperty(queryFnContext)\n\n // Create fetch function\n const fetchFn = () => {\n if (!this.options.queryFn) {\n return Promise.reject(new Error('Missing queryFn'))\n }\n this.#abortSignalConsumed = false\n return this.options.queryFn(\n queryFnContext as QueryFunctionContext<TQueryKey>,\n )\n }\n\n // Trigger behavior hook\n const context: Omit<\n FetchContext<TQueryFnData, TError, TData, TQueryKey>,\n 'signal'\n > = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n state: this.state,\n fetchFn,\n }\n\n addSignalProperty(context)\n\n this.options.behavior?.onFetch(\n context as FetchContext<TQueryFnData, TError, TData, TQueryKey>,\n )\n\n // Store state in case the current fetch needs to be reverted\n this.#revertState = this.state\n\n // Set to fetching state if not already in it\n if (\n this.state.fetchStatus === 'idle' ||\n this.state.fetchMeta !== context.fetchOptions?.meta\n ) {\n this.#dispatch({ type: 'fetch', meta: context.fetchOptions?.meta })\n }\n\n const onError = (error: TError | { silent?: boolean }) => {\n // Optimistically update state if needed\n if (!(isCancelledError(error) && error.silent)) {\n this.#dispatch({\n type: 'error',\n error: error as TError,\n })\n }\n\n if (!isCancelledError(error)) {\n // Notify cache callback\n this.#cache.config.onError?.(\n error as any,\n this as Query<any, any, any, any>,\n )\n this.#cache.config.onSettled?.(\n this.state.data,\n error as any,\n this as Query<any, any, any, any>,\n )\n }\n\n if (!this.isFetchingOptimistic) {\n // Schedule query gc after fetching\n this.scheduleGc()\n }\n this.isFetchingOptimistic = false\n }\n\n // Try to fetch the data\n this.#retryer = createRetryer({\n fn: context.fetchFn as () => Promise<TData>,\n abort: abortController.abort.bind(abortController),\n onSuccess: (data) => {\n if (typeof data === 'undefined') {\n if (process.env.NODE_ENV !== 'production') {\n console.error(\n `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`,\n )\n }\n onError(new Error(`${this.queryHash} data is undefined`) as any)\n return\n }\n\n this.setData(data)\n\n // Notify cache callback\n this.#cache.config.onSuccess?.(data, this as Query<any, any, any, any>)\n this.#cache.config.onSettled?.(\n data,\n this.state.error as any,\n this as Query<any, any, any, any>,\n )\n\n if (!this.isFetchingOptimistic) {\n // Schedule query gc after fetching\n this.scheduleGc()\n }\n this.isFetchingOptimistic = false\n },\n onError,\n onFail: (failureCount, error) => {\n this.#dispatch({ type: 'failed', failureCount, error })\n },\n onPause: () => {\n this.#dispatch({ type: 'pause' })\n },\n onContinue: () => {\n this.#dispatch({ type: 'continue' })\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode,\n })\n\n this.#promise = this.#retryer.promise\n\n return this.#promise\n }\n\n #dispatch(action: Action<TData, TError>): void {\n const reducer = (\n state: QueryState<TData, TError>,\n ): QueryState<TData, TError> => {\n switch (action.type) {\n case 'failed':\n return {\n ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error,\n }\n case 'pause':\n return {\n ...state,\n fetchStatus: 'paused',\n }\n case 'continue':\n return {\n ...state,\n fetchStatus: 'fetching',\n }\n case 'fetch':\n return {\n ...state,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: action.meta ?? null,\n fetchStatus: canFetch(this.options.networkMode)\n ? 'fetching'\n : 'paused',\n ...(!state.dataUpdatedAt && {\n error: null,\n status: 'pending',\n }),\n }\n case 'success':\n return {\n ...state,\n data: action.data,\n dataUpdateCount: state.dataUpdateCount + 1,\n dataUpdatedAt: action.dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: 'success',\n ...(!action.manual && {\n fetchStatus: 'idle',\n fetchFailureCount: 0,\n fetchFailureReason: null,\n }),\n }\n case 'error':\n const error = action.error as unknown\n\n if (isCancelledError(error) && error.revert && this.#revertState) {\n return { ...this.#revertState }\n }\n\n return {\n ...state,\n error: error as TError,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchFailureReason: error as TError,\n fetchStatus: 'idle',\n status: 'error',\n }\n case 'invalidate':\n return {\n ...state,\n isInvalidated: true,\n }\n case 'setState':\n return {\n ...state,\n ...action.state,\n }\n }\n }\n\n this.state = reducer(this.state)\n\n notifyManager.batch(() => {\n this.#observers.forEach((observer) => {\n observer.onQueryUpdate()\n })\n\n this.#cache.notify({ query: this, type: 'updated', action })\n })\n }\n}\n\nfunction getDefaultState<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n options: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n): QueryState<TData, TError> {\n const data =\n typeof options.initialData === 'function'\n ? (options.initialData as InitialDataFunction<TData>)()\n : options.initialData\n\n const hasData = typeof data !== 'undefined'\n\n const initialDataUpdatedAt = hasData\n ? typeof options.initialDataUpdatedAt === 'function'\n ? (options.initialDataUpdatedAt as () => number | undefined)()\n : options.initialDataUpdatedAt\n : 0\n\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? initialDataUpdatedAt ?? Date.now() : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? 'success' : 'pending',\n fetchStatus: 'idle',\n }\n}\n"],"names":["Query","Removable","constructor","config","defaultOptions","options","cache","queryKey","queryHash","state","getDefaultState","scheduleGc","meta","#setOptions","updateGcTime","gcTime","optionalRemove","length","fetchStatus","remove","setData","newData","data","replaceData","type","dataUpdatedAt","updatedAt","manual","setState","setStateOptions","cancel","promise","then","noop","catch","Promise","resolve","destroy","silent","reset","isActive","some","observer","enabled","isDisabled","getObserversCount","isStale","isInvalidated","getCurrentResult","isStaleByTime","staleTime","timeUntilStale","onFocus","find","x","shouldFetchOnWindowFocus","refetch","cancelRefetch","continue","onOnline","shouldFetchOnReconnect","addObserver","includes","push","clearGcTimeout","notify","query","removeObserver","filter","revert","cancelRetry","invalidate","fetch","fetchOptions","continueRetry","queryFn","process","env","NODE_ENV","Array","isArray","console","error","abortController","AbortController","queryFnContext","addSignalProperty","object","Object","defineProperty","enumerable","get","signal","fetchFn","reject","Error","context","behavior","onFetch","fetchMeta","onError","isCancelledError","onSettled","isFetchingOptimistic","createRetryer","fn","abort","bind","onSuccess","onFail","failureCount","onPause","onContinue","retry","retryDelay","networkMode","#dispatch","action","reducer","fetchFailureCount","fetchFailureReason","canFetch","status","dataUpdateCount","Date","now","revertState","errorUpdateCount","errorUpdatedAt","notifyManager","batch","forEach","onQueryUpdate","initialData","hasData","initialDataUpdatedAt"],"mappings":"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"}
@@ -35,7 +35,7 @@ export interface FetchContext<TQueryFnData, TError, TData, TQueryKey extends Que
35
35
  export interface QueryBehavior<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> {
36
36
  onFetch: (context: FetchContext<TQueryFnData, TError, TData, TQueryKey>) => void;
37
37
  }
38
- export declare type FetchDirection = 'forward' | 'backward';
38
+ export type FetchDirection = 'forward' | 'backward';
39
39
  export interface FetchMeta {
40
40
  fetchMore?: {
41
41
  direction: FetchDirection;
@@ -78,7 +78,7 @@ interface SetStateAction<TData, TError> {
78
78
  state: Partial<QueryState<TData, TError>>;
79
79
  setStateOptions?: SetStateOptions;
80
80
  }
81
- export declare type Action<TData, TError> = ContinueAction | ErrorAction<TError> | FailedAction<TError> | FetchAction | InvalidateAction | PauseAction | SetStateAction<TData, TError> | SuccessAction<TData>;
81
+ export type Action<TData, TError> = ContinueAction | ErrorAction<TError> | FailedAction<TError> | FetchAction | InvalidateAction | PauseAction | SetStateAction<TData, TError> | SuccessAction<TData>;
82
82
  export interface SetStateOptions {
83
83
  meta?: any;
84
84
  }
@@ -112,3 +112,4 @@ export declare class Query<TQueryFnData = unknown, TError = DefaultError, TData
112
112
  fetch(options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>, fetchOptions?: FetchOptions): Promise<TData>;
113
113
  }
114
114
  export {};
115
+ //# sourceMappingURL=query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/query.ts"],"names":[],"mappings":"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"}