@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
@@ -1,128 +1,96 @@
1
- 'use strict';
2
-
3
- var _rollupPluginBabelHelpers = require('./_virtual/_rollupPluginBabelHelpers.js');
4
- var mutation = require('./mutation.js');
5
- var notifyManager = require('./notifyManager.js');
6
- var subscribable = require('./subscribable.js');
7
- var utils = require('./utils.js');
1
+ import { getDefaultState } from './mutation.js';
2
+ import { notifyManager } from './notifyManager.js';
3
+ import { Subscribable } from './subscribable.js';
4
+ import { shallowEqualObjects } from './utils.js';
8
5
 
9
6
  // TYPES
10
- var _client = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("client");
11
- var _currentResult = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("currentResult");
12
- var _currentMutation = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("currentMutation");
13
- var _mutateOptions = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("mutateOptions");
14
- var _updateResult = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("updateResult");
15
- var _notify = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("notify");
7
+
16
8
  // CLASS
17
9
 
18
- class MutationObserver extends subscribable.Subscribable {
10
+ class MutationObserver extends Subscribable {
11
+ #client;
12
+ #currentResult = undefined;
13
+ #currentMutation;
14
+ #mutateOptions;
19
15
  constructor(client, options) {
20
16
  super();
21
- Object.defineProperty(this, _notify, {
22
- value: _notify2
23
- });
24
- Object.defineProperty(this, _updateResult, {
25
- value: _updateResult2
26
- });
27
- Object.defineProperty(this, _client, {
28
- writable: true,
29
- value: void 0
30
- });
31
- Object.defineProperty(this, _currentResult, {
32
- writable: true,
33
- value: undefined
34
- });
35
- Object.defineProperty(this, _currentMutation, {
36
- writable: true,
37
- value: void 0
38
- });
39
- Object.defineProperty(this, _mutateOptions, {
40
- writable: true,
41
- value: void 0
42
- });
43
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _client)[_client] = client;
17
+ this.#client = client;
44
18
  this.setOptions(options);
45
19
  this.bindMethods();
46
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _updateResult)[_updateResult]();
20
+ this.#updateResult();
47
21
  }
48
22
  bindMethods() {
49
23
  this.mutate = this.mutate.bind(this);
50
24
  this.reset = this.reset.bind(this);
51
25
  }
52
26
  setOptions(options) {
53
- var _classPrivateFieldLoo;
54
27
  const prevOptions = this.options;
55
- this.options = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _client)[_client].defaultMutationOptions(options);
56
- if (!utils.shallowEqualObjects(prevOptions, this.options)) {
57
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _client)[_client].getMutationCache().notify({
28
+ this.options = this.#client.defaultMutationOptions(options);
29
+ if (!shallowEqualObjects(prevOptions, this.options)) {
30
+ this.#client.getMutationCache().notify({
58
31
  type: 'observerOptionsUpdated',
59
- mutation: _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentMutation)[_currentMutation],
32
+ mutation: this.#currentMutation,
60
33
  observer: this
61
34
  });
62
35
  }
63
- (_classPrivateFieldLoo = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentMutation)[_currentMutation]) == null ? void 0 : _classPrivateFieldLoo.setOptions(this.options);
36
+ this.#currentMutation?.setOptions(this.options);
64
37
  }
65
38
  onUnsubscribe() {
66
- if (!this.listeners.length) {
67
- var _classPrivateFieldLoo2;
68
- (_classPrivateFieldLoo2 = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentMutation)[_currentMutation]) == null ? void 0 : _classPrivateFieldLoo2.removeObserver(this);
39
+ if (!this.hasListeners()) {
40
+ this.#currentMutation?.removeObserver(this);
69
41
  }
70
42
  }
71
43
  onMutationUpdate(action) {
72
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _updateResult)[_updateResult]();
73
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _notify)[_notify](action);
44
+ this.#updateResult();
45
+ this.#notify(action);
74
46
  }
75
47
  getCurrentResult() {
76
- return _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentResult)[_currentResult];
48
+ return this.#currentResult;
77
49
  }
78
50
  reset() {
79
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentMutation)[_currentMutation] = undefined;
80
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _updateResult)[_updateResult]();
81
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _notify)[_notify]();
51
+ this.#currentMutation = undefined;
52
+ this.#updateResult();
53
+ this.#notify();
82
54
  }
83
55
  mutate(variables, options) {
84
- var _classPrivateFieldLoo3;
85
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _mutateOptions)[_mutateOptions] = options;
86
- (_classPrivateFieldLoo3 = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentMutation)[_currentMutation]) == null ? void 0 : _classPrivateFieldLoo3.removeObserver(this);
87
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentMutation)[_currentMutation] = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _client)[_client].getMutationCache().build(_rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _client)[_client], this.options);
88
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentMutation)[_currentMutation].addObserver(this);
89
- return _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentMutation)[_currentMutation].execute(variables);
56
+ this.#mutateOptions = options;
57
+ this.#currentMutation?.removeObserver(this);
58
+ this.#currentMutation = this.#client.getMutationCache().build(this.#client, this.options);
59
+ this.#currentMutation.addObserver(this);
60
+ return this.#currentMutation.execute(variables);
90
61
  }
91
- }
92
- function _updateResult2() {
93
- var _classPrivateFieldLoo4, _classPrivateFieldLoo5;
94
- const state = (_classPrivateFieldLoo4 = (_classPrivateFieldLoo5 = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentMutation)[_currentMutation]) == null ? void 0 : _classPrivateFieldLoo5.state) != null ? _classPrivateFieldLoo4 : mutation.getDefaultState();
95
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentResult)[_currentResult] = {
96
- ...state,
97
- isPending: state.status === 'pending',
98
- isSuccess: state.status === 'success',
99
- isError: state.status === 'error',
100
- isIdle: state.status === 'idle',
101
- mutate: this.mutate,
102
- reset: this.reset
103
- };
104
- }
105
- function _notify2(action) {
106
- notifyManager.notifyManager.batch(() => {
107
- // First trigger the mutate callbacks
108
- if (_rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _mutateOptions)[_mutateOptions] && this.hasListeners()) {
109
- if ((action == null ? void 0 : action.type) === 'success') {
110
- var _classPrivateFieldLoo6, _classPrivateFieldLoo7, _classPrivateFieldLoo8, _classPrivateFieldLoo9;
111
- (_classPrivateFieldLoo6 = (_classPrivateFieldLoo7 = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _mutateOptions)[_mutateOptions]).onSuccess) == null ? void 0 : _classPrivateFieldLoo6.call(_classPrivateFieldLoo7, action.data, _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentResult)[_currentResult].variables, _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentResult)[_currentResult].context);
112
- (_classPrivateFieldLoo8 = (_classPrivateFieldLoo9 = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _mutateOptions)[_mutateOptions]).onSettled) == null ? void 0 : _classPrivateFieldLoo8.call(_classPrivateFieldLoo9, action.data, null, _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentResult)[_currentResult].variables, _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentResult)[_currentResult].context);
113
- } else if ((action == null ? void 0 : action.type) === 'error') {
114
- var _classPrivateFieldLoo10, _classPrivateFieldLoo11, _classPrivateFieldLoo12, _classPrivateFieldLoo13;
115
- (_classPrivateFieldLoo10 = (_classPrivateFieldLoo11 = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _mutateOptions)[_mutateOptions]).onError) == null ? void 0 : _classPrivateFieldLoo10.call(_classPrivateFieldLoo11, action.error, _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentResult)[_currentResult].variables, _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentResult)[_currentResult].context);
116
- (_classPrivateFieldLoo12 = (_classPrivateFieldLoo13 = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _mutateOptions)[_mutateOptions]).onSettled) == null ? void 0 : _classPrivateFieldLoo12.call(_classPrivateFieldLoo13, undefined, action.error, _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentResult)[_currentResult].variables, _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentResult)[_currentResult].context);
62
+ #updateResult() {
63
+ const state = this.#currentMutation?.state ?? getDefaultState();
64
+ this.#currentResult = {
65
+ ...state,
66
+ isPending: state.status === 'pending',
67
+ isSuccess: state.status === 'success',
68
+ isError: state.status === 'error',
69
+ isIdle: state.status === 'idle',
70
+ mutate: this.mutate,
71
+ reset: this.reset
72
+ };
73
+ }
74
+ #notify(action) {
75
+ notifyManager.batch(() => {
76
+ // First trigger the mutate callbacks
77
+ if (this.#mutateOptions && this.hasListeners()) {
78
+ if (action?.type === 'success') {
79
+ this.#mutateOptions.onSuccess?.(action.data, this.#currentResult.variables, this.#currentResult.context);
80
+ this.#mutateOptions.onSettled?.(action.data, null, this.#currentResult.variables, this.#currentResult.context);
81
+ } else if (action?.type === 'error') {
82
+ this.#mutateOptions.onError?.(action.error, this.#currentResult.variables, this.#currentResult.context);
83
+ this.#mutateOptions.onSettled?.(undefined, action.error, this.#currentResult.variables, this.#currentResult.context);
84
+ }
117
85
  }
118
- }
119
86
 
120
- // Then trigger the listeners
121
- this.listeners.forEach(listener => {
122
- listener(_rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentResult)[_currentResult]);
87
+ // Then trigger the listeners
88
+ this.listeners.forEach(listener => {
89
+ listener(this.#currentResult);
90
+ });
123
91
  });
124
- });
92
+ }
125
93
  }
