@tanstack/query-core 5.101.4 → 5.102.1

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 (370) hide show
  1. package/build/legacy/classPrivateFieldSet2-Bo0ZyOIv.cjs +56 -0
  2. package/build/legacy/classPrivateFieldSet2-CV7wyte-.js +27 -0
  3. package/build/legacy/classPrivateMethodInitSpec-CBwa_Y7C.js +7 -0
  4. package/build/legacy/classPrivateMethodInitSpec-DVhcLejn.cjs +12 -0
  5. package/build/legacy/environmentManager.cjs +25 -46
  6. package/build/legacy/environmentManager.cjs.map +1 -1
  7. package/build/legacy/environmentManager.d.cts +18 -2
  8. package/build/legacy/environmentManager.d.cts.map +1 -0
  9. package/build/legacy/environmentManager.d.ts +18 -2
  10. package/build/legacy/environmentManager.d.ts.map +1 -0
  11. package/build/legacy/environmentManager.js +23 -22
  12. package/build/legacy/environmentManager.js.map +1 -1
  13. package/build/legacy/focusManager.cjs +63 -104
  14. package/build/legacy/focusManager.cjs.map +1 -1
  15. package/build/legacy/focusManager.d.cts +18 -2
  16. package/build/legacy/focusManager.d.cts.map +1 -0
  17. package/build/legacy/focusManager.d.ts +18 -2
  18. package/build/legacy/focusManager.d.ts.map +1 -0
  19. package/build/legacy/focusManager.js +60 -76
  20. package/build/legacy/focusManager.js.map +1 -1
  21. package/build/legacy/hydration-BhSbkfZj.d.cts +1374 -0
  22. package/build/legacy/hydration-BhSbkfZj.d.cts.map +1 -0
  23. package/build/legacy/hydration-Hebl6yHM.d.ts +1374 -0
  24. package/build/legacy/hydration-Hebl6yHM.d.ts.map +1 -0
  25. package/build/legacy/hydration.cjs +111 -194
  26. package/build/legacy/hydration.cjs.map +1 -1
  27. package/build/legacy/hydration.d.cts +2 -7
  28. package/build/legacy/hydration.d.ts +2 -7
  29. package/build/legacy/hydration.js +105 -167
  30. package/build/legacy/hydration.js.map +1 -1
  31. package/build/legacy/index.cjs +59 -111
  32. package/build/legacy/index.cjs.map +1 -1
  33. package/build/legacy/index.d.cts +10 -141
  34. package/build/legacy/index.d.ts +10 -141
  35. package/build/legacy/index.js +16 -66
  36. package/build/legacy/index.js.map +1 -1
  37. package/build/legacy/infiniteQueryBehavior.cjs +92 -135
  38. package/build/legacy/infiniteQueryBehavior.cjs.map +1 -1
  39. package/build/legacy/infiniteQueryBehavior.d.cts +14 -3
  40. package/build/legacy/infiniteQueryBehavior.d.cts.map +1 -0
  41. package/build/legacy/infiniteQueryBehavior.d.ts +14 -3
  42. package/build/legacy/infiniteQueryBehavior.d.ts.map +1 -0
  43. package/build/legacy/infiniteQueryBehavior.js +89 -115
  44. package/build/legacy/infiniteQueryBehavior.js.map +1 -1
  45. package/build/legacy/infiniteQueryObserver.cjs +59 -88
  46. package/build/legacy/infiniteQueryObserver.cjs.map +1 -1
  47. package/build/legacy/infiniteQueryObserver.d.cts +20 -1
  48. package/build/legacy/infiniteQueryObserver.d.cts.map +1 -0
  49. package/build/legacy/infiniteQueryObserver.d.ts +20 -1
  50. package/build/legacy/infiniteQueryObserver.d.ts.map +1 -0
  51. package/build/legacy/infiniteQueryObserver.js +57 -64
  52. package/build/legacy/infiniteQueryObserver.js.map +1 -1
  53. package/build/legacy/mutation.cjs +236 -329
  54. package/build/legacy/mutation.cjs.map +1 -1
  55. package/build/legacy/mutation.d.cts +2 -4
  56. package/build/legacy/mutation.d.ts +2 -4
  57. package/build/legacy/mutation.js +231 -299
  58. package/build/legacy/mutation.js.map +1 -1
  59. package/build/legacy/mutationCache.cjs +121 -166
  60. package/build/legacy/mutationCache.cjs.map +1 -1
  61. package/build/legacy/mutationCache.d.cts +2 -2
  62. package/build/legacy/mutationCache.d.ts +2 -2
  63. package/build/legacy/mutationCache.js +117 -130
  64. package/build/legacy/mutationCache.js.map +1 -1
  65. package/build/legacy/mutationObserver.cjs +134 -187
  66. package/build/legacy/mutationObserver.cjs.map +1 -1
  67. package/build/legacy/mutationObserver.d.cts +2 -1
  68. package/build/legacy/mutationObserver.d.ts +2 -1
  69. package/build/legacy/mutationObserver.js +132 -160
  70. package/build/legacy/mutationObserver.js.map +1 -1
  71. package/build/legacy/notifyManager.cjs +76 -110
  72. package/build/legacy/notifyManager.cjs.map +1 -1
  73. package/build/legacy/notifyManager.d.cts +48 -3
  74. package/build/legacy/notifyManager.d.cts.map +1 -0
  75. package/build/legacy/notifyManager.d.ts +48 -3
  76. package/build/legacy/notifyManager.d.ts.map +1 -0
  77. package/build/legacy/notifyManager.js +73 -84
  78. package/build/legacy/notifyManager.js.map +1 -1
  79. package/build/legacy/onlineManager.cjs +57 -93
  80. package/build/legacy/onlineManager.cjs.map +1 -1
  81. package/build/legacy/onlineManager.d.cts +17 -2
  82. package/build/legacy/onlineManager.d.cts.map +1 -0
  83. package/build/legacy/onlineManager.d.ts +17 -2
  84. package/build/legacy/onlineManager.d.ts.map +1 -0
  85. package/build/legacy/onlineManager.js +54 -65
  86. package/build/legacy/onlineManager.js.map +1 -1
  87. package/build/legacy/queriesObserver.cjs +203 -262
  88. package/build/legacy/queriesObserver.cjs.map +1 -1
  89. package/build/legacy/queriesObserver.d.cts +23 -2
  90. package/build/legacy/queriesObserver.d.cts.map +1 -0
  91. package/build/legacy/queriesObserver.d.ts +23 -2
  92. package/build/legacy/queriesObserver.d.ts.map +1 -0
  93. package/build/legacy/queriesObserver.js +199 -233
  94. package/build/legacy/queriesObserver.js.map +1 -1
  95. package/build/legacy/query.cjs +409 -491
  96. package/build/legacy/query.cjs.map +1 -1
  97. package/build/legacy/query.d.cts +2 -9
  98. package/build/legacy/query.d.ts +2 -9
  99. package/build/legacy/query.js +402 -467
  100. package/build/legacy/query.js.map +1 -1
  101. package/build/legacy/queryCache.cjs +99 -128
  102. package/build/legacy/queryCache.cjs.map +1 -1
  103. package/build/legacy/queryCache.d.cts +2 -3
  104. package/build/legacy/queryCache.d.ts +2 -3
  105. package/build/legacy/queryCache.js +96 -100
  106. package/build/legacy/queryCache.js.map +1 -1
  107. package/build/legacy/queryClient.cjs +295 -345
  108. package/build/legacy/queryClient.cjs.map +1 -1
  109. package/build/legacy/queryClient.d.cts +2 -1
  110. package/build/legacy/queryClient.d.ts +2 -1
  111. package/build/legacy/queryClient.js +292 -318
  112. package/build/legacy/queryClient.js.map +1 -1
  113. package/build/legacy/queryObserver.cjs +350 -502
  114. package/build/legacy/queryObserver.cjs.map +1 -1
  115. package/build/legacy/queryObserver.d.cts +2 -1
  116. package/build/legacy/queryObserver.d.ts +2 -1
  117. package/build/legacy/queryObserver.js +345 -480
  118. package/build/legacy/queryObserver.js.map +1 -1
  119. package/build/legacy/removable-DeMjhW5M.d.cts +13 -0
  120. package/build/legacy/removable-DeMjhW5M.d.cts.map +1 -0
  121. package/build/legacy/removable-DeMjhW5M.d.ts +13 -0
  122. package/build/legacy/removable-DeMjhW5M.d.ts.map +1 -0
  123. package/build/legacy/removable.cjs +31 -67
  124. package/build/legacy/removable.cjs.map +1 -1
  125. package/build/legacy/removable.d.cts +2 -1
  126. package/build/legacy/removable.d.ts +2 -1
  127. package/build/legacy/removable.js +28 -39
  128. package/build/legacy/removable.js.map +1 -1
  129. package/build/legacy/retryer.cjs +127 -155
  130. package/build/legacy/retryer.cjs.map +1 -1
  131. package/build/legacy/retryer.d.cts +2 -7
  132. package/build/legacy/retryer.d.ts +2 -7
  133. package/build/legacy/retryer.js +121 -127
  134. package/build/legacy/retryer.js.map +1 -1
  135. package/build/legacy/streamedQuery.cjs +49 -78
  136. package/build/legacy/streamedQuery.cjs.map +1 -1
  137. package/build/legacy/streamedQuery.d.cts +33 -1
  138. package/build/legacy/streamedQuery.d.cts.map +1 -0
  139. package/build/legacy/streamedQuery.d.ts +33 -1
  140. package/build/legacy/streamedQuery.d.ts.map +1 -0
  141. package/build/legacy/streamedQuery.js +47 -54
  142. package/build/legacy/streamedQuery.js.map +1 -1
  143. package/build/legacy/subscribable-CbifVTKz.d.cts +12 -0
  144. package/build/legacy/subscribable-CbifVTKz.d.cts.map +1 -0
  145. package/build/legacy/subscribable-CbifVTKz.d.ts +12 -0
  146. package/build/legacy/subscribable-CbifVTKz.d.ts.map +1 -0
  147. package/build/legacy/subscribable.cjs +22 -48
  148. package/build/legacy/subscribable.cjs.map +1 -1
  149. package/build/legacy/subscribable.d.cts +2 -1
  150. package/build/legacy/subscribable.d.ts +2 -1
  151. package/build/legacy/subscribable.js +21 -25
  152. package/build/legacy/subscribable.js.map +1 -1
  153. package/build/legacy/timeoutManager.cjs +64 -105
  154. package/build/legacy/timeoutManager.cjs.map +1 -1
  155. package/build/legacy/timeoutManager.d.cts +60 -7
  156. package/build/legacy/timeoutManager.d.cts.map +1 -0
  157. package/build/legacy/timeoutManager.d.ts +60 -7
  158. package/build/legacy/timeoutManager.d.ts.map +1 -0
  159. package/build/legacy/timeoutManager.js +60 -76
  160. package/build/legacy/timeoutManager.js.map +1 -1
  161. package/build/legacy/types.cjs +10 -35
  162. package/build/legacy/types.cjs.map +1 -1
  163. package/build/legacy/types.d.cts +2 -94
  164. package/build/legacy/types.d.ts +2 -94
  165. package/build/legacy/types.js +7 -10
  166. package/build/legacy/types.js.map +1 -1
  167. package/build/legacy/utils.cjs +175 -300
  168. package/build/legacy/utils.cjs.map +1 -1
  169. package/build/legacy/utils.d.cts +2 -30
  170. package/build/legacy/utils.d.ts +2 -30
  171. package/build/legacy/utils.js +149 -252
  172. package/build/legacy/utils.js.map +1 -1
  173. package/build/modern/environmentManager.cjs +25 -46
  174. package/build/modern/environmentManager.cjs.map +1 -1
  175. package/build/modern/environmentManager.d.cts +18 -2
  176. package/build/modern/environmentManager.d.cts.map +1 -0
  177. package/build/modern/environmentManager.d.ts +18 -2
  178. package/build/modern/environmentManager.d.ts.map +1 -0
  179. package/build/modern/environmentManager.js +23 -20
  180. package/build/modern/environmentManager.js.map +1 -1
  181. package/build/modern/focusManager.cjs +56 -90
  182. package/build/modern/focusManager.cjs.map +1 -1
  183. package/build/modern/focusManager.d.cts +18 -2
  184. package/build/modern/focusManager.d.cts.map +1 -0
  185. package/build/modern/focusManager.d.ts +18 -2
  186. package/build/modern/focusManager.d.ts.map +1 -0
  187. package/build/modern/focusManager.js +53 -63
  188. package/build/modern/focusManager.js.map +1 -1
  189. package/build/modern/hydration-BhSbkfZj.d.cts +1374 -0
  190. package/build/modern/hydration-BhSbkfZj.d.cts.map +1 -0
  191. package/build/modern/hydration-Hebl6yHM.d.ts +1374 -0
  192. package/build/modern/hydration-Hebl6yHM.d.ts.map +1 -0
  193. package/build/modern/hydration.cjs +102 -189
  194. package/build/modern/hydration.cjs.map +1 -1
  195. package/build/modern/hydration.d.cts +2 -7
  196. package/build/modern/hydration.d.ts +2 -7
  197. package/build/modern/hydration.js +96 -160
  198. package/build/modern/hydration.js.map +1 -1
  199. package/build/modern/index.cjs +59 -111
  200. package/build/modern/index.cjs.map +1 -1
  201. package/build/modern/index.d.cts +10 -141
  202. package/build/modern/index.d.ts +10 -141
  203. package/build/modern/index.js +16 -64
  204. package/build/modern/index.js.map +1 -1
  205. package/build/modern/infiniteQueryBehavior.cjs +89 -131
  206. package/build/modern/infiniteQueryBehavior.cjs.map +1 -1
  207. package/build/modern/infiniteQueryBehavior.d.cts +14 -3
  208. package/build/modern/infiniteQueryBehavior.d.cts.map +1 -0
  209. package/build/modern/infiniteQueryBehavior.d.ts +14 -3
  210. package/build/modern/infiniteQueryBehavior.d.ts.map +1 -0
  211. package/build/modern/infiniteQueryBehavior.js +86 -109
  212. package/build/modern/infiniteQueryBehavior.js.map +1 -1
  213. package/build/modern/infiniteQueryObserver.cjs +58 -87
  214. package/build/modern/infiniteQueryObserver.cjs.map +1 -1
  215. package/build/modern/infiniteQueryObserver.d.cts +20 -1
  216. package/build/modern/infiniteQueryObserver.d.cts.map +1 -0
  217. package/build/modern/infiniteQueryObserver.d.ts +20 -1
  218. package/build/modern/infiniteQueryObserver.d.ts.map +1 -0
  219. package/build/modern/infiniteQueryObserver.js +56 -61
  220. package/build/modern/infiniteQueryObserver.js.map +1 -1
  221. package/build/modern/mutation.cjs +221 -303
  222. package/build/modern/mutation.cjs.map +1 -1
  223. package/build/modern/mutation.d.cts +2 -4
  224. package/build/modern/mutation.d.ts +2 -4
  225. package/build/modern/mutation.js +216 -274
  226. package/build/modern/mutation.js.map +1 -1
  227. package/build/modern/mutationCache.cjs +111 -145
  228. package/build/modern/mutationCache.cjs.map +1 -1
  229. package/build/modern/mutationCache.d.cts +2 -2
  230. package/build/modern/mutationCache.d.ts +2 -2
  231. package/build/modern/mutationCache.js +107 -117
  232. package/build/modern/mutationCache.js.map +1 -1
  233. package/build/modern/mutationObserver.cjs +115 -162
  234. package/build/modern/mutationObserver.cjs.map +1 -1
  235. package/build/modern/mutationObserver.d.cts +2 -1
  236. package/build/modern/mutationObserver.d.ts +2 -1
  237. package/build/modern/mutationObserver.js +113 -136
  238. package/build/modern/mutationObserver.js.map +1 -1
  239. package/build/modern/notifyManager.cjs +76 -110
  240. package/build/modern/notifyManager.cjs.map +1 -1
  241. package/build/modern/notifyManager.d.cts +48 -3
  242. package/build/modern/notifyManager.d.cts.map +1 -0
  243. package/build/modern/notifyManager.d.ts +48 -3
  244. package/build/modern/notifyManager.d.ts.map +1 -0
  245. package/build/modern/notifyManager.js +73 -82
  246. package/build/modern/notifyManager.js.map +1 -1
  247. package/build/modern/onlineManager.cjs +51 -80
  248. package/build/modern/onlineManager.cjs.map +1 -1
  249. package/build/modern/onlineManager.d.cts +17 -2
  250. package/build/modern/onlineManager.d.cts.map +1 -0
  251. package/build/modern/onlineManager.d.ts +17 -2
  252. package/build/modern/onlineManager.d.ts.map +1 -0
  253. package/build/modern/onlineManager.js +48 -53
  254. package/build/modern/onlineManager.js.map +1 -1
  255. package/build/modern/queriesObserver.cjs +185 -237
  256. package/build/modern/queriesObserver.cjs.map +1 -1
  257. package/build/modern/queriesObserver.d.cts +23 -2
  258. package/build/modern/queriesObserver.d.cts.map +1 -0
  259. package/build/modern/queriesObserver.d.ts +23 -2
  260. package/build/modern/queriesObserver.d.ts.map +1 -0
  261. package/build/modern/queriesObserver.js +181 -209
  262. package/build/modern/queriesObserver.js.map +1 -1
  263. package/build/modern/query.cjs +384 -464
  264. package/build/modern/query.cjs.map +1 -1
  265. package/build/modern/query.d.cts +2 -9
  266. package/build/modern/query.d.ts +2 -9
  267. package/build/modern/query.js +377 -441
  268. package/build/modern/query.js.map +1 -1
  269. package/build/modern/queryCache.cjs +97 -119
  270. package/build/modern/queryCache.cjs.map +1 -1
  271. package/build/modern/queryCache.d.cts +2 -3
  272. package/build/modern/queryCache.d.ts +2 -3
  273. package/build/modern/queryCache.js +94 -92
  274. package/build/modern/queryCache.js.map +1 -1
  275. package/build/modern/queryClient.cjs +281 -318
  276. package/build/modern/queryClient.cjs.map +1 -1
  277. package/build/modern/queryClient.d.cts +2 -1
  278. package/build/modern/queryClient.d.ts +2 -1
  279. package/build/modern/queryClient.js +278 -299
  280. package/build/modern/queryClient.js.map +1 -1
  281. package/build/modern/queryObserver.cjs +329 -475
  282. package/build/modern/queryObserver.cjs.map +1 -1
  283. package/build/modern/queryObserver.d.cts +2 -1
  284. package/build/modern/queryObserver.d.ts +2 -1
  285. package/build/modern/queryObserver.js +324 -454
  286. package/build/modern/queryObserver.js.map +1 -1
  287. package/build/modern/removable-DeMjhW5M.d.cts +13 -0
  288. package/build/modern/removable-DeMjhW5M.d.cts.map +1 -0
  289. package/build/modern/removable-DeMjhW5M.d.ts +13 -0
  290. package/build/modern/removable-DeMjhW5M.d.ts.map +1 -0
  291. package/build/modern/removable.cjs +27 -56
  292. package/build/modern/removable.cjs.map +1 -1
  293. package/build/modern/removable.d.cts +2 -1
  294. package/build/modern/removable.d.ts +2 -1
  295. package/build/modern/removable.js +24 -29
  296. package/build/modern/removable.js.map +1 -1
  297. package/build/modern/retryer.cjs +121 -151
  298. package/build/modern/retryer.cjs.map +1 -1
  299. package/build/modern/retryer.d.cts +2 -7
  300. package/build/modern/retryer.d.ts +2 -7
  301. package/build/modern/retryer.js +115 -121
  302. package/build/modern/retryer.js.map +1 -1
  303. package/build/modern/streamedQuery.cjs +49 -78
  304. package/build/modern/streamedQuery.cjs.map +1 -1
  305. package/build/modern/streamedQuery.d.cts +33 -1
  306. package/build/modern/streamedQuery.d.cts.map +1 -0
  307. package/build/modern/streamedQuery.d.ts +33 -1
  308. package/build/modern/streamedQuery.d.ts.map +1 -0
  309. package/build/modern/streamedQuery.js +47 -52
  310. package/build/modern/streamedQuery.js.map +1 -1
  311. package/build/modern/subscribable-CbifVTKz.d.cts +12 -0
  312. package/build/modern/subscribable-CbifVTKz.d.cts.map +1 -0
  313. package/build/modern/subscribable-CbifVTKz.d.ts +12 -0
  314. package/build/modern/subscribable-CbifVTKz.d.ts.map +1 -0
  315. package/build/modern/subscribable.cjs +22 -48
  316. package/build/modern/subscribable.cjs.map +1 -1
  317. package/build/modern/subscribable.d.cts +2 -1
  318. package/build/modern/subscribable.d.ts +2 -1
  319. package/build/modern/subscribable.js +21 -23
  320. package/build/modern/subscribable.js.map +1 -1
  321. package/build/modern/timeoutManager.cjs +59 -93
  322. package/build/modern/timeoutManager.cjs.map +1 -1
  323. package/build/modern/timeoutManager.d.cts +60 -7
  324. package/build/modern/timeoutManager.d.cts.map +1 -0
  325. package/build/modern/timeoutManager.d.ts +60 -7
  326. package/build/modern/timeoutManager.d.ts.map +1 -0
  327. package/build/modern/timeoutManager.js +55 -65
  328. package/build/modern/timeoutManager.js.map +1 -1
  329. package/build/modern/types.cjs +10 -35
  330. package/build/modern/types.cjs.map +1 -1
  331. package/build/modern/types.d.cts +2 -94
  332. package/build/modern/types.d.ts +2 -94
  333. package/build/modern/types.js +8 -9
  334. package/build/modern/types.js.map +1 -1
  335. package/build/modern/utils.cjs +175 -300
  336. package/build/modern/utils.cjs.map +1 -1
  337. package/build/modern/utils.d.cts +2 -30
  338. package/build/modern/utils.d.ts +2 -30
  339. package/build/modern/utils.js +149 -250
  340. package/build/modern/utils.js.map +1 -1
  341. package/package.json +3 -5
  342. package/src/hydration.ts +65 -56
  343. package/src/index.ts +1 -0
  344. package/src/mutation.ts +14 -6
  345. package/src/mutationObserver.ts +8 -0
  346. package/src/queriesObserver.ts +14 -8
  347. package/src/query.ts +14 -6
  348. package/src/queryClient.ts +90 -2
  349. package/src/queryObserver.ts +41 -64
  350. package/src/retryer.ts +20 -12
  351. package/src/types.ts +70 -58
  352. package/build/legacy/_tsup-dts-rollup.d.cts +0 -2188
  353. package/build/legacy/_tsup-dts-rollup.d.ts +0 -2188
  354. package/build/legacy/chunk-PXG64RU4.js +0 -25
  355. package/build/legacy/chunk-PXG64RU4.js.map +0 -1
  356. package/build/legacy/thenable.cjs +0 -76
  357. package/build/legacy/thenable.cjs.map +0 -1
  358. package/build/legacy/thenable.d.cts +0 -6
  359. package/build/legacy/thenable.d.ts +0 -6
  360. package/build/legacy/thenable.js +0 -52
  361. package/build/legacy/thenable.js.map +0 -1
  362. package/build/modern/_tsup-dts-rollup.d.cts +0 -2188
  363. package/build/modern/_tsup-dts-rollup.d.ts +0 -2188
  364. package/build/modern/thenable.cjs +0 -75
  365. package/build/modern/thenable.cjs.map +0 -1
  366. package/build/modern/thenable.d.cts +0 -6
  367. package/build/modern/thenable.d.ts +0 -6
  368. package/build/modern/thenable.js +0 -49
  369. package/build/modern/thenable.js.map +0 -1
  370. package/src/thenable.ts +0 -111
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/onlineManager.ts"],"sourcesContent":["import { Subscribable } from './subscribable'\n\ntype Listener = (online: boolean) => void\ntype SetupFn = (setOnline: Listener) => (() => void) | undefined\n\nexport class OnlineManager extends Subscribable<Listener> {\n #online = true\n #cleanup?: () => void\n\n #setup: SetupFn\n\n constructor() {\n super()\n this.#setup = (onOnline) => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (typeof window !== 'undefined' && window.addEventListener) {\n const onlineListener = () => onOnline(true)\n const offlineListener = () => onOnline(false)\n // Listen to online\n window.addEventListener('online', onlineListener, false)\n window.addEventListener('offline', offlineListener, false)\n\n return () => {\n // Be sure to unsubscribe if a new handler is set\n window.removeEventListener('online', onlineListener)\n window.removeEventListener('offline', offlineListener)\n }\n }\n\n return\n }\n }\n\n protected onSubscribe(): void {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup)\n }\n }\n\n protected onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.()\n this.#cleanup = undefined\n }\n }\n\n setEventListener(setup: SetupFn): void {\n this.#setup = setup\n this.#cleanup?.()\n this.#cleanup = setup(this.setOnline.bind(this))\n }\n\n setOnline(online: boolean): void {\n const changed = this.#online !== online\n\n if (changed) {\n this.#online = online\n this.listeners.forEach((listener) => {\n listener(online)\n })\n }\n }\n\n isOnline(): boolean {\n return this.#online\n }\n}\n\nexport const onlineManager = new OnlineManager()\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAA6B;AAKtB,IAAM,gBAAN,cAA4B,iCAAuB;AAAA,EACxD,UAAU;AAAA,EACV;AAAA,EAEA;AAAA,EAEA,cAAc;AACZ,UAAM;AACN,SAAK,SAAS,CAAC,aAAa;AAG1B,UAAI,OAAO,WAAW,eAAe,OAAO,kBAAkB;AAC5D,cAAM,iBAAiB,MAAM,SAAS,IAAI;AAC1C,cAAM,kBAAkB,MAAM,SAAS,KAAK;AAE5C,eAAO,iBAAiB,UAAU,gBAAgB,KAAK;AACvD,eAAO,iBAAiB,WAAW,iBAAiB,KAAK;AAEzD,eAAO,MAAM;AAEX,iBAAO,oBAAoB,UAAU,cAAc;AACnD,iBAAO,oBAAoB,WAAW,eAAe;AAAA,QACvD;AAAA,MACF;AAEA;AAAA,IACF;AAAA,EACF;AAAA,EAEU,cAAoB;AAC5B,QAAI,CAAC,KAAK,UAAU;AAClB,WAAK,iBAAiB,KAAK,MAAM;AAAA,IACnC;AAAA,EACF;AAAA,EAEU,gBAAgB;AACxB,QAAI,CAAC,KAAK,aAAa,GAAG;AACxB,WAAK,WAAW;AAChB,WAAK,WAAW;AAAA,IAClB;AAAA,EACF;AAAA,EAEA,iBAAiB,OAAsB;AACrC,SAAK,SAAS;AACd,SAAK,WAAW;AAChB,SAAK,WAAW,MAAM,KAAK,UAAU,KAAK,IAAI,CAAC;AAAA,EACjD;AAAA,EAEA,UAAU,QAAuB;AAC/B,UAAM,UAAU,KAAK,YAAY;AAEjC,QAAI,SAAS;AACX,WAAK,UAAU;AACf,WAAK,UAAU,QAAQ,CAAC,aAAa;AACnC,iBAAS,MAAM;AAAA,MACjB,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EAEA,WAAoB;AAClB,WAAO,KAAK;AAAA,EACd;AACF;AAEO,IAAM,gBAAgB,IAAI,cAAc;","names":[]}
1
+ {"version":3,"file":"onlineManager.cjs","names":["Subscribable","#setup","#cleanup","#online"],"sources":["../../src/onlineManager.ts"],"sourcesContent":["import { Subscribable } from './subscribable'\n\ntype Listener = (online: boolean) => void\ntype SetupFn = (setOnline: Listener) => (() => void) | undefined\n\nexport class OnlineManager extends Subscribable<Listener> {\n #online = true\n #cleanup?: () => void\n\n #setup: SetupFn\n\n constructor() {\n super()\n this.#setup = (onOnline) => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (typeof window !== 'undefined' && window.addEventListener) {\n const onlineListener = () => onOnline(true)\n const offlineListener = () => onOnline(false)\n // Listen to online\n window.addEventListener('online', onlineListener, false)\n window.addEventListener('offline', offlineListener, false)\n\n return () => {\n // Be sure to unsubscribe if a new handler is set\n window.removeEventListener('online', onlineListener)\n window.removeEventListener('offline', offlineListener)\n }\n }\n\n return\n }\n }\n\n protected onSubscribe(): void {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup)\n }\n }\n\n protected onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.()\n this.#cleanup = undefined\n }\n }\n\n setEventListener(setup: SetupFn): void {\n this.#setup = setup\n this.#cleanup?.()\n this.#cleanup = setup(this.setOnline.bind(this))\n }\n\n setOnline(online: boolean): void {\n const changed = this.#online !== online\n\n if (changed) {\n this.#online = online\n this.listeners.forEach((listener) => {\n listener(online)\n })\n }\n }\n\n isOnline(): boolean {\n return this.#online\n }\n}\n\nexport const onlineManager = new OnlineManager()\n"],"mappings":";;;AAKA,IAAa,gBAAb,cAAmCA,qBAAAA,aAAuB;CACxD,UAAU;CACV;CAEA;CAEA,cAAc;EACZ,MAAM;EACN,KAAKC,UAAU,aAAa;GAG1B,IAAI,OAAO,WAAW,eAAe,OAAO,kBAAkB;IAC5D,MAAM,uBAAuB,SAAS,IAAI;IAC1C,MAAM,wBAAwB,SAAS,KAAK;IAE5C,OAAO,iBAAiB,UAAU,gBAAgB,KAAK;IACvD,OAAO,iBAAiB,WAAW,iBAAiB,KAAK;IAEzD,aAAa;KAEX,OAAO,oBAAoB,UAAU,cAAc;KACnD,OAAO,oBAAoB,WAAW,eAAe;IACvD;GACF;EAGF;CACF;CAEA,cAA8B;EAC5B,IAAI,CAAC,KAAKC,UACR,KAAK,iBAAiB,KAAKD,MAAM;CAErC;CAEA,gBAA0B;EACxB,IAAI,CAAC,KAAK,aAAa,GAAG;GACxB,KAAKC,WAAW;GAChB,KAAKA,WAAW,KAAA;EAClB;CACF;CAEA,iBAAiB,OAAsB;EACrC,KAAKD,SAAS;EACd,KAAKC,WAAW;EAChB,KAAKA,WAAW,MAAM,KAAK,UAAU,KAAK,IAAI,CAAC;CACjD;CAEA,UAAU,QAAuB;EAG/B,IAFgB,KAAKC,YAAY,QAEpB;GACX,KAAKA,UAAU;GACf,KAAK,UAAU,SAAS,aAAa;IACnC,SAAS,MAAM;GACjB,CAAC;EACH;CACF;CAEA,WAAoB;EAClB,OAAO,KAAKA;CACd;AACF;AAEA,MAAa,gBAAgB,IAAI,cAAc"}
@@ -1,2 +1,17 @@
1
- export { OnlineManager } from './_tsup-dts-rollup.cjs';
2
- export { onlineManager_alias_1 as onlineManager } from './_tsup-dts-rollup.cjs';
1
+ import { t as Subscribable } from "./subscribable-CbifVTKz.cjs";
2
+ //#region src/onlineManager.d.ts
3
+ type Listener = (online: boolean) => void;
4
+ type SetupFn = (setOnline: Listener) => (() => void) | undefined;
5
+ declare class OnlineManager extends Subscribable<Listener> {
6
+ #private;
7
+ constructor();
8
+ protected onSubscribe(): void;
9
+ protected onUnsubscribe(): void;
10
+ setEventListener(setup: SetupFn): void;
11
+ setOnline(online: boolean): void;
12
+ isOnline(): boolean;
13
+ }
14
+ declare const onlineManager: OnlineManager;
15
+ //#endregion
16
+ export { OnlineManager, onlineManager };
17
+ //# sourceMappingURL=onlineManager.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onlineManager.d.cts","names":[],"sources":["../../src/onlineManager.ts"],"mappings":";;KAEK,YAAY;KACZ,WAAW,WAAW;cAEd,sBAAsB,aAAa;;;YA6BpC;YAMA;EAOV,iBAAiB,OAAO;EAMxB,UAAU;EAWV;;cAKW,eAAa"}
@@ -1,2 +1,17 @@
1
- export { OnlineManager } from './_tsup-dts-rollup.js';
2
- export { onlineManager_alias_1 as onlineManager } from './_tsup-dts-rollup.js';
1
+ import { t as Subscribable } from "./subscribable-CbifVTKz.js";
2
+ //#region src/onlineManager.d.ts
3
+ type Listener = (online: boolean) => void;
4
+ type SetupFn = (setOnline: Listener) => (() => void) | undefined;
5
+ declare class OnlineManager extends Subscribable<Listener> {
6
+ #private;
7
+ constructor();
8
+ protected onSubscribe(): void;
9
+ protected onUnsubscribe(): void;
10
+ setEventListener(setup: SetupFn): void;
11
+ setOnline(online: boolean): void;
12
+ isOnline(): boolean;
13
+ }
14
+ declare const onlineManager: OnlineManager;
15
+ //#endregion
16
+ export { OnlineManager, onlineManager };
17
+ //# sourceMappingURL=onlineManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onlineManager.d.ts","names":[],"sources":["../../src/onlineManager.ts"],"mappings":";;KAEK,YAAY;KACZ,WAAW,WAAW;cAEd,sBAAsB,aAAa;;;YA6BpC;YAMA;EAOV,iBAAiB,OAAO;EAMxB,UAAU;EAWV;;cAKW,eAAa"}
@@ -1,57 +1,52 @@
1
- // src/onlineManager.ts
2
1
  import { Subscribable } from "./subscribable.js";
2
+ //#region src/onlineManager.ts
3
3
  var OnlineManager = class extends Subscribable {
4
- #online = true;
5
- #cleanup;
6
- #setup;
7
- constructor() {
8
- super();
9
- this.#setup = (onOnline) => {
10
- if (typeof window !== "undefined" && window.addEventListener) {
11
- const onlineListener = () => onOnline(true);
12
- const offlineListener = () => onOnline(false);
13
- window.addEventListener("online", onlineListener, false);
14
- window.addEventListener("offline", offlineListener, false);
15
- return () => {
16
- window.removeEventListener("online", onlineListener);
17
- window.removeEventListener("offline", offlineListener);
18
- };
19
- }
20
- return;
21
- };
22
- }
23
- onSubscribe() {
24
- if (!this.#cleanup) {
25
- this.setEventListener(this.#setup);
26
- }
27
- }
28
- onUnsubscribe() {
29
- if (!this.hasListeners()) {
30
- this.#cleanup?.();
31
- this.#cleanup = void 0;
32
- }
33
- }
34
- setEventListener(setup) {
35
- this.#setup = setup;
36
- this.#cleanup?.();
37
- this.#cleanup = setup(this.setOnline.bind(this));
38
- }
39
- setOnline(online) {
40
- const changed = this.#online !== online;
41
- if (changed) {
42
- this.#online = online;
43
- this.listeners.forEach((listener) => {
44
- listener(online);
45
- });
46
- }
47
- }
48
- isOnline() {
49
- return this.#online;
50
- }
51
- };
52
- var onlineManager = new OnlineManager();
53
- export {
54
- OnlineManager,
55
- onlineManager
4
+ #online = true;
5
+ #cleanup;
6
+ #setup;
7
+ constructor() {
8
+ super();
9
+ this.#setup = (onOnline) => {
10
+ if (typeof window !== "undefined" && window.addEventListener) {
11
+ const onlineListener = () => onOnline(true);
12
+ const offlineListener = () => onOnline(false);
13
+ window.addEventListener("online", onlineListener, false);
14
+ window.addEventListener("offline", offlineListener, false);
15
+ return () => {
16
+ window.removeEventListener("online", onlineListener);
17
+ window.removeEventListener("offline", offlineListener);
18
+ };
19
+ }
20
+ };
21
+ }
22
+ onSubscribe() {
23
+ if (!this.#cleanup) this.setEventListener(this.#setup);
24
+ }
25
+ onUnsubscribe() {
26
+ if (!this.hasListeners()) {
27
+ this.#cleanup?.();
28
+ this.#cleanup = void 0;
29
+ }
30
+ }
31
+ setEventListener(setup) {
32
+ this.#setup = setup;
33
+ this.#cleanup?.();
34
+ this.#cleanup = setup(this.setOnline.bind(this));
35
+ }
36
+ setOnline(online) {
37
+ if (this.#online !== online) {
38
+ this.#online = online;
39
+ this.listeners.forEach((listener) => {
40
+ listener(online);
41
+ });
42
+ }
43
+ }
44
+ isOnline() {
45
+ return this.#online;
46
+ }
56
47
  };
48
+ const onlineManager = new OnlineManager();
49
+ //#endregion
50
+ export { OnlineManager, onlineManager };
51
+
57
52
  //# sourceMappingURL=onlineManager.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/onlineManager.ts"],"sourcesContent":["import { Subscribable } from './subscribable'\n\ntype Listener = (online: boolean) => void\ntype SetupFn = (setOnline: Listener) => (() => void) | undefined\n\nexport class OnlineManager extends Subscribable<Listener> {\n #online = true\n #cleanup?: () => void\n\n #setup: SetupFn\n\n constructor() {\n super()\n this.#setup = (onOnline) => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (typeof window !== 'undefined' && window.addEventListener) {\n const onlineListener = () => onOnline(true)\n const offlineListener = () => onOnline(false)\n // Listen to online\n window.addEventListener('online', onlineListener, false)\n window.addEventListener('offline', offlineListener, false)\n\n return () => {\n // Be sure to unsubscribe if a new handler is set\n window.removeEventListener('online', onlineListener)\n window.removeEventListener('offline', offlineListener)\n }\n }\n\n return\n }\n }\n\n protected onSubscribe(): void {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup)\n }\n }\n\n protected onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.()\n this.#cleanup = undefined\n }\n }\n\n setEventListener(setup: SetupFn): void {\n this.#setup = setup\n this.#cleanup?.()\n this.#cleanup = setup(this.setOnline.bind(this))\n }\n\n setOnline(online: boolean): void {\n const changed = this.#online !== online\n\n if (changed) {\n this.#online = online\n this.listeners.forEach((listener) => {\n listener(online)\n })\n }\n }\n\n isOnline(): boolean {\n return this.#online\n }\n}\n\nexport const onlineManager = new OnlineManager()\n"],"mappings":";AAAA,SAAS,oBAAoB;AAKtB,IAAM,gBAAN,cAA4B,aAAuB;AAAA,EACxD,UAAU;AAAA,EACV;AAAA,EAEA;AAAA,EAEA,cAAc;AACZ,UAAM;AACN,SAAK,SAAS,CAAC,aAAa;AAG1B,UAAI,OAAO,WAAW,eAAe,OAAO,kBAAkB;AAC5D,cAAM,iBAAiB,MAAM,SAAS,IAAI;AAC1C,cAAM,kBAAkB,MAAM,SAAS,KAAK;AAE5C,eAAO,iBAAiB,UAAU,gBAAgB,KAAK;AACvD,eAAO,iBAAiB,WAAW,iBAAiB,KAAK;AAEzD,eAAO,MAAM;AAEX,iBAAO,oBAAoB,UAAU,cAAc;AACnD,iBAAO,oBAAoB,WAAW,eAAe;AAAA,QACvD;AAAA,MACF;AAEA;AAAA,IACF;AAAA,EACF;AAAA,EAEU,cAAoB;AAC5B,QAAI,CAAC,KAAK,UAAU;AAClB,WAAK,iBAAiB,KAAK,MAAM;AAAA,IACnC;AAAA,EACF;AAAA,EAEU,gBAAgB;AACxB,QAAI,CAAC,KAAK,aAAa,GAAG;AACxB,WAAK,WAAW;AAChB,WAAK,WAAW;AAAA,IAClB;AAAA,EACF;AAAA,EAEA,iBAAiB,OAAsB;AACrC,SAAK,SAAS;AACd,SAAK,WAAW;AAChB,SAAK,WAAW,MAAM,KAAK,UAAU,KAAK,IAAI,CAAC;AAAA,EACjD;AAAA,EAEA,UAAU,QAAuB;AAC/B,UAAM,UAAU,KAAK,YAAY;AAEjC,QAAI,SAAS;AACX,WAAK,UAAU;AACf,WAAK,UAAU,QAAQ,CAAC,aAAa;AACnC,iBAAS,MAAM;AAAA,MACjB,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EAEA,WAAoB;AAClB,WAAO,KAAK;AAAA,EACd;AACF;AAEO,IAAM,gBAAgB,IAAI,cAAc;","names":[]}
1
+ {"version":3,"file":"onlineManager.js","names":["#setup","#cleanup","#online"],"sources":["../../src/onlineManager.ts"],"sourcesContent":["import { Subscribable } from './subscribable'\n\ntype Listener = (online: boolean) => void\ntype SetupFn = (setOnline: Listener) => (() => void) | undefined\n\nexport class OnlineManager extends Subscribable<Listener> {\n #online = true\n #cleanup?: () => void\n\n #setup: SetupFn\n\n constructor() {\n super()\n this.#setup = (onOnline) => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (typeof window !== 'undefined' && window.addEventListener) {\n const onlineListener = () => onOnline(true)\n const offlineListener = () => onOnline(false)\n // Listen to online\n window.addEventListener('online', onlineListener, false)\n window.addEventListener('offline', offlineListener, false)\n\n return () => {\n // Be sure to unsubscribe if a new handler is set\n window.removeEventListener('online', onlineListener)\n window.removeEventListener('offline', offlineListener)\n }\n }\n\n return\n }\n }\n\n protected onSubscribe(): void {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup)\n }\n }\n\n protected onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.()\n this.#cleanup = undefined\n }\n }\n\n setEventListener(setup: SetupFn): void {\n this.#setup = setup\n this.#cleanup?.()\n this.#cleanup = setup(this.setOnline.bind(this))\n }\n\n setOnline(online: boolean): void {\n const changed = this.#online !== online\n\n if (changed) {\n this.#online = online\n this.listeners.forEach((listener) => {\n listener(online)\n })\n }\n }\n\n isOnline(): boolean {\n return this.#online\n }\n}\n\nexport const onlineManager = new OnlineManager()\n"],"mappings":";;AAKA,IAAa,gBAAb,cAAmC,aAAuB;CACxD,UAAU;CACV;CAEA;CAEA,cAAc;EACZ,MAAM;EACN,KAAKA,UAAU,aAAa;GAG1B,IAAI,OAAO,WAAW,eAAe,OAAO,kBAAkB;IAC5D,MAAM,uBAAuB,SAAS,IAAI;IAC1C,MAAM,wBAAwB,SAAS,KAAK;IAE5C,OAAO,iBAAiB,UAAU,gBAAgB,KAAK;IACvD,OAAO,iBAAiB,WAAW,iBAAiB,KAAK;IAEzD,aAAa;KAEX,OAAO,oBAAoB,UAAU,cAAc;KACnD,OAAO,oBAAoB,WAAW,eAAe;IACvD;GACF;EAGF;CACF;CAEA,cAA8B;EAC5B,IAAI,CAAC,KAAKC,UACR,KAAK,iBAAiB,KAAKD,MAAM;CAErC;CAEA,gBAA0B;EACxB,IAAI,CAAC,KAAK,aAAa,GAAG;GACxB,KAAKC,WAAW;GAChB,KAAKA,WAAW,KAAA;EAClB;CACF;CAEA,iBAAiB,OAAsB;EACrC,KAAKD,SAAS;EACd,KAAKC,WAAW;EAChB,KAAKA,WAAW,MAAM,KAAK,UAAU,KAAK,IAAI,CAAC;CACjD;CAEA,UAAU,QAAuB;EAG/B,IAFgB,KAAKC,YAAY,QAEpB;GACX,KAAKA,UAAU;GACf,KAAK,UAAU,SAAS,aAAa;IACnC,SAAS,MAAM;GACjB,CAAC;EACH;CACF;CAEA,WAAoB;EAClB,OAAO,KAAKA;CACd;AACF;AAEA,MAAa,gBAAgB,IAAI,cAAc"}
@@ -1,243 +1,191 @@
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
-
20
- // src/queriesObserver.ts
21
- var queriesObserver_exports = {};
22
- __export(queriesObserver_exports, {
23
- QueriesObserver: () => QueriesObserver
24
- });
25
- module.exports = __toCommonJS(queriesObserver_exports);
26
- var import_notifyManager = require("./notifyManager.cjs");
27
- var import_queryObserver = require("./queryObserver.cjs");
28
- var import_subscribable = require("./subscribable.cjs");
29
- var import_utils = require("./utils.cjs");
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_utils = require("./utils.cjs");
3
+ const require_subscribable = require("./subscribable.cjs");
4
+ const require_notifyManager = require("./notifyManager.cjs");
5
+ const require_queryObserver = require("./queryObserver.cjs");
6
+ //#region src/queriesObserver.ts
30
7
  function difference(array1, array2) {
31
- const excludeSet = new Set(array2);
32
- return array1.filter((x) => !excludeSet.has(x));
8
+ const excludeSet = new Set(array2);
9
+ return array1.filter((x) => !excludeSet.has(x));
33
10
  }
34
11
  function replaceAt(array, index, value) {
35
- const copy = array.slice(0);
36
- copy[index] = value;
37
- return copy;
12
+ const copy = array.slice(0);
13
+ copy[index] = value;
14
+ return copy;
38
15
  }
39
- var QueriesObserver = class extends import_subscribable.Subscribable {
40
- #client;
41
- #result;
42
- #queries;
43
- #options;
44
- #observers;
45
- #combinedResult;
46
- #lastCombine;
47
- #lastResult;
48
- #lastQueryHashes;
49
- #observerMatches = [];
50
- constructor(client, queries, options) {
51
- super();
52
- this.#client = client;
53
- this.#options = options;
54
- this.#queries = [];
55
- this.#observers = [];
56
- this.#result = [];
57
- this.setQueries(queries);
58
- }
59
- onSubscribe() {
60
- if (this.listeners.size === 1) {
61
- this.#observers.forEach((observer) => {
62
- observer.subscribe((result) => {
63
- this.#onUpdate(observer, result);
64
- });
65
- });
66
- }
67
- }
68
- onUnsubscribe() {
69
- if (!this.listeners.size) {
70
- this.destroy();
71
- }
72
- }
73
- destroy() {
74
- this.listeners = /* @__PURE__ */ new Set();
75
- this.#observers.forEach((observer) => {
76
- observer.destroy();
77
- });
78
- }
79
- setQueries(queries, options) {
80
- this.#queries = queries;
81
- this.#options = options;
82
- if (process.env.NODE_ENV !== "production") {
83
- const queryHashes = queries.map(
84
- (query) => this.#client.defaultQueryOptions(query).queryHash
85
- );
86
- if (new Set(queryHashes).size !== queryHashes.length) {
87
- console.warn(
88
- "[QueriesObserver]: Duplicate Queries found. This might result in unexpected behavior."
89
- );
90
- }
91
- }
92
- import_notifyManager.notifyManager.batch(() => {
93
- const prevObservers = this.#observers;
94
- const newObserverMatches = this.#findMatchingObservers(this.#queries);
95
- newObserverMatches.forEach(
96
- (match) => match.observer.setOptions(match.defaultedQueryOptions)
97
- );
98
- const newObservers = newObserverMatches.map((match) => match.observer);
99
- const newResult = newObservers.map(
100
- (observer) => observer.getCurrentResult()
101
- );
102
- const hasLengthChange = prevObservers.length !== newObservers.length;
103
- const hasIndexChange = newObservers.some(
104
- (observer, index) => observer !== prevObservers[index]
105
- );
106
- const hasStructuralChange = hasLengthChange || hasIndexChange;
107
- const hasResultChange = hasStructuralChange ? true : newResult.some((result, index) => {
108
- const prev = this.#result[index];
109
- return !prev || !(0, import_utils.shallowEqualObjects)(result, prev);
110
- });
111
- if (!hasStructuralChange && !hasResultChange) return;
112
- if (hasStructuralChange) {
113
- this.#observerMatches = newObserverMatches;
114
- this.#observers = newObservers;
115
- }
116
- this.#result = newResult;
117
- if (!this.hasListeners()) return;
118
- if (hasStructuralChange) {
119
- difference(prevObservers, newObservers).forEach((observer) => {
120
- observer.destroy();
121
- });
122
- difference(newObservers, prevObservers).forEach((observer) => {
123
- observer.subscribe((result) => {
124
- this.#onUpdate(observer, result);
125
- });
126
- });
127
- }
128
- this.#notify();
129
- });
130
- }
131
- getCurrentResult() {
132
- return this.#result;
133
- }
134
- getQueries() {
135
- return this.#observers.map((observer) => observer.getCurrentQuery());
136
- }
137
- getObservers() {
138
- return this.#observers;
139
- }
140
- getOptimisticResult(queries, combine) {
141
- const matches = this.#findMatchingObservers(queries);
142
- const result = matches.map(
143
- (match) => match.observer.getOptimisticResult(match.defaultedQueryOptions)
144
- );
145
- const queryHashes = matches.map(
146
- (match) => match.defaultedQueryOptions.queryHash
147
- );
148
- return [
149
- result,
150
- (r) => {
151
- return this.#combineResult(r ?? result, combine, queryHashes);
152
- },
153
- () => {
154
- return this.#trackResult(result, matches);
155
- }
156
- ];
157
- }
158
- #trackResult(result, matches) {
159
- return matches.map((match, index) => {
160
- const observerResult = result[index];
161
- return !match.defaultedQueryOptions.notifyOnChangeProps ? match.observer.trackResult(observerResult, (accessedProp) => {
162
- matches.forEach((m) => {
163
- m.observer.trackProp(accessedProp);
164
- });
165
- }) : observerResult;
166
- });
167
- }
168
- #combineResult(input, combine, queryHashes) {
169
- if (combine) {
170
- const lastHashes = this.#lastQueryHashes;
171
- const queryHashesChanged = queryHashes !== void 0 && lastHashes !== void 0 && (lastHashes.length !== queryHashes.length || queryHashes.some((hash, i) => hash !== lastHashes[i]));
172
- if (!this.#combinedResult || this.#result !== this.#lastResult || queryHashesChanged || combine !== this.#lastCombine) {
173
- this.#lastCombine = combine;
174
- this.#lastResult = this.#result;
175
- if (queryHashes !== void 0) {
176
- this.#lastQueryHashes = queryHashes;
177
- }
178
- this.#combinedResult = (0, import_utils.replaceEqualDeep)(
179
- this.#combinedResult,
180
- combine(input)
181
- );
182
- }
183
- return this.#combinedResult;
184
- }
185
- return input;
186
- }
187
- #shouldSkipCombine() {
188
- return this.#options?.combine !== void 0 && this.#observers.some((observer, index) => {
189
- return observer.options.suspense && this.#result[index]?.data === void 0;
190
- });
191
- }
192
- #findMatchingObservers(queries) {
193
- const prevObserversMap = /* @__PURE__ */ new Map();
194
- this.#observers.forEach((observer) => {
195
- const key = observer.options.queryHash;
196
- if (!key) return;
197
- const previousObservers = prevObserversMap.get(key);
198
- if (previousObservers) {
199
- previousObservers.push(observer);
200
- } else {
201
- prevObserversMap.set(key, [observer]);
202
- }
203
- });
204
- const observers = [];
205
- queries.forEach((options) => {
206
- const defaultedOptions = this.#client.defaultQueryOptions(options);
207
- const match = prevObserversMap.get(defaultedOptions.queryHash)?.shift();
208
- const observer = match ?? new import_queryObserver.QueryObserver(this.#client, defaultedOptions);
209
- observers.push({
210
- defaultedQueryOptions: defaultedOptions,
211
- observer
212
- });
213
- });
214
- return observers;
215
- }
216
- #onUpdate(observer, result) {
217
- const index = this.#observers.indexOf(observer);
218
- if (index !== -1) {
219
- this.#result = replaceAt(this.#result, index, result);
220
- this.#notify();
221
- }
222
- }
223
- #notify() {
224
- if (this.hasListeners()) {
225
- const newTracked = this.#trackResult(this.#result, this.#observerMatches);
226
- const shouldSkipCombine = this.#shouldSkipCombine();
227
- const previousResult = this.#combinedResult;
228
- const newResult = shouldSkipCombine ? previousResult : this.#combineResult(newTracked, this.#options?.combine);
229
- if (shouldSkipCombine || previousResult !== newResult) {
230
- import_notifyManager.notifyManager.batch(() => {
231
- this.listeners.forEach((listener) => {
232
- listener(this.#result);
233
- });
234
- });
235
- }
236
- }
237
- }
16
+ var QueriesObserver = class extends require_subscribable.Subscribable {
17
+ #client;
18
+ #result;
19
+ #queries;
20
+ #options;
21
+ #observers;
22
+ #combinedResult;
23
+ #lastCombine;
24
+ #lastResult;
25
+ #lastQueryHashes;
26
+ #observerMatches = [];
27
+ constructor(client, queries, options) {
28
+ super();
29
+ this.#client = client;
30
+ this.#options = options;
31
+ this.#queries = [];
32
+ this.#observers = [];
33
+ this.#result = [];
34
+ this.setQueries(queries);
35
+ }
36
+ onSubscribe() {
37
+ if (this.listeners.size === 1) this.#observers.forEach((observer) => {
38
+ observer.subscribe((result) => {
39
+ this.#onUpdate(observer, result);
40
+ });
41
+ });
42
+ }
43
+ onUnsubscribe() {
44
+ if (!this.listeners.size) this.destroy();
45
+ }
46
+ destroy() {
47
+ this.listeners = /* @__PURE__ */ new Set();
48
+ this.#observers.forEach((observer) => {
49
+ observer.destroy();
50
+ });
51
+ }
52
+ setQueries(queries, options) {
53
+ this.#queries = queries;
54
+ this.#options = options;
55
+ if (process.env.NODE_ENV !== "production") {
56
+ const queryHashes = queries.map((query) => this.#client.defaultQueryOptions(query).queryHash);
57
+ if (new Set(queryHashes).size !== queryHashes.length) console.warn("[QueriesObserver]: Duplicate Queries found. This might result in unexpected behavior.");
58
+ }
59
+ require_notifyManager.notifyManager.batch(() => {
60
+ const prevObservers = this.#observers;
61
+ const newObserverMatches = this.#findMatchingObservers(this.#queries);
62
+ newObserverMatches.forEach((match) => match.observer.setOptions(match.defaultedQueryOptions));
63
+ const newObservers = newObserverMatches.map((match) => match.observer);
64
+ const newResult = newObservers.map((observer) => observer.getCurrentResult());
65
+ const hasLengthChange = prevObservers.length !== newObservers.length;
66
+ const hasIndexChange = newObservers.some((observer, index) => observer !== prevObservers[index]);
67
+ const hasStructuralChange = hasLengthChange || hasIndexChange;
68
+ const hasResultChange = hasStructuralChange ? true : newResult.some((result, index) => {
69
+ const prev = this.#result[index];
70
+ return !prev || !require_utils.shallowEqualObjects(result, prev);
71
+ });
72
+ if (!hasStructuralChange && !hasResultChange) return;
73
+ if (hasStructuralChange) {
74
+ this.#observerMatches = newObserverMatches;
75
+ this.#observers = newObservers;
76
+ }
77
+ this.#result = newResult;
78
+ if (!this.hasListeners()) return;
79
+ if (hasStructuralChange) {
80
+ difference(prevObservers, newObservers).forEach((observer) => {
81
+ observer.destroy();
82
+ });
83
+ difference(newObservers, prevObservers).forEach((observer) => {
84
+ observer.subscribe((result) => {
85
+ this.#onUpdate(observer, result);
86
+ });
87
+ });
88
+ }
89
+ this.#notify();
90
+ });
91
+ }
92
+ getCurrentResult() {
93
+ return this.#result;
94
+ }
95
+ getQueries() {
96
+ return this.#observers.map((observer) => observer.getCurrentQuery());
97
+ }
98
+ getObservers() {
99
+ return this.#observers;
100
+ }
101
+ getOptimisticResult(queries, combine) {
102
+ const matches = this.#findMatchingObservers(queries);
103
+ const result = matches.map((match) => match.observer.getOptimisticResult(match.defaultedQueryOptions));
104
+ const queryHashes = matches.map((match) => match.defaultedQueryOptions.queryHash);
105
+ return [
106
+ result,
107
+ (r) => {
108
+ return this.#combineResult(r ?? result, combine, queryHashes);
109
+ },
110
+ () => {
111
+ return this.#trackResult(result, matches);
112
+ }
113
+ ];
114
+ }
115
+ #trackResult(result, matches) {
116
+ const trackedProps = /* @__PURE__ */ new Set();
117
+ return matches.map((match, index) => {
118
+ const observerResult = result[index];
119
+ return !match.defaultedQueryOptions.notifyOnChangeProps ? match.observer.trackResult(observerResult, (accessedProp) => {
120
+ if (!trackedProps.has(accessedProp)) {
121
+ trackedProps.add(accessedProp);
122
+ matches.forEach((m) => {
123
+ m.observer.trackProp(accessedProp);
124
+ });
125
+ }
126
+ }) : observerResult;
127
+ });
128
+ }
129
+ #combineResult(input, combine, queryHashes) {
130
+ if (combine) {
131
+ const lastHashes = this.#lastQueryHashes;
132
+ const queryHashesChanged = queryHashes !== void 0 && lastHashes !== void 0 && (lastHashes.length !== queryHashes.length || queryHashes.some((hash, i) => hash !== lastHashes[i]));
133
+ if (this.#result !== this.#lastResult || queryHashesChanged || combine !== this.#lastCombine) {
134
+ this.#lastCombine = combine;
135
+ this.#lastResult = this.#result;
136
+ if (queryHashes !== void 0) this.#lastQueryHashes = queryHashes;
137
+ this.#combinedResult = require_utils.replaceEqualDeep(this.#combinedResult, combine(input));
138
+ }
139
+ return this.#combinedResult;
140
+ }
141
+ return input;
142
+ }
143
+ #shouldSkipCombine() {
144
+ return !this.#options?.combine || this.#observers.some((observer, index) => {
145
+ return observer.options.suspense && this.#result[index]?.data === void 0;
146
+ });
147
+ }
148
+ #findMatchingObservers(queries) {
149
+ const prevObserversMap = /* @__PURE__ */ new Map();
150
+ this.#observers.forEach((observer) => {
151
+ const key = observer.options.queryHash;
152
+ if (!key) return;
153
+ const previousObservers = prevObserversMap.get(key);
154
+ if (previousObservers) previousObservers.push(observer);
155
+ else prevObserversMap.set(key, [observer]);
156
+ });
157
+ const observers = [];
158
+ queries.forEach((options) => {
159
+ const defaultedOptions = this.#client.defaultQueryOptions(options);
160
+ const observer = prevObserversMap.get(defaultedOptions.queryHash)?.shift() ?? new require_queryObserver.QueryObserver(this.#client, defaultedOptions);
161
+ observers.push({
162
+ defaultedQueryOptions: defaultedOptions,
163
+ observer
164
+ });
165
+ });
166
+ return observers;
167
+ }
168
+ #onUpdate(observer, result) {
169
+ const index = this.#observers.indexOf(observer);
170
+ if (index !== -1) {
171
+ this.#result = replaceAt(this.#result, index, result);
172
+ this.#notify();
173
+ }
174
+ }
175
+ #notify() {
176
+ if (this.hasListeners()) {
177
+ const shouldSkipCombine = this.#shouldSkipCombine();
178
+ const previousResult = this.#combinedResult;
179
+ const newResult = shouldSkipCombine ? previousResult : this.#combineResult(this.#trackResult(this.#result, this.#observerMatches), this.#options?.combine);
180
+ if (shouldSkipCombine || previousResult !== newResult) require_notifyManager.notifyManager.batch(() => {
181
+ this.listeners.forEach((listener) => {
182
+ listener(this.#result);
183
+ });
184
+ });
185
+ }
186
+ }
238
187
  };
239
- // Annotate the CommonJS export names for ESM import in node:
240
- 0 && (module.exports = {
241
- QueriesObserver
242
- });
188
+ //#endregion
189
+ exports.QueriesObserver = QueriesObserver;
190
+
243
191
  //# sourceMappingURL=queriesObserver.cjs.map