@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,142 +1,100 @@
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/infiniteQueryBehavior.ts
21
- var infiniteQueryBehavior_exports = {};
22
- __export(infiniteQueryBehavior_exports, {
23
- hasNextPage: () => hasNextPage,
24
- hasPreviousPage: () => hasPreviousPage,
25
- infiniteQueryBehavior: () => infiniteQueryBehavior
26
- });
27
- module.exports = __toCommonJS(infiniteQueryBehavior_exports);
28
- var import_utils = require("./utils.cjs");
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_utils = require("./utils.cjs");
3
+ //#region src/infiniteQueryBehavior.ts
29
4
  function infiniteQueryBehavior(pages) {
30
- return {
31
- onFetch: (context, query) => {
32
- const options = context.options;
33
- const direction = context.fetchOptions?.meta?.fetchMore?.direction;
34
- const oldPages = context.state.data?.pages || [];
35
- const oldPageParams = context.state.data?.pageParams || [];
36
- let result = { pages: [], pageParams: [] };
37
- let currentPage = 0;
38
- const fetchFn = async () => {
39
- let cancelled = false;
40
- const addSignalProperty = (object) => {
41
- (0, import_utils.addConsumeAwareSignal)(
42
- object,
43
- () => context.signal,
44
- () => cancelled = true
45
- );
46
- };
47
- const queryFn = (0, import_utils.ensureQueryFn)(context.options, context.fetchOptions);
48
- const fetchPage = async (data, param, previous) => {
49
- if (cancelled) {
50
- return Promise.reject(context.signal.reason);
51
- }
52
- if (param == null && data.pages.length) {
53
- return Promise.resolve(data);
54
- }
55
- const createQueryFnContext = () => {
56
- const queryFnContext2 = {
57
- client: context.client,
58
- queryKey: context.queryKey,
59
- pageParam: param,
60
- direction: previous ? "backward" : "forward",
61
- meta: context.options.meta
62
- };
63
- addSignalProperty(queryFnContext2);
64
- return queryFnContext2;
65
- };
66
- const queryFnContext = createQueryFnContext();
67
- const page = await queryFn(queryFnContext);
68
- const { maxPages } = context.options;
69
- const addTo = previous ? import_utils.addToStart : import_utils.addToEnd;
70
- return {
71
- pages: addTo(data.pages, page, maxPages),
72
- pageParams: addTo(data.pageParams, param, maxPages)
73
- };
74
- };
75
- if (direction && oldPages.length) {
76
- const previous = direction === "backward";
77
- const pageParamFn = previous ? getPreviousPageParam : getNextPageParam;
78
- const oldData = {
79
- pages: oldPages,
80
- pageParams: oldPageParams
81
- };
82
- const param = pageParamFn(options, oldData);
83
- result = await fetchPage(oldData, param, previous);
84
- } else {
85
- const remainingPages = pages ?? oldPages.length;
86
- do {
87
- const param = currentPage === 0 ? oldPageParams[0] ?? options.initialPageParam : getNextPageParam(options, result);
88
- if (currentPage > 0 && param == null) {
89
- break;
90
- }
91
- result = await fetchPage(result, param);
92
- currentPage++;
93
- } while (currentPage < remainingPages);
94
- }
95
- return result;
96
- };
97
- if (context.options.persister) {
98
- context.fetchFn = () => {
99
- return context.options.persister?.(
100
- fetchFn,
101
- {
102
- client: context.client,
103
- queryKey: context.queryKey,
104
- meta: context.options.meta,
105
- signal: context.signal
106
- },
107
- query
108
- );
109
- };
110
- } else {
111
- context.fetchFn = fetchFn;
112
- }
113
- }
114
- };
5
+ return { onFetch: (context, query) => {
6
+ const options = context.options;
7
+ const direction = context.fetchOptions?.meta?.fetchMore?.direction;
8
+ const oldPages = context.state.data?.pages || [];
9
+ const oldPageParams = context.state.data?.pageParams || [];
10
+ let result = {
11
+ pages: [],
12
+ pageParams: []
13
+ };
14
+ let currentPage = 0;
15
+ const fetchFn = async () => {
16
+ let cancelled = false;
17
+ const addSignalProperty = (object) => {
18
+ require_utils.addConsumeAwareSignal(object, () => context.signal, () => cancelled = true);
19
+ };
20
+ const queryFn = require_utils.ensureQueryFn(context.options, context.fetchOptions);
21
+ const fetchPage = async (data, param, previous) => {
22
+ if (cancelled) return Promise.reject(context.signal.reason);
23
+ if (param == null && data.pages.length) return Promise.resolve(data);
24
+ const createQueryFnContext = () => {
25
+ const queryFnContext = {
26
+ client: context.client,
27
+ queryKey: context.queryKey,
28
+ pageParam: param,
29
+ direction: previous ? "backward" : "forward",
30
+ meta: context.options.meta
31
+ };
32
+ addSignalProperty(queryFnContext);
33
+ return queryFnContext;
34
+ };
35
+ const queryFnContext = createQueryFnContext();
36
+ const page = await queryFn(queryFnContext);
37
+ const { maxPages } = context.options;
38
+ const addTo = previous ? require_utils.addToStart : require_utils.addToEnd;
39
+ return {
40
+ pages: addTo(data.pages, page, maxPages),
41
+ pageParams: addTo(data.pageParams, param, maxPages)
42
+ };
43
+ };
44
+ if (direction && oldPages.length) {
45
+ const previous = direction === "backward";
46
+ const pageParamFn = previous ? getPreviousPageParam : getNextPageParam;
47
+ const oldData = {
48
+ pages: oldPages,
49
+ pageParams: oldPageParams
50
+ };
51
+ result = await fetchPage(oldData, pageParamFn(options, oldData), previous);
52
+ } else {
53
+ const remainingPages = pages ?? oldPages.length;
54
+ do {
55
+ const param = currentPage === 0 ? oldPageParams[0] ?? options.initialPageParam : getNextPageParam(options, result);
56
+ if (currentPage > 0 && param == null) break;
57
+ result = await fetchPage(result, param);
58
+ currentPage++;
59
+ } while (currentPage < remainingPages);
60
+ }
61
+ return result;
62
+ };
63
+ if (context.options.persister) context.fetchFn = () => {
64
+ return context.options.persister?.(fetchFn, {
65
+ client: context.client,
66
+ queryKey: context.queryKey,
67
+ meta: context.options.meta,
68
+ signal: context.signal
69
+ }, query);
70
+ };
71
+ else context.fetchFn = fetchFn;
72
+ } };
115
73
  }