126
94
 
127
- exports.MutationObserver = MutationObserver;
95
+ export { MutationObserver };
128
96
  //# sourceMappingURL=mutationObserver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mutationObserver.js","sources":["../../src/mutationObserver.ts"],"sourcesContent":["import type { Action, Mutation } from './mutation'\nimport { getDefaultState } from './mutation'\nimport { notifyManager } from './notifyManager'\nimport type { QueryClient } from './queryClient'\nimport { Subscribable } from './subscribable'\nimport type {\n MutateOptions,\n MutationObserverResult,\n MutationObserverOptions,\n DefaultError,\n} from './types'\nimport { shallowEqualObjects } from './utils'\n\n// TYPES\n\ntype MutationObserverListener<TData, TError, TVariables, TContext> = (\n result: MutationObserverResult<TData, TError, TVariables, TContext>,\n) => void\n\n// CLASS\n\nexport class MutationObserver<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> extends Subscribable<\n MutationObserverListener<TData, TError, TVariables, TContext>\n> {\n options!: MutationObserverOptions<TData, TError, TVariables, TContext>\n\n #client: QueryClient\n #currentResult: MutationObserverResult<TData, TError, TVariables, TContext> =\n undefined!\n #currentMutation?: Mutation<TData, TError, TVariables, TContext>\n #mutateOptions?: MutateOptions<TData, TError, TVariables, TContext>\n\n constructor(\n client: QueryClient,\n options: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n super()\n\n this.#client = client\n this.setOptions(options)\n this.bindMethods()\n this.#updateResult()\n }\n\n protected bindMethods(): void {\n this.mutate = this.mutate.bind(this)\n this.reset = this.reset.bind(this)\n }\n\n setOptions(\n options?: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n const prevOptions = this.options\n this.options = this.#client.defaultMutationOptions(options)\n if (!shallowEqualObjects(prevOptions, this.options)) {\n this.#client.getMutationCache().notify({\n type: 'observerOptionsUpdated',\n mutation: this.#currentMutation,\n observer: this,\n })\n }\n this.#currentMutation?.setOptions(this.options)\n }\n\n protected onUnsubscribe(): void {\n if (!this.listeners.length) {\n this.#currentMutation?.removeObserver(this)\n }\n }\n\n onMutationUpdate(action: Action<TData, TError, TVariables, TContext>): void {\n this.#updateResult()\n\n this.#notify(action)\n }\n\n getCurrentResult(): MutationObserverResult<\n TData,\n TError,\n TVariables,\n TContext\n > {\n return this.#currentResult\n }\n\n reset(): void {\n this.#currentMutation = undefined\n this.#updateResult()\n this.#notify()\n }\n\n mutate(\n variables: TVariables,\n options?: MutateOptions<TData, TError, TVariables, TContext>,\n ): Promise<TData> {\n this.#mutateOptions = options\n\n this.#currentMutation?.removeObserver(this)\n\n this.#currentMutation = this.#client\n .getMutationCache()\n .build(this.#client, this.options)\n\n this.#currentMutation.addObserver(this)\n\n return this.#currentMutation.execute(variables)\n }\n\n #updateResult(): void {\n const state =\n this.#currentMutation?.state ??\n getDefaultState<TData, TError, TVariables, TContext>()\n\n this.#currentResult = {\n ...state,\n isPending: state.status === 'pending',\n isSuccess: state.status === 'success',\n isError: state.status === 'error',\n isIdle: state.status === 'idle',\n mutate: this.mutate,\n reset: this.reset,\n } as MutationObserverResult<TData, TError, TVariables, TContext>\n }\n\n #notify(action?: Action<TData, TError, TVariables, TContext>): void {\n notifyManager.batch(() => {\n // First trigger the mutate callbacks\n if (this.#mutateOptions && this.hasListeners()) {\n if (action?.type === 'success') {\n this.#mutateOptions.onSuccess?.(\n action.data,\n this.#currentResult.variables!,\n this.#currentResult.context!,\n )\n this.#mutateOptions.onSettled?.(\n action.data,\n null,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n } else if (action?.type === 'error') {\n this.#mutateOptions.onError?.(\n action.error,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n this.#mutateOptions.onSettled?.(\n undefined,\n action.error,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n }\n }\n\n // Then trigger the listeners\n this.listeners.forEach((listener) => {\n listener(this.#currentResult)\n })\n })\n }\n}\n"],"names":["_classPrivateFieldLooseKey","MutationObserver","Subscribable","constructor","client","options","undefined","_classPrivateFieldLooseBase","setOptions","bindMethods","mutate","bind","reset","prevOptions","defaultMutationOptions","shallowEqualObjects","getMutationCache","notify","type","mutation","observer","onUnsubscribe","listeners","length","removeObserver","onMutationUpdate","action","getCurrentResult","variables","build","addObserver","execute","state","getDefaultState","isPending","status","isSuccess","isError","isIdle","notifyManager","batch","hasListeners","onSuccess","data","context","onSettled","onError","error","forEach","listener"],"mappings":"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"}
