@tanstack/query-core 5.0.0-alpha.86 → 5.0.0-alpha.87

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 (441) hide show
  1. package/build/legacy/focusManager.cjs +116 -0
  2. package/build/legacy/focusManager.cjs.map +1 -0
  3. package/build/legacy/focusManager.d.cts +16 -0
  4. package/build/{lib → legacy}/focusManager.d.ts +6 -5
  5. package/build/legacy/focusManager.js +91 -0
  6. package/build/legacy/focusManager.js.map +1 -0
  7. package/build/legacy/hydration.cjs +109 -0
  8. package/build/legacy/hydration.cjs.map +1 -0
  9. package/build/legacy/hydration.d.cts +35 -0
  10. package/build/legacy/hydration.d.ts +35 -0
  11. package/build/legacy/hydration.js +82 -0
  12. package/build/legacy/hydration.js.map +1 -0
  13. package/build/legacy/index.cjs +85 -0
  14. package/build/legacy/index.cjs.map +1 -0
  15. package/build/legacy/index.d.cts +9 -0
  16. package/build/legacy/index.d.ts +9 -0
  17. package/build/legacy/index.js +50 -0
  18. package/build/legacy/index.js.map +1 -0
  19. package/build/legacy/infiniteQueryBehavior.cjs +141 -0
  20. package/build/legacy/infiniteQueryBehavior.cjs.map +1 -0
  21. package/build/legacy/infiniteQueryBehavior.d.cts +15 -0
  22. package/build/legacy/infiniteQueryBehavior.d.ts +15 -0
  23. package/build/legacy/infiniteQueryBehavior.js +115 -0
  24. package/build/legacy/infiniteQueryBehavior.js.map +1 -0
  25. package/build/legacy/infiniteQueryObserver.cjs +88 -0
  26. package/build/legacy/infiniteQueryObserver.cjs.map +1 -0
  27. package/build/legacy/infiniteQueryObserver.d.cts +19 -0
  28. package/build/{lib → legacy}/infiniteQueryObserver.d.ts +7 -8
  29. package/build/{lib/infiniteQueryObserver.legacy.js → legacy/infiniteQueryObserver.js} +24 -32
  30. package/build/legacy/infiniteQueryObserver.js.map +1 -0
  31. package/build/legacy/mutation.cjs +297 -0
  32. package/build/legacy/mutation.cjs.map +1 -0
  33. package/build/legacy/mutation.d.cts +3 -0
  34. package/build/legacy/mutation.d.ts +3 -0
  35. package/build/legacy/mutation.js +272 -0
  36. package/build/legacy/mutation.js.map +1 -0
  37. package/build/legacy/mutationCache.cjs +133 -0
  38. package/build/legacy/mutationCache.cjs.map +1 -0
  39. package/build/legacy/mutationCache.d.cts +3 -0
  40. package/build/legacy/mutationCache.d.ts +3 -0
  41. package/build/legacy/mutationCache.js +109 -0
  42. package/build/legacy/mutationCache.js.map +1 -0
  43. package/build/legacy/mutationObserver.cjs +171 -0
  44. package/build/legacy/mutationObserver.cjs.map +1 -0
  45. package/build/legacy/mutationObserver.d.cts +3 -0
  46. package/build/legacy/mutationObserver.d.ts +3 -0
  47. package/build/legacy/mutationObserver.js +147 -0
  48. package/build/legacy/mutationObserver.js.map +1 -0
  49. package/build/legacy/notifyManager.cjs +97 -0
  50. package/build/legacy/notifyManager.cjs.map +1 -0
  51. package/build/legacy/notifyManager.d.cts +20 -0
  52. package/build/{lib → legacy}/notifyManager.d.ts +4 -4
  53. package/build/{lib → legacy}/notifyManager.js +14 -31
  54. package/build/legacy/notifyManager.js.map +1 -0
  55. package/build/legacy/onlineManager.cjs +106 -0
  56. package/build/legacy/onlineManager.cjs.map +1 -0
  57. package/build/legacy/onlineManager.d.cts +16 -0
  58. package/build/{lib → legacy}/onlineManager.d.ts +6 -5
  59. package/build/legacy/onlineManager.js +81 -0
  60. package/build/legacy/onlineManager.js.map +1 -0
  61. package/build/legacy/queriesObserver.cjs +242 -0
  62. package/build/legacy/queriesObserver.cjs.map +1 -0
  63. package/build/legacy/queriesObserver.d.cts +26 -0
  64. package/build/{lib → legacy}/queriesObserver.d.ts +10 -11
  65. package/build/legacy/queriesObserver.js +218 -0
  66. package/build/legacy/queriesObserver.js.map +1 -0
  67. package/build/legacy/query.cjs +423 -0
  68. package/build/legacy/query.cjs.map +1 -0
  69. package/build/legacy/query.d.cts +3 -0
  70. package/build/legacy/query.d.ts +3 -0
  71. package/build/legacy/query.js +399 -0
  72. package/build/legacy/query.js.map +1 -0
  73. package/build/legacy/queryCache.cjs +140 -0
  74. package/build/legacy/queryCache.cjs.map +1 -0
  75. package/build/legacy/queryCache.d.cts +3 -0
  76. package/build/legacy/queryCache.d.ts +3 -0
  77. package/build/legacy/queryCache.js +116 -0
  78. package/build/legacy/queryCache.js.map +1 -0
  79. package/build/legacy/queryClient-4ba6364e.d.ts +916 -0
  80. package/build/legacy/queryClient-d615ed9f.d.ts +916 -0
  81. package/build/legacy/queryClient.cjs +322 -0
  82. package/build/legacy/queryClient.cjs.map +1 -0
  83. package/build/legacy/queryClient.d.cts +3 -0
  84. package/build/legacy/queryClient.d.ts +3 -0
  85. package/build/legacy/queryClient.js +304 -0
  86. package/build/legacy/queryClient.js.map +1 -0
  87. package/build/legacy/queryObserver.cjs +501 -0
  88. package/build/legacy/queryObserver.cjs.map +1 -0
  89. package/build/legacy/queryObserver.d.cts +3 -0
  90. package/build/legacy/queryObserver.d.ts +3 -0
  91. package/build/legacy/queryObserver.js +484 -0
  92. package/build/legacy/queryObserver.js.map +1 -0
  93. package/build/legacy/removable.cjs +77 -0
  94. package/build/legacy/removable.cjs.map +1 -0
  95. package/build/legacy/removable.d.cts +11 -0
  96. package/build/{lib → legacy}/removable.d.ts +3 -2
  97. package/build/legacy/removable.js +53 -0
  98. package/build/legacy/removable.js.map +1 -0
  99. package/build/legacy/retryer.cjs +169 -0
  100. package/build/legacy/retryer.cjs.map +1 -0
  101. package/build/legacy/retryer.d.cts +3 -0
  102. package/build/legacy/retryer.d.ts +3 -0
  103. package/build/{lib/retryer.legacy.js → legacy/retryer.js} +37 -48
  104. package/build/legacy/retryer.js.map +1 -0
  105. package/build/legacy/subscribable.cjs +49 -0
  106. package/build/legacy/subscribable.cjs.map +1 -0
  107. package/build/legacy/subscribable.d.cts +11 -0
  108. package/build/{lib → legacy}/subscribable.d.ts +3 -3
  109. package/build/{lib → legacy}/subscribable.js +5 -6
  110. package/build/legacy/subscribable.js.map +1 -0
  111. package/build/legacy/types.cjs +17 -0
  112. package/build/legacy/types.cjs.map +1 -0
  113. package/build/legacy/types.d.cts +3 -0
  114. package/build/legacy/types.d.ts +3 -0
  115. package/build/legacy/types.js +1 -0
  116. package/build/legacy/types.js.map +1 -0
  117. package/build/{lib/utils.legacy.cjs → legacy/utils.cjs} +92 -93
  118. package/build/legacy/utils.cjs.map +1 -0
  119. package/build/legacy/utils.d.cts +3 -0
  120. package/build/legacy/utils.d.ts +3 -0
  121. package/build/{lib/utils.legacy.js → legacy/utils.js} +49 -72
  122. package/build/legacy/utils.js.map +1 -0
  123. package/build/modern/focusManager.cjs +91 -0
  124. package/build/modern/focusManager.cjs.map +1 -0
  125. package/build/modern/focusManager.d.cts +16 -0
  126. package/build/modern/focusManager.d.ts +16 -0
  127. package/build/modern/focusManager.js +66 -0
  128. package/build/modern/focusManager.js.map +1 -0
  129. package/build/modern/hydration.cjs +107 -0
  130. package/build/modern/hydration.cjs.map +1 -0
  131. package/build/modern/hydration.d.cts +35 -0
  132. package/build/modern/hydration.d.ts +35 -0
  133. package/build/modern/hydration.js +80 -0
  134. package/build/modern/hydration.js.map +1 -0
  135. package/build/modern/index.cjs +85 -0
  136. package/build/modern/index.cjs.map +1 -0
  137. package/build/modern/index.d.cts +9 -0
  138. package/build/modern/index.d.ts +9 -0
  139. package/build/modern/index.js +50 -0
  140. package/build/modern/index.js.map +1 -0
  141. package/build/modern/infiniteQueryBehavior.cjs +138 -0
  142. package/build/modern/infiniteQueryBehavior.cjs.map +1 -0
  143. package/build/modern/infiniteQueryBehavior.d.cts +15 -0
  144. package/build/modern/infiniteQueryBehavior.d.ts +15 -0
  145. package/build/{lib → modern}/infiniteQueryBehavior.js +46 -53
  146. package/build/modern/infiniteQueryBehavior.js.map +1 -0
  147. package/build/modern/infiniteQueryObserver.cjs +87 -0
  148. package/build/modern/infiniteQueryObserver.cjs.map +1 -0
  149. package/build/modern/infiniteQueryObserver.d.cts +19 -0
  150. package/build/modern/infiniteQueryObserver.d.ts +19 -0
  151. package/build/{lib → modern}/infiniteQueryObserver.js +23 -31
  152. package/build/modern/infiniteQueryObserver.js.map +1 -0
  153. package/build/modern/mutation.cjs +259 -0
  154. package/build/modern/mutation.cjs.map +1 -0
  155. package/build/modern/mutation.d.cts +3 -0
  156. package/build/modern/mutation.d.ts +3 -0
  157. package/build/{lib → modern}/mutation.js +86 -86
  158. package/build/modern/mutation.js.map +1 -0
  159. package/build/modern/mutationCache.cjs +103 -0
  160. package/build/modern/mutationCache.cjs.map +1 -0
  161. package/build/modern/mutationCache.d.cts +3 -0
  162. package/build/modern/mutationCache.d.ts +3 -0
  163. package/build/modern/mutationCache.js +79 -0
  164. package/build/modern/mutationCache.js.map +1 -0
  165. package/build/modern/mutationObserver.cjs +132 -0
  166. package/build/modern/mutationObserver.cjs.map +1 -0
  167. package/build/modern/mutationObserver.d.cts +3 -0
  168. package/build/modern/mutationObserver.d.ts +3 -0
  169. package/build/{lib → modern}/mutationObserver.js +44 -32
  170. package/build/modern/mutationObserver.js.map +1 -0
  171. package/build/modern/notifyManager.cjs +97 -0
  172. package/build/modern/notifyManager.cjs.map +1 -0
  173. package/build/modern/notifyManager.d.cts +20 -0
  174. package/build/modern/notifyManager.d.ts +20 -0
  175. package/build/{lib/notifyManager.legacy.js → modern/notifyManager.js} +14 -31
  176. package/build/modern/notifyManager.js.map +1 -0
  177. package/build/modern/onlineManager.cjs +82 -0
  178. package/build/modern/onlineManager.cjs.map +1 -0
  179. package/build/modern/onlineManager.d.cts +16 -0
  180. package/build/modern/onlineManager.d.ts +16 -0
  181. package/build/{lib → modern}/onlineManager.js +14 -17
  182. package/build/modern/onlineManager.js.map +1 -0
  183. package/build/modern/queriesObserver.cjs +202 -0
  184. package/build/modern/queriesObserver.cjs.map +1 -0
  185. package/build/modern/queriesObserver.d.cts +26 -0
  186. package/build/modern/queriesObserver.d.ts +26 -0
  187. package/build/{lib → modern}/queriesObserver.js +69 -50
  188. package/build/modern/queriesObserver.js.map +1 -0
  189. package/build/{lib → modern}/query.cjs +143 -186
  190. package/build/modern/query.cjs.map +1 -0
  191. package/build/modern/query.d.cts +3 -0
  192. package/build/modern/query.d.ts +3 -0
  193. package/build/{lib → modern}/query.js +110 -175
  194. package/build/modern/query.js.map +1 -0
  195. package/build/modern/queryCache.cjs +120 -0
  196. package/build/modern/queryCache.cjs.map +1 -0
  197. package/build/modern/queryCache.d.cts +3 -0
  198. package/build/modern/queryCache.d.ts +3 -0
  199. package/build/{lib → modern}/queryCache.js +21 -29
  200. package/build/modern/queryCache.js.map +1 -0
  201. package/build/modern/queryClient-4ba6364e.d.ts +916 -0
  202. package/build/modern/queryClient-d615ed9f.d.ts +916 -0
  203. package/build/modern/queryClient.cjs +284 -0
  204. package/build/modern/queryClient.cjs.map +1 -0
  205. package/build/modern/queryClient.d.cts +3 -0
  206. package/build/modern/queryClient.d.ts +3 -0
  207. package/build/{lib → modern}/queryClient.js +77 -94
  208. package/build/modern/queryClient.js.map +1 -0
  209. package/build/{lib → modern}/queryObserver.cjs +133 -149
  210. package/build/modern/queryObserver.cjs.map +1 -0
  211. package/build/modern/queryObserver.d.cts +3 -0
  212. package/build/modern/queryObserver.d.ts +3 -0
  213. package/build/{lib → modern}/queryObserver.js +107 -138
  214. package/build/modern/queryObserver.js.map +1 -0
  215. package/build/modern/removable.cjs +55 -0
  216. package/build/modern/removable.cjs.map +1 -0
  217. package/build/modern/removable.d.cts +11 -0
  218. package/build/modern/removable.d.ts +11 -0
  219. package/build/{lib → modern}/removable.js +10 -8
  220. package/build/modern/removable.js.map +1 -0
  221. package/build/{lib → modern}/retryer.cjs +50 -44
  222. package/build/modern/retryer.cjs.map +1 -0
  223. package/build/modern/retryer.d.cts +3 -0
  224. package/build/modern/retryer.d.ts +3 -0
  225. package/build/{lib → modern}/retryer.js +23 -39
  226. package/build/modern/retryer.js.map +1 -0
  227. package/build/modern/subscribable.cjs +49 -0
  228. package/build/modern/subscribable.cjs.map +1 -0
  229. package/build/modern/subscribable.d.cts +11 -0
  230. package/build/modern/subscribable.d.ts +11 -0
  231. package/build/{lib/subscribable.legacy.js → modern/subscribable.js} +5 -6
  232. package/build/modern/subscribable.js.map +1 -0
  233. package/build/modern/types.cjs +17 -0
  234. package/build/modern/types.cjs.map +1 -0
  235. package/build/modern/types.d.cts +3 -0
  236. package/build/modern/types.d.ts +3 -0
  237. package/build/modern/types.js +1 -0
  238. package/build/modern/types.js.map +1 -0
  239. package/build/{lib → modern}/utils.cjs +92 -93
  240. package/build/modern/utils.cjs.map +1 -0
  241. package/build/modern/utils.d.cts +3 -0
  242. package/build/modern/utils.d.ts +3 -0
  243. package/build/{lib → modern}/utils.js +49 -72
  244. package/build/modern/utils.js.map +1 -0
  245. package/package.json +15 -13
  246. package/build/lib/_virtual/_rollupPluginBabelHelpers.legacy.cjs +0 -16
  247. package/build/lib/_virtual/_rollupPluginBabelHelpers.legacy.cjs.map +0 -1
  248. package/build/lib/_virtual/_rollupPluginBabelHelpers.legacy.js +0 -13
  249. package/build/lib/_virtual/_rollupPluginBabelHelpers.legacy.js.map +0 -1
  250. package/build/lib/focusManager.cjs +0 -75
  251. package/build/lib/focusManager.cjs.map +0 -1
  252. package/build/lib/focusManager.d.ts.map +0 -1
  253. package/build/lib/focusManager.js +0 -72
  254. package/build/lib/focusManager.js.map +0 -1
  255. package/build/lib/focusManager.legacy.cjs +0 -91
  256. package/build/lib/focusManager.legacy.cjs.map +0 -1
  257. package/build/lib/focusManager.legacy.js +0 -88
  258. package/build/lib/focusManager.legacy.js.map +0 -1
  259. package/build/lib/hydration.cjs +0 -97
  260. package/build/lib/hydration.cjs.map +0 -1
  261. package/build/lib/hydration.d.ts +0 -35
  262. package/build/lib/hydration.d.ts.map +0 -1
  263. package/build/lib/hydration.js +0 -92
  264. package/build/lib/hydration.js.map +0 -1
  265. package/build/lib/hydration.legacy.cjs +0 -100
  266. package/build/lib/hydration.legacy.cjs.map +0 -1
  267. package/build/lib/hydration.legacy.js +0 -95
  268. package/build/lib/hydration.legacy.js.map +0 -1
  269. package/build/lib/index.cjs +0 -40
  270. package/build/lib/index.cjs.map +0 -1
  271. package/build/lib/index.d.ts +0 -22
  272. package/build/lib/index.d.ts.map +0 -1
  273. package/build/lib/index.js +0 -14
  274. package/build/lib/index.js.map +0 -1
  275. package/build/lib/index.legacy.cjs +0 -40
  276. package/build/lib/index.legacy.cjs.map +0 -1
  277. package/build/lib/index.legacy.js +0 -14
  278. package/build/lib/index.legacy.js.map +0 -1
  279. package/build/lib/infiniteQueryBehavior.cjs +0 -123
  280. package/build/lib/infiniteQueryBehavior.cjs.map +0 -1
  281. package/build/lib/infiniteQueryBehavior.d.ts +0 -12
  282. package/build/lib/infiniteQueryBehavior.d.ts.map +0 -1
  283. package/build/lib/infiniteQueryBehavior.js.map +0 -1
  284. package/build/lib/infiniteQueryBehavior.legacy.cjs +0 -125
  285. package/build/lib/infiniteQueryBehavior.legacy.cjs.map +0 -1
  286. package/build/lib/infiniteQueryBehavior.legacy.js +0 -121
  287. package/build/lib/infiniteQueryBehavior.legacy.js.map +0 -1
  288. package/build/lib/infiniteQueryObserver.cjs +0 -77
  289. package/build/lib/infiniteQueryObserver.cjs.map +0 -1
  290. package/build/lib/infiniteQueryObserver.d.ts.map +0 -1
  291. package/build/lib/infiniteQueryObserver.js.map +0 -1
  292. package/build/lib/infiniteQueryObserver.legacy.cjs +0 -78
  293. package/build/lib/infiniteQueryObserver.legacy.cjs.map +0 -1
  294. package/build/lib/infiniteQueryObserver.legacy.js.map +0 -1
  295. package/build/lib/mutation.cjs +0 -237
  296. package/build/lib/mutation.cjs.map +0 -1
  297. package/build/lib/mutation.d.ts +0 -64
  298. package/build/lib/mutation.d.ts.map +0 -1
  299. package/build/lib/mutation.js.map +0 -1
  300. package/build/lib/mutation.legacy.cjs +0 -262
  301. package/build/lib/mutation.legacy.cjs.map +0 -1
  302. package/build/lib/mutation.legacy.js +0 -259
  303. package/build/lib/mutation.legacy.js.map +0 -1
  304. package/build/lib/mutationCache.cjs +0 -85
  305. package/build/lib/mutationCache.cjs.map +0 -1
  306. package/build/lib/mutationCache.d.ts +0 -59
  307. package/build/lib/mutationCache.d.ts.map +0 -1
  308. package/build/lib/mutationCache.js +0 -83
  309. package/build/lib/mutationCache.js.map +0 -1
  310. package/build/lib/mutationCache.legacy.cjs +0 -98
  311. package/build/lib/mutationCache.legacy.cjs.map +0 -1
  312. package/build/lib/mutationCache.legacy.js +0 -96
  313. package/build/lib/mutationCache.legacy.js.map +0 -1
  314. package/build/lib/mutationObserver.cjs +0 -98
  315. package/build/lib/mutationObserver.cjs.map +0 -1
  316. package/build/lib/mutationObserver.d.ts +0 -19
  317. package/build/lib/mutationObserver.d.ts.map +0 -1
  318. package/build/lib/mutationObserver.js.map +0 -1
  319. package/build/lib/mutationObserver.legacy.cjs +0 -128
  320. package/build/lib/mutationObserver.legacy.cjs.map +0 -1
  321. package/build/lib/mutationObserver.legacy.js +0 -126
  322. package/build/lib/mutationObserver.legacy.js.map +0 -1
  323. package/build/lib/notifyManager.cjs +0 -92
  324. package/build/lib/notifyManager.cjs.map +0 -1
  325. package/build/lib/notifyManager.d.ts.map +0 -1
  326. package/build/lib/notifyManager.js.map +0 -1
  327. package/build/lib/notifyManager.legacy.cjs +0 -92
  328. package/build/lib/notifyManager.legacy.cjs.map +0 -1
  329. package/build/lib/notifyManager.legacy.js.map +0 -1
  330. package/build/lib/onlineManager.cjs +0 -63
  331. package/build/lib/onlineManager.cjs.map +0 -1
  332. package/build/lib/onlineManager.d.ts.map +0 -1
  333. package/build/lib/onlineManager.js.map +0 -1
  334. package/build/lib/onlineManager.legacy.cjs +0 -78
  335. package/build/lib/onlineManager.legacy.cjs.map +0 -1
  336. package/build/lib/onlineManager.legacy.js +0 -75
  337. package/build/lib/onlineManager.legacy.js.map +0 -1
  338. package/build/lib/queriesObserver.cjs +0 -161
  339. package/build/lib/queriesObserver.cjs.map +0 -1
  340. package/build/lib/queriesObserver.d.ts.map +0 -1
  341. package/build/lib/queriesObserver.js.map +0 -1
  342. package/build/lib/queriesObserver.legacy.cjs +0 -207
  343. package/build/lib/queriesObserver.legacy.cjs.map +0 -1
  344. package/build/lib/queriesObserver.legacy.js +0 -205
  345. package/build/lib/queriesObserver.legacy.js.map +0 -1
  346. package/build/lib/query.cjs.map +0 -1
  347. package/build/lib/query.d.ts +0 -115
  348. package/build/lib/query.d.ts.map +0 -1
  349. package/build/lib/query.js.map +0 -1
  350. package/build/lib/query.legacy.cjs +0 -471
  351. package/build/lib/query.legacy.cjs.map +0 -1
  352. package/build/lib/query.legacy.js +0 -469
  353. package/build/lib/query.legacy.js.map +0 -1
  354. package/build/lib/queryCache.cjs +0 -106
  355. package/build/lib/queryCache.cjs.map +0 -1
  356. package/build/lib/queryCache.d.ts +0 -71
  357. package/build/lib/queryCache.d.ts.map +0 -1
  358. package/build/lib/queryCache.js.map +0 -1
  359. package/build/lib/queryCache.legacy.cjs +0 -111
  360. package/build/lib/queryCache.legacy.cjs.map +0 -1
  361. package/build/lib/queryCache.legacy.js +0 -109
  362. package/build/lib/queryCache.legacy.js.map +0 -1
  363. package/build/lib/queryClient.cjs +0 -285
  364. package/build/lib/queryClient.cjs.map +0 -1
  365. package/build/lib/queryClient.d.ts +0 -41
  366. package/build/lib/queryClient.d.ts.map +0 -1
  367. package/build/lib/queryClient.js.map +0 -1
  368. package/build/lib/queryClient.legacy.cjs +0 -322
  369. package/build/lib/queryClient.legacy.cjs.map +0 -1
  370. package/build/lib/queryClient.legacy.js +0 -320
  371. package/build/lib/queryClient.legacy.js.map +0 -1
  372. package/build/lib/queryObserver.cjs.map +0 -1
  373. package/build/lib/queryObserver.d.ts +0 -35
  374. package/build/lib/queryObserver.d.ts.map +0 -1
  375. package/build/lib/queryObserver.js.map +0 -1
  376. package/build/lib/queryObserver.legacy.cjs +0 -561
  377. package/build/lib/queryObserver.legacy.cjs.map +0 -1
  378. package/build/lib/queryObserver.legacy.js +0 -559
  379. package/build/lib/queryObserver.legacy.js.map +0 -1
  380. package/build/lib/removable.cjs +0 -31
  381. package/build/lib/removable.cjs.map +0 -1
  382. package/build/lib/removable.d.ts.map +0 -1
  383. package/build/lib/removable.js.map +0 -1
  384. package/build/lib/removable.legacy.cjs +0 -38
  385. package/build/lib/removable.legacy.cjs.map +0 -1
  386. package/build/lib/removable.legacy.js +0 -36
  387. package/build/lib/removable.legacy.js.map +0 -1
  388. package/build/lib/retryer.cjs.map +0 -1
  389. package/build/lib/retryer.d.ts +0 -34
  390. package/build/lib/retryer.d.ts.map +0 -1
  391. package/build/lib/retryer.js.map +0 -1
  392. package/build/lib/retryer.legacy.cjs +0 -158
  393. package/build/lib/retryer.legacy.cjs.map +0 -1
  394. package/build/lib/retryer.legacy.js.map +0 -1
  395. package/build/lib/subscribable.cjs +0 -28
  396. package/build/lib/subscribable.cjs.map +0 -1
  397. package/build/lib/subscribable.d.ts.map +0 -1
  398. package/build/lib/subscribable.js.map +0 -1
  399. package/build/lib/subscribable.legacy.cjs +0 -28
  400. package/build/lib/subscribable.legacy.cjs.map +0 -1
  401. package/build/lib/subscribable.legacy.js.map +0 -1
  402. package/build/lib/tests/focusManager.test.d.ts +0 -2
  403. package/build/lib/tests/focusManager.test.d.ts.map +0 -1
  404. package/build/lib/tests/hydration.test.d.ts +0 -2
  405. package/build/lib/tests/hydration.test.d.ts.map +0 -1
  406. package/build/lib/tests/infiniteQueryBehavior.test.d.ts +0 -2
  407. package/build/lib/tests/infiniteQueryBehavior.test.d.ts.map +0 -1
  408. package/build/lib/tests/infiniteQueryObserver.test.d.ts +0 -2
  409. package/build/lib/tests/infiniteQueryObserver.test.d.ts.map +0 -1
  410. package/build/lib/tests/mutationCache.test.d.ts +0 -2
  411. package/build/lib/tests/mutationCache.test.d.ts.map +0 -1
  412. package/build/lib/tests/mutationObserver.test.d.ts +0 -2
  413. package/build/lib/tests/mutationObserver.test.d.ts.map +0 -1
  414. package/build/lib/tests/mutations.test.d.ts +0 -2
  415. package/build/lib/tests/mutations.test.d.ts.map +0 -1
  416. package/build/lib/tests/notifyManager.test.d.ts +0 -2
  417. package/build/lib/tests/notifyManager.test.d.ts.map +0 -1
  418. package/build/lib/tests/onlineManager.test.d.ts +0 -2
  419. package/build/lib/tests/onlineManager.test.d.ts.map +0 -1
  420. package/build/lib/tests/queriesObserver.test.d.ts +0 -2
  421. package/build/lib/tests/queriesObserver.test.d.ts.map +0 -1
  422. package/build/lib/tests/query.test.d.ts +0 -2
  423. package/build/lib/tests/query.test.d.ts.map +0 -1
  424. package/build/lib/tests/queryCache.test.d.ts +0 -2
  425. package/build/lib/tests/queryCache.test.d.ts.map +0 -1
  426. package/build/lib/tests/queryClient.test.d.ts +0 -2
  427. package/build/lib/tests/queryClient.test.d.ts.map +0 -1
  428. package/build/lib/tests/queryObserver.test.d.ts +0 -2
  429. package/build/lib/tests/queryObserver.test.d.ts.map +0 -1
  430. package/build/lib/tests/utils.d.ts +0 -17
  431. package/build/lib/tests/utils.d.ts.map +0 -1
  432. package/build/lib/tests/utils.test.d.ts +0 -2
  433. package/build/lib/tests/utils.test.d.ts.map +0 -1
  434. package/build/lib/types.d.ts +0 -437
  435. package/build/lib/types.d.ts.map +0 -1
  436. package/build/lib/utils.cjs.map +0 -1
  437. package/build/lib/utils.d.ts +0 -90
  438. package/build/lib/utils.d.ts.map +0 -1
  439. package/build/lib/utils.js.map +0 -1
  440. package/build/lib/utils.legacy.cjs.map +0 -1
  441. package/build/lib/utils.legacy.js.map +0 -1
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var mutationCache_exports = {};
20
+ __export(mutationCache_exports, {
21
+ MutationCache: () => MutationCache
22
+ });
23
+ module.exports = __toCommonJS(mutationCache_exports);
24
+ var import_notifyManager = require("./notifyManager");
25
+ var import_mutation = require("./mutation");
26
+ var import_utils = require("./utils");
27
+ var import_subscribable = require("./subscribable");
28
+ class MutationCache extends import_subscribable.Subscribable {
29
+ constructor(config = {}) {
30
+ super();
31
+ this.config = config;
32
+ this.#mutations = [];
33
+ this.#mutationId = 0;
34
+ }
35
+ #mutations;
36
+ #mutationId;
37
+ #resuming;
38
+ build(client, options, state) {
39
+ const mutation = new import_mutation.Mutation({
40
+ mutationCache: this,
41
+ mutationId: ++this.#mutationId,
42
+ options: client.defaultMutationOptions(options),
43
+ state
44
+ });
45
+ this.add(mutation);
46
+ return mutation;
47
+ }
48
+ add(mutation) {
49
+ this.#mutations.push(mutation);
50
+ this.notify({ type: "added", mutation });
51
+ }
52
+ remove(mutation) {
53
+ this.#mutations = this.#mutations.filter((x) => x !== mutation);
54
+ this.notify({ type: "removed", mutation });
55
+ }
56
+ clear() {
57
+ import_notifyManager.notifyManager.batch(() => {
58
+ this.#mutations.forEach((mutation) => {
59
+ this.remove(mutation);
60
+ });
61
+ });
62
+ }
63
+ getAll() {
64
+ return this.#mutations;
65
+ }
66
+ find(filters) {
67
+ const defaultedFilters = { exact: true, ...filters };
68
+ return this.#mutations.find(
69
+ (mutation) => (0, import_utils.matchMutation)(defaultedFilters, mutation)
70
+ );
71
+ }
72
+ findAll(filters = {}) {
73
+ return this.#mutations.filter(
74
+ (mutation) => (0, import_utils.matchMutation)(filters, mutation)
75
+ );
76
+ }
77
+ notify(event) {
78
+ import_notifyManager.notifyManager.batch(() => {
79
+ this.listeners.forEach((listener) => {
80
+ listener(event);
81
+ });
82
+ });
83
+ }
84
+ resumePausedMutations() {
85
+ this.#resuming = (this.#resuming ?? Promise.resolve()).then(() => {
86
+ const pausedMutations = this.#mutations.filter((x) => x.state.isPaused);
87
+ return import_notifyManager.notifyManager.batch(
88
+ () => pausedMutations.reduce(
89
+ (promise, mutation) => promise.then(() => mutation.continue().catch(import_utils.noop)),
90
+ Promise.resolve()
91
+ )
92
+ );
93
+ }).then(() => {
94
+ this.#resuming = void 0;
95
+ });
96
+ return this.#resuming;
97
+ }
98
+ }
99
+ // Annotate the CommonJS export names for ESM import in node:
100
+ 0 && (module.exports = {
101
+ MutationCache
102
+ });
103
+ //# sourceMappingURL=mutationCache.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/mutationCache.ts"],"sourcesContent":["import { notifyManager } from './notifyManager'\nimport { Mutation } from './mutation'\nimport { matchMutation, noop } from './utils'\nimport { Subscribable } from './subscribable'\nimport type { MutationObserver } from './mutationObserver'\nimport type { DefaultError, MutationOptions, NotifyEvent } from './types'\nimport type { QueryClient } from './queryClient'\nimport type { Action, MutationState } from './mutation'\nimport type { MutationFilters } from './utils'\n\n// TYPES\n\ninterface MutationCacheConfig {\n onError?: (\n error: DefaultError,\n variables: unknown,\n context: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n onSuccess?: (\n data: unknown,\n variables: unknown,\n context: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n onMutate?: (\n variables: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n onSettled?: (\n data: unknown | undefined,\n error: DefaultError | null,\n variables: unknown,\n context: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n}\n\ninterface NotifyEventMutationAdded extends NotifyEvent {\n type: 'added'\n mutation: Mutation<any, any, any, any>\n}\ninterface NotifyEventMutationRemoved extends NotifyEvent {\n type: 'removed'\n mutation: Mutation<any, any, any, any>\n}\n\ninterface NotifyEventMutationObserverAdded extends NotifyEvent {\n type: 'observerAdded'\n mutation: Mutation<any, any, any, any>\n observer: MutationObserver<any, any, any>\n}\n\ninterface NotifyEventMutationObserverRemoved extends NotifyEvent {\n type: 'observerRemoved'\n mutation: Mutation<any, any, any, any>\n observer: MutationObserver<any, any, any>\n}\n\ninterface NotifyEventMutationObserverOptionsUpdated extends NotifyEvent {\n type: 'observerOptionsUpdated'\n mutation?: Mutation<any, any, any, any>\n observer: MutationObserver<any, any, any, any>\n}\n\ninterface NotifyEventMutationUpdated extends NotifyEvent {\n type: 'updated'\n mutation: Mutation<any, any, any, any>\n action: Action<any, any, any, any>\n}\n\ntype MutationCacheNotifyEvent =\n | NotifyEventMutationAdded\n | NotifyEventMutationRemoved\n | NotifyEventMutationObserverAdded\n | NotifyEventMutationObserverRemoved\n | NotifyEventMutationObserverOptionsUpdated\n | NotifyEventMutationUpdated\n\ntype MutationCacheListener = (event: MutationCacheNotifyEvent) => void\n\n// CLASS\n\nexport class MutationCache extends Subscribable<MutationCacheListener> {\n #mutations: Mutation<any, any, any, any>[]\n #mutationId: number\n #resuming: Promise<unknown> | undefined\n\n constructor(public config: MutationCacheConfig = {}) {\n super()\n this.#mutations = []\n this.#mutationId = 0\n }\n\n build<TData, TError, TVariables, TContext>(\n client: QueryClient,\n options: MutationOptions<TData, TError, TVariables, TContext>,\n state?: MutationState<TData, TError, TVariables, TContext>,\n ): Mutation<TData, TError, TVariables, TContext> {\n const mutation = new Mutation({\n mutationCache: this,\n mutationId: ++this.#mutationId,\n options: client.defaultMutationOptions(options),\n state,\n })\n\n this.add(mutation)\n\n return mutation\n }\n\n add(mutation: Mutation<any, any, any, any>): void {\n this.#mutations.push(mutation)\n this.notify({ type: 'added', mutation })\n }\n\n remove(mutation: Mutation<any, any, any, any>): void {\n this.#mutations = this.#mutations.filter((x) => x !== mutation)\n this.notify({ type: 'removed', mutation })\n }\n\n clear(): void {\n notifyManager.batch(() => {\n this.#mutations.forEach((mutation) => {\n this.remove(mutation)\n })\n })\n }\n\n getAll(): Mutation[] {\n return this.#mutations\n }\n\n find<\n TData = unknown,\n TError = DefaultError,\n TVariables = any,\n TContext = unknown,\n >(\n filters: MutationFilters,\n ): Mutation<TData, TError, TVariables, TContext> | undefined {\n const defaultedFilters = { exact: true, ...filters }\n\n return this.#mutations.find((mutation) =>\n matchMutation(defaultedFilters, mutation),\n )\n }\n\n findAll(filters: MutationFilters = {}): Mutation[] {\n return this.#mutations.filter((mutation) =>\n matchMutation(filters, mutation),\n )\n }\n\n notify(event: MutationCacheNotifyEvent) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event)\n })\n })\n }\n\n resumePausedMutations(): Promise<unknown> {\n this.#resuming = (this.#resuming ?? Promise.resolve())\n .then(() => {\n const pausedMutations = this.#mutations.filter((x) => x.state.isPaused)\n return notifyManager.batch(() =>\n pausedMutations.reduce(\n (promise, mutation) =>\n promise.then(() => mutation.continue().catch(noop)),\n Promise.resolve() as Promise<unknown>,\n ),\n )\n })\n .then(() => {\n this.#resuming = undefined\n })\n\n return this.#resuming\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAA8B;AAC9B,sBAAyB;AACzB,mBAAoC;AACpC,0BAA6B;AAgFtB,MAAM,sBAAsB,iCAAoC;AAAA,EAKrE,YAAmB,SAA8B,CAAC,GAAG;AACnD,UAAM;AADW;AAEjB,SAAK,aAAa,CAAC;AACnB,SAAK,cAAc;AAAA,EACrB;AAAA,EARA;AAAA,EACA;AAAA,EACA;AAAA,EAQA,MACE,QACA,SACA,OAC+C;AAC/C,UAAM,WAAW,IAAI,yBAAS;AAAA,MAC5B,eAAe;AAAA,MACf,YAAY,EAAE,KAAK;AAAA,MACnB,SAAS,OAAO,uBAAuB,OAAO;AAAA,MAC9C;AAAA,IACF,CAAC;AAED,SAAK,IAAI,QAAQ;AAEjB,WAAO;AAAA,EACT;AAAA,EAEA,IAAI,UAA8C;AAChD,SAAK,WAAW,KAAK,QAAQ;AAC7B,SAAK,OAAO,EAAE,MAAM,SAAS,SAAS,CAAC;AAAA,EACzC;AAAA,EAEA,OAAO,UAA8C;AACnD,SAAK,aAAa,KAAK,WAAW,OAAO,CAAC,MAAM,MAAM,QAAQ;AAC9D,SAAK,OAAO,EAAE,MAAM,WAAW,SAAS,CAAC;AAAA,EAC3C;AAAA,EAEA,QAAc;AACZ,uCAAc,MAAM,MAAM;AACxB,WAAK,WAAW,QAAQ,CAAC,aAAa;AACpC,aAAK,OAAO,QAAQ;AAAA,MACtB,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAAA,EAEA,SAAqB;AACnB,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,KAME,SAC2D;AAC3D,UAAM,mBAAmB,EAAE,OAAO,MAAM,GAAG,QAAQ;AAEnD,WAAO,KAAK,WAAW;AAAA,MAAK,CAAC,iBAC3B,4BAAc,kBAAkB,QAAQ;AAAA,IAC1C;AAAA,EACF;AAAA,EAEA,QAAQ,UAA2B,CAAC,GAAe;AACjD,WAAO,KAAK,WAAW;AAAA,MAAO,CAAC,iBAC7B,4BAAc,SAAS,QAAQ;AAAA,IACjC;AAAA,EACF;AAAA,EAEA,OAAO,OAAiC;AACtC,uCAAc,MAAM,MAAM;AACxB,WAAK,UAAU,QAAQ,CAAC,aAAa;AACnC,iBAAS,KAAK;AAAA,MAChB,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAAA,EAEA,wBAA0C;AACxC,SAAK,aAAa,KAAK,aAAa,QAAQ,QAAQ,GACjD,KAAK,MAAM;AACV,YAAM,kBAAkB,KAAK,WAAW,OAAO,CAAC,MAAM,EAAE,MAAM,QAAQ;AACtE,aAAO,mCAAc;AAAA,QAAM,MACzB,gBAAgB;AAAA,UACd,CAAC,SAAS,aACR,QAAQ,KAAK,MAAM,SAAS,SAAS,EAAE,MAAM,iBAAI,CAAC;AAAA,UACpD,QAAQ,QAAQ;AAAA,QAClB;AAAA,MACF;AAAA,IACF,CAAC,EACA,KAAK,MAAM;AACV,WAAK,YAAY;AAAA,IACnB,CAAC;AAEH,WAAO,KAAK;AAAA,EACd;AACF;","names":[]}
@@ -0,0 +1,3 @@
1
+ export { M as MutationCache } from './queryClient-4ba6364e.js';
2
+ import './subscribable.cjs';
3
+ import './removable.cjs';
@@ -0,0 +1,3 @@
1
+ export { M as MutationCache } from './queryClient-d615ed9f.js';
2
+ import './subscribable.js';
3
+ import './removable.js';
@@ -0,0 +1,79 @@
1
+ import { notifyManager } from "./notifyManager";
2
+ import { Mutation } from "./mutation";
3
+ import { matchMutation, noop } from "./utils";
4
+ import { Subscribable } from "./subscribable";
5
+ class MutationCache extends Subscribable {
6
+ constructor(config = {}) {
7
+ super();
8
+ this.config = config;
9
+ this.#mutations = [];
10
+ this.#mutationId = 0;
11
+ }
12
+ #mutations;
13
+ #mutationId;
14
+ #resuming;
15
+ build(client, options, state) {
16
+ const mutation = new Mutation({
17
+ mutationCache: this,
18
+ mutationId: ++this.#mutationId,
19
+ options: client.defaultMutationOptions(options),
20
+ state
21
+ });
22
+ this.add(mutation);
23
+ return mutation;
24
+ }
25
+ add(mutation) {
26
+ this.#mutations.push(mutation);
27
+ this.notify({ type: "added", mutation });
28
+ }
29
+ remove(mutation) {
30
+ this.#mutations = this.#mutations.filter((x) => x !== mutation);
31
+ this.notify({ type: "removed", mutation });
32
+ }
33
+ clear() {
34
+ notifyManager.batch(() => {
35
+ this.#mutations.forEach((mutation) => {
36
+ this.remove(mutation);
37
+ });
38
+ });
39
+ }
40
+ getAll() {
41
+ return this.#mutations;
42
+ }
43
+ find(filters) {
44
+ const defaultedFilters = { exact: true, ...filters };
45
+ return this.#mutations.find(
46
+ (mutation) => matchMutation(defaultedFilters, mutation)
47
+ );
48
+ }
49
+ findAll(filters = {}) {
50
+ return this.#mutations.filter(
51
+ (mutation) => matchMutation(filters, mutation)
52
+ );
53
+ }
54
+ notify(event) {
55
+ notifyManager.batch(() => {
56
+ this.listeners.forEach((listener) => {
57
+ listener(event);
58
+ });
59
+ });
60
+ }
61
+ resumePausedMutations() {
62
+ this.#resuming = (this.#resuming ?? Promise.resolve()).then(() => {
63
+ const pausedMutations = this.#mutations.filter((x) => x.state.isPaused);
64
+ return notifyManager.batch(
65
+ () => pausedMutations.reduce(
66
+ (promise, mutation) => promise.then(() => mutation.continue().catch(noop)),
67
+ Promise.resolve()
68
+ )
69
+ );
70
+ }).then(() => {
71
+ this.#resuming = void 0;
72
+ });
73
+ return this.#resuming;
74
+ }
75
+ }
76
+ export {
77
+ MutationCache
78
+ };
79
+ //# sourceMappingURL=mutationCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/mutationCache.ts"],"sourcesContent":["import { notifyManager } from './notifyManager'\nimport { Mutation } from './mutation'\nimport { matchMutation, noop } from './utils'\nimport { Subscribable } from './subscribable'\nimport type { MutationObserver } from './mutationObserver'\nimport type { DefaultError, MutationOptions, NotifyEvent } from './types'\nimport type { QueryClient } from './queryClient'\nimport type { Action, MutationState } from './mutation'\nimport type { MutationFilters } from './utils'\n\n// TYPES\n\ninterface MutationCacheConfig {\n onError?: (\n error: DefaultError,\n variables: unknown,\n context: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n onSuccess?: (\n data: unknown,\n variables: unknown,\n context: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n onMutate?: (\n variables: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n onSettled?: (\n data: unknown | undefined,\n error: DefaultError | null,\n variables: unknown,\n context: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n}\n\ninterface NotifyEventMutationAdded extends NotifyEvent {\n type: 'added'\n mutation: Mutation<any, any, any, any>\n}\ninterface NotifyEventMutationRemoved extends NotifyEvent {\n type: 'removed'\n mutation: Mutation<any, any, any, any>\n}\n\ninterface NotifyEventMutationObserverAdded extends NotifyEvent {\n type: 'observerAdded'\n mutation: Mutation<any, any, any, any>\n observer: MutationObserver<any, any, any>\n}\n\ninterface NotifyEventMutationObserverRemoved extends NotifyEvent {\n type: 'observerRemoved'\n mutation: Mutation<any, any, any, any>\n observer: MutationObserver<any, any, any>\n}\n\ninterface NotifyEventMutationObserverOptionsUpdated extends NotifyEvent {\n type: 'observerOptionsUpdated'\n mutation?: Mutation<any, any, any, any>\n observer: MutationObserver<any, any, any, any>\n}\n\ninterface NotifyEventMutationUpdated extends NotifyEvent {\n type: 'updated'\n mutation: Mutation<any, any, any, any>\n action: Action<any, any, any, any>\n}\n\ntype MutationCacheNotifyEvent =\n | NotifyEventMutationAdded\n | NotifyEventMutationRemoved\n | NotifyEventMutationObserverAdded\n | NotifyEventMutationObserverRemoved\n | NotifyEventMutationObserverOptionsUpdated\n | NotifyEventMutationUpdated\n\ntype MutationCacheListener = (event: MutationCacheNotifyEvent) => void\n\n// CLASS\n\nexport class MutationCache extends Subscribable<MutationCacheListener> {\n #mutations: Mutation<any, any, any, any>[]\n #mutationId: number\n #resuming: Promise<unknown> | undefined\n\n constructor(public config: MutationCacheConfig = {}) {\n super()\n this.#mutations = []\n this.#mutationId = 0\n }\n\n build<TData, TError, TVariables, TContext>(\n client: QueryClient,\n options: MutationOptions<TData, TError, TVariables, TContext>,\n state?: MutationState<TData, TError, TVariables, TContext>,\n ): Mutation<TData, TError, TVariables, TContext> {\n const mutation = new Mutation({\n mutationCache: this,\n mutationId: ++this.#mutationId,\n options: client.defaultMutationOptions(options),\n state,\n })\n\n this.add(mutation)\n\n return mutation\n }\n\n add(mutation: Mutation<any, any, any, any>): void {\n this.#mutations.push(mutation)\n this.notify({ type: 'added', mutation })\n }\n\n remove(mutation: Mutation<any, any, any, any>): void {\n this.#mutations = this.#mutations.filter((x) => x !== mutation)\n this.notify({ type: 'removed', mutation })\n }\n\n clear(): void {\n notifyManager.batch(() => {\n this.#mutations.forEach((mutation) => {\n this.remove(mutation)\n })\n })\n }\n\n getAll(): Mutation[] {\n return this.#mutations\n }\n\n find<\n TData = unknown,\n TError = DefaultError,\n TVariables = any,\n TContext = unknown,\n >(\n filters: MutationFilters,\n ): Mutation<TData, TError, TVariables, TContext> | undefined {\n const defaultedFilters = { exact: true, ...filters }\n\n return this.#mutations.find((mutation) =>\n matchMutation(defaultedFilters, mutation),\n )\n }\n\n findAll(filters: MutationFilters = {}): Mutation[] {\n return this.#mutations.filter((mutation) =>\n matchMutation(filters, mutation),\n )\n }\n\n notify(event: MutationCacheNotifyEvent) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event)\n })\n })\n }\n\n resumePausedMutations(): Promise<unknown> {\n this.#resuming = (this.#resuming ?? Promise.resolve())\n .then(() => {\n const pausedMutations = this.#mutations.filter((x) => x.state.isPaused)\n return notifyManager.batch(() =>\n pausedMutations.reduce(\n (promise, mutation) =>\n promise.then(() => mutation.continue().catch(noop)),\n Promise.resolve() as Promise<unknown>,\n ),\n )\n })\n .then(() => {\n this.#resuming = undefined\n })\n\n return this.#resuming\n }\n}\n"],"mappings":"AAAA,SAAS,qBAAqB;AAC9B,SAAS,gBAAgB;AACzB,SAAS,eAAe,YAAY;AACpC,SAAS,oBAAoB;AAgFtB,MAAM,sBAAsB,aAAoC;AAAA,EAKrE,YAAmB,SAA8B,CAAC,GAAG;AACnD,UAAM;AADW;AAEjB,SAAK,aAAa,CAAC;AACnB,SAAK,cAAc;AAAA,EACrB;AAAA,EARA;AAAA,EACA;AAAA,EACA;AAAA,EAQA,MACE,QACA,SACA,OAC+C;AAC/C,UAAM,WAAW,IAAI,SAAS;AAAA,MAC5B,eAAe;AAAA,MACf,YAAY,EAAE,KAAK;AAAA,MACnB,SAAS,OAAO,uBAAuB,OAAO;AAAA,MAC9C;AAAA,IACF,CAAC;AAED,SAAK,IAAI,QAAQ;AAEjB,WAAO;AAAA,EACT;AAAA,EAEA,IAAI,UAA8C;AAChD,SAAK,WAAW,KAAK,QAAQ;AAC7B,SAAK,OAAO,EAAE,MAAM,SAAS,SAAS,CAAC;AAAA,EACzC;AAAA,EAEA,OAAO,UAA8C;AACnD,SAAK,aAAa,KAAK,WAAW,OAAO,CAAC,MAAM,MAAM,QAAQ;AAC9D,SAAK,OAAO,EAAE,MAAM,WAAW,SAAS,CAAC;AAAA,EAC3C;AAAA,EAEA,QAAc;AACZ,kBAAc,MAAM,MAAM;AACxB,WAAK,WAAW,QAAQ,CAAC,aAAa;AACpC,aAAK,OAAO,QAAQ;AAAA,MACtB,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAAA,EAEA,SAAqB;AACnB,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,KAME,SAC2D;AAC3D,UAAM,mBAAmB,EAAE,OAAO,MAAM,GAAG,QAAQ;AAEnD,WAAO,KAAK,WAAW;AAAA,MAAK,CAAC,aAC3B,cAAc,kBAAkB,QAAQ;AAAA,IAC1C;AAAA,EACF;AAAA,EAEA,QAAQ,UAA2B,CAAC,GAAe;AACjD,WAAO,KAAK,WAAW;AAAA,MAAO,CAAC,aAC7B,cAAc,SAAS,QAAQ;AAAA,IACjC;AAAA,EACF;AAAA,EAEA,OAAO,OAAiC;AACtC,kBAAc,MAAM,MAAM;AACxB,WAAK,UAAU,QAAQ,CAAC,aAAa;AACnC,iBAAS,KAAK;AAAA,MAChB,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAAA,EAEA,wBAA0C;AACxC,SAAK,aAAa,KAAK,aAAa,QAAQ,QAAQ,GACjD,KAAK,MAAM;AACV,YAAM,kBAAkB,KAAK,WAAW,OAAO,CAAC,MAAM,EAAE,MAAM,QAAQ;AACtE,aAAO,cAAc;AAAA,QAAM,MACzB,gBAAgB;AAAA,UACd,CAAC,SAAS,aACR,QAAQ,KAAK,MAAM,SAAS,SAAS,EAAE,MAAM,IAAI,CAAC;AAAA,UACpD,QAAQ,QAAQ;AAAA,QAClB;AAAA,MACF;AAAA,IACF,CAAC,EACA,KAAK,MAAM;AACV,WAAK,YAAY;AAAA,IACnB,CAAC;AAEH,WAAO,KAAK;AAAA,EACd;AACF;","names":[]}
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var mutationObserver_exports = {};
20
+ __export(mutationObserver_exports, {
21
+ MutationObserver: () => MutationObserver
22
+ });
23
+ module.exports = __toCommonJS(mutationObserver_exports);
24
+ var import_mutation = require("./mutation");
25
+ var import_notifyManager = require("./notifyManager");
26
+ var import_subscribable = require("./subscribable");
27
+ var import_utils = require("./utils");
28
+ class MutationObserver extends import_subscribable.Subscribable {
29
+ constructor(client, options) {
30
+ super();
31
+ this.#currentResult = void 0;
32
+ this.#client = client;
33
+ this.setOptions(options);
34
+ this.bindMethods();
35
+ this.#updateResult();
36
+ }
37
+ #client;
38
+ #currentResult;
39
+ #currentMutation;
40
+ #mutateOptions;
41
+ bindMethods() {
42
+ this.mutate = this.mutate.bind(this);
43
+ this.reset = this.reset.bind(this);
44
+ }
45
+ setOptions(options) {
46
+ const prevOptions = this.options;
47
+ this.options = this.#client.defaultMutationOptions(options);
48
+ if (!(0, import_utils.shallowEqualObjects)(prevOptions, this.options)) {
49
+ this.#client.getMutationCache().notify({
50
+ type: "observerOptionsUpdated",
51
+ mutation: this.#currentMutation,
52
+ observer: this
53
+ });
54
+ }
55
+ this.#currentMutation?.setOptions(this.options);
56
+ }
57
+ onUnsubscribe() {
58
+ if (!this.hasListeners()) {
59
+ this.#currentMutation?.removeObserver(this);
60
+ }
61
+ }
62
+ onMutationUpdate(action) {
63
+ this.#updateResult();
64
+ this.#notify(action);
65
+ }
66
+ getCurrentResult() {
67
+ return this.#currentResult;
68
+ }
69
+ reset() {
70
+ this.#currentMutation = void 0;
71
+ this.#updateResult();
72
+ this.#notify();
73
+ }
74
+ mutate(variables, options) {
75
+ this.#mutateOptions = options;
76
+ this.#currentMutation?.removeObserver(this);
77
+ this.#currentMutation = this.#client.getMutationCache().build(this.#client, this.options);
78
+ this.#currentMutation.addObserver(this);
79
+ return this.#currentMutation.execute(variables);
80
+ }
81
+ #updateResult() {
82
+ const state = this.#currentMutation?.state ?? (0, import_mutation.getDefaultState)();
83
+ this.#currentResult = {
84
+ ...state,
85
+ isPending: state.status === "pending",
86
+ isSuccess: state.status === "success",
87
+ isError: state.status === "error",
88
+ isIdle: state.status === "idle",
89
+ mutate: this.mutate,
90
+ reset: this.reset
91
+ };
92
+ }
93
+ #notify(action) {
94
+ import_notifyManager.notifyManager.batch(() => {
95
+ if (this.#mutateOptions && this.hasListeners()) {
96
+ if (action?.type === "success") {
97
+ this.#mutateOptions.onSuccess?.(
98
+ action.data,
99
+ this.#currentResult.variables,
100
+ this.#currentResult.context
101
+ );
102
+ this.#mutateOptions.onSettled?.(
103
+ action.data,
104
+ null,
105
+ this.#currentResult.variables,
106
+ this.#currentResult.context
107
+ );
108
+ } else if (action?.type === "error") {
109
+ this.#mutateOptions.onError?.(
110
+ action.error,
111
+ this.#currentResult.variables,
112
+ this.#currentResult.context
113
+ );
114
+ this.#mutateOptions.onSettled?.(
115
+ void 0,
116
+ action.error,
117
+ this.#currentResult.variables,
118
+ this.#currentResult.context
119
+ );
120
+ }
121
+ }
122
+ this.listeners.forEach((listener) => {
123
+ listener(this.#currentResult);
124
+ });
125
+ });
126
+ }
127
+ }
128
+ // Annotate the CommonJS export names for ESM import in node:
129
+ 0 && (module.exports = {
130
+ MutationObserver
131
+ });
132
+ //# sourceMappingURL=mutationObserver.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/mutationObserver.ts"],"sourcesContent":["import { getDefaultState } from './mutation'\nimport { notifyManager } from './notifyManager'\nimport { Subscribable } from './subscribable'\nimport { shallowEqualObjects } from './utils'\nimport type { QueryClient } from './queryClient'\nimport type {\n DefaultError,\n MutateOptions,\n MutationObserverOptions,\n MutationObserverResult,\n} from './types'\nimport type { Action, Mutation } from './mutation'\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"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAgC;AAChC,2BAA8B;AAC9B,0BAA6B;AAC7B,mBAAoC;AAkB7B,MAAM,yBAKH,iCAER;AAAA,EASA,YACE,QACA,SACA;AACA,UAAM;AATR,0BACE;AAUA,SAAK,UAAU;AACf,SAAK,WAAW,OAAO;AACvB,SAAK,YAAY;AACjB,SAAK,cAAc;AAAA,EACrB;AAAA,EAhBA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EAcU,cAAoB;AAC5B,SAAK,SAAS,KAAK,OAAO,KAAK,IAAI;AACnC,SAAK,QAAQ,KAAK,MAAM,KAAK,IAAI;AAAA,EACnC;AAAA,EAEA,WACE,SACA;AACA,UAAM,cAAc,KAAK;AACzB,SAAK,UAAU,KAAK,QAAQ,uBAAuB,OAAO;AAC1D,QAAI,KAAC,kCAAoB,aAAa,KAAK,OAAO,GAAG;AACnD,WAAK,QAAQ,iBAAiB,EAAE,OAAO;AAAA,QACrC,MAAM;AAAA,QACN,UAAU,KAAK;AAAA,QACf,UAAU;AAAA,MACZ,CAAC;AAAA,IACH;AACA,SAAK,kBAAkB,WAAW,KAAK,OAAO;AAAA,EAChD;AAAA,EAEU,gBAAsB;AAC9B,QAAI,CAAC,KAAK,aAAa,GAAG;AACxB,WAAK,kBAAkB,eAAe,IAAI;AAAA,IAC5C;AAAA,EACF;AAAA,EAEA,iBAAiB,QAA2D;AAC1E,SAAK,cAAc;AAEnB,SAAK,QAAQ,MAAM;AAAA,EACrB;AAAA,EAEA,mBAKE;AACA,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,QAAc;AACZ,SAAK,mBAAmB;AACxB,SAAK,cAAc;AACnB,SAAK,QAAQ;AAAA,EACf;AAAA,EAEA,OACE,WACA,SACgB;AAChB,SAAK,iBAAiB;AAEtB,SAAK,kBAAkB,eAAe,IAAI;AAE1C,SAAK,mBAAmB,KAAK,QAC1B,iBAAiB,EACjB,MAAM,KAAK,SAAS,KAAK,OAAO;AAEnC,SAAK,iBAAiB,YAAY,IAAI;AAEtC,WAAO,KAAK,iBAAiB,QAAQ,SAAS;AAAA,EAChD;AAAA,EAEA,gBAAsB;AACpB,UAAM,QACJ,KAAK,kBAAkB,aACvB,iCAAqD;AAEvD,SAAK,iBAAiB;AAAA,MACpB,GAAG;AAAA,MACH,WAAW,MAAM,WAAW;AAAA,MAC5B,WAAW,MAAM,WAAW;AAAA,MAC5B,SAAS,MAAM,WAAW;AAAA,MAC1B,QAAQ,MAAM,WAAW;AAAA,MACzB,QAAQ,KAAK;AAAA,MACb,OAAO,KAAK;AAAA,IACd;AAAA,EACF;AAAA,EAEA,QAAQ,QAA4D;AAClE,uCAAc,MAAM,MAAM;AAExB,UAAI,KAAK,kBAAkB,KAAK,aAAa,GAAG;AAC9C,YAAI,QAAQ,SAAS,WAAW;AAC9B,eAAK,eAAe;AAAA,YAClB,OAAO;AAAA,YACP,KAAK,eAAe;AAAA,YACpB,KAAK,eAAe;AAAA,UACtB;AACA,eAAK,eAAe;AAAA,YAClB,OAAO;AAAA,YACP;AAAA,YACA,KAAK,eAAe;AAAA,YACpB,KAAK,eAAe;AAAA,UACtB;AAAA,QACF,WAAW,QAAQ,SAAS,SAAS;AACnC,eAAK,eAAe;AAAA,YAClB,OAAO;AAAA,YACP,KAAK,eAAe;AAAA,YACpB,KAAK,eAAe;AAAA,UACtB;AACA,eAAK,eAAe;AAAA,YAClB;AAAA,YACA,OAAO;AAAA,YACP,KAAK,eAAe;AAAA,YACpB,KAAK,eAAe;AAAA,UACtB;AAAA,QACF;AAAA,MACF;AAGA,WAAK,UAAU,QAAQ,CAAC,aAAa;AACnC,iBAAS,KAAK,cAAc;AAAA,MAC9B,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF;","names":[]}
@@ -0,0 +1,3 @@
1
+ import './subscribable.cjs';
2
+ export { d as MutationObserver } from './queryClient-4ba6364e.js';
3
+ import './removable.cjs';
@@ -0,0 +1,3 @@
1
+ import './subscribable.js';
2
+ export { d as MutationObserver } from './queryClient-d615ed9f.js';
3
+ import './removable.js';
@@ -1,24 +1,20 @@
1
- import { getDefaultState } from './mutation.js';
2
- import { notifyManager } from './notifyManager.js';
3
- import { Subscribable } from './subscribable.js';
4
- import { shallowEqualObjects } from './utils.js';
5
-
6
- // TYPES
7
-
8
- // CLASS
9
-
1
+ import { getDefaultState } from "./mutation";
2
+ import { notifyManager } from "./notifyManager";
3
+ import { Subscribable } from "./subscribable";
4
+ import { shallowEqualObjects } from "./utils";
10
5
  class MutationObserver extends Subscribable {
11
- #client;
12
- #currentResult = undefined;
13
- #currentMutation;
14
- #mutateOptions;
15
6
  constructor(client, options) {
16
7
  super();
8
+ this.#currentResult = void 0;
17
9
  this.#client = client;
18
10
  this.setOptions(options);
19
11
  this.bindMethods();
20
12
  this.#updateResult();
21
13
  }
14
+ #client;
15
+ #currentResult;
16
+ #currentMutation;
17
+ #mutateOptions;
22
18
  bindMethods() {
23
19
  this.mutate = this.mutate.bind(this);
24
20
  this.reset = this.reset.bind(this);
@@ -28,7 +24,7 @@ class MutationObserver extends Subscribable {
28
24
  this.options = this.#client.defaultMutationOptions(options);
29
25
  if (!shallowEqualObjects(prevOptions, this.options)) {
30
26
  this.#client.getMutationCache().notify({
31
- type: 'observerOptionsUpdated',
27
+ type: "observerOptionsUpdated",
32
28
  mutation: this.#currentMutation,
33
29
  observer: this
34
30
  });
@@ -48,7 +44,7 @@ class MutationObserver extends Subscribable {
48
44
  return this.#currentResult;
49
45
  }
50
46
  reset() {
51
- this.#currentMutation = undefined;
47
+ this.#currentMutation = void 0;
52
48
  this.#updateResult();
53
49
  this.#notify();
54
50
  }
@@ -63,34 +59,50 @@ class MutationObserver extends Subscribable {
63
59
  const state = this.#currentMutation?.state ?? getDefaultState();
64
60
  this.#currentResult = {
65
61
  ...state,
66
- isPending: state.status === 'pending',
67
- isSuccess: state.status === 'success',
68
- isError: state.status === 'error',
69
- isIdle: state.status === 'idle',
62
+ isPending: state.status === "pending",
63
+ isSuccess: state.status === "success",
64
+ isError: state.status === "error",
65
+ isIdle: state.status === "idle",
70
66
  mutate: this.mutate,
71
67
  reset: this.reset
72
68
  };
73
69
  }
74
70
  #notify(action) {
75
71
  notifyManager.batch(() => {
76
- // First trigger the mutate callbacks
77
72
  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);
73
+ if (action?.type === "success") {
74
+ this.#mutateOptions.onSuccess?.(
75
+ action.data,
76
+ this.#currentResult.variables,
77
+ this.#currentResult.context
78
+ );
79
+ this.#mutateOptions.onSettled?.(
80
+ action.data,
81
+ null,
82
+ this.#currentResult.variables,
83
+ this.#currentResult.context
84
+ );
85
+ } else if (action?.type === "error") {
86
+ this.#mutateOptions.onError?.(
87
+ action.error,
88
+ this.#currentResult.variables,
89
+ this.#currentResult.context
90
+ );
91
+ this.#mutateOptions.onSettled?.(
92
+ void 0,
93
+ action.error,
94
+ this.#currentResult.variables,
95
+ this.#currentResult.context
96
+ );
84
97
  }