116
74
  function getNextPageParam(options, { pages, pageParams }) {
117
- const lastIndex = pages.length - 1;
118
- return pages.length > 0 ? options.getNextPageParam(
119
- pages[lastIndex],
120
- pages,
121
- pageParams[lastIndex],
122
- pageParams
123
- ) : void 0;
75
+ const lastIndex = pages.length - 1;
76
+ return pages.length > 0 ? options.getNextPageParam(pages[lastIndex], pages, pageParams[lastIndex], pageParams) : void 0;
124
77
  }
125
78
  function getPreviousPageParam(options, { pages, pageParams }) {
126
- return pages.length > 0 ? options.getPreviousPageParam?.(pages[0], pages, pageParams[0], pageParams) : void 0;
79
+ return pages.length > 0 ? options.getPreviousPageParam?.(pages[0], pages, pageParams[0], pageParams) : void 0;
127
80
  }
81
+ /**
82
+ * Checks if there is a next page.
83
+ */
128
84
  function hasNextPage(options, data) {
129
- if (!data) return false;
130
- return getNextPageParam(options, data) != null;
85
+ if (!data) return false;
86
+ return getNextPageParam(options, data) != null;
131
87
  }
88
+ /**
89
+ * Checks if there is a previous page.
90
+ */
132
91
  function hasPreviousPage(options, data) {
133
- if (!data || !options.getPreviousPageParam) return false;
134
- return getPreviousPageParam(options, data) != null;
92
+ if (!data || !options.getPreviousPageParam) return false;
93
+ return getPreviousPageParam(options, data) != null;
135
94
  }
136
- // Annotate the CommonJS export names for ESM import in node:
137
- 0 && (module.exports = {
138
- hasNextPage,
139
- hasPreviousPage,
140
- infiniteQueryBehavior
141
- });
95
+ //#endregion
96
+ exports.hasNextPage = hasNextPage;
97
+ exports.hasPreviousPage = hasPreviousPage;
98
+ exports.infiniteQueryBehavior = infiniteQueryBehavior;
99
+
142
100
  //# sourceMappingURL=infiniteQueryBehavior.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/infiniteQueryBehavior.ts"],"sourcesContent":["import {\n addConsumeAwareSignal,\n addToEnd,\n addToStart,\n ensureQueryFn,\n} from './utils'\nimport type { QueryBehavior } from './query'\nimport type {\n InfiniteData,\n InfiniteQueryPageParamsOptions,\n OmitKeyof,\n QueryFunctionContext,\n QueryKey,\n} from './types'\n\nexport function infiniteQueryBehavior<TQueryFnData, TError, TData, TPageParam>(\n pages?: number,\n): QueryBehavior<TQueryFnData, TError, InfiniteData<TData, TPageParam>> {\n return {\n onFetch: (context, query) => {\n const options = context.options as InfiniteQueryPageParamsOptions<TData>\n const direction = context.fetchOptions?.meta?.fetchMore?.direction\n const oldPages = context.state.data?.pages || []\n const oldPageParams = context.state.data?.pageParams || []\n let result: InfiniteData<unknown> = { pages: [], pageParams: [] }\n let currentPage = 0\n\n const fetchFn = async () => {\n let cancelled = false\n const addSignalProperty = (object: unknown) => {\n addConsumeAwareSignal(\n object,\n () => context.signal,\n () => (cancelled = true),\n )\n }\n\n const queryFn = ensureQueryFn(context.options, context.fetchOptions)\n\n // Create function to fetch a page\n const fetchPage = async (\n data: InfiniteData<unknown>,\n param: unknown,\n previous?: boolean,\n ): Promise<InfiniteData<unknown>> => {\n if (cancelled) {\n return Promise.reject(context.signal.reason)\n }\n\n if (param == null && data.pages.length) {\n return Promise.resolve(data)\n }\n\n const createQueryFnContext = () => {\n const queryFnContext: OmitKeyof<\n QueryFunctionContext<QueryKey, unknown>,\n 'signal'\n > = {\n client: context.client,\n queryKey: context.queryKey,\n pageParam: param,\n direction: previous ? 'backward' : 'forward',\n meta: context.options.meta,\n }\n addSignalProperty(queryFnContext)\n return queryFnContext as QueryFunctionContext<QueryKey, unknown>\n }\n\n const queryFnContext = createQueryFnContext()\n\n const page = await queryFn(queryFnContext)\n\n const { maxPages } = context.options\n const addTo = previous ? addToStart : addToEnd\n\n return {\n pages: addTo(data.pages, page, maxPages),\n pageParams: addTo(data.pageParams, param, maxPages),\n }\n }\n\n // fetch next / previous page?\n if (direction && oldPages.length) {\n const previous = direction === 'backward'\n const pageParamFn = previous ? getPreviousPageParam : getNextPageParam\n const oldData = {\n pages: oldPages,\n pageParams: oldPageParams,\n }\n const param = pageParamFn(options, oldData)\n\n result = await fetchPage(oldData, param, previous)\n } else {\n const remainingPages = pages ?? oldPages.length\n\n // Fetch all pages\n do {\n const param =\n currentPage === 0\n ? (oldPageParams[0] ?? options.initialPageParam)\n : getNextPageParam(options, result)\n if (currentPage > 0 && param == null) {\n break\n }\n result = await fetchPage(result, param)\n currentPage++\n } while (currentPage < remainingPages)\n }\n\n return result\n }\n if (context.options.persister) {\n context.fetchFn = () => {\n return context.options.persister?.(\n fetchFn as any,\n {\n client: context.client,\n queryKey: context.queryKey,\n meta: context.options.meta,\n signal: context.signal,\n },\n query,\n )\n }\n } else {\n context.fetchFn = fetchFn\n }\n },\n }\n}\n\nfunction getNextPageParam(\n options: InfiniteQueryPageParamsOptions<any>,\n { pages, pageParams }: InfiniteData<unknown>,\n): unknown | undefined {\n const lastIndex = pages.length - 1\n return pages.length > 0\n ? options.getNextPageParam(\n pages[lastIndex],\n pages,\n pageParams[lastIndex],\n pageParams,\n )\n : undefined\n}\n\nfunction getPreviousPageParam(\n options: InfiniteQueryPageParamsOptions<any>,\n { pages, pageParams }: InfiniteData<unknown>,\n): unknown | undefined {\n return pages.length > 0\n ? options.getPreviousPageParam?.(pages[0], pages, pageParams[0], pageParams)\n : undefined\n}\n\n/**\n * Checks if there is a next page.\n */\nexport function hasNextPage(\n options: InfiniteQueryPageParamsOptions<any, any>,\n data?: InfiniteData<unknown>,\n): boolean {\n if (!data) return false\n return getNextPageParam(options, data) != null\n}\n\n/**\n * Checks if there is a previous page.\n */\nexport function hasPreviousPage(\n options: InfiniteQueryPageParamsOptions<any, any>,\n data?: InfiniteData<unknown>,\n): boolean {\n if (!data || !options.getPreviousPageParam) return false\n return getPreviousPageParam(options, data) != null\n}\n"],"mappings":"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","names":["queryFnContext"]}