1
+ {"version":3,"file":"mutationObserver.js","sources":["../../src/mutationObserver.ts"],"sourcesContent":["import type { Action, Mutation } from './mutation'\nimport { getDefaultState } from './mutation'\nimport { notifyManager } from './notifyManager'\nimport type { QueryClient } from './queryClient'\nimport { Subscribable } from './subscribable'\nimport type {\n MutateOptions,\n MutationObserverResult,\n MutationObserverOptions,\n DefaultError,\n} from './types'\nimport { shallowEqualObjects } from './utils'\n\n// TYPES\n\ntype MutationObserverListener<TData, TError, TVariables, TContext> = (\n result: MutationObserverResult<TData, TError, TVariables, TContext>,\n) => void\n\n// CLASS\n\nexport class MutationObserver<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> extends Subscribable<\n MutationObserverListener<TData, TError, TVariables, TContext>\n> {\n options!: MutationObserverOptions<TData, TError, TVariables, TContext>\n\n #client: QueryClient\n #currentResult: MutationObserverResult<TData, TError, TVariables, TContext> =\n undefined!\n #currentMutation?: Mutation<TData, TError, TVariables, TContext>\n #mutateOptions?: MutateOptions<TData, TError, TVariables, TContext>\n\n constructor(\n client: QueryClient,\n options: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n super()\n\n this.#client = client\n this.setOptions(options)\n this.bindMethods()\n this.#updateResult()\n }\n\n protected bindMethods(): void {\n this.mutate = this.mutate.bind(this)\n this.reset = this.reset.bind(this)\n }\n\n setOptions(\n options?: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n const prevOptions = this.options\n this.options = this.#client.defaultMutationOptions(options)\n if (!shallowEqualObjects(prevOptions, this.options)) {\n this.#client.getMutationCache().notify({\n type: 'observerOptionsUpdated',\n mutation: this.#currentMutation,\n observer: this,\n })\n }\n this.#currentMutation?.setOptions(this.options)\n }\n\n protected onUnsubscribe(): void {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this)\n }\n }\n\n onMutationUpdate(action: Action<TData, TError, TVariables, TContext>): void {\n this.#updateResult()\n\n this.#notify(action)\n }\n\n getCurrentResult(): MutationObserverResult<\n TData,\n TError,\n TVariables,\n TContext\n > {\n return this.#currentResult\n }\n\n reset(): void {\n this.#currentMutation = undefined\n this.#updateResult()\n this.#notify()\n }\n\n mutate(\n variables: TVariables,\n options?: MutateOptions<TData, TError, TVariables, TContext>,\n ): Promise<TData> {\n this.#mutateOptions = options\n\n this.#currentMutation?.removeObserver(this)\n\n this.#currentMutation = this.#client\n .getMutationCache()\n .build(this.#client, this.options)\n\n this.#currentMutation.addObserver(this)\n\n return this.#currentMutation.execute(variables)\n }\n\n #updateResult(): void {\n const state =\n this.#currentMutation?.state ??\n getDefaultState<TData, TError, TVariables, TContext>()\n\n this.#currentResult = {\n ...state,\n isPending: state.status === 'pending',\n isSuccess: state.status === 'success',\n isError: state.status === 'error',\n isIdle: state.status === 'idle',\n mutate: this.mutate,\n reset: this.reset,\n } as MutationObserverResult<TData, TError, TVariables, TContext>\n }\n\n #notify(action?: Action<TData, TError, TVariables, TContext>): void {\n notifyManager.batch(() => {\n // First trigger the mutate callbacks\n if (this.#mutateOptions && this.hasListeners()) {\n if (action?.type === 'success') {\n this.#mutateOptions.onSuccess?.(\n action.data,\n this.#currentResult.variables!,\n this.#currentResult.context!,\n )\n this.#mutateOptions.onSettled?.(\n action.data,\n null,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n } else if (action?.type === 'error') {\n this.#mutateOptions.onError?.(\n action.error,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n this.#mutateOptions.onSettled?.(\n undefined,\n action.error,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n }\n }\n\n // Then trigger the listeners\n this.listeners.forEach((listener) => {\n listener(this.#currentResult)\n })\n })\n }\n}\n"],"names":["MutationObserver","Subscribable","undefined","constructor","client","options","setOptions","bindMethods","mutate","bind","reset","prevOptions","defaultMutationOptions","shallowEqualObjects","getMutationCache","notify","type","mutation","observer","onUnsubscribe","hasListeners","removeObserver","onMutationUpdate","action","getCurrentResult","variables","build","addObserver","execute","#updateResult","state","getDefaultState","isPending","status","isSuccess","isError","isIdle","#notify","notifyManager","batch","onSuccess","data","context","onSettled","onError","error","listeners","forEach","listener"],"mappings":"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"}
@@ -0,0 +1,128 @@
1
+ 'use strict';
2
+
3
+ var _rollupPluginBabelHelpers = require('./_virtual/_rollupPluginBabelHelpers.legacy.cjs');
4
+ var mutation = require('./mutation.legacy.cjs');
5
+ var notifyManager = require('./notifyManager.legacy.cjs');
6
+ var subscribable = require('./subscribable.legacy.cjs');
7
+ var utils = require('./utils.legacy.cjs');
8
+
9
+ // TYPES
10
+ var _client = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("client");
11
+ var _currentResult = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("currentResult");
12
+ var _currentMutation = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("currentMutation");
13
+ var _mutateOptions = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("mutateOptions");
14
+ var _updateResult = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("updateResult");
15
+ var _notify = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("notify");
16
+ // CLASS
17
+
18
+ class MutationObserver extends subscribable.Subscribable {
19
+ constructor(client, options) {
20
+ super();
21
+ Object.defineProperty(this, _notify, {
22
+ value: _notify2
23
+ });
24
+ Object.defineProperty(this, _updateResult, {
25
+ value: _updateResult2
26
+ });
27
+ Object.defineProperty(this, _client, {
28
+ writable: true,
29
+ value: void 0
30
+ });
31
+ Object.defineProperty(this, _currentResult, {
32
+ writable: true,
33
+ value: undefined
34
+ });
35
+ Object.defineProperty(this, _currentMutation, {
36
+ writable: true,
37
+ value: void 0
38
+ });
39
+ Object.defineProperty(this, _mutateOptions, {
40
+ writable: true,
41
+ value: void 0
42
+ });
43
+ _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _client)[_client] = client;
44
+ this.setOptions(options);
45
+ this.bindMethods();
46
+ _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _updateResult)[_updateResult]();
47
+ }
48
+ bindMethods() {
49
+ this.mutate = this.mutate.bind(this);
50
+ this.reset = this.reset.bind(this);
51
+ }
52
+ setOptions(options) {
53
+ var _classPrivateFieldLoo;
54
+ const prevOptions = this.options;
55
+ this.options = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _client)[_client].defaultMutationOptions(options);
56
+ if (!utils.shallowEqualObjects(prevOptions, this.options)) {
57
+ _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _client)[_client].getMutationCache().notify({
58
+ type: 'observerOptionsUpdated',
59
+ mutation: _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentMutation)[_currentMutation],
60
+ observer: this
61
+ });
62
+ }
63
+ (_classPrivateFieldLoo = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentMutation)[_currentMutation]) == null ? void 0 : _classPrivateFieldLoo.setOptions(this.options);
64
+ }
65
+ onUnsubscribe() {
66
+ if (!this.hasListeners()) {
67
+ var _classPrivateFieldLoo2;
68
+ (_classPrivateFieldLoo2 = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentMutation)[_currentMutation]) == null ? void 0 : _classPrivateFieldLoo2.removeObserver(this);
69
+ }
70
+ }
71
+ onMutationUpdate(action) {
72
+ _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _updateResult)[_updateResult]();
73
+ _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _notify)[_notify](action);
74
+ }
75
+ getCurrentResult() {
76
+ return _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentResult)[_currentResult];
77
+ }
78
+ reset() {
79
+ _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentMutation)[_currentMutation] = undefined;
80
+ _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _updateResult)[_updateResult]();
81
+ _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _notify)[_notify]();
82
+ }
83
+ mutate(variables, options) {
84
+ var _classPrivateFieldLoo3;
85
+ _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _mutateOptions)[_mutateOptions] = options;
86
+ (_classPrivateFieldLoo3 = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentMutation)[_currentMutation]) == null ? void 0 : _classPrivateFieldLoo3.removeObserver(this);
87
+ _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentMutation)[_currentMutation] = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _client)[_client].getMutationCache().build(_rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _client)[_client], this.options);
88
+ _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentMutation)[_currentMutation].addObserver(this);
89
+ return _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentMutation)[_currentMutation].execute(variables);
90
+ }
91
+ }
92
+ function _updateResult2() {
93
+ var _classPrivateFieldLoo4, _classPrivateFieldLoo5;
94
+ const state = (_classPrivateFieldLoo4 = (_classPrivateFieldLoo5 = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentMutation)[_currentMutation]) == null ? void 0 : _classPrivateFieldLoo5.state) != null ? _classPrivateFieldLoo4 : mutation.getDefaultState();
95
+ _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentResult)[_currentResult] = {
96
+ ...state,
97
+ isPending: state.status === 'pending',
98
+ isSuccess: state.status === 'success',
99
+ isError: state.status === 'error',
100
+ isIdle: state.status === 'idle',
101
+ mutate: this.mutate,
102
+ reset: this.reset
103
+ };
104
+ }
105
+ function _notify2(action) {
106
+ notifyManager.notifyManager.batch(() => {
107
+ // First trigger the mutate callbacks
108
+ if (_rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _mutateOptions)[_mutateOptions] && this.hasListeners()) {
109
+ if ((action == null ? void 0 : action.type) === 'success') {
110
+ var _classPrivateFieldLoo6, _classPrivateFieldLoo7, _classPrivateFieldLoo8, _classPrivateFieldLoo9;
111
+ (_classPrivateFieldLoo6 = (_classPrivateFieldLoo7 = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _mutateOptions)[_mutateOptions]).onSuccess) == null ? void 0 : _classPrivateFieldLoo6.call(_classPrivateFieldLoo7, action.data, _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentResult)[_currentResult].variables, _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentResult)[_currentResult].context);
112
+ (_classPrivateFieldLoo8 = (_classPrivateFieldLoo9 = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _mutateOptions)[_mutateOptions]).onSettled) == null ? void 0 : _classPrivateFieldLoo8.call(_classPrivateFieldLoo9, action.data, null, _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentResult)[_currentResult].variables, _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentResult)[_currentResult].context);
113
+ } else if ((action == null ? void 0 : action.type) === 'error') {
114
+ var _classPrivateFieldLoo10, _classPrivateFieldLoo11, _classPrivateFieldLoo12, _classPrivateFieldLoo13;
115
+ (_classPrivateFieldLoo10 = (_classPrivateFieldLoo11 = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _mutateOptions)[_mutateOptions]).onError) == null ? void 0 : _classPrivateFieldLoo10.call(_classPrivateFieldLoo11, action.error, _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentResult)[_currentResult].variables, _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentResult)[_currentResult].context);
116
+ (_classPrivateFieldLoo12 = (_classPrivateFieldLoo13 = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _mutateOptions)[_mutateOptions]).onSettled) == null ? void 0 : _classPrivateFieldLoo12.call(_classPrivateFieldLoo13, undefined, action.error, _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentResult)[_currentResult].variables, _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentResult)[_currentResult].context);
117
+ }
118
+ }
119
+
120
+ // Then trigger the listeners
121
+ this.listeners.forEach(listener => {
122
+ listener(_rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _currentResult)[_currentResult]);
123
+ });
124
+ });
125
+ }
126
+
127
+ exports.MutationObserver = MutationObserver;
128
+ //# sourceMappingURL=mutationObserver.legacy.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutationObserver.legacy.cjs","sources":["../../src/mutationObserver.ts"],"sourcesContent":["import type { Action, Mutation } from './mutation'\nimport { getDefaultState } from './mutation'\nimport { notifyManager } from './notifyManager'\nimport type { QueryClient } from './queryClient'\nimport { Subscribable } from './subscribable'\nimport type {\n MutateOptions,\n MutationObserverResult,\n MutationObserverOptions,\n DefaultError,\n} from './types'\nimport { shallowEqualObjects } from './utils'\n\n// TYPES\n\ntype MutationObserverListener<TData, TError, TVariables, TContext> = (\n result: MutationObserverResult<TData, TError, TVariables, TContext>,\n) => void\n\n// CLASS\n\nexport class MutationObserver<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> extends Subscribable<\n MutationObserverListener<TData, TError, TVariables, TContext>\n> {\n options!: MutationObserverOptions<TData, TError, TVariables, TContext>\n\n #client: QueryClient\n #currentResult: MutationObserverResult<TData, TError, TVariables, TContext> =\n undefined!\n #currentMutation?: Mutation<TData, TError, TVariables, TContext>\n #mutateOptions?: MutateOptions<TData, TError, TVariables, TContext>\n\n constructor(\n client: QueryClient,\n options: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n super()\n\n this.#client = client\n this.setOptions(options)\n this.bindMethods()\n this.#updateResult()\n }\n\n protected bindMethods(): void {\n this.mutate = this.mutate.bind(this)\n this.reset = this.reset.bind(this)\n }\n\n setOptions(\n options?: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n const prevOptions = this.options\n this.options = this.#client.defaultMutationOptions(options)\n if (!shallowEqualObjects(prevOptions, this.options)) {\n this.#client.getMutationCache().notify({\n type: 'observerOptionsUpdated',\n mutation: this.#currentMutation,\n observer: this,\n })\n }\n this.#currentMutation?.setOptions(this.options)\n }\n\n protected onUnsubscribe(): void {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this)\n }\n }\n\n onMutationUpdate(action: Action<TData, TError, TVariables, TContext>): void {\n this.#updateResult()\n\n this.#notify(action)\n }\n\n getCurrentResult(): MutationObserverResult<\n TData,\n TError,\n TVariables,\n TContext\n > {\n return this.#currentResult\n }\n\n reset(): void {\n this.#currentMutation = undefined\n this.#updateResult()\n this.#notify()\n }\n\n mutate(\n variables: TVariables,\n options?: MutateOptions<TData, TError, TVariables, TContext>,\n ): Promise<TData> {\n this.#mutateOptions = options\n\n this.#currentMutation?.removeObserver(this)\n\n this.#currentMutation = this.#client\n .getMutationCache()\n .build(this.#client, this.options)\n\n this.#currentMutation.addObserver(this)\n\n return this.#currentMutation.execute(variables)\n }\n\n #updateResult(): void {\n const state =\n this.#currentMutation?.state ??\n getDefaultState<TData, TError, TVariables, TContext>()\n\n this.#currentResult = {\n ...state,\n isPending: state.status === 'pending',\n isSuccess: state.status === 'success',\n isError: state.status === 'error',\n isIdle: state.status === 'idle',\n mutate: this.mutate,\n reset: this.reset,\n } as MutationObserverResult<TData, TError, TVariables, TContext>\n }\n\n #notify(action?: Action<TData, TError, TVariables, TContext>): void {\n notifyManager.batch(() => {\n // First trigger the mutate callbacks\n if (this.#mutateOptions && this.hasListeners()) {\n if (action?.type === 'success') {\n this.#mutateOptions.onSuccess?.(\n action.data,\n this.#currentResult.variables!,\n this.#currentResult.context!,\n )\n this.#mutateOptions.onSettled?.(\n action.data,\n null,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n } else if (action?.type === 'error') {\n this.#mutateOptions.onError?.(\n action.error,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n this.#mutateOptions.onSettled?.(\n undefined,\n action.error,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n }\n }\n\n // Then trigger the listeners\n this.listeners.forEach((listener) => {\n listener(this.#currentResult)\n })\n })\n }\n}\n"],"names":["_client","_classPrivateFieldLooseKey","_currentResult","_currentMutation","_mutateOptions","_updateResult","_notify","MutationObserver","Subscribable","constructor","client","options","Object","defineProperty","value","_notify2","_updateResult2","writable","undefined","_classPrivateFieldLooseBase","setOptions","bindMethods","mutate","bind","reset","_classPrivateFieldLoo","prevOptions","defaultMutationOptions","shallowEqualObjects","getMutationCache","notify","type","mutation","observer","onUnsubscribe","hasListeners","_classPrivateFieldLoo2","removeObserver","onMutationUpdate","action","getCurrentResult","variables","_classPrivateFieldLoo3","build","addObserver","execute","_classPrivateFieldLoo4","_classPrivateFieldLoo5","state","getDefaultState","isPending","status","isSuccess","isError","isIdle","notifyManager","batch","_classPrivateFieldLoo6","_classPrivateFieldLoo7","_classPrivateFieldLoo8","_classPrivateFieldLoo9","onSuccess","call","data","context","onSettled","_classPrivateFieldLoo10","_classPrivateFieldLoo11","_classPrivateFieldLoo12","_classPrivateFieldLoo13","onError","error","listeners","forEach","listener"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { classPrivateFieldLooseBase as _classPrivateFieldLooseBase, classPrivateFieldLooseKey as _classPrivateFieldLooseKey } from './_virtual/_rollupPluginBabelHelpers.esm.js';
2
- import { getDefaultState } from './mutation.esm.js';
3
- import { notifyManager } from './notifyManager.esm.js';
4
- import { Subscribable } from './subscribable.esm.js';
5
- import { shallowEqualObjects } from './utils.esm.js';
1
+ import { classPrivateFieldLooseBase as _classPrivateFieldLooseBase, classPrivateFieldLooseKey as _classPrivateFieldLooseKey } from './_virtual/_rollupPluginBabelHelpers.legacy.js';
2
+ import { getDefaultState } from './mutation.legacy.js';
3
+ import { notifyManager } from './notifyManager.legacy.js';
4
+ import { Subscribable } from './subscribable.legacy.js';
5
+ import { shallowEqualObjects } from './utils.legacy.js';
6
6
 