85
98
  }
86
-
87
- // Then trigger the listeners
88
- this.listeners.forEach(listener => {
99
+ this.listeners.forEach((listener) => {
89
100
  listener(this.#currentResult);
90
101
  });
91
102
  });
92
103
  }
93
104
  }
94
-
95
- export { MutationObserver };
96
- //# sourceMappingURL=mutationObserver.js.map
105
+ export {
106
+ MutationObserver
107
+ };
108
+ //# sourceMappingURL=mutationObserver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/mutationObserver.ts"],"sourcesContent":["import { getDefaultState } from './mutation'\nimport { notifyManager } from './notifyManager'\nimport { Subscribable } from './subscribable'\nimport { shallowEqualObjects } from './utils'\nimport type { QueryClient } from './queryClient'\nimport type {\n DefaultError,\n MutateOptions,\n MutationObserverOptions,\n MutationObserverResult,\n} from './types'\nimport type { Action, Mutation } from './mutation'\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"],"mappings":"AAAA,SAAS,uBAAuB;AAChC,SAAS,qBAAqB;AAC9B,SAAS,oBAAoB;AAC7B,SAAS,2BAA2B;AAkB7B,MAAM,yBAKH,aAER;AAAA,EASA,YACE,QACA,SACA;AACA,UAAM;AATR,0BACE;AAUA,SAAK,UAAU;AACf,SAAK,WAAW,OAAO;AACvB,SAAK,YAAY;AACjB,SAAK,cAAc;AAAA,EACrB;AAAA,EAhBA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EAcU,cAAoB;AAC5B,SAAK,SAAS,KAAK,OAAO,KAAK,IAAI;AACnC,SAAK,QAAQ,KAAK,MAAM,KAAK,IAAI;AAAA,EACnC;AAAA,EAEA,WACE,SACA;AACA,UAAM,cAAc,KAAK;AACzB,SAAK,UAAU,KAAK,QAAQ,uBAAuB,OAAO;AAC1D,QAAI,CAAC,oBAAoB,aAAa,KAAK,OAAO,GAAG;AACnD,WAAK,QAAQ,iBAAiB,EAAE,OAAO;AAAA,QACrC,MAAM;AAAA,QACN,UAAU,KAAK;AAAA,QACf,UAAU;AAAA,MACZ,CAAC;AAAA,IACH;AACA,SAAK,kBAAkB,WAAW,KAAK,OAAO;AAAA,EAChD;AAAA,EAEU,gBAAsB;AAC9B,QAAI,CAAC,KAAK,aAAa,GAAG;AACxB,WAAK,kBAAkB,eAAe,IAAI;AAAA,IAC5C;AAAA,EACF;AAAA,EAEA,iBAAiB,QAA2D;AAC1E,SAAK,cAAc;AAEnB,SAAK,QAAQ,MAAM;AAAA,EACrB;AAAA,EAEA,mBAKE;AACA,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,QAAc;AACZ,SAAK,mBAAmB;AACxB,SAAK,cAAc;AACnB,SAAK,QAAQ;AAAA,EACf;AAAA,EAEA,OACE,WACA,SACgB;AAChB,SAAK,iBAAiB;AAEtB,SAAK,kBAAkB,eAAe,IAAI;AAE1C,SAAK,mBAAmB,KAAK,QAC1B,iBAAiB,EACjB,MAAM,KAAK,SAAS,KAAK,OAAO;AAEnC,SAAK,iBAAiB,YAAY,IAAI;AAEtC,WAAO,KAAK,iBAAiB,QAAQ,SAAS;AAAA,EAChD;AAAA,EAEA,gBAAsB;AACpB,UAAM,QACJ,KAAK,kBAAkB,SACvB,gBAAqD;AAEvD,SAAK,iBAAiB;AAAA,MACpB,GAAG;AAAA,MACH,WAAW,MAAM,WAAW;AAAA,MAC5B,WAAW,MAAM,WAAW;AAAA,MAC5B,SAAS,MAAM,WAAW;AAAA,MAC1B,QAAQ,MAAM,WAAW;AAAA,MACzB,QAAQ,KAAK;AAAA,MACb,OAAO,KAAK;AAAA,IACd;AAAA,EACF;AAAA,EAEA,QAAQ,QAA4D;AAClE,kBAAc,MAAM,MAAM;AAExB,UAAI,KAAK,kBAAkB,KAAK,aAAa,GAAG;AAC9C,YAAI,QAAQ,SAAS,WAAW;AAC9B,eAAK,eAAe;AAAA,YAClB,OAAO;AAAA,YACP,KAAK,eAAe;AAAA,YACpB,KAAK,eAAe;AAAA,UACtB;AACA,eAAK,eAAe;AAAA,YAClB,OAAO;AAAA,YACP;AAAA,YACA,KAAK,eAAe;AAAA,YACpB,KAAK,eAAe;AAAA,UACtB;AAAA,QACF,WAAW,QAAQ,SAAS,SAAS;AACnC,eAAK,eAAe;AAAA,YAClB,OAAO;AAAA,YACP,KAAK,eAAe;AAAA,YACpB,KAAK,eAAe;AAAA,UACtB;AACA,eAAK,eAAe;AAAA,YAClB;AAAA,YACA,OAAO;AAAA,YACP,KAAK,eAAe;AAAA,YACpB,KAAK,eAAe;AAAA,UACtB;AAAA,QACF;AAAA,MACF;AAGA,WAAK,UAAU,QAAQ,CAAC,aAAa;AACnC,iBAAS,KAAK,cAAc;AAAA,MAC9B,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF;","names":[]}
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var notifyManager_exports = {};
20
+ __export(notifyManager_exports, {
21
+ createNotifyManager: () => createNotifyManager,
22
+ notifyManager: () => notifyManager
23
+ });
24
+ module.exports = __toCommonJS(notifyManager_exports);
25
+ var import_utils = require("./utils");
26
+ function createNotifyManager() {
27
+ let queue = [];
28
+ let transactions = 0;
29
+ let notifyFn = (callback) => {
30
+ callback();
31
+ };
32
+ let batchNotifyFn = (callback) => {
33
+ callback();
34
+ };
35
+ const batch = (callback) => {
36
+ let result;
37
+ transactions++;
38
+ try {
39
+ result = callback();
40
+ } finally {
41
+ transactions--;
42
+ if (!transactions) {
43
+ flush();
44
+ }
45
+ }
46
+ return result;
47
+ };
48
+ const schedule = (callback) => {
49
+ if (transactions) {
50
+ queue.push(callback);
51
+ } else {
52
+ (0, import_utils.scheduleMicrotask)(() => {
53
+ notifyFn(callback);
54
+ });
55
+ }
56
+ };
57
+ const batchCalls = (callback) => {
58
+ return (...args) => {
59
+ schedule(() => {
60
+ callback(...args);
61
+ });
62
+ };
63
+ };
64
+ const flush = () => {
65
+ const originalQueue = queue;
66
+ queue = [];
67
+ if (originalQueue.length) {
68
+ (0, import_utils.scheduleMicrotask)(() => {
69
+ batchNotifyFn(() => {
70
+ originalQueue.forEach((callback) => {
71
+ notifyFn(callback);
72
+ });
73
+ });
74
+ });
75
+ }
76
+ };
77
+ const setNotifyFunction = (fn) => {
78
+ notifyFn = fn;
79
+ };
80
+ const setBatchNotifyFunction = (fn) => {
81
+ batchNotifyFn = fn;
82
+ };
83
+ return {
84
+ batch,
85
+ batchCalls,
86
+ schedule,
87
+ setNotifyFunction,
88
+ setBatchNotifyFunction
89
+ };
90
+ }
91
+ const notifyManager = createNotifyManager();
92
+ // Annotate the CommonJS export names for ESM import in node:
93
+ 0 && (module.exports = {
94
+ createNotifyManager,
95
+ notifyManager
96
+ });
97
+ //# sourceMappingURL=notifyManager.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"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\ntype BatchCallsCallback<T extends unknown[]> = (...args: T) => 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 unknown[]>(\n callback: BatchCallsCallback<T>,\n ): BatchCallsCallback<T> => {\n return (...args) => {\n schedule(() => {\n callback(...args)\n })\n }\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"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkC;AAY3B,SAAS,sBAAsB;AACpC,MAAI,QAA0B,CAAC;AAC/B,MAAI,eAAe;AACnB,MAAI,WAA2B,CAAC,aAAa;AAC3C,aAAS;AAAA,EACX;AACA,MAAI,gBAAqC,CAAC,aAAyB;AACjE,aAAS;AAAA,EACX;AAEA,QAAM,QAAQ,CAAI,aAAyB;AACzC,QAAI;AACJ;AACA,QAAI;AACF,eAAS,SAAS;AAAA,IACpB,UAAE;AACA;AACA,UAAI,CAAC,cAAc;AACjB,cAAM;AAAA,MACR;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAEA,QAAM,WAAW,CAAC,aAAmC;AACnD,QAAI,cAAc;AAChB,YAAM,KAAK,QAAQ;AAAA,IACrB,OAAO;AACL,0CAAkB,MAAM;AACtB,iBAAS,QAAQ;AAAA,MACnB,CAAC;AAAA,IACH;AAAA,EACF;AAKA,QAAM,aAAa,CACjB,aAC0B;AAC1B,WAAO,IAAI,SAAS;AAClB,eAAS,MAAM;AACb,iBAAS,GAAG,IAAI;AAAA,MAClB,CAAC;AAAA,IACH;AAAA,EACF;AAEA,QAAM,QAAQ,MAAY;AACxB,UAAM,gBAAgB;AACtB,YAAQ,CAAC;AACT,QAAI,cAAc,QAAQ;AACxB,0CAAkB,MAAM;AACtB,sBAAc,MAAM;AAClB,wBAAc,QAAQ,CAAC,aAAa;AAClC,qBAAS,QAAQ;AAAA,UACnB,CAAC;AAAA,QACH,CAAC;AAAA,MACH,CAAC;AAAA,IACH;AAAA,EACF;AAMA,QAAM,oBAAoB,CAAC,OAAuB;AAChD,eAAW;AAAA,EACb;AAMA,QAAM,yBAAyB,CAAC,OAA4B;AAC1D,oBAAgB;AAAA,EAClB;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAGO,MAAM,gBAAgB,oBAAoB;","names":[]}
@@ -0,0 +1,20 @@
1
+ type NotifyCallback = () => void;
2
+ type NotifyFunction = (callback: () => void) => void;
3
+ type BatchNotifyFunction = (callback: () => void) => void;
4
+ type BatchCallsCallback<T extends unknown[]> = (...args: T) => void;
5
+ declare function createNotifyManager(): {
6
+ readonly batch: <T>(callback: () => T) => T;
7
+ readonly batchCalls: <T_1 extends unknown[]>(callback: BatchCallsCallback<T_1>) => BatchCallsCallback<T_1>;
8
+ readonly schedule: (callback: NotifyCallback) => void;
9
+ readonly setNotifyFunction: (fn: NotifyFunction) => void;
10
+ readonly setBatchNotifyFunction: (fn: BatchNotifyFunction) => void;
11
+ };
12
+ declare const notifyManager: {
13
+ readonly batch: <T>(callback: () => T) => T;
14
+ readonly batchCalls: <T_1 extends unknown[]>(callback: BatchCallsCallback<T_1>) => BatchCallsCallback<T_1>;
15
+ readonly schedule: (callback: NotifyCallback) => void;
16
+ readonly setNotifyFunction: (fn: NotifyFunction) => void;
17
+ readonly setBatchNotifyFunction: (fn: BatchNotifyFunction) => void;
18
+ };
19
+
20
+ export { createNotifyManager, notifyManager };