1
+ {"version":3,"file":"infiniteQueryBehavior.cjs","names":["ensureQueryFn","addToStart","addToEnd"],"sources":["../../src/infiniteQueryBehavior.ts"],"sourcesContent":["import {\n addConsumeAwareSignal,\n addToEnd,\n addToStart,\n ensureQueryFn,\n} from './utils'\nimport type { QueryBehavior } from './query'\nimport type {\n InfiniteData,\n InfiniteQueryPageParamsOptions,\n OmitKeyof,\n QueryFunctionContext,\n QueryKey,\n} from './types'\n\nexport function infiniteQueryBehavior<TQueryFnData, TError, TData, TPageParam>(\n pages?: number,\n): QueryBehavior<TQueryFnData, TError, InfiniteData<TData, TPageParam>> {\n return {\n onFetch: (context, query) => {\n const options = context.options as InfiniteQueryPageParamsOptions<TData>\n const direction = context.fetchOptions?.meta?.fetchMore?.direction\n const oldPages = context.state.data?.pages || []\n const oldPageParams = context.state.data?.pageParams || []\n let result: InfiniteData<unknown> = { pages: [], pageParams: [] }\n let currentPage = 0\n\n const fetchFn = async () => {\n let cancelled = false\n const addSignalProperty = (object: unknown) => {\n addConsumeAwareSignal(\n object,\n () => context.signal,\n () => (cancelled = true),\n )\n }\n\n const queryFn = ensureQueryFn(context.options, context.fetchOptions)\n\n // Create function to fetch a page\n const fetchPage = async (\n data: InfiniteData<unknown>,\n param: unknown,\n previous?: boolean,\n ): Promise<InfiniteData<unknown>> => {\n if (cancelled) {\n return Promise.reject(context.signal.reason)\n }\n\n if (param == null && data.pages.length) {\n return Promise.resolve(data)\n }\n\n const createQueryFnContext = () => {\n const queryFnContext: OmitKeyof<\n QueryFunctionContext<QueryKey, unknown>,\n 'signal'\n > = {\n client: context.client,\n queryKey: context.queryKey,\n pageParam: param,\n direction: previous ? 'backward' : 'forward',\n meta: context.options.meta,\n }\n addSignalProperty(queryFnContext)\n return queryFnContext as QueryFunctionContext<QueryKey, unknown>\n }\n\n const queryFnContext = createQueryFnContext()\n\n const page = await queryFn(queryFnContext)\n\n const { maxPages } = context.options\n const addTo = previous ? addToStart : addToEnd\n\n return {\n pages: addTo(data.pages, page, maxPages),\n pageParams: addTo(data.pageParams, param, maxPages),\n }\n }\n\n // fetch next / previous page?\n if (direction && oldPages.length) {\n const previous = direction === 'backward'\n const pageParamFn = previous ? getPreviousPageParam : getNextPageParam\n const oldData = {\n pages: oldPages,\n pageParams: oldPageParams,\n }\n const param = pageParamFn(options, oldData)\n\n result = await fetchPage(oldData, param, previous)\n } else {\n const remainingPages = pages ?? oldPages.length\n\n // Fetch all pages\n do {\n const param =\n currentPage === 0\n ? (oldPageParams[0] ?? options.initialPageParam)\n : getNextPageParam(options, result)\n if (currentPage > 0 && param == null) {\n break\n }\n result = await fetchPage(result, param)\n currentPage++\n } while (currentPage < remainingPages)\n }\n\n return result\n }\n if (context.options.persister) {\n context.fetchFn = () => {\n return context.options.persister?.(\n fetchFn as any,\n {\n client: context.client,\n queryKey: context.queryKey,\n meta: context.options.meta,\n signal: context.signal,\n },\n query,\n )\n }\n } else {\n context.fetchFn = fetchFn\n }\n },\n }\n}\n\nfunction getNextPageParam(\n options: InfiniteQueryPageParamsOptions<any>,\n { pages, pageParams }: InfiniteData<unknown>,\n): unknown | undefined {\n const lastIndex = pages.length - 1\n return pages.length > 0\n ? options.getNextPageParam(\n pages[lastIndex],\n pages,\n pageParams[lastIndex],\n pageParams,\n )\n : undefined\n}\n\nfunction getPreviousPageParam(\n options: InfiniteQueryPageParamsOptions<any>,\n { pages, pageParams }: InfiniteData<unknown>,\n): unknown | undefined {\n return pages.length > 0\n ? options.getPreviousPageParam?.(pages[0], pages, pageParams[0], pageParams)\n : undefined\n}\n\n/**\n * Checks if there is a next page.\n */\nexport function hasNextPage(\n options: InfiniteQueryPageParamsOptions<any, any>,\n data?: InfiniteData<unknown>,\n): boolean {\n if (!data) return false\n return getNextPageParam(options, data) != null\n}\n\n/**\n * Checks if there is a previous page.\n */\nexport function hasPreviousPage(\n options: InfiniteQueryPageParamsOptions<any, any>,\n data?: InfiniteData<unknown>,\n): boolean {\n if (!data || !options.getPreviousPageParam) return false\n return getPreviousPageParam(options, data) != null\n}\n"],"mappings":";;;AAeA,SAAgB,sBACd,OACsE;CACtE,OAAO,EACL,UAAU,SAAS,UAAU;EAC3B,MAAM,UAAU,QAAQ;EACxB,MAAM,YAAY,QAAQ,cAAc,MAAM,WAAW;EACzD,MAAM,WAAW,QAAQ,MAAM,MAAM,SAAS,CAAC;EAC/C,MAAM,gBAAgB,QAAQ,MAAM,MAAM,cAAc,CAAC;EACzD,IAAI,SAAgC;GAAE,OAAO,CAAC;GAAG,YAAY,CAAC;EAAE;EAChE,IAAI,cAAc;EAElB,MAAM,UAAU,YAAY;GAC1B,IAAI,YAAY;GAChB,MAAM,qBAAqB,WAAoB;IAC7C,cAAA,sBACE,cACM,QAAQ,cACP,YAAY,IACrB;GACF;GAEA,MAAM,UAAUA,cAAAA,cAAc,QAAQ,SAAS,QAAQ,YAAY;GAGnE,MAAM,YAAY,OAChB,MACA,OACA,aACmC;IACnC,IAAI,WACF,OAAO,QAAQ,OAAO,QAAQ,OAAO,MAAM;IAG7C,IAAI,SAAS,QAAQ,KAAK,MAAM,QAC9B,OAAO,QAAQ,QAAQ,IAAI;IAG7B,MAAM,6BAA6B;KACjC,MAAM,iBAGF;MACF,QAAQ,QAAQ;MAChB,UAAU,QAAQ;MAClB,WAAW;MACX,WAAW,WAAW,aAAa;MACnC,MAAM,QAAQ,QAAQ;KACxB;KACA,kBAAkB,cAAc;KAChC,OAAO;IACT;IAEA,MAAM,iBAAiB,qBAAqB;IAE5C,MAAM,OAAO,MAAM,QAAQ,cAAc;IAEzC,MAAM,EAAE,aAAa,QAAQ;IAC7B,MAAM,QAAQ,WAAWC,cAAAA,aAAaC,cAAAA;IAEtC,OAAO;KACL,OAAO,MAAM,KAAK,OAAO,MAAM,QAAQ;KACvC,YAAY,MAAM,KAAK,YAAY,OAAO,QAAQ;IACpD;GACF;GAGA,IAAI,aAAa,SAAS,QAAQ;IAChC,MAAM,WAAW,cAAc;IAC/B,MAAM,cAAc,WAAW,uBAAuB;IACtD,MAAM,UAAU;KACd,OAAO;KACP,YAAY;IACd;IAGA,SAAS,MAAM,UAAU,SAFX,YAAY,SAAS,OAEG,GAAG,QAAQ;GACnD,OAAO;IACL,MAAM,iBAAiB,SAAS,SAAS;IAGzC,GAAG;KACD,MAAM,QACJ,gBAAgB,IACX,cAAc,MAAM,QAAQ,mBAC7B,iBAAiB,SAAS,MAAM;KACtC,IAAI,cAAc,KAAK,SAAS,MAC9B;KAEF,SAAS,MAAM,UAAU,QAAQ,KAAK;KACtC;IACF,SAAS,cAAc;GACzB;GAEA,OAAO;EACT;EACA,IAAI,QAAQ,QAAQ,WAClB,QAAQ,gBAAgB;GACtB,OAAO,QAAQ,QAAQ,YACrB,SACA;IACE,QAAQ,QAAQ;IAChB,UAAU,QAAQ;IAClB,MAAM,QAAQ,QAAQ;IACtB,QAAQ,QAAQ;GAClB,GACA,KACF;EACF;OAEA,QAAQ,UAAU;CAEtB,EACF;AACF;AAEA,SAAS,iBACP,SACA,EAAE,OAAO,cACY;CACrB,MAAM,YAAY,MAAM,SAAS;CACjC,OAAO,MAAM,SAAS,IAClB,QAAQ,iBACN,MAAM,YACN,OACA,WAAW,YACX,UACF,IACA,KAAA;AACN;AAEA,SAAS,qBACP,SACA,EAAE,OAAO,cACY;CACrB,OAAO,MAAM,SAAS,IAClB,QAAQ,uBAAuB,MAAM,IAAI,OAAO,WAAW,IAAI,UAAU,IACzE,KAAA;AACN;;;;AAKA,SAAgB,YACd,SACA,MACS;CACT,IAAI,CAAC,MAAM,OAAO;CAClB,OAAO,iBAAiB,SAAS,IAAI,KAAK;AAC5C;;;;AAKA,SAAgB,gBACd,SACA,MACS;CACT,IAAI,CAAC,QAAQ,CAAC,QAAQ,sBAAsB,OAAO;CACnD,OAAO,qBAAqB,SAAS,IAAI,KAAK;AAChD"}
@@ -1,3 +1,14 @@
1
- export { infiniteQueryBehavior } from './_tsup-dts-rollup.cjs';
2
- export { hasNextPage } from './_tsup-dts-rollup.cjs';
3
- export { hasPreviousPage } from './_tsup-dts-rollup.cjs';
1
+ import { $n as QueryBehavior, A as InfiniteData, V as InfiniteQueryPageParamsOptions } from "./hydration-BhSbkfZj.cjs";
2
+ //#region src/infiniteQueryBehavior.d.ts
3
+ declare function infiniteQueryBehavior<TQueryFnData, TError, TData, TPageParam>(pages?: number): QueryBehavior<TQueryFnData, TError, InfiniteData<TData, TPageParam>>;
4
+ /**
5
+ * Checks if there is a next page.
6
+ */
7
+ declare function hasNextPage(options: InfiniteQueryPageParamsOptions<any, any>, data?: InfiniteData<unknown>): boolean;
8
+ /**
9
+ * Checks if there is a previous page.
10
+ */
11
+ declare function hasPreviousPage(options: InfiniteQueryPageParamsOptions<any, any>, data?: InfiniteData<unknown>): boolean;
12
+ //#endregion
13
+ export { hasNextPage, hasPreviousPage, infiniteQueryBehavior };
14
+ //# sourceMappingURL=infiniteQueryBehavior.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infiniteQueryBehavior.d.cts","names":[],"sources":["../../src/infiniteQueryBehavior.ts"],"mappings":";;iBAegB,sBAAsB,cAAc,QAAQ,OAAO,YACjE,iBACC,cAAc,cAAc,QAAQ,aAAa,OAAO;;;;iBA6I3C,YACd,SAAS,0CACT,OAAO;;;;iBASO,gBACd,SAAS,0CACT,OAAO"}
@@ -1,3 +1,14 @@
1
- export { infiniteQueryBehavior } from './_tsup-dts-rollup.js';
2
- export { hasNextPage } from './_tsup-dts-rollup.js';
3
- export { hasPreviousPage } from './_tsup-dts-rollup.js';
1
+ import { $n as QueryBehavior, A as InfiniteData, V as InfiniteQueryPageParamsOptions } from "./hydration-Hebl6yHM.js";
2
+ //#region src/infiniteQueryBehavior.d.ts
3
+ declare function infiniteQueryBehavior<TQueryFnData, TError, TData, TPageParam>(pages?: number): QueryBehavior<TQueryFnData, TError, InfiniteData<TData, TPageParam>>;
4
+ /**
5
+ * Checks if there is a next page.
6
+ */
7
+ declare function hasNextPage(options: InfiniteQueryPageParamsOptions<any, any>, data?: InfiniteData<unknown>): boolean;
8
+ /**
9
+ * Checks if there is a previous page.
10
+ */
11
+ declare function hasPreviousPage(options: InfiniteQueryPageParamsOptions<any, any>, data?: InfiniteData<unknown>): boolean;
12
+ //#endregion
13
+ export { hasNextPage, hasPreviousPage, infiniteQueryBehavior };
14
+ //# sourceMappingURL=infiniteQueryBehavior.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infiniteQueryBehavior.d.ts","names":[],"sources":["../../src/infiniteQueryBehavior.ts"],"mappings":";;iBAegB,sBAAsB,cAAc,QAAQ,OAAO,YACjE,iBACC,cAAc,cAAc,QAAQ,aAAa,OAAO;;;;iBA6I3C,YACd,SAAS,0CACT,OAAO;;;;iBASO,gBACd,SAAS,0CACT,OAAO"}
@@ -1,120 +1,97 @@
1
- // src/infiniteQueryBehavior.ts
2
- import {
3
- addConsumeAwareSignal,
4
- addToEnd,
5
- addToStart,
6
- ensureQueryFn
7
- } from "./utils.js";
1
+ import { addConsumeAwareSignal, addToEnd, addToStart, ensureQueryFn } from "./utils.js";
2
+ //#region src/infiniteQueryBehavior.ts
8
3
  function infiniteQueryBehavior(pages) {
9
- return {
10
- onFetch: (context, query) => {
11
- const options = context.options;
12
- const direction = context.fetchOptions?.meta?.fetchMore?.direction;
13
- const oldPages = context.state.data?.pages || [];
14
- const oldPageParams = context.state.data?.pageParams || [];
15
- let result = { pages: [], pageParams: [] };
16
- let currentPage = 0;
17
- const fetchFn = async () => {
18
- let cancelled = false;
19
- const addSignalProperty = (object) => {
20
- addConsumeAwareSignal(
21
- object,
22
- () => context.signal,
23
- () => cancelled = true
24
- );
25
- };
26
- const queryFn = ensureQueryFn(context.options, context.fetchOptions);
27
- const fetchPage = async (data, param, previous) => {
28
- if (cancelled) {
29
- return Promise.reject(context.signal.reason);
30
- }
31
- if (param == null && data.pages.length) {
32
- return Promise.resolve(data);
33
- }
34
- const createQueryFnContext = () => {
35
- const queryFnContext2 = {
36
- client: context.client,
37
- queryKey: context.queryKey,
38
- pageParam: param,
39
- direction: previous ? "backward" : "forward",
40
- meta: context.options.meta
41
- };
42
- addSignalProperty(queryFnContext2);
43
- return queryFnContext2;
44
- };
45
- const queryFnContext = createQueryFnContext();
46
- const page = await queryFn(queryFnContext);
47
- const { maxPages } = context.options;
48
- const addTo = previous ? addToStart : addToEnd;
49
- return {
50
- pages: addTo(data.pages, page, maxPages),
51
- pageParams: addTo(data.pageParams, param, maxPages)
52
- };
53
- };
54
- if (direction && oldPages.length) {
55
- const previous = direction === "backward";
56
- const pageParamFn = previous ? getPreviousPageParam : getNextPageParam;
57
- const oldData = {
58
- pages: oldPages,
59
- pageParams: oldPageParams
60
- };
61
- const param = pageParamFn(options, oldData);
62
- result = await fetchPage(oldData, param, previous);
63
- } else {
64
- const remainingPages = pages ?? oldPages.length;
65
- do {
66
- const param = currentPage === 0 ? oldPageParams[0] ?? options.initialPageParam : getNextPageParam(options, result);
67
- if (currentPage > 0 && param == null) {
68
- break;
69
- }
70
- result = await fetchPage(result, param);
71
- currentPage++;
72
- } while (currentPage < remainingPages);
73
- }
74
- return result;
75
- };
76
- if (context.options.persister) {
77
- context.fetchFn = () => {
78
- return context.options.persister?.(
79
- fetchFn,
80
- {
81
- client: context.client,
82
- queryKey: context.queryKey,
83
- meta: context.options.meta,
84
- signal: context.signal
85
- },
86
- query
87
- );
88
- };
89
- } else {
90
- context.fetchFn = fetchFn;
91
- }
92
- }
93
- };
4
+ return { onFetch: (context, query) => {
5
+ const options = context.options;
6
+ const direction = context.fetchOptions?.meta?.fetchMore?.direction;
7
+ const oldPages = context.state.data?.pages || [];
8
+ const oldPageParams = context.state.data?.pageParams || [];
9
+ let result = {
10
+ pages: [],
11
+ pageParams: []
12
+ };
13
+ let currentPage = 0;
14
+ const fetchFn = async () => {
15
+ let cancelled = false;
16
+ const addSignalProperty = (object) => {
17
+ addConsumeAwareSignal(object, () => context.signal, () => cancelled = true);
18
+ };
19
+ const queryFn = ensureQueryFn(context.options, context.fetchOptions);
20
+ const fetchPage = async (data, param, previous) => {
21
+ if (cancelled) return Promise.reject(context.signal.reason);
22
+ if (param == null && data.pages.length) return Promise.resolve(data);
23
+ const createQueryFnContext = () => {
24
+ const queryFnContext = {
25
+ client: context.client,
26
+ queryKey: context.queryKey,
27
+ pageParam: param,
28
+ direction: previous ? "backward" : "forward",
29
+ meta: context.options.meta
30
+ };
31
+ addSignalProperty(queryFnContext);
32
+ return queryFnContext;
33
+ };
34
+ const queryFnContext = createQueryFnContext();
35
+ const page = await queryFn(queryFnContext);
36
+ const { maxPages } = context.options;
37
+ const addTo = previous ? addToStart : addToEnd;
38
+ return {
39
+ pages: addTo(data.pages, page, maxPages),
40
+ pageParams: addTo(data.pageParams, param, maxPages)
41
+ };
42
+ };
43
+ if (direction && oldPages.length) {
44
+ const previous = direction === "backward";
45
+ const pageParamFn = previous ? getPreviousPageParam : getNextPageParam;
46
+ const oldData = {
47
+ pages: oldPages,
48
+ pageParams: oldPageParams
49
+ };
50
+ result = await fetchPage(oldData, pageParamFn(options, oldData), previous);
51
+ } else {
52
+ const remainingPages = pages ?? oldPages.length;
53
+ do {
54
+ const param = currentPage === 0 ? oldPageParams[0] ?? options.initialPageParam : getNextPageParam(options, result);
55
+ if (currentPage > 0 && param == null) break;
56
+ result = await fetchPage(result, param);
57
+ currentPage++;
58
+ } while (currentPage < remainingPages);
59
+ }
60
+ return result;
61
+ };
62
+ if (context.options.persister) context.fetchFn = () => {
63
+ return context.options.persister?.(fetchFn, {
64
+ client: context.client,
65
+ queryKey: context.queryKey,
66
+ meta: context.options.meta,
67
+ signal: context.signal
68
+ }, query);
69
+ };
70
+ else context.fetchFn = fetchFn;
71
+ } };
94
72
  }
95
73
  function getNextPageParam(options, { pages, pageParams }) {
96
- const lastIndex = pages.length - 1;
97
- return pages.length > 0 ? options.getNextPageParam(
98
- pages[lastIndex],
99
- pages,
100
- pageParams[lastIndex],
101
- pageParams
102
- ) : void 0;
74
+ const lastIndex = pages.length - 1;
75
+ return pages.length > 0 ? options.getNextPageParam(pages[lastIndex], pages, pageParams[lastIndex], pageParams) : void 0;
103
76
  }
104
77
  function getPreviousPageParam(options, { pages, pageParams }) {
105
- return pages.length > 0 ? options.getPreviousPageParam?.(pages[0], pages, pageParams[0], pageParams) : void 0;
78
+ return pages.length > 0 ? options.getPreviousPageParam?.(pages[0], pages, pageParams[0], pageParams) : void 0;
106
79
  }
80
+ /**
81
+ * Checks if there is a next page.
82
+ */
107
83
  function hasNextPage(options, data) {
108
- if (!data) return false;
109
- return getNextPageParam(options, data) != null;
84
+ if (!data) return false;
85
+ return getNextPageParam(options, data) != null;
110
86
  }
87
+ /**
88
+ * Checks if there is a previous page.
89
+ */
111
90
  function hasPreviousPage(options, data) {
112
- if (!data || !options.getPreviousPageParam) return false;
113
- return getPreviousPageParam(options, data) != null;
91
+ if (!data || !options.getPreviousPageParam) return false;
92
+ return getPreviousPageParam(options, data) != null;
114
93
  }
115
- export {
116
- hasNextPage,
117
- hasPreviousPage,
118
- infiniteQueryBehavior
119
- };
94
+ //#endregion
95
+ export { hasNextPage, hasPreviousPage, infiniteQueryBehavior };
96
+
120
97
  //# sourceMappingURL=infiniteQueryBehavior.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/infiniteQueryBehavior.ts"],"sourcesContent":["import {\n addConsumeAwareSignal,\n addToEnd,\n addToStart,\n ensureQueryFn,\n} from './utils'\nimport type { QueryBehavior } from './query'\nimport type {\n InfiniteData,\n InfiniteQueryPageParamsOptions,\n OmitKeyof,\n QueryFunctionContext,\n QueryKey,\n} from './types'\n\nexport function infiniteQueryBehavior<TQueryFnData, TError, TData, TPageParam>(\n pages?: number,\n): QueryBehavior<TQueryFnData, TError, InfiniteData<TData, TPageParam>> {\n return {\n onFetch: (context, query) => {\n const options = context.options as InfiniteQueryPageParamsOptions<TData>\n const direction = context.fetchOptions?.meta?.fetchMore?.direction\n const oldPages = context.state.data?.pages || []\n const oldPageParams = context.state.data?.pageParams || []\n let result: InfiniteData<unknown> = { pages: [], pageParams: [] }\n let currentPage = 0\n\n const fetchFn = async () => {\n let cancelled = false\n const addSignalProperty = (object: unknown) => {\n addConsumeAwareSignal(\n object,\n () => context.signal,\n () => (cancelled = true),\n )\n }\n\n const queryFn = ensureQueryFn(context.options, context.fetchOptions)\n\n // Create function to fetch a page\n const fetchPage = async (\n data: InfiniteData<unknown>,\n param: unknown,\n previous?: boolean,\n ): Promise<InfiniteData<unknown>> => {\n if (cancelled) {\n return Promise.reject(context.signal.reason)\n }\n\n if (param == null && data.pages.length) {\n return Promise.resolve(data)\n }\n\n const createQueryFnContext = () => {\n const queryFnContext: OmitKeyof<\n QueryFunctionContext<QueryKey, unknown>,\n 'signal'\n > = {\n client: context.client,\n queryKey: context.queryKey,\n pageParam: param,\n direction: previous ? 'backward' : 'forward',\n meta: context.options.meta,\n }\n addSignalProperty(queryFnContext)\n return queryFnContext as QueryFunctionContext<QueryKey, unknown>\n }\n\n const queryFnContext = createQueryFnContext()\n\n const page = await queryFn(queryFnContext)\n\n const { maxPages } = context.options\n const addTo = previous ? addToStart : addToEnd\n\n return {\n pages: addTo(data.pages, page, maxPages),\n pageParams: addTo(data.pageParams, param, maxPages),\n }\n }\n\n // fetch next / previous page?\n if (direction && oldPages.length) {\n const previous = direction === 'backward'\n const pageParamFn = previous ? getPreviousPageParam : getNextPageParam\n const oldData = {\n pages: oldPages,\n pageParams: oldPageParams,\n }\n const param = pageParamFn(options, oldData)\n\n result = await fetchPage(oldData, param, previous)\n } else {\n const remainingPages = pages ?? oldPages.length\n\n // Fetch all pages\n do {\n const param =\n currentPage === 0\n ? (oldPageParams[0] ?? options.initialPageParam)\n : getNextPageParam(options, result)\n if (currentPage > 0 && param == null) {\n break\n }\n result = await fetchPage(result, param)\n currentPage++\n } while (currentPage < remainingPages)\n }\n\n return result\n }\n if (context.options.persister) {\n context.fetchFn = () => {\n return context.options.persister?.(\n fetchFn as any,\n {\n client: context.client,\n queryKey: context.queryKey,\n meta: context.options.meta,\n signal: context.signal,\n },\n query,\n )\n }\n } else {\n context.fetchFn = fetchFn\n }\n },\n }\n}\n\nfunction getNextPageParam(\n options: InfiniteQueryPageParamsOptions<any>,\n { pages, pageParams }: InfiniteData<unknown>,\n): unknown | undefined {\n const lastIndex = pages.length - 1\n return pages.length > 0\n ? options.getNextPageParam(\n pages[lastIndex],\n pages,\n pageParams[lastIndex],\n pageParams,\n )\n : undefined\n}\n\nfunction getPreviousPageParam(\n options: InfiniteQueryPageParamsOptions<any>,\n { pages, pageParams }: InfiniteData<unknown>,\n): unknown | undefined {\n return pages.length > 0\n ? options.getPreviousPageParam?.(pages[0], pages, pageParams[0], pageParams)\n : undefined\n}\n\n/**\n * Checks if there is a next page.\n */\nexport function hasNextPage(\n options: InfiniteQueryPageParamsOptions<any, any>,\n data?: InfiniteData<unknown>,\n): boolean {\n if (!data) return false\n return getNextPageParam(options, data) != null\n}\n\n/**\n * Checks if there is a previous page.\n */\nexport function hasPreviousPage(\n options: InfiniteQueryPageParamsOptions<any, any>,\n data?: InfiniteData<unknown>,\n): boolean {\n if (!data || !options.getPreviousPageParam) return false\n return getPreviousPageParam(options, data) != null\n}\n"],"mappings":"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","names":["queryFnContext"]}