7
7
  // TYPES
8
8
  var _client = /*#__PURE__*/_classPrivateFieldLooseKey("client");
@@ -61,7 +61,7 @@ class MutationObserver extends Subscribable {
61
61
  (_classPrivateFieldLoo = _classPrivateFieldLooseBase(this, _currentMutation)[_currentMutation]) == null ? void 0 : _classPrivateFieldLoo.setOptions(this.options);
62
62
  }
63
63
  onUnsubscribe() {
64
- if (!this.listeners.length) {
64
+ if (!this.hasListeners()) {
65
65
  var _classPrivateFieldLoo2;
66
66
  (_classPrivateFieldLoo2 = _classPrivateFieldLooseBase(this, _currentMutation)[_currentMutation]) == null ? void 0 : _classPrivateFieldLoo2.removeObserver(this);
67
67
  }
@@ -123,4 +123,4 @@ function _notify2(action) {
123
123
  }
124
124
 
125
125
  export { MutationObserver };
126
- //# sourceMappingURL=mutationObserver.esm.js.map
126
+ //# sourceMappingURL=mutationObserver.legacy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutationObserver.legacy.js","sources":["../../src/mutationObserver.ts"],"sourcesContent":["import type { Action, Mutation } from './mutation'\nimport { getDefaultState } from './mutation'\nimport { notifyManager } from './notifyManager'\nimport type { QueryClient } from './queryClient'\nimport { Subscribable } from './subscribable'\nimport type {\n MutateOptions,\n MutationObserverResult,\n MutationObserverOptions,\n DefaultError,\n} from './types'\nimport { shallowEqualObjects } from './utils'\n\n// TYPES\n\ntype MutationObserverListener<TData, TError, TVariables, TContext> = (\n result: MutationObserverResult<TData, TError, TVariables, TContext>,\n) => void\n\n// CLASS\n\nexport class MutationObserver<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> extends Subscribable<\n MutationObserverListener<TData, TError, TVariables, TContext>\n> {\n options!: MutationObserverOptions<TData, TError, TVariables, TContext>\n\n #client: QueryClient\n #currentResult: MutationObserverResult<TData, TError, TVariables, TContext> =\n undefined!\n #currentMutation?: Mutation<TData, TError, TVariables, TContext>\n #mutateOptions?: MutateOptions<TData, TError, TVariables, TContext>\n\n constructor(\n client: QueryClient,\n options: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n super()\n\n this.#client = client\n this.setOptions(options)\n this.bindMethods()\n this.#updateResult()\n }\n\n protected bindMethods(): void {\n this.mutate = this.mutate.bind(this)\n this.reset = this.reset.bind(this)\n }\n\n setOptions(\n options?: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n const prevOptions = this.options\n this.options = this.#client.defaultMutationOptions(options)\n if (!shallowEqualObjects(prevOptions, this.options)) {\n this.#client.getMutationCache().notify({\n type: 'observerOptionsUpdated',\n mutation: this.#currentMutation,\n observer: this,\n })\n }\n this.#currentMutation?.setOptions(this.options)\n }\n\n protected onUnsubscribe(): void {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this)\n }\n }\n\n onMutationUpdate(action: Action<TData, TError, TVariables, TContext>): void {\n this.#updateResult()\n\n this.#notify(action)\n }\n\n getCurrentResult(): MutationObserverResult<\n TData,\n TError,\n TVariables,\n TContext\n > {\n return this.#currentResult\n }\n\n reset(): void {\n this.#currentMutation = undefined\n this.#updateResult()\n this.#notify()\n }\n\n mutate(\n variables: TVariables,\n options?: MutateOptions<TData, TError, TVariables, TContext>,\n ): Promise<TData> {\n this.#mutateOptions = options\n\n this.#currentMutation?.removeObserver(this)\n\n this.#currentMutation = this.#client\n .getMutationCache()\n .build(this.#client, this.options)\n\n this.#currentMutation.addObserver(this)\n\n return this.#currentMutation.execute(variables)\n }\n\n #updateResult(): void {\n const state =\n this.#currentMutation?.state ??\n getDefaultState<TData, TError, TVariables, TContext>()\n\n this.#currentResult = {\n ...state,\n isPending: state.status === 'pending',\n isSuccess: state.status === 'success',\n isError: state.status === 'error',\n isIdle: state.status === 'idle',\n mutate: this.mutate,\n reset: this.reset,\n } as MutationObserverResult<TData, TError, TVariables, TContext>\n }\n\n #notify(action?: Action<TData, TError, TVariables, TContext>): void {\n notifyManager.batch(() => {\n // First trigger the mutate callbacks\n if (this.#mutateOptions && this.hasListeners()) {\n if (action?.type === 'success') {\n this.#mutateOptions.onSuccess?.(\n action.data,\n this.#currentResult.variables!,\n this.#currentResult.context!,\n )\n this.#mutateOptions.onSettled?.(\n action.data,\n null,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n } else if (action?.type === 'error') {\n this.#mutateOptions.onError?.(\n action.error,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n this.#mutateOptions.onSettled?.(\n undefined,\n action.error,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n }\n }\n\n // Then trigger the listeners\n this.listeners.forEach((listener) => {\n listener(this.#currentResult)\n })\n })\n }\n}\n"],"names":["_client","_classPrivateFieldLooseKey","_currentResult","_currentMutation","_mutateOptions","_updateResult","_notify","MutationObserver","Subscribable","constructor","client","options","Object","defineProperty","value","_notify2","_updateResult2","writable","undefined","_classPrivateFieldLooseBase","setOptions","bindMethods","mutate","bind","reset","_classPrivateFieldLoo","prevOptions","defaultMutationOptions","shallowEqualObjects","getMutationCache","notify","type","mutation","observer","onUnsubscribe","hasListeners","_classPrivateFieldLoo2","removeObserver","onMutationUpdate","action","getCurrentResult","variables","_classPrivateFieldLoo3","build","addObserver","execute","_classPrivateFieldLoo4","_classPrivateFieldLoo5","state","getDefaultState","isPending","status","isSuccess","isError","isIdle","notifyManager","batch","_classPrivateFieldLoo6","_classPrivateFieldLoo7","_classPrivateFieldLoo8","_classPrivateFieldLoo9","onSuccess","call","data","context","onSettled","_classPrivateFieldLoo10","_classPrivateFieldLoo11","_classPrivateFieldLoo12","_classPrivateFieldLoo13","onError","error","listeners","forEach","listener"],"mappings":"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"}
@@ -1,4 +1,6 @@
1
- import { scheduleMicrotask } from './utils.mjs';
1
+ 'use strict';
2
+
3
+ var utils = require('./utils.cjs');
2
4
 
3
5
  // TYPES
4
6
 
@@ -28,7 +30,7 @@ function createNotifyManager() {
28
30
  if (transactions) {
29
31
  queue.push(callback);
30
32
  } else {
31
- scheduleMicrotask(() => {
33
+ utils.scheduleMicrotask(() => {
32
34
  notifyFn(callback);
33
35
  });
34
36
  }
@@ -48,7 +50,7 @@ function createNotifyManager() {
48
50
  const originalQueue = queue;
49
51
  queue = [];
50
52
  if (originalQueue.length) {
51
- scheduleMicrotask(() => {
53
+ utils.scheduleMicrotask(() => {
52
54
  batchNotifyFn(() => {
53
55
  originalQueue.forEach(callback => {
54
56
  notifyFn(callback);
@@ -85,5 +87,6 @@ function createNotifyManager() {
85
87
  // SINGLETON
86
88
  const notifyManager = createNotifyManager();
87
89
 
88
- export { createNotifyManager, notifyManager };
89
- //# sourceMappingURL=notifyManager.mjs.map
90
+ exports.createNotifyManager = createNotifyManager;
91
+ exports.notifyManager = notifyManager;
92
+ //# sourceMappingURL=notifyManager.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"notifyManager.mjs","sources":["../../src/notifyManager.ts"],"sourcesContent":["import { scheduleMicrotask } from './utils'\n\n// TYPES\n\ntype NotifyCallback = () => void\n\ntype NotifyFunction = (callback: () => void) => void\n\ntype BatchNotifyFunction = (callback: () => void) => void\n\nexport function createNotifyManager() {\n let queue: NotifyCallback[] = []\n let transactions = 0\n let notifyFn: NotifyFunction = (callback) => {\n callback()\n }\n let batchNotifyFn: BatchNotifyFunction = (callback: () => void) => {\n callback()\n }\n\n const batch = <T>(callback: () => T): T => {\n let result\n transactions++\n try {\n result = callback()\n } finally {\n transactions--\n if (!transactions) {\n flush()\n }\n }\n return result\n }\n\n const schedule = (callback: NotifyCallback): void => {\n if (transactions) {\n queue.push(callback)\n } else {\n scheduleMicrotask(() => {\n notifyFn(callback)\n })\n }\n }\n\n /**\n * All calls to the wrapped function will be batched.\n */\n const batchCalls = <T extends Function>(callback: T): T => {\n return ((...args: any[]) => {\n schedule(() => {\n callback(...args)\n })\n }) as any\n }\n\n const flush = (): void => {\n const originalQueue = queue\n queue = []\n if (originalQueue.length) {\n scheduleMicrotask(() => {\n batchNotifyFn(() => {\n originalQueue.forEach((callback) => {\n notifyFn(callback)\n })\n })\n })\n }\n }\n\n /**\n * Use this method to set a custom notify function.\n * This can be used to for example wrap notifications with `React.act` while running tests.\n */\n const setNotifyFunction = (fn: NotifyFunction) => {\n notifyFn = fn\n }\n\n /**\n * Use this method to set a custom function to batch notifications together into a single tick.\n * By default React Query will use the batch function provided by ReactDOM or React Native.\n */\n const setBatchNotifyFunction = (fn: BatchNotifyFunction) => {\n batchNotifyFn = fn\n }\n\n return {\n batch,\n batchCalls,\n schedule,\n setNotifyFunction,\n setBatchNotifyFunction,\n } as const\n}\n\n// SINGLETON\nexport const notifyManager = createNotifyManager()\n"],"names":["createNotifyManager","queue","transactions","notifyFn","callback","batchNotifyFn","batch","result","flush","schedule","push","scheduleMicrotask","batchCalls","args","originalQueue","length","forEach","setNotifyFunction","fn","setBatchNotifyFunction","notifyManager"],"mappings":";;AAEA;;AAQO,SAASA,mBAAmB,GAAG;EACpC,IAAIC,KAAuB,GAAG,EAAE,CAAA;EAChC,IAAIC,YAAY,GAAG,CAAC,CAAA;EACpB,IAAIC,QAAwB,GAAIC,QAAQ,IAAK;AAC3CA,IAAAA,QAAQ,EAAE,CAAA;GACX,CAAA;EACD,IAAIC,aAAkC,GAAID,QAAoB,IAAK;AACjEA,IAAAA,QAAQ,EAAE,CAAA;GACX,CAAA;EAED,MAAME,KAAK,GAAOF,QAAiB,IAAQ;AACzC,IAAA,IAAIG,MAAM,CAAA;AACVL,IAAAA,YAAY,EAAE,CAAA;IACd,IAAI;MACFK,MAAM,GAAGH,QAAQ,EAAE,CAAA;AACrB,KAAC,SAAS;AACRF,MAAAA,YAAY,EAAE,CAAA;MACd,IAAI,CAACA,YAAY,EAAE;AACjBM,QAAAA,KAAK,EAAE,CAAA;AACT,OAAA;AACF,KAAA;AACA,IAAA,OAAOD,MAAM,CAAA;GACd,CAAA;EAED,MAAME,QAAQ,GAAIL,QAAwB,IAAW;AACnD,IAAA,IAAIF,YAAY,EAAE;AAChBD,MAAAA,KAAK,CAACS,IAAI,CAACN,QAAQ,CAAC,CAAA;AACtB,KAAC,MAAM;AACLO,MAAAA,iBAAiB,CAAC,MAAM;QACtBR,QAAQ,CAACC,QAAQ,CAAC,CAAA;AACpB,OAAC,CAAC,CAAA;AACJ,KAAA;GACD,CAAA;;AAED;AACF;AACA;EACE,MAAMQ,UAAU,GAAwBR,QAAW,IAAQ;IACzD,OAAQ,CAAC,GAAGS,IAAW,KAAK;AAC1BJ,MAAAA,QAAQ,CAAC,MAAM;QACbL,QAAQ,CAAC,GAAGS,IAAI,CAAC,CAAA;AACnB,OAAC,CAAC,CAAA;KACH,CAAA;GACF,CAAA;EAED,MAAML,KAAK,GAAG,MAAY;IACxB,MAAMM,aAAa,GAAGb,KAAK,CAAA;AAC3BA,IAAAA,KAAK,GAAG,EAAE,CAAA;IACV,IAAIa,aAAa,CAACC,MAAM,EAAE;AACxBJ,MAAAA,iBAAiB,CAAC,MAAM;AACtBN,QAAAA,aAAa,CAAC,MAAM;AAClBS,UAAAA,aAAa,CAACE,OAAO,CAAEZ,QAAQ,IAAK;YAClCD,QAAQ,CAACC,QAAQ,CAAC,CAAA;AACpB,WAAC,CAAC,CAAA;AACJ,SAAC,CAAC,CAAA;AACJ,OAAC,CAAC,CAAA;AACJ,KAAA;GACD,CAAA;;AAED;AACF;AACA;AACA;EACE,MAAMa,iBAAiB,GAAIC,EAAkB,IAAK;AAChDf,IAAAA,QAAQ,GAAGe,EAAE,CAAA;GACd,CAAA;;AAED;AACF;AACA;AACA;EACE,MAAMC,sBAAsB,GAAID,EAAuB,IAAK;AAC1Db,IAAAA,aAAa,GAAGa,EAAE,CAAA;GACnB,CAAA;EAED,OAAO;IACLZ,KAAK;IACLM,UAAU;IACVH,QAAQ;IACRQ,iBAAiB;AACjBE,IAAAA,sBAAAA;GACD,CAAA;AACH,CAAA;;AAEA;AACaC,MAAAA,aAAa,GAAGpB,mBAAmB;;;;"}
1
+ {"version":3,"file":"notifyManager.cjs","sources":["../../src/notifyManager.ts"],"sourcesContent":["import { scheduleMicrotask } from './utils'\n\n// TYPES\n\ntype NotifyCallback = () => void\n\ntype NotifyFunction = (callback: () => void) => void\n\ntype BatchNotifyFunction = (callback: () => void) => void\n\nexport function createNotifyManager() {\n let queue: NotifyCallback[] = []\n let transactions = 0\n let notifyFn: NotifyFunction = (callback) => {\n callback()\n }\n let batchNotifyFn: BatchNotifyFunction = (callback: () => void) => {\n callback()\n }\n\n const batch = <T>(callback: () => T): T => {\n let result\n transactions++\n try {\n result = callback()\n } finally {\n transactions--\n if (!transactions) {\n flush()\n }\n }\n return result\n }\n\n const schedule = (callback: NotifyCallback): void => {\n if (transactions) {\n queue.push(callback)\n } else {\n scheduleMicrotask(() => {\n notifyFn(callback)\n })\n }\n }\n\n /**\n * All calls to the wrapped function will be batched.\n */\n const batchCalls = <T extends Function>(callback: T): T => {\n return ((...args: any[]) => {\n schedule(() => {\n callback(...args)\n })\n }) as any\n }\n\n const flush = (): void => {\n const originalQueue = queue\n queue = []\n if (originalQueue.length) {\n scheduleMicrotask(() => {\n batchNotifyFn(() => {\n originalQueue.forEach((callback) => {\n notifyFn(callback)\n })\n })\n })\n }\n }\n\n /**\n * Use this method to set a custom notify function.\n * This can be used to for example wrap notifications with `React.act` while running tests.\n */\n const setNotifyFunction = (fn: NotifyFunction) => {\n notifyFn = fn\n }\n\n /**\n * Use this method to set a custom function to batch notifications together into a single tick.\n * By default React Query will use the batch function provided by ReactDOM or React Native.\n */\n const setBatchNotifyFunction = (fn: BatchNotifyFunction) => {\n batchNotifyFn = fn\n }\n\n return {\n batch,\n batchCalls,\n schedule,\n setNotifyFunction,\n setBatchNotifyFunction,\n } as const\n}\n\n// SINGLETON\nexport const notifyManager = createNotifyManager()\n"],"names":["createNotifyManager","queue","transactions","notifyFn","callback","batchNotifyFn","batch","result","flush","schedule","push","scheduleMicrotask","batchCalls","args","originalQueue","length","forEach","setNotifyFunction","fn","setBatchNotifyFunction","notifyManager"],"mappings":";;;;AAEA;;AAQO,SAASA,mBAAmBA,GAAG;EACpC,IAAIC,KAAuB,GAAG,EAAE,CAAA;EAChC,IAAIC,YAAY,GAAG,CAAC,CAAA;EACpB,IAAIC,QAAwB,GAAIC,QAAQ,IAAK;AAC3CA,IAAAA,QAAQ,EAAE,CAAA;GACX,CAAA;EACD,IAAIC,aAAkC,GAAID,QAAoB,IAAK;AACjEA,IAAAA,QAAQ,EAAE,CAAA;GACX,CAAA;EAED,MAAME,KAAK,GAAOF,QAAiB,IAAQ;AACzC,IAAA,IAAIG,MAAM,CAAA;AACVL,IAAAA,YAAY,EAAE,CAAA;IACd,IAAI;MACFK,MAAM,GAAGH,QAAQ,EAAE,CAAA;AACrB,KAAC,SAAS;AACRF,MAAAA,YAAY,EAAE,CAAA;MACd,IAAI,CAACA,YAAY,EAAE;AACjBM,QAAAA,KAAK,EAAE,CAAA;AACT,OAAA;AACF,KAAA;AACA,IAAA,OAAOD,MAAM,CAAA;GACd,CAAA;EAED,MAAME,QAAQ,GAAIL,QAAwB,IAAW;AACnD,IAAA,IAAIF,YAAY,EAAE;AAChBD,MAAAA,KAAK,CAACS,IAAI,CAACN,QAAQ,CAAC,CAAA;AACtB,KAAC,MAAM;AACLO,MAAAA,uBAAiB,CAAC,MAAM;QACtBR,QAAQ,CAACC,QAAQ,CAAC,CAAA;AACpB,OAAC,CAAC,CAAA;AACJ,KAAA;GACD,CAAA;;AAED;AACF;AACA;EACE,MAAMQ,UAAU,GAAwBR,QAAW,IAAQ;IACzD,OAAQ,CAAC,GAAGS,IAAW,KAAK;AAC1BJ,MAAAA,QAAQ,CAAC,MAAM;QACbL,QAAQ,CAAC,GAAGS,IAAI,CAAC,CAAA;AACnB,OAAC,CAAC,CAAA;KACH,CAAA;GACF,CAAA;EAED,MAAML,KAAK,GAAGA,MAAY;IACxB,MAAMM,aAAa,GAAGb,KAAK,CAAA;AAC3BA,IAAAA,KAAK,GAAG,EAAE,CAAA;IACV,IAAIa,aAAa,CAACC,MAAM,EAAE;AACxBJ,MAAAA,uBAAiB,CAAC,MAAM;AACtBN,QAAAA,aAAa,CAAC,MAAM;AAClBS,UAAAA,aAAa,CAACE,OAAO,CAAEZ,QAAQ,IAAK;YAClCD,QAAQ,CAACC,QAAQ,CAAC,CAAA;AACpB,WAAC,CAAC,CAAA;AACJ,SAAC,CAAC,CAAA;AACJ,OAAC,CAAC,CAAA;AACJ,KAAA;GACD,CAAA;;AAED;AACF;AACA;AACA;EACE,MAAMa,iBAAiB,GAAIC,EAAkB,IAAK;AAChDf,IAAAA,QAAQ,GAAGe,EAAE,CAAA;GACd,CAAA;;AAED;AACF;AACA;AACA;EACE,MAAMC,sBAAsB,GAAID,EAAuB,IAAK;AAC1Db,IAAAA,aAAa,GAAGa,EAAE,CAAA;GACnB,CAAA;EAED,OAAO;IACLZ,KAAK;IACLM,UAAU;IACVH,QAAQ;IACRQ,iBAAiB;AACjBE,IAAAA,sBAAAA;GACD,CAAA;AACH,CAAA;;AAEA;AACaC,MAAAA,aAAa,GAAGpB,mBAAmB;;;;;"}
@@ -1,6 +1,6 @@
1
- declare type NotifyCallback = () => void;
2
- declare type NotifyFunction = (callback: () => void) => void;
3
- declare type BatchNotifyFunction = (callback: () => void) => void;
1
+ type NotifyCallback = () => void;
2
+ type NotifyFunction = (callback: () => void) => void;
3
+ type BatchNotifyFunction = (callback: () => void) => void;
4
4
  export declare function createNotifyManager(): {
5
5
  readonly batch: <T>(callback: () => T) => T;
6
6
  readonly batchCalls: <T_1 extends Function>(callback: T_1) => T_1;
@@ -16,3 +16,4 @@ export declare const notifyManager: {
16
16
  readonly setBatchNotifyFunction: (fn: BatchNotifyFunction) => void;
17
17
  };
18
18
  export {};
19
+ //# sourceMappingURL=notifyManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notifyManager.d.ts","sourceRoot":"","sources":["../../src/notifyManager.ts"],"names":[],"mappings":"AAIA,KAAK,cAAc,GAAG,MAAM,IAAI,CAAA;AAEhC,KAAK,cAAc,GAAG,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAA;AAEpD,KAAK,mBAAmB,GAAG,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAA;AAEzD,wBAAgB,mBAAmB;;;kCAwBL,cAAc,KAAG,IAAI;qCAuClB,cAAc;0CAQT,mBAAmB;EAWxD;AAGD,eAAO,MAAM,aAAa;;;kCA7DI,cAAc,KAAG,IAAI;qCAuClB,cAAc;0CAQT,mBAAmB;CAcP,CAAA"}
@@ -1,6 +1,4 @@
1
- 'use strict';
2
-
3
- var utils = require('./utils.js');
1
+ import { scheduleMicrotask } from './utils.js';
4
2
 
5
3
  // TYPES
6
4
 
@@ -30,7 +28,7 @@ function createNotifyManager() {
30
28
  if (transactions) {
31
29
  queue.push(callback);
32
30
  } else {
33
- utils.scheduleMicrotask(() => {
31
+ scheduleMicrotask(() => {
34
32
  notifyFn(callback);
35
33
  });
36
34
  }
@@ -50,7 +48,7 @@ function createNotifyManager() {
50
48
  const originalQueue = queue;
51
49
  queue = [];
52
50
  if (originalQueue.length) {
53
- utils.scheduleMicrotask(() => {
51
+ scheduleMicrotask(() => {
54
52
  batchNotifyFn(() => {
55
53
  originalQueue.forEach(callback => {
56
54
  notifyFn(callback);
@@ -87,6 +85,5 @@ function createNotifyManager() {
87
85
  // SINGLETON
88
86
  const notifyManager = createNotifyManager();
89
87
 
90
- exports.createNotifyManager = createNotifyManager;
91
- exports.notifyManager = notifyManager;
88
+ export { createNotifyManager, notifyManager };
92
89
  //# sourceMappingURL=notifyManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"notifyManager.js","sources":["../../src/notifyManager.ts"],"sourcesContent":["import { scheduleMicrotask } from './utils'\n\n// TYPES\n\ntype NotifyCallback = () => void\n\ntype NotifyFunction = (callback: () => void) => void\n\ntype BatchNotifyFunction = (callback: () => void) => void\n\nexport function createNotifyManager() {\n let queue: NotifyCallback[] = []\n let transactions = 0\n let notifyFn: NotifyFunction = (callback) => {\n callback()\n }\n let batchNotifyFn: BatchNotifyFunction = (callback: () => void) => {\n callback()\n }\n\n const batch = <T>(callback: () => T): T => {\n let result\n transactions++\n try {\n result = callback()\n } finally {\n transactions--\n if (!transactions) {\n flush()\n }\n }\n return result\n }\n\n const schedule = (callback: NotifyCallback): void => {\n if (transactions) {\n queue.push(callback)\n } else {\n scheduleMicrotask(() => {\n notifyFn(callback)\n })\n }\n }\n\n /**\n * All calls to the wrapped function will be batched.\n */\n const batchCalls = <T extends Function>(callback: T): T => {\n return ((...args: any[]) => {\n schedule(() => {\n callback(...args)\n })\n }) as any\n }\n\n const flush = (): void => {\n const originalQueue = queue\n queue = []\n if (originalQueue.length) {\n scheduleMicrotask(() => {\n batchNotifyFn(() => {\n originalQueue.forEach((callback) => {\n notifyFn(callback)\n })\n })\n })\n }\n }\n\n /**\n * Use this method to set a custom notify function.\n * This can be used to for example wrap notifications with `React.act` while running tests.\n */\n const setNotifyFunction = (fn: NotifyFunction) => {\n notifyFn = fn\n }\n\n /**\n * Use this method to set a custom function to batch notifications together into a single tick.\n * By default React Query will use the batch function provided by ReactDOM or React Native.\n */\n const setBatchNotifyFunction = (fn: BatchNotifyFunction) => {\n batchNotifyFn = fn\n }\n\n return {\n batch,\n batchCalls,\n schedule,\n setNotifyFunction,\n setBatchNotifyFunction,\n } as const\n}\n\n// SINGLETON\nexport const notifyManager = createNotifyManager()\n"],"names":["createNotifyManager","queue","transactions","notifyFn","callback","batchNotifyFn","batch","result","flush","schedule","push","scheduleMicrotask","batchCalls","args","originalQueue","length","forEach","setNotifyFunction","fn","setBatchNotifyFunction","notifyManager"],"mappings":";;;;AAEA;;AAQO,SAASA,mBAAmB,GAAG;EACpC,IAAIC,KAAuB,GAAG,EAAE,CAAA;EAChC,IAAIC,YAAY,GAAG,CAAC,CAAA;EACpB,IAAIC,QAAwB,GAAIC,QAAQ,IAAK;AAC3CA,IAAAA,QAAQ,EAAE,CAAA;GACX,CAAA;EACD,IAAIC,aAAkC,GAAID,QAAoB,IAAK;AACjEA,IAAAA,QAAQ,EAAE,CAAA;GACX,CAAA;EAED,MAAME,KAAK,GAAOF,QAAiB,IAAQ;AACzC,IAAA,IAAIG,MAAM,CAAA;AACVL,IAAAA,YAAY,EAAE,CAAA;IACd,IAAI;MACFK,MAAM,GAAGH,QAAQ,EAAE,CAAA;AACrB,KAAC,SAAS;AACRF,MAAAA,YAAY,EAAE,CAAA;MACd,IAAI,CAACA,YAAY,EAAE;AACjBM,QAAAA,KAAK,EAAE,CAAA;AACT,OAAA;AACF,KAAA;AACA,IAAA,OAAOD,MAAM,CAAA;GACd,CAAA;EAED,MAAME,QAAQ,GAAIL,QAAwB,IAAW;AACnD,IAAA,IAAIF,YAAY,EAAE;AAChBD,MAAAA,KAAK,CAACS,IAAI,CAACN,QAAQ,CAAC,CAAA;AACtB,KAAC,MAAM;AACLO,MAAAA,uBAAiB,CAAC,MAAM;QACtBR,QAAQ,CAACC,QAAQ,CAAC,CAAA;AACpB,OAAC,CAAC,CAAA;AACJ,KAAA;GACD,CAAA;;AAED;AACF;AACA;EACE,MAAMQ,UAAU,GAAwBR,QAAW,IAAQ;IACzD,OAAQ,CAAC,GAAGS,IAAW,KAAK;AAC1BJ,MAAAA,QAAQ,CAAC,MAAM;QACbL,QAAQ,CAAC,GAAGS,IAAI,CAAC,CAAA;AACnB,OAAC,CAAC,CAAA;KACH,CAAA;GACF,CAAA;EAED,MAAML,KAAK,GAAG,MAAY;IACxB,MAAMM,aAAa,GAAGb,KAAK,CAAA;AAC3BA,IAAAA,KAAK,GAAG,EAAE,CAAA;IACV,IAAIa,aAAa,CAACC,MAAM,EAAE;AACxBJ,MAAAA,uBAAiB,CAAC,MAAM;AACtBN,QAAAA,aAAa,CAAC,MAAM;AAClBS,UAAAA,aAAa,CAACE,OAAO,CAAEZ,QAAQ,IAAK;YAClCD,QAAQ,CAACC,QAAQ,CAAC,CAAA;AACpB,WAAC,CAAC,CAAA;AACJ,SAAC,CAAC,CAAA;AACJ,OAAC,CAAC,CAAA;AACJ,KAAA;GACD,CAAA;;AAED;AACF;AACA;AACA;EACE,MAAMa,iBAAiB,GAAIC,EAAkB,IAAK;AAChDf,IAAAA,QAAQ,GAAGe,EAAE,CAAA;GACd,CAAA;;AAED;AACF;AACA;AACA;EACE,MAAMC,sBAAsB,GAAID,EAAuB,IAAK;AAC1Db,IAAAA,aAAa,GAAGa,EAAE,CAAA;GACnB,CAAA;EAED,OAAO;IACLZ,KAAK;IACLM,UAAU;IACVH,QAAQ;IACRQ,iBAAiB;AACjBE,IAAAA,sBAAAA;GACD,CAAA;AACH,CAAA;;AAEA;AACaC,MAAAA,aAAa,GAAGpB,mBAAmB;;;;;"}
1
+ {"version":3,"file":"notifyManager.js","sources":["../../src/notifyManager.ts"],"sourcesContent":["import { scheduleMicrotask } from './utils'\n\n// TYPES\n\ntype NotifyCallback = () => void\n\ntype NotifyFunction = (callback: () => void) => void\n\ntype BatchNotifyFunction = (callback: () => void) => void\n\nexport function createNotifyManager() {\n let queue: NotifyCallback[] = []\n let transactions = 0\n let notifyFn: NotifyFunction = (callback) => {\n callback()\n }\n let batchNotifyFn: BatchNotifyFunction = (callback: () => void) => {\n callback()\n }\n\n const batch = <T>(callback: () => T): T => {\n let result\n transactions++\n try {\n result = callback()\n } finally {\n transactions--\n if (!transactions) {\n flush()\n }\n }\n return result\n }\n\n const schedule = (callback: NotifyCallback): void => {\n if (transactions) {\n queue.push(callback)\n } else {\n scheduleMicrotask(() => {\n notifyFn(callback)\n })\n }\n }\n\n /**\n * All calls to the wrapped function will be batched.\n */\n const batchCalls = <T extends Function>(callback: T): T => {\n return ((...args: any[]) => {\n schedule(() => {\n callback(...args)\n })\n }) as any\n }\n\n const flush = (): void => {\n const originalQueue = queue\n queue = []\n if (originalQueue.length) {\n scheduleMicrotask(() => {\n batchNotifyFn(() => {\n originalQueue.forEach((callback) => {\n notifyFn(callback)\n })\n })\n })\n }\n }\n\n /**\n * Use this method to set a custom notify function.\n * This can be used to for example wrap notifications with `React.act` while running tests.\n */\n const setNotifyFunction = (fn: NotifyFunction) => {\n notifyFn = fn\n }\n\n /**\n * Use this method to set a custom function to batch notifications together into a single tick.\n * By default React Query will use the batch function provided by ReactDOM or React Native.\n */\n const setBatchNotifyFunction = (fn: BatchNotifyFunction) => {\n batchNotifyFn = fn\n }\n\n return {\n batch,\n batchCalls,\n schedule,\n setNotifyFunction,\n setBatchNotifyFunction,\n } as const\n}\n\n// SINGLETON\nexport const notifyManager = createNotifyManager()\n"],"names":["createNotifyManager","queue","transactions","notifyFn","callback","batchNotifyFn","batch","result","flush","schedule","push","scheduleMicrotask","batchCalls","args","originalQueue","length","forEach","setNotifyFunction","fn","setBatchNotifyFunction","notifyManager"],"mappings":";;AAEA;;AAQO,SAASA,mBAAmBA,GAAG;EACpC,IAAIC,KAAuB,GAAG,EAAE,CAAA;EAChC,IAAIC,YAAY,GAAG,CAAC,CAAA;EACpB,IAAIC,QAAwB,GAAIC,QAAQ,IAAK;AAC3CA,IAAAA,QAAQ,EAAE,CAAA;GACX,CAAA;EACD,IAAIC,aAAkC,GAAID,QAAoB,IAAK;AACjEA,IAAAA,QAAQ,EAAE,CAAA;GACX,CAAA;EAED,MAAME,KAAK,GAAOF,QAAiB,IAAQ;AACzC,IAAA,IAAIG,MAAM,CAAA;AACVL,IAAAA,YAAY,EAAE,CAAA;IACd,IAAI;MACFK,MAAM,GAAGH,QAAQ,EAAE,CAAA;AACrB,KAAC,SAAS;AACRF,MAAAA,YAAY,EAAE,CAAA;MACd,IAAI,CAACA,YAAY,EAAE;AACjBM,QAAAA,KAAK,EAAE,CAAA;AACT,OAAA;AACF,KAAA;AACA,IAAA,OAAOD,MAAM,CAAA;GACd,CAAA;EAED,MAAME,QAAQ,GAAIL,QAAwB,IAAW;AACnD,IAAA,IAAIF,YAAY,EAAE;AAChBD,MAAAA,KAAK,CAACS,IAAI,CAACN,QAAQ,CAAC,CAAA;AACtB,KAAC,MAAM;AACLO,MAAAA,iBAAiB,CAAC,MAAM;QACtBR,QAAQ,CAACC,QAAQ,CAAC,CAAA;AACpB,OAAC,CAAC,CAAA;AACJ,KAAA;GACD,CAAA;;AAED;AACF;AACA;EACE,MAAMQ,UAAU,GAAwBR,QAAW,IAAQ;IACzD,OAAQ,CAAC,GAAGS,IAAW,KAAK;AAC1BJ,MAAAA,QAAQ,CAAC,MAAM;QACbL,QAAQ,CAAC,GAAGS,IAAI,CAAC,CAAA;AACnB,OAAC,CAAC,CAAA;KACH,CAAA;GACF,CAAA;EAED,MAAML,KAAK,GAAGA,MAAY;IACxB,MAAMM,aAAa,GAAGb,KAAK,CAAA;AAC3BA,IAAAA,KAAK,GAAG,EAAE,CAAA;IACV,IAAIa,aAAa,CAACC,MAAM,EAAE;AACxBJ,MAAAA,iBAAiB,CAAC,MAAM;AACtBN,QAAAA,aAAa,CAAC,MAAM;AAClBS,UAAAA,aAAa,CAACE,OAAO,CAAEZ,QAAQ,IAAK;YAClCD,QAAQ,CAACC,QAAQ,CAAC,CAAA;AACpB,WAAC,CAAC,CAAA;AACJ,SAAC,CAAC,CAAA;AACJ,OAAC,CAAC,CAAA;AACJ,KAAA;GACD,CAAA;;AAED;AACF;AACA;AACA;EACE,MAAMa,iBAAiB,GAAIC,EAAkB,IAAK;AAChDf,IAAAA,QAAQ,GAAGe,EAAE,CAAA;GACd,CAAA;;AAED;AACF;AACA;AACA;EACE,MAAMC,sBAAsB,GAAID,EAAuB,IAAK;AAC1Db,IAAAA,aAAa,GAAGa,EAAE,CAAA;GACnB,CAAA;EAED,OAAO;IACLZ,KAAK;IACLM,UAAU;IACVH,QAAQ;IACRQ,iBAAiB;AACjBE,IAAAA,sBAAAA;GACD,CAAA;AACH,CAAA;;AAEA;AACaC,MAAAA,aAAa,GAAGpB,mBAAmB;;;;"}