1
+ {"version":3,"file":"infiniteQueryBehavior.js","names":[],"sources":["../../src/infiniteQueryBehavior.ts"],"sourcesContent":["import {\n addConsumeAwareSignal,\n addToEnd,\n addToStart,\n ensureQueryFn,\n} from './utils'\nimport type { QueryBehavior } from './query'\nimport type {\n InfiniteData,\n InfiniteQueryPageParamsOptions,\n OmitKeyof,\n QueryFunctionContext,\n QueryKey,\n} from './types'\n\nexport function infiniteQueryBehavior<TQueryFnData, TError, TData, TPageParam>(\n pages?: number,\n): QueryBehavior<TQueryFnData, TError, InfiniteData<TData, TPageParam>> {\n return {\n onFetch: (context, query) => {\n const options = context.options as InfiniteQueryPageParamsOptions<TData>\n const direction = context.fetchOptions?.meta?.fetchMore?.direction\n const oldPages = context.state.data?.pages || []\n const oldPageParams = context.state.data?.pageParams || []\n let result: InfiniteData<unknown> = { pages: [], pageParams: [] }\n let currentPage = 0\n\n const fetchFn = async () => {\n let cancelled = false\n const addSignalProperty = (object: unknown) => {\n addConsumeAwareSignal(\n object,\n () => context.signal,\n () => (cancelled = true),\n )\n }\n\n const queryFn = ensureQueryFn(context.options, context.fetchOptions)\n\n // Create function to fetch a page\n const fetchPage = async (\n data: InfiniteData<unknown>,\n param: unknown,\n previous?: boolean,\n ): Promise<InfiniteData<unknown>> => {\n if (cancelled) {\n return Promise.reject(context.signal.reason)\n }\n\n if (param == null && data.pages.length) {\n return Promise.resolve(data)\n }\n\n const createQueryFnContext = () => {\n const queryFnContext: OmitKeyof<\n QueryFunctionContext<QueryKey, unknown>,\n 'signal'\n > = {\n client: context.client,\n queryKey: context.queryKey,\n pageParam: param,\n direction: previous ? 'backward' : 'forward',\n meta: context.options.meta,\n }\n addSignalProperty(queryFnContext)\n return queryFnContext as QueryFunctionContext<QueryKey, unknown>\n }\n\n const queryFnContext = createQueryFnContext()\n\n const page = await queryFn(queryFnContext)\n\n const { maxPages } = context.options\n const addTo = previous ? addToStart : addToEnd\n\n return {\n pages: addTo(data.pages, page, maxPages),\n pageParams: addTo(data.pageParams, param, maxPages),\n }\n }\n\n // fetch next / previous page?\n if (direction && oldPages.length) {\n const previous = direction === 'backward'\n const pageParamFn = previous ? getPreviousPageParam : getNextPageParam\n const oldData = {\n pages: oldPages,\n pageParams: oldPageParams,\n }\n const param = pageParamFn(options, oldData)\n\n result = await fetchPage(oldData, param, previous)\n } else {\n const remainingPages = pages ?? oldPages.length\n\n // Fetch all pages\n do {\n const param =\n currentPage === 0\n ? (oldPageParams[0] ?? options.initialPageParam)\n : getNextPageParam(options, result)\n if (currentPage > 0 && param == null) {\n break\n }\n result = await fetchPage(result, param)\n currentPage++\n } while (currentPage < remainingPages)\n }\n\n return result\n }\n if (context.options.persister) {\n context.fetchFn = () => {\n return context.options.persister?.(\n fetchFn as any,\n {\n client: context.client,\n queryKey: context.queryKey,\n meta: context.options.meta,\n signal: context.signal,\n },\n query,\n )\n }\n } else {\n context.fetchFn = fetchFn\n }\n },\n }\n}\n\nfunction getNextPageParam(\n options: InfiniteQueryPageParamsOptions<any>,\n { pages, pageParams }: InfiniteData<unknown>,\n): unknown | undefined {\n const lastIndex = pages.length - 1\n return pages.length > 0\n ? options.getNextPageParam(\n pages[lastIndex],\n pages,\n pageParams[lastIndex],\n pageParams,\n )\n : undefined\n}\n\nfunction getPreviousPageParam(\n options: InfiniteQueryPageParamsOptions<any>,\n { pages, pageParams }: InfiniteData<unknown>,\n): unknown | undefined {\n return pages.length > 0\n ? options.getPreviousPageParam?.(pages[0], pages, pageParams[0], pageParams)\n : undefined\n}\n\n/**\n * Checks if there is a next page.\n */\nexport function hasNextPage(\n options: InfiniteQueryPageParamsOptions<any, any>,\n data?: InfiniteData<unknown>,\n): boolean {\n if (!data) return false\n return getNextPageParam(options, data) != null\n}\n\n/**\n * Checks if there is a previous page.\n */\nexport function hasPreviousPage(\n options: InfiniteQueryPageParamsOptions<any, any>,\n data?: InfiniteData<unknown>,\n): boolean {\n if (!data || !options.getPreviousPageParam) return false\n return getPreviousPageParam(options, data) != null\n}\n"],"mappings":";;AAeA,SAAgB,sBACd,OACsE;CACtE,OAAO,EACL,UAAU,SAAS,UAAU;EAC3B,MAAM,UAAU,QAAQ;EACxB,MAAM,YAAY,QAAQ,cAAc,MAAM,WAAW;EACzD,MAAM,WAAW,QAAQ,MAAM,MAAM,SAAS,CAAC;EAC/C,MAAM,gBAAgB,QAAQ,MAAM,MAAM,cAAc,CAAC;EACzD,IAAI,SAAgC;GAAE,OAAO,CAAC;GAAG,YAAY,CAAC;EAAE;EAChE,IAAI,cAAc;EAElB,MAAM,UAAU,YAAY;GAC1B,IAAI,YAAY;GAChB,MAAM,qBAAqB,WAAoB;IAC7C,sBACE,cACM,QAAQ,cACP,YAAY,IACrB;GACF;GAEA,MAAM,UAAU,cAAc,QAAQ,SAAS,QAAQ,YAAY;GAGnE,MAAM,YAAY,OAChB,MACA,OACA,aACmC;IACnC,IAAI,WACF,OAAO,QAAQ,OAAO,QAAQ,OAAO,MAAM;IAG7C,IAAI,SAAS,QAAQ,KAAK,MAAM,QAC9B,OAAO,QAAQ,QAAQ,IAAI;IAG7B,MAAM,6BAA6B;KACjC,MAAM,iBAGF;MACF,QAAQ,QAAQ;MAChB,UAAU,QAAQ;MAClB,WAAW;MACX,WAAW,WAAW,aAAa;MACnC,MAAM,QAAQ,QAAQ;KACxB;KACA,kBAAkB,cAAc;KAChC,OAAO;IACT;IAEA,MAAM,iBAAiB,qBAAqB;IAE5C,MAAM,OAAO,MAAM,QAAQ,cAAc;IAEzC,MAAM,EAAE,aAAa,QAAQ;IAC7B,MAAM,QAAQ,WAAW,aAAa;IAEtC,OAAO;KACL,OAAO,MAAM,KAAK,OAAO,MAAM,QAAQ;KACvC,YAAY,MAAM,KAAK,YAAY,OAAO,QAAQ;IACpD;GACF;GAGA,IAAI,aAAa,SAAS,QAAQ;IAChC,MAAM,WAAW,cAAc;IAC/B,MAAM,cAAc,WAAW,uBAAuB;IACtD,MAAM,UAAU;KACd,OAAO;KACP,YAAY;IACd;IAGA,SAAS,MAAM,UAAU,SAFX,YAAY,SAAS,OAEG,GAAG,QAAQ;GACnD,OAAO;IACL,MAAM,iBAAiB,SAAS,SAAS;IAGzC,GAAG;KACD,MAAM,QACJ,gBAAgB,IACX,cAAc,MAAM,QAAQ,mBAC7B,iBAAiB,SAAS,MAAM;KACtC,IAAI,cAAc,KAAK,SAAS,MAC9B;KAEF,SAAS,MAAM,UAAU,QAAQ,KAAK;KACtC;IACF,SAAS,cAAc;GACzB;GAEA,OAAO;EACT;EACA,IAAI,QAAQ,QAAQ,WAClB,QAAQ,gBAAgB;GACtB,OAAO,QAAQ,QAAQ,YACrB,SACA;IACE,QAAQ,QAAQ;IAChB,UAAU,QAAQ;IAClB,MAAM,QAAQ,QAAQ;IACtB,QAAQ,QAAQ;GAClB,GACA,KACF;EACF;OAEA,QAAQ,UAAU;CAEtB,EACF;AACF;AAEA,SAAS,iBACP,SACA,EAAE,OAAO,cACY;CACrB,MAAM,YAAY,MAAM,SAAS;CACjC,OAAO,MAAM,SAAS,IAClB,QAAQ,iBACN,MAAM,YACN,OACA,WAAW,YACX,UACF,IACA,KAAA;AACN;AAEA,SAAS,qBACP,SACA,EAAE,OAAO,cACY;CACrB,OAAO,MAAM,SAAS,IAClB,QAAQ,uBAAuB,MAAM,IAAI,OAAO,WAAW,IAAI,UAAU,IACzE,KAAA;AACN;;;;AAKA,SAAgB,YACd,SACA,MACS;CACT,IAAI,CAAC,MAAM,OAAO;CAClB,OAAO,iBAAiB,SAAS,IAAI,KAAK;AAC5C;;;;AAKA,SAAgB,gBACd,SACA,MACS;CACT,IAAI,CAAC,QAAQ,CAAC,QAAQ,sBAAsB,OAAO;CACnD,OAAO,qBAAqB,SAAS,IAAI,KAAK;AAChD"}