@tanstack/react-query 5.0.0-alpha.9 → 5.0.0-alpha.90

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 (411) hide show
  1. package/build/codemods/remove-overloads/remove-overloads.js +59 -0
  2. package/build/codemods/remove-overloads/transformers/filter-aware-usage-transformer.js +153 -0
  3. package/build/codemods/remove-overloads/transformers/query-fn-aware-usage-transformer.js +188 -0
  4. package/build/codemods/remove-overloads/utils/index.js +124 -0
  5. package/build/codemods/remove-overloads/utils/unknown-usage-error.js +27 -0
  6. package/build/codemods/rename-hydrate/rename-hydrate.js +55 -0
  7. package/build/codemods/rename-properties/rename-properties.js +41 -0
  8. package/build/codemods/src/utils/index.js +205 -0
  9. package/build/codemods/src/v4/key-transformation.js +138 -0
  10. package/build/codemods/src/v4/replace-import-specifier.js +25 -0
  11. package/build/codemods/transformers/query-cache-transformer.js +116 -0
  12. package/build/codemods/transformers/query-client-transformer.js +48 -0
  13. package/build/codemods/transformers/use-query-like-transformer.js +32 -0
  14. package/build/codemods/utils/replacers/key-replacer.js +164 -0
  15. package/build/legacy/HydrationBoundary.cjs +60 -0
  16. package/build/legacy/HydrationBoundary.cjs.map +1 -0
  17. package/build/legacy/HydrationBoundary.d.cts +12 -0
  18. package/build/legacy/HydrationBoundary.d.ts +12 -0
  19. package/build/legacy/HydrationBoundary.js +26 -0
  20. package/build/legacy/HydrationBoundary.js.map +1 -0
  21. package/build/legacy/QueryClientProvider.cjs +71 -0
  22. package/build/legacy/QueryClientProvider.cjs.map +1 -0
  23. package/build/legacy/QueryClientProvider.d.cts +12 -0
  24. package/build/legacy/QueryClientProvider.d.ts +12 -0
  25. package/build/legacy/QueryClientProvider.js +35 -0
  26. package/build/legacy/QueryClientProvider.js.map +1 -0
  27. package/build/legacy/QueryErrorResetBoundary.cjs +66 -0
  28. package/build/legacy/QueryErrorResetBoundary.cjs.map +1 -0
  29. package/build/legacy/QueryErrorResetBoundary.d.cts +14 -0
  30. package/build/legacy/QueryErrorResetBoundary.d.ts +14 -0
  31. package/build/legacy/QueryErrorResetBoundary.js +31 -0
  32. package/build/legacy/QueryErrorResetBoundary.js.map +1 -0
  33. package/build/legacy/errorBoundaryUtils.cjs +67 -0
  34. package/build/legacy/errorBoundaryUtils.cjs.map +1 -0
  35. package/build/legacy/errorBoundaryUtils.d.cts +14 -0
  36. package/build/legacy/errorBoundaryUtils.d.ts +14 -0
  37. package/build/legacy/errorBoundaryUtils.js +31 -0
  38. package/build/legacy/errorBoundaryUtils.js.map +1 -0
  39. package/build/legacy/index.cjs +85 -0
  40. package/build/legacy/index.cjs.map +1 -0
  41. package/build/legacy/index.d.cts +17 -0
  42. package/build/legacy/index.d.ts +17 -0
  43. package/build/legacy/index.js +46 -0
  44. package/build/legacy/index.js.map +1 -0
  45. package/build/legacy/infiniteQueryOptions.cjs +33 -0
  46. package/build/legacy/infiniteQueryOptions.cjs.map +1 -0
  47. package/build/legacy/infiniteQueryOptions.d.cts +13 -0
  48. package/build/legacy/infiniteQueryOptions.d.ts +13 -0
  49. package/build/legacy/infiniteQueryOptions.js +8 -0
  50. package/build/legacy/infiniteQueryOptions.js.map +1 -0
  51. package/build/legacy/isRestoring.cjs +47 -0
  52. package/build/legacy/isRestoring.cjs.map +1 -0
  53. package/build/legacy/isRestoring.d.cts +6 -0
  54. package/build/legacy/isRestoring.d.ts +6 -0
  55. package/build/legacy/isRestoring.js +12 -0
  56. package/build/legacy/isRestoring.js.map +1 -0
  57. package/build/legacy/queryOptions.cjs +33 -0
  58. package/build/legacy/queryOptions.cjs.map +1 -0
  59. package/build/legacy/queryOptions.d.cts +13 -0
  60. package/build/legacy/queryOptions.d.ts +13 -0
  61. package/build/legacy/queryOptions.js +8 -0
  62. package/build/legacy/queryOptions.js.map +1 -0
  63. package/build/legacy/suspense.cjs +48 -0
  64. package/build/legacy/suspense.cjs.map +1 -0
  65. package/build/legacy/suspense.d.cts +10 -0
  66. package/build/legacy/suspense.d.ts +10 -0
  67. package/build/legacy/suspense.js +20 -0
  68. package/build/legacy/suspense.js.map +1 -0
  69. package/build/legacy/types.cjs +19 -0
  70. package/build/legacy/types.cjs.map +1 -0
  71. package/build/legacy/types.d.cts +34 -0
  72. package/build/legacy/types.d.ts +34 -0
  73. package/build/legacy/types.js +1 -0
  74. package/build/legacy/types.js.map +1 -0
  75. package/build/legacy/useBaseQuery.cjs +92 -0
  76. package/build/legacy/useBaseQuery.cjs.map +1 -0
  77. package/build/legacy/useBaseQuery.d.cts +92 -0
  78. package/build/legacy/useBaseQuery.d.ts +92 -0
  79. package/build/legacy/useBaseQuery.js +62 -0
  80. package/build/legacy/useBaseQuery.js.map +1 -0
  81. package/build/legacy/useInfiniteQuery.cjs +41 -0
  82. package/build/legacy/useInfiniteQuery.cjs.map +1 -0
  83. package/build/legacy/useInfiniteQuery.d.cts +8 -0
  84. package/build/legacy/useInfiniteQuery.d.ts +8 -0
  85. package/build/legacy/useInfiniteQuery.js +17 -0
  86. package/build/legacy/useInfiniteQuery.js.map +1 -0
  87. package/build/legacy/useIsFetching.cjs +56 -0
  88. package/build/legacy/useIsFetching.cjs.map +1 -0
  89. package/build/legacy/useIsFetching.d.cts +5 -0
  90. package/build/legacy/useIsFetching.d.ts +5 -0
  91. package/build/legacy/useIsFetching.js +22 -0
  92. package/build/legacy/useIsFetching.js.map +1 -0
  93. package/build/legacy/useMutation.cjs +77 -0
  94. package/build/legacy/useMutation.cjs.map +1 -0
  95. package/build/legacy/useMutation.d.cts +6 -0
  96. package/build/legacy/useMutation.d.ts +6 -0
  97. package/build/legacy/useMutation.js +43 -0
  98. package/build/legacy/useMutation.js.map +1 -0
  99. package/build/legacy/useMutationState.cjs +88 -0
  100. package/build/legacy/useMutationState.cjs.map +1 -0
  101. package/build/legacy/useMutationState.d.cts +10 -0
  102. package/build/legacy/useMutationState.d.ts +10 -0
  103. package/build/legacy/useMutationState.js +53 -0
  104. package/build/legacy/useMutationState.js.map +1 -0
  105. package/build/legacy/useQueries.cjs +128 -0
  106. package/build/legacy/useQueries.cjs.map +1 -0
  107. package/build/legacy/useQueries.d.cts +53 -0
  108. package/build/{lib → legacy}/useQueries.d.ts +14 -11
  109. package/build/legacy/useQueries.js +103 -0
  110. package/build/legacy/useQueries.js.map +1 -0
  111. package/build/legacy/useQuery.cjs +36 -0
  112. package/build/legacy/useQuery.cjs.map +1 -0
  113. package/build/legacy/useQuery.d.cts +8 -0
  114. package/build/legacy/useQuery.d.ts +8 -0
  115. package/build/legacy/useQuery.js +12 -0
  116. package/build/legacy/useQuery.js.map +1 -0
  117. package/build/legacy/useSuspenseInfiniteQuery.cjs +46 -0
  118. package/build/legacy/useSuspenseInfiniteQuery.cjs.map +1 -0
  119. package/build/legacy/useSuspenseInfiniteQuery.d.cts +6 -0
  120. package/build/legacy/useSuspenseInfiniteQuery.d.ts +6 -0
  121. package/build/legacy/useSuspenseInfiniteQuery.js +22 -0
  122. package/build/legacy/useSuspenseInfiniteQuery.js.map +1 -0
  123. package/build/legacy/useSuspenseQuery.cjs +45 -0
  124. package/build/legacy/useSuspenseQuery.cjs.map +1 -0
  125. package/build/legacy/useSuspenseQuery.d.cts +6 -0
  126. package/build/legacy/useSuspenseQuery.d.ts +6 -0
  127. package/build/legacy/useSuspenseQuery.js +21 -0
  128. package/build/legacy/useSuspenseQuery.js.map +1 -0
  129. package/build/legacy/utils.cjs +36 -0
  130. package/build/legacy/utils.cjs.map +1 -0
  131. package/build/legacy/utils.d.cts +3 -0
  132. package/build/legacy/utils.d.ts +3 -0
  133. package/build/legacy/utils.js +11 -0
  134. package/build/legacy/utils.js.map +1 -0
  135. package/build/modern/HydrationBoundary.cjs +60 -0
  136. package/build/modern/HydrationBoundary.cjs.map +1 -0
  137. package/build/modern/HydrationBoundary.d.cts +12 -0
  138. package/build/modern/HydrationBoundary.d.ts +12 -0
  139. package/build/modern/HydrationBoundary.js +26 -0
  140. package/build/modern/HydrationBoundary.js.map +1 -0
  141. package/build/modern/QueryClientProvider.cjs +71 -0
  142. package/build/modern/QueryClientProvider.cjs.map +1 -0
  143. package/build/modern/QueryClientProvider.d.cts +12 -0
  144. package/build/modern/QueryClientProvider.d.ts +12 -0
  145. package/build/modern/QueryClientProvider.js +35 -0
  146. package/build/modern/QueryClientProvider.js.map +1 -0
  147. package/build/modern/QueryErrorResetBoundary.cjs +66 -0
  148. package/build/modern/QueryErrorResetBoundary.cjs.map +1 -0
  149. package/build/modern/QueryErrorResetBoundary.d.cts +14 -0
  150. package/build/modern/QueryErrorResetBoundary.d.ts +14 -0
  151. package/build/modern/QueryErrorResetBoundary.js +31 -0
  152. package/build/modern/QueryErrorResetBoundary.js.map +1 -0
  153. package/build/modern/errorBoundaryUtils.cjs +67 -0
  154. package/build/modern/errorBoundaryUtils.cjs.map +1 -0
  155. package/build/modern/errorBoundaryUtils.d.cts +14 -0
  156. package/build/modern/errorBoundaryUtils.d.ts +14 -0
  157. package/build/modern/errorBoundaryUtils.js +31 -0
  158. package/build/modern/errorBoundaryUtils.js.map +1 -0
  159. package/build/modern/index.cjs +85 -0
  160. package/build/modern/index.cjs.map +1 -0
  161. package/build/modern/index.d.cts +17 -0
  162. package/build/modern/index.d.ts +17 -0
  163. package/build/modern/index.js +46 -0
  164. package/build/modern/index.js.map +1 -0
  165. package/build/modern/infiniteQueryOptions.cjs +33 -0
  166. package/build/modern/infiniteQueryOptions.cjs.map +1 -0
  167. package/build/modern/infiniteQueryOptions.d.cts +13 -0
  168. package/build/modern/infiniteQueryOptions.d.ts +13 -0
  169. package/build/modern/infiniteQueryOptions.js +8 -0
  170. package/build/modern/infiniteQueryOptions.js.map +1 -0
  171. package/build/modern/isRestoring.cjs +47 -0
  172. package/build/modern/isRestoring.cjs.map +1 -0
  173. package/build/modern/isRestoring.d.cts +6 -0
  174. package/build/modern/isRestoring.d.ts +6 -0
  175. package/build/modern/isRestoring.js +12 -0
  176. package/build/modern/isRestoring.js.map +1 -0
  177. package/build/modern/queryOptions.cjs +33 -0
  178. package/build/modern/queryOptions.cjs.map +1 -0
  179. package/build/modern/queryOptions.d.cts +13 -0
  180. package/build/modern/queryOptions.d.ts +13 -0
  181. package/build/modern/queryOptions.js +8 -0
  182. package/build/modern/queryOptions.js.map +1 -0
  183. package/build/modern/suspense.cjs +48 -0
  184. package/build/modern/suspense.cjs.map +1 -0
  185. package/build/modern/suspense.d.cts +10 -0
  186. package/build/modern/suspense.d.ts +10 -0
  187. package/build/modern/suspense.js +20 -0
  188. package/build/modern/suspense.js.map +1 -0
  189. package/build/modern/types.cjs +19 -0
  190. package/build/modern/types.cjs.map +1 -0
  191. package/build/modern/types.d.cts +34 -0
  192. package/build/modern/types.d.ts +34 -0
  193. package/build/modern/types.js +1 -0
  194. package/build/modern/types.js.map +1 -0
  195. package/build/modern/useBaseQuery.cjs +92 -0
  196. package/build/modern/useBaseQuery.cjs.map +1 -0
  197. package/build/modern/useBaseQuery.d.cts +92 -0
  198. package/build/modern/useBaseQuery.d.ts +92 -0
  199. package/build/modern/useBaseQuery.js +62 -0
  200. package/build/modern/useBaseQuery.js.map +1 -0
  201. package/build/modern/useInfiniteQuery.cjs +41 -0
  202. package/build/modern/useInfiniteQuery.cjs.map +1 -0
  203. package/build/modern/useInfiniteQuery.d.cts +8 -0
  204. package/build/modern/useInfiniteQuery.d.ts +8 -0
  205. package/build/modern/useInfiniteQuery.js +17 -0
  206. package/build/modern/useInfiniteQuery.js.map +1 -0
  207. package/build/modern/useIsFetching.cjs +56 -0
  208. package/build/modern/useIsFetching.cjs.map +1 -0
  209. package/build/modern/useIsFetching.d.cts +5 -0
  210. package/build/modern/useIsFetching.d.ts +5 -0
  211. package/build/modern/useIsFetching.js +22 -0
  212. package/build/modern/useIsFetching.js.map +1 -0
  213. package/build/modern/useMutation.cjs +77 -0
  214. package/build/modern/useMutation.cjs.map +1 -0
  215. package/build/modern/useMutation.d.cts +6 -0
  216. package/build/modern/useMutation.d.ts +6 -0
  217. package/build/modern/useMutation.js +43 -0
  218. package/build/modern/useMutation.js.map +1 -0
  219. package/build/modern/useMutationState.cjs +88 -0
  220. package/build/modern/useMutationState.cjs.map +1 -0
  221. package/build/modern/useMutationState.d.cts +10 -0
  222. package/build/modern/useMutationState.d.ts +10 -0
  223. package/build/modern/useMutationState.js +53 -0
  224. package/build/modern/useMutationState.js.map +1 -0
  225. package/build/modern/useQueries.cjs +125 -0
  226. package/build/modern/useQueries.cjs.map +1 -0
  227. package/build/modern/useQueries.d.cts +53 -0
  228. package/build/modern/useQueries.d.ts +53 -0
  229. package/build/modern/useQueries.js +100 -0
  230. package/build/modern/useQueries.js.map +1 -0
  231. package/build/modern/useQuery.cjs +36 -0
  232. package/build/modern/useQuery.cjs.map +1 -0
  233. package/build/modern/useQuery.d.cts +8 -0
  234. package/build/modern/useQuery.d.ts +8 -0
  235. package/build/modern/useQuery.js +12 -0
  236. package/build/modern/useQuery.js.map +1 -0
  237. package/build/modern/useSuspenseInfiniteQuery.cjs +46 -0
  238. package/build/modern/useSuspenseInfiniteQuery.cjs.map +1 -0
  239. package/build/modern/useSuspenseInfiniteQuery.d.cts +6 -0
  240. package/build/modern/useSuspenseInfiniteQuery.d.ts +6 -0
  241. package/build/modern/useSuspenseInfiniteQuery.js +22 -0
  242. package/build/modern/useSuspenseInfiniteQuery.js.map +1 -0
  243. package/build/modern/useSuspenseQuery.cjs +45 -0
  244. package/build/modern/useSuspenseQuery.cjs.map +1 -0
  245. package/build/modern/useSuspenseQuery.d.cts +6 -0
  246. package/build/modern/useSuspenseQuery.d.ts +6 -0
  247. package/build/modern/useSuspenseQuery.js +21 -0
  248. package/build/modern/useSuspenseQuery.js.map +1 -0
  249. package/build/modern/utils.cjs +36 -0
  250. package/build/modern/utils.cjs.map +1 -0
  251. package/build/modern/utils.d.cts +3 -0
  252. package/build/modern/utils.d.ts +3 -0
  253. package/build/modern/utils.js +11 -0
  254. package/build/modern/utils.js.map +1 -0
  255. package/package.json +29 -17
  256. package/src/HydrationBoundary.tsx +1 -1
  257. package/src/__tests__/HydrationBoundary.test.tsx +5 -5
  258. package/src/__tests__/QueryClientProvider.test.tsx +2 -2
  259. package/src/__tests__/QueryResetErrorBoundary.test.tsx +753 -621
  260. package/src/__tests__/ssr-hydration.test.tsx +4 -4
  261. package/src/__tests__/ssr.test.tsx +2 -2
  262. package/src/__tests__/suspense.test.tsx +8 -90
  263. package/src/__tests__/useInfiniteQuery.test.tsx +36 -74
  264. package/src/__tests__/useInfiniteQuery.type.test.tsx +2 -29
  265. package/src/__tests__/useIsFetching.test.tsx +1 -1
  266. package/src/__tests__/useMutation.test.tsx +22 -23
  267. package/src/__tests__/useMutationState.test.tsx +23 -0
  268. package/src/__tests__/useQueries.test.tsx +214 -91
  269. package/src/__tests__/useQuery.test.tsx +431 -453
  270. package/src/__tests__/useQuery.types.test.tsx +22 -1
  271. package/src/__tests__/utils.tsx +11 -5
  272. package/src/errorBoundaryUtils.ts +7 -7
  273. package/src/index.ts +4 -0
  274. package/src/infiniteQueryOptions.ts +93 -0
  275. package/src/queryOptions.ts +42 -0
  276. package/src/suspense.ts +9 -15
  277. package/src/types.ts +50 -8
  278. package/src/useBaseQuery.ts +14 -26
  279. package/src/useInfiniteQuery.ts +50 -7
  280. package/src/useIsFetching.ts +1 -1
  281. package/src/useMutation.ts +4 -4
  282. package/src/useMutationState.ts +8 -8
  283. package/src/useQueries.ts +53 -36
  284. package/src/useQuery.ts +6 -21
  285. package/src/useSuspenseInfiniteQuery.ts +47 -0
  286. package/src/useSuspenseQuery.ts +26 -0
  287. package/build/lib/HydrationBoundary.d.ts +0 -9
  288. package/build/lib/HydrationBoundary.esm.js +0 -29
  289. package/build/lib/HydrationBoundary.esm.js.map +0 -1
  290. package/build/lib/HydrationBoundary.js +0 -50
  291. package/build/lib/HydrationBoundary.js.map +0 -1
  292. package/build/lib/HydrationBoundary.mjs +0 -29
  293. package/build/lib/HydrationBoundary.mjs.map +0 -1
  294. package/build/lib/QueryClientProvider.d.ts +0 -9
  295. package/build/lib/QueryClientProvider.esm.js +0 -31
  296. package/build/lib/QueryClientProvider.esm.js.map +0 -1
  297. package/build/lib/QueryClientProvider.js +0 -54
  298. package/build/lib/QueryClientProvider.js.map +0 -1
  299. package/build/lib/QueryClientProvider.mjs +0 -31
  300. package/build/lib/QueryClientProvider.mjs.map +0 -1
  301. package/build/lib/QueryErrorResetBoundary.d.ts +0 -11
  302. package/build/lib/QueryErrorResetBoundary.esm.js +0 -38
  303. package/build/lib/QueryErrorResetBoundary.esm.js.map +0 -1
  304. package/build/lib/QueryErrorResetBoundary.js +0 -60
  305. package/build/lib/QueryErrorResetBoundary.js.map +0 -1
  306. package/build/lib/QueryErrorResetBoundary.mjs +0 -38
  307. package/build/lib/QueryErrorResetBoundary.mjs.map +0 -1
  308. package/build/lib/__tests__/HydrationBoundary.test.d.ts +0 -1
  309. package/build/lib/__tests__/QueryClientProvider.test.d.ts +0 -1
  310. package/build/lib/__tests__/QueryResetErrorBoundary.test.d.ts +0 -6
  311. package/build/lib/__tests__/ssr-hydration.test.d.ts +0 -1
  312. package/build/lib/__tests__/ssr.test.d.ts +0 -1
  313. package/build/lib/__tests__/suspense.test.d.ts +0 -1
  314. package/build/lib/__tests__/useInfiniteQuery.test.d.ts +0 -1
  315. package/build/lib/__tests__/useInfiniteQuery.type.test.d.ts +0 -1
  316. package/build/lib/__tests__/useIsFetching.test.d.ts +0 -1
  317. package/build/lib/__tests__/useMutation.test.d.ts +0 -1
  318. package/build/lib/__tests__/useMutationState.test.d.ts +0 -1
  319. package/build/lib/__tests__/useQueries.test.d.ts +0 -1
  320. package/build/lib/__tests__/useQuery.test.d.ts +0 -1
  321. package/build/lib/__tests__/useQuery.types.test.d.ts +0 -1
  322. package/build/lib/__tests__/utils.d.ts +0 -28
  323. package/build/lib/errorBoundaryUtils.d.ts +0 -10
  324. package/build/lib/errorBoundaryUtils.esm.js +0 -28
  325. package/build/lib/errorBoundaryUtils.esm.js.map +0 -1
  326. package/build/lib/errorBoundaryUtils.js +0 -51
  327. package/build/lib/errorBoundaryUtils.js.map +0 -1
  328. package/build/lib/errorBoundaryUtils.mjs +0 -28
  329. package/build/lib/errorBoundaryUtils.mjs.map +0 -1
  330. package/build/lib/index.d.ts +0 -16
  331. package/build/lib/index.esm.js +0 -12
  332. package/build/lib/index.esm.js.map +0 -1
  333. package/build/lib/index.js +0 -38
  334. package/build/lib/index.js.map +0 -1
  335. package/build/lib/index.mjs +0 -12
  336. package/build/lib/index.mjs.map +0 -1
  337. package/build/lib/isRestoring.d.ts +0 -3
  338. package/build/lib/isRestoring.esm.js +0 -9
  339. package/build/lib/isRestoring.esm.js.map +0 -1
  340. package/build/lib/isRestoring.js +0 -31
  341. package/build/lib/isRestoring.js.map +0 -1
  342. package/build/lib/isRestoring.mjs +0 -9
  343. package/build/lib/isRestoring.mjs.map +0 -1
  344. package/build/lib/suspense.d.ts +0 -9
  345. package/build/lib/suspense.esm.js +0 -24
  346. package/build/lib/suspense.esm.js.map +0 -1
  347. package/build/lib/suspense.js +0 -29
  348. package/build/lib/suspense.js.map +0 -1
  349. package/build/lib/suspense.mjs +0 -24
  350. package/build/lib/suspense.mjs.map +0 -1
  351. package/build/lib/types.d.ts +0 -26
  352. package/build/lib/useBaseQuery.d.ts +0 -3
  353. package/build/lib/useBaseQuery.esm.js +0 -63
  354. package/build/lib/useBaseQuery.esm.js.map +0 -1
  355. package/build/lib/useBaseQuery.js +0 -84
  356. package/build/lib/useBaseQuery.js.map +0 -1
  357. package/build/lib/useBaseQuery.mjs +0 -63
  358. package/build/lib/useBaseQuery.mjs.map +0 -1
  359. package/build/lib/useInfiniteQuery.d.ts +0 -3
  360. package/build/lib/useInfiniteQuery.esm.js +0 -13
  361. package/build/lib/useInfiniteQuery.esm.js.map +0 -1
  362. package/build/lib/useInfiniteQuery.js +0 -15
  363. package/build/lib/useInfiniteQuery.js.map +0 -1
  364. package/build/lib/useInfiniteQuery.mjs +0 -13
  365. package/build/lib/useInfiniteQuery.mjs.map +0 -1
  366. package/build/lib/useIsFetching.d.ts +0 -2
  367. package/build/lib/useIsFetching.esm.js +0 -13
  368. package/build/lib/useIsFetching.esm.js.map +0 -1
  369. package/build/lib/useIsFetching.js +0 -34
  370. package/build/lib/useIsFetching.js.map +0 -1
  371. package/build/lib/useIsFetching.mjs +0 -13
  372. package/build/lib/useIsFetching.mjs.map +0 -1
  373. package/build/lib/useMutation.d.ts +0 -3
  374. package/build/lib/useMutation.esm.js +0 -33
  375. package/build/lib/useMutation.esm.js.map +0 -1
  376. package/build/lib/useMutation.js +0 -54
  377. package/build/lib/useMutation.js.map +0 -1
  378. package/build/lib/useMutation.mjs +0 -33
  379. package/build/lib/useMutation.mjs.map +0 -1
  380. package/build/lib/useMutationState.d.ts +0 -8
  381. package/build/lib/useMutationState.esm.js +0 -38
  382. package/build/lib/useMutationState.esm.js.map +0 -1
  383. package/build/lib/useMutationState.js +0 -60
  384. package/build/lib/useMutationState.js.map +0 -1
  385. package/build/lib/useMutationState.mjs +0 -38
  386. package/build/lib/useMutationState.mjs.map +0 -1
  387. package/build/lib/useQueries.esm.js +0 -73
  388. package/build/lib/useQueries.esm.js.map +0 -1
  389. package/build/lib/useQueries.js +0 -94
  390. package/build/lib/useQueries.js.map +0 -1
  391. package/build/lib/useQueries.mjs +0 -70
  392. package/build/lib/useQueries.mjs.map +0 -1
  393. package/build/lib/useQuery.d.ts +0 -11
  394. package/build/lib/useQuery.esm.js +0 -12
  395. package/build/lib/useQuery.esm.js.map +0 -1
  396. package/build/lib/useQuery.js +0 -14
  397. package/build/lib/useQuery.js.map +0 -1
  398. package/build/lib/useQuery.mjs +0 -12
  399. package/build/lib/useQuery.mjs.map +0 -1
  400. package/build/lib/utils.d.ts +0 -1
  401. package/build/lib/utils.esm.js +0 -10
  402. package/build/lib/utils.esm.js.map +0 -1
  403. package/build/lib/utils.js +0 -12
  404. package/build/lib/utils.js.map +0 -1
  405. package/build/lib/utils.mjs +0 -10
  406. package/build/lib/utils.mjs.map +0 -1
  407. package/build/umd/index.development.js +0 -3040
  408. package/build/umd/index.development.js.map +0 -1
  409. package/build/umd/index.production.js +0 -2
  410. package/build/umd/index.production.js.map +0 -1
  411. /package/src/{isRestoring.tsx → isRestoring.ts} +0 -0
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ "use client";
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __export = (target, all) => {
10
+ for (var name in all)
11
+ __defProp(target, name, { get: all[name], enumerable: true });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from))
16
+ if (!__hasOwnProp.call(to, key) && key !== except)
17
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
18
+ }
19
+ return to;
20
+ };
21
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
+ // If the importer is in node compatibility mode or this is not an ESM
23
+ // file that has been converted to a CommonJS file using a Babel-
24
+ // compatible transform (i.e. "__esModule" has not been set), then set
25
+ // "default" to the CommonJS "module.exports" for node compatibility.
26
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
+ mod
28
+ ));
29
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
+
31
+ // src/useMutationState.ts
32
+ var useMutationState_exports = {};
33
+ __export(useMutationState_exports, {
34
+ useIsMutating: () => useIsMutating,
35
+ useMutationState: () => useMutationState
36
+ });
37
+ module.exports = __toCommonJS(useMutationState_exports);
38
+ var React = __toESM(require("react"), 1);
39
+ var import_query_core = require("@tanstack/query-core");
40
+ var import_QueryClientProvider = require("./QueryClientProvider.cjs");
41
+ function useIsMutating(filters, queryClient) {
42
+ const client = (0, import_QueryClientProvider.useQueryClient)(queryClient);
43
+ return useMutationState(
44
+ { filters: { ...filters, status: "pending" } },
45
+ client
46
+ ).length;
47
+ }
48
+ function getResult(mutationCache, options) {
49
+ return mutationCache.findAll(options.filters).map(
50
+ (mutation) => options.select ? options.select(
51
+ mutation
52
+ ) : mutation.state
53
+ );
54
+ }
55
+ function useMutationState(options = {}, queryClient) {
56
+ const mutationCache = (0, import_QueryClientProvider.useQueryClient)(queryClient).getMutationCache();
57
+ const optionsRef = React.useRef(options);
58
+ const result = React.useRef();
59
+ if (!result.current) {
60
+ result.current = getResult(mutationCache, options);
61
+ }
62
+ React.useEffect(() => {
63
+ optionsRef.current = options;
64
+ });
65
+ return React.useSyncExternalStore(
66
+ React.useCallback(
67
+ (onStoreChange) => mutationCache.subscribe(() => {
68
+ const nextResult = (0, import_query_core.replaceEqualDeep)(
69
+ result.current,
70
+ getResult(mutationCache, optionsRef.current)
71
+ );
72
+ if (result.current !== nextResult) {
73
+ result.current = nextResult;
74
+ import_query_core.notifyManager.schedule(onStoreChange);
75
+ }
76
+ }),
77
+ [mutationCache]
78
+ ),
79
+ () => result.current,
80
+ () => result.current
81
+ );
82
+ }
83
+ // Annotate the CommonJS export names for ESM import in node:
84
+ 0 && (module.exports = {
85
+ useIsMutating,
86
+ useMutationState
87
+ });
88
+ //# sourceMappingURL=useMutationState.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/useMutationState.ts"],"sourcesContent":["'use client'\nimport * as React from 'react'\n\nimport { notifyManager, replaceEqualDeep } from '@tanstack/query-core'\nimport { useQueryClient } from './QueryClientProvider'\nimport type {\n DefaultError,\n Mutation,\n MutationCache,\n MutationFilters,\n MutationState,\n QueryClient,\n} from '@tanstack/query-core'\n\nexport function useIsMutating(\n filters?: MutationFilters,\n queryClient?: QueryClient,\n): number {\n const client = useQueryClient(queryClient)\n return useMutationState(\n { filters: { ...filters, status: 'pending' } },\n client,\n ).length\n}\n\ntype MutationStateOptions<TResult = MutationState> = {\n filters?: MutationFilters\n select?: (\n mutation: Mutation<unknown, DefaultError, unknown, unknown>,\n ) => TResult\n}\n\nfunction getResult<TResult = MutationState>(\n mutationCache: MutationCache,\n options: MutationStateOptions<TResult>,\n): Array<TResult> {\n return mutationCache\n .findAll(options.filters)\n .map(\n (mutation): TResult =>\n (options.select\n ? options.select(\n mutation as Mutation<unknown, DefaultError, unknown, unknown>,\n )\n : mutation.state) as TResult,\n )\n}\n\nexport function useMutationState<TResult = MutationState>(\n options: MutationStateOptions<TResult> = {},\n queryClient?: QueryClient,\n): Array<TResult> {\n const mutationCache = useQueryClient(queryClient).getMutationCache()\n const optionsRef = React.useRef(options)\n const result = React.useRef<Array<TResult>>()\n if (!result.current) {\n result.current = getResult(mutationCache, options)\n }\n\n React.useEffect(() => {\n optionsRef.current = options\n })\n\n return React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) =>\n mutationCache.subscribe(() => {\n const nextResult = replaceEqualDeep(\n result.current,\n getResult(mutationCache, optionsRef.current),\n )\n if (result.current !== nextResult) {\n result.current = nextResult\n notifyManager.schedule(onStoreChange)\n }\n }),\n [mutationCache],\n ),\n () => result.current,\n () => result.current,\n )!\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,YAAuB;AAEvB,wBAAgD;AAChD,iCAA+B;AAUxB,SAAS,cACd,SACA,aACQ;AACR,QAAM,aAAS,2CAAe,WAAW;AACzC,SAAO;AAAA,IACL,EAAE,SAAS,EAAE,GAAG,SAAS,QAAQ,UAAU,EAAE;AAAA,IAC7C;AAAA,EACF,EAAE;AACJ;AASA,SAAS,UACP,eACA,SACgB;AAChB,SAAO,cACJ,QAAQ,QAAQ,OAAO,EACvB;AAAA,IACC,CAAC,aACE,QAAQ,SACL,QAAQ;AAAA,MACN;AAAA,IACF,IACA,SAAS;AAAA,EACjB;AACJ;AAEO,SAAS,iBACd,UAAyC,CAAC,GAC1C,aACgB;AAChB,QAAM,oBAAgB,2CAAe,WAAW,EAAE,iBAAiB;AACnE,QAAM,aAAmB,aAAO,OAAO;AACvC,QAAM,SAAe,aAAuB;AAC5C,MAAI,CAAC,OAAO,SAAS;AACnB,WAAO,UAAU,UAAU,eAAe,OAAO;AAAA,EACnD;AAEA,EAAM,gBAAU,MAAM;AACpB,eAAW,UAAU;AAAA,EACvB,CAAC;AAED,SAAa;AAAA,IACL;AAAA,MACJ,CAAC,kBACC,cAAc,UAAU,MAAM;AAC5B,cAAM,iBAAa;AAAA,UACjB,OAAO;AAAA,UACP,UAAU,eAAe,WAAW,OAAO;AAAA,QAC7C;AACA,YAAI,OAAO,YAAY,YAAY;AACjC,iBAAO,UAAU;AACjB,0CAAc,SAAS,aAAa;AAAA,QACtC;AAAA,MACF,CAAC;AAAA,MACH,CAAC,aAAa;AAAA,IAChB;AAAA,IACA,MAAM,OAAO;AAAA,IACb,MAAM,OAAO;AAAA,EACf;AACF;","names":[]}
@@ -0,0 +1,10 @@
1
+ import { MutationFilters, QueryClient, MutationState, Mutation, DefaultError } from '@tanstack/query-core';
2
+
3
+ declare function useIsMutating(filters?: MutationFilters, queryClient?: QueryClient): number;
4
+ type MutationStateOptions<TResult = MutationState> = {
5
+ filters?: MutationFilters;
6
+ select?: (mutation: Mutation<unknown, DefaultError, unknown, unknown>) => TResult;
7
+ };
8
+ declare function useMutationState<TResult = MutationState>(options?: MutationStateOptions<TResult>, queryClient?: QueryClient): Array<TResult>;
9
+
10
+ export { useIsMutating, useMutationState };
@@ -0,0 +1,10 @@
1
+ import { MutationFilters, QueryClient, MutationState, Mutation, DefaultError } from '@tanstack/query-core';
2
+
3
+ declare function useIsMutating(filters?: MutationFilters, queryClient?: QueryClient): number;
4
+ type MutationStateOptions<TResult = MutationState> = {
5
+ filters?: MutationFilters;
6
+ select?: (mutation: Mutation<unknown, DefaultError, unknown, unknown>) => TResult;
7
+ };
8
+ declare function useMutationState<TResult = MutationState>(options?: MutationStateOptions<TResult>, queryClient?: QueryClient): Array<TResult>;
9
+
10
+ export { useIsMutating, useMutationState };
@@ -0,0 +1,53 @@
1
+ "use client";
2
+
3
+ // src/useMutationState.ts
4
+ import * as React from "react";
5
+ import { notifyManager, replaceEqualDeep } from "@tanstack/query-core";
6
+ import { useQueryClient } from "./QueryClientProvider.js";
7
+ function useIsMutating(filters, queryClient) {
8
+ const client = useQueryClient(queryClient);
9
+ return useMutationState(
10
+ { filters: { ...filters, status: "pending" } },
11
+ client
12
+ ).length;
13
+ }
14
+ function getResult(mutationCache, options) {
15
+ return mutationCache.findAll(options.filters).map(
16
+ (mutation) => options.select ? options.select(
17
+ mutation
18
+ ) : mutation.state
19
+ );
20
+ }
21
+ function useMutationState(options = {}, queryClient) {
22
+ const mutationCache = useQueryClient(queryClient).getMutationCache();
23
+ const optionsRef = React.useRef(options);
24
+ const result = React.useRef();
25
+ if (!result.current) {
26
+ result.current = getResult(mutationCache, options);
27
+ }
28
+ React.useEffect(() => {
29
+ optionsRef.current = options;
30
+ });
31
+ return React.useSyncExternalStore(
32
+ React.useCallback(
33
+ (onStoreChange) => mutationCache.subscribe(() => {
34
+ const nextResult = replaceEqualDeep(
35
+ result.current,
36
+ getResult(mutationCache, optionsRef.current)
37
+ );
38
+ if (result.current !== nextResult) {
39
+ result.current = nextResult;
40
+ notifyManager.schedule(onStoreChange);
41
+ }
42
+ }),
43
+ [mutationCache]
44
+ ),
45
+ () => result.current,
46
+ () => result.current
47
+ );
48
+ }
49
+ export {
50
+ useIsMutating,
51
+ useMutationState
52
+ };
53
+ //# sourceMappingURL=useMutationState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/useMutationState.ts"],"sourcesContent":["'use client'\nimport * as React from 'react'\n\nimport { notifyManager, replaceEqualDeep } from '@tanstack/query-core'\nimport { useQueryClient } from './QueryClientProvider'\nimport type {\n DefaultError,\n Mutation,\n MutationCache,\n MutationFilters,\n MutationState,\n QueryClient,\n} from '@tanstack/query-core'\n\nexport function useIsMutating(\n filters?: MutationFilters,\n queryClient?: QueryClient,\n): number {\n const client = useQueryClient(queryClient)\n return useMutationState(\n { filters: { ...filters, status: 'pending' } },\n client,\n ).length\n}\n\ntype MutationStateOptions<TResult = MutationState> = {\n filters?: MutationFilters\n select?: (\n mutation: Mutation<unknown, DefaultError, unknown, unknown>,\n ) => TResult\n}\n\nfunction getResult<TResult = MutationState>(\n mutationCache: MutationCache,\n options: MutationStateOptions<TResult>,\n): Array<TResult> {\n return mutationCache\n .findAll(options.filters)\n .map(\n (mutation): TResult =>\n (options.select\n ? options.select(\n mutation as Mutation<unknown, DefaultError, unknown, unknown>,\n )\n : mutation.state) as TResult,\n )\n}\n\nexport function useMutationState<TResult = MutationState>(\n options: MutationStateOptions<TResult> = {},\n queryClient?: QueryClient,\n): Array<TResult> {\n const mutationCache = useQueryClient(queryClient).getMutationCache()\n const optionsRef = React.useRef(options)\n const result = React.useRef<Array<TResult>>()\n if (!result.current) {\n result.current = getResult(mutationCache, options)\n }\n\n React.useEffect(() => {\n optionsRef.current = options\n })\n\n return React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) =>\n mutationCache.subscribe(() => {\n const nextResult = replaceEqualDeep(\n result.current,\n getResult(mutationCache, optionsRef.current),\n )\n if (result.current !== nextResult) {\n result.current = nextResult\n notifyManager.schedule(onStoreChange)\n }\n }),\n [mutationCache],\n ),\n () => result.current,\n () => result.current,\n )!\n}\n"],"mappings":";;;AACA,YAAY,WAAW;AAEvB,SAAS,eAAe,wBAAwB;AAChD,SAAS,sBAAsB;AAUxB,SAAS,cACd,SACA,aACQ;AACR,QAAM,SAAS,eAAe,WAAW;AACzC,SAAO;AAAA,IACL,EAAE,SAAS,EAAE,GAAG,SAAS,QAAQ,UAAU,EAAE;AAAA,IAC7C;AAAA,EACF,EAAE;AACJ;AASA,SAAS,UACP,eACA,SACgB;AAChB,SAAO,cACJ,QAAQ,QAAQ,OAAO,EACvB;AAAA,IACC,CAAC,aACE,QAAQ,SACL,QAAQ;AAAA,MACN;AAAA,IACF,IACA,SAAS;AAAA,EACjB;AACJ;AAEO,SAAS,iBACd,UAAyC,CAAC,GAC1C,aACgB;AAChB,QAAM,gBAAgB,eAAe,WAAW,EAAE,iBAAiB;AACnE,QAAM,aAAmB,aAAO,OAAO;AACvC,QAAM,SAAe,aAAuB;AAC5C,MAAI,CAAC,OAAO,SAAS;AACnB,WAAO,UAAU,UAAU,eAAe,OAAO;AAAA,EACnD;AAEA,EAAM,gBAAU,MAAM;AACpB,eAAW,UAAU;AAAA,EACvB,CAAC;AAED,SAAa;AAAA,IACL;AAAA,MACJ,CAAC,kBACC,cAAc,UAAU,MAAM;AAC5B,cAAM,aAAa;AAAA,UACjB,OAAO;AAAA,UACP,UAAU,eAAe,WAAW,OAAO;AAAA,QAC7C;AACA,YAAI,OAAO,YAAY,YAAY;AACjC,iBAAO,UAAU;AACjB,wBAAc,SAAS,aAAa;AAAA,QACtC;AAAA,MACF,CAAC;AAAA,MACH,CAAC,aAAa;AAAA,IAChB;AAAA,IACA,MAAM,OAAO;AAAA,IACb,MAAM,OAAO;AAAA,EACf;AACF;","names":[]}
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ "use client";
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __export = (target, all) => {
10
+ for (var name in all)
11
+ __defProp(target, name, { get: all[name], enumerable: true });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from))
16
+ if (!__hasOwnProp.call(to, key) && key !== except)
17
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
18
+ }
19
+ return to;
20
+ };
21
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
+ // If the importer is in node compatibility mode or this is not an ESM
23
+ // file that has been converted to a CommonJS file using a Babel-
24
+ // compatible transform (i.e. "__esModule" has not been set), then set
25
+ // "default" to the CommonJS "module.exports" for node compatibility.
26
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
+ mod
28
+ ));
29
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
+
31
+ // src/useQueries.ts
32
+ var useQueries_exports = {};
33
+ __export(useQueries_exports, {
34
+ useQueries: () => useQueries
35
+ });
36
+ module.exports = __toCommonJS(useQueries_exports);
37
+ var React = __toESM(require("react"), 1);
38
+ var import_query_core = require("@tanstack/query-core");
39
+ var import_QueryClientProvider = require("./QueryClientProvider.cjs");
40
+ var import_isRestoring = require("./isRestoring.cjs");
41
+ var import_QueryErrorResetBoundary = require("./QueryErrorResetBoundary.cjs");
42
+ var import_errorBoundaryUtils = require("./errorBoundaryUtils.cjs");
43
+ var import_suspense = require("./suspense.cjs");
44
+ function useQueries({
45
+ queries,
46
+ ...options
47
+ }, queryClient) {
48
+ const client = (0, import_QueryClientProvider.useQueryClient)(queryClient);
49
+ const isRestoring = (0, import_isRestoring.useIsRestoring)();
50
+ const errorResetBoundary = (0, import_QueryErrorResetBoundary.useQueryErrorResetBoundary)();
51
+ const defaultedQueries = React.useMemo(
52
+ () => queries.map((opts) => {
53
+ const defaultedOptions = client.defaultQueryOptions(opts);
54
+ defaultedOptions._optimisticResults = isRestoring ? "isRestoring" : "optimistic";
55
+ return defaultedOptions;
56
+ }),
57
+ [queries, client, isRestoring]
58
+ );
59
+ defaultedQueries.forEach((query) => {
60
+ (0, import_suspense.ensureStaleTime)(query);
61
+ (0, import_errorBoundaryUtils.ensurePreventErrorBoundaryRetry)(query, errorResetBoundary);
62
+ });
63
+ (0, import_errorBoundaryUtils.useClearResetErrorBoundary)(errorResetBoundary);
64
+ const [observer] = React.useState(
65
+ () => new import_query_core.QueriesObserver(
66
+ client,
67
+ defaultedQueries,
68
+ options
69
+ )
70
+ );
71
+ const [optimisticResult, getCombinedResult, trackResult] = observer.getOptimisticResult(defaultedQueries);
72
+ React.useSyncExternalStore(
73
+ React.useCallback(
74
+ (onStoreChange) => isRestoring ? () => void 0 : observer.subscribe(import_query_core.notifyManager.batchCalls(onStoreChange)),
75
+ [observer, isRestoring]
76
+ ),
77
+ () => observer.getCurrentResult(),
78
+ () => observer.getCurrentResult()
79
+ );
80
+ React.useEffect(() => {
81
+ observer.setQueries(
82
+ defaultedQueries,
83
+ options,
84
+ {
85
+ listeners: false
86
+ }
87
+ );
88
+ }, [defaultedQueries, options, observer]);
89
+ const shouldAtLeastOneSuspend = optimisticResult.some(
90
+ (result, index) => (0, import_suspense.shouldSuspend)(defaultedQueries[index], result, isRestoring)
91
+ );
92
+ const suspensePromises = shouldAtLeastOneSuspend ? optimisticResult.flatMap((result, index) => {
93
+ const opts = defaultedQueries[index];
94
+ const queryObserver = observer.getObservers()[index];
95
+ if (opts && queryObserver) {
96
+ if ((0, import_suspense.shouldSuspend)(opts, result, isRestoring)) {
97
+ return (0, import_suspense.fetchOptimistic)(opts, queryObserver, errorResetBoundary);
98
+ } else if ((0, import_suspense.willFetch)(result, isRestoring)) {
99
+ void (0, import_suspense.fetchOptimistic)(opts, queryObserver, errorResetBoundary);
100
+ }
101
+ }
102
+ return [];
103
+ }) : [];
104
+ if (suspensePromises.length > 0) {
105
+ throw Promise.all(suspensePromises);
106
+ }
107
+ const observerQueries = observer.getQueries();
108
+ const firstSingleResultWhichShouldThrow = optimisticResult.find(
109
+ (result, index) => (0, import_errorBoundaryUtils.getHasError)({
110
+ result,
111
+ errorResetBoundary,
112
+ throwOnError: defaultedQueries[index]?.throwOnError ?? false,
113
+ query: observerQueries[index]
114
+ })
115
+ );
116
+ if (firstSingleResultWhichShouldThrow?.error) {
117
+ throw firstSingleResultWhichShouldThrow.error;
118
+ }
119
+ return getCombinedResult(trackResult());
120
+ }
121
+ // Annotate the CommonJS export names for ESM import in node:
122
+ 0 && (module.exports = {
123
+ useQueries
124
+ });
125
+ //# sourceMappingURL=useQueries.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/useQueries.ts"],"sourcesContent":["'use client'\nimport * as React from 'react'\n\nimport { QueriesObserver, notifyManager } from '@tanstack/query-core'\nimport { useQueryClient } from './QueryClientProvider'\nimport { useIsRestoring } from './isRestoring'\nimport { useQueryErrorResetBoundary } from './QueryErrorResetBoundary'\nimport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary,\n} from './errorBoundaryUtils'\nimport {\n ensureStaleTime,\n fetchOptimistic,\n shouldSuspend,\n willFetch,\n} from './suspense'\nimport type { UseQueryOptions, UseQueryResult } from './types'\nimport type {\n DefaultError,\n QueriesObserverOptions,\n QueriesPlaceholderDataFunction,\n QueryClient,\n QueryFunction,\n QueryKey,\n} from '@tanstack/query-core'\n\n// This defines the `UseQueryOptions` that are accepted in `QueriesOptions` & `GetOptions`.\n// `placeholderData` function does not have a parameter\ntype UseQueryOptionsForUseQueries<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = Omit<\n UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n 'placeholderData'\n> & {\n placeholderData?: TQueryFnData | QueriesPlaceholderDataFunction<TQueryFnData>\n}\n\n// Avoid TS depth-limit error in case of large array literal\ntype MAXIMUM_DEPTH = 20\n\ntype GetOptions<T> =\n // Part 1: responsible for applying explicit type parameter to function arguments, if object { queryFnData: TQueryFnData, error: TError, data: TData }\n T extends {\n queryFnData: infer TQueryFnData\n error?: infer TError\n data: infer TData\n }\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? UseQueryOptionsForUseQueries<unknown, TError, TData>\n : // Part 2: responsible for applying explicit type parameter to function arguments, if tuple [TQueryFnData, TError, TData]\n T extends [infer TQueryFnData, infer TError, infer TData]\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData>\n : T extends [infer TQueryFnData, infer TError]\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? UseQueryOptionsForUseQueries<TQueryFnData>\n : // Part 3: responsible for inferring and enforcing type if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>\n select: (data: any) => infer TData\n }\n ? UseQueryOptionsForUseQueries<TQueryFnData, Error, TData, TQueryKey>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey> }\n ? UseQueryOptionsForUseQueries<TQueryFnData, Error, TQueryFnData, TQueryKey>\n : // Fallback\n UseQueryOptionsForUseQueries\n\ntype GetResults<T> =\n // Part 1: responsible for mapping explicit type parameter to function result, if object\n T extends { queryFnData: any; error?: infer TError; data: infer TData }\n ? UseQueryResult<TData, TError>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? UseQueryResult<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? UseQueryResult<TData, TError>\n : // Part 2: responsible for mapping explicit type parameter to function result, if tuple\n T extends [any, infer TError, infer TData]\n ? UseQueryResult<TData, TError>\n : T extends [infer TQueryFnData, infer TError]\n ? UseQueryResult<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? UseQueryResult<TQueryFnData>\n : // Part 3: responsible for mapping inferred type to results, if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<unknown, any>\n select: (data: any) => infer TData\n }\n ? UseQueryResult<TData>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, any> }\n ? UseQueryResult<TQueryFnData>\n : // Fallback\n UseQueryResult\n\n/**\n * QueriesOptions reducer recursively unwraps function arguments to infer/enforce type param\n */\nexport type QueriesOptions<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? UseQueryOptionsForUseQueries[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetOptions<Head>]\n : T extends [infer Head, ...infer Tail]\n ? QueriesOptions<[...Tail], [...Result, GetOptions<Head>], [...Depth, 1]>\n : unknown[] extends T\n ? T\n : // If T is *some* array but we couldn't assign unknown[] to it, then it must hold some known/homogenous type!\n // use this to infer the param types in the case of Array.map() argument\n T extends UseQueryOptionsForUseQueries<\n infer TQueryFnData,\n infer TError,\n infer TData,\n infer TQueryKey\n >[]\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData, TQueryKey>[]\n : // Fallback\n UseQueryOptionsForUseQueries[]\n\n/**\n * QueriesResults reducer recursively maps type param to results\n */\nexport type QueriesResults<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? UseQueryResult[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetResults<Head>]\n : T extends [infer Head, ...infer Tail]\n ? QueriesResults<[...Tail], [...Result, GetResults<Head>], [...Depth, 1]>\n : T extends UseQueryOptionsForUseQueries<\n infer TQueryFnData,\n infer TError,\n infer TData,\n any\n >[]\n ? // Dynamic-size (homogenous) UseQueryOptions array: map directly to array of results\n UseQueryResult<\n unknown extends TData ? TQueryFnData : TData,\n unknown extends TError ? DefaultError : TError\n >[]\n : // Fallback\n UseQueryResult[]\n\nexport function useQueries<\n T extends any[],\n TCombinedResult = QueriesResults<T>,\n>(\n {\n queries,\n ...options\n }: {\n queries: readonly [...QueriesOptions<T>]\n combine?: (result: QueriesResults<T>) => TCombinedResult\n },\n queryClient?: QueryClient,\n): TCombinedResult {\n const client = useQueryClient(queryClient)\n const isRestoring = useIsRestoring()\n const errorResetBoundary = useQueryErrorResetBoundary()\n\n const defaultedQueries = React.useMemo(\n () =>\n queries.map((opts) => {\n const defaultedOptions = client.defaultQueryOptions(opts)\n\n // Make sure the results are already in fetching state before subscribing or updating options\n defaultedOptions._optimisticResults = isRestoring\n ? 'isRestoring'\n : 'optimistic'\n\n return defaultedOptions\n }),\n [queries, client, isRestoring],\n )\n\n defaultedQueries.forEach((query) => {\n ensureStaleTime(query)\n ensurePreventErrorBoundaryRetry(query, errorResetBoundary)\n })\n\n useClearResetErrorBoundary(errorResetBoundary)\n\n const [observer] = React.useState(\n () =>\n new QueriesObserver<TCombinedResult>(\n client,\n defaultedQueries,\n options as QueriesObserverOptions<TCombinedResult>,\n ),\n )\n\n const [optimisticResult, getCombinedResult, trackResult] =\n observer.getOptimisticResult(defaultedQueries)\n\n React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) =>\n isRestoring\n ? () => undefined\n : observer.subscribe(notifyManager.batchCalls(onStoreChange)),\n [observer, isRestoring],\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult(),\n )\n\n React.useEffect(() => {\n // Do not notify on updates because of changes in the options because\n // these changes should already be reflected in the optimistic result.\n observer.setQueries(\n defaultedQueries,\n options as QueriesObserverOptions<TCombinedResult>,\n {\n listeners: false,\n },\n )\n }, [defaultedQueries, options, observer])\n\n const shouldAtLeastOneSuspend = optimisticResult.some((result, index) =>\n shouldSuspend(defaultedQueries[index], result, isRestoring),\n )\n\n const suspensePromises = shouldAtLeastOneSuspend\n ? optimisticResult.flatMap((result, index) => {\n const opts = defaultedQueries[index]\n const queryObserver = observer.getObservers()[index]\n\n if (opts && queryObserver) {\n if (shouldSuspend(opts, result, isRestoring)) {\n return fetchOptimistic(opts, queryObserver, errorResetBoundary)\n } else if (willFetch(result, isRestoring)) {\n void fetchOptimistic(opts, queryObserver, errorResetBoundary)\n }\n }\n return []\n })\n : []\n\n if (suspensePromises.length > 0) {\n throw Promise.all(suspensePromises)\n }\n const observerQueries = observer.getQueries()\n const firstSingleResultWhichShouldThrow = optimisticResult.find(\n (result, index) =>\n getHasError({\n result,\n errorResetBoundary,\n throwOnError: defaultedQueries[index]?.throwOnError ?? false,\n query: observerQueries[index]!,\n }),\n )\n\n if (firstSingleResultWhichShouldThrow?.error) {\n throw firstSingleResultWhichShouldThrow.error\n }\n\n return getCombinedResult(trackResult())\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,YAAuB;AAEvB,wBAA+C;AAC/C,iCAA+B;AAC/B,yBAA+B;AAC/B,qCAA2C;AAC3C,gCAIO;AACP,sBAKO;AA8IA,SAAS,WAId;AAAA,EACE;AAAA,EACA,GAAG;AACL,GAIA,aACiB;AACjB,QAAM,aAAS,2CAAe,WAAW;AACzC,QAAM,kBAAc,mCAAe;AACnC,QAAM,yBAAqB,2DAA2B;AAEtD,QAAM,mBAAyB;AAAA,IAC7B,MACE,QAAQ,IAAI,CAAC,SAAS;AACpB,YAAM,mBAAmB,OAAO,oBAAoB,IAAI;AAGxD,uBAAiB,qBAAqB,cAClC,gBACA;AAEJ,aAAO;AAAA,IACT,CAAC;AAAA,IACH,CAAC,SAAS,QAAQ,WAAW;AAAA,EAC/B;AAEA,mBAAiB,QAAQ,CAAC,UAAU;AAClC,yCAAgB,KAAK;AACrB,mEAAgC,OAAO,kBAAkB;AAAA,EAC3D,CAAC;AAED,4DAA2B,kBAAkB;AAE7C,QAAM,CAAC,QAAQ,IAAU;AAAA,IACvB,MACE,IAAI;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACJ;AAEA,QAAM,CAAC,kBAAkB,mBAAmB,WAAW,IACrD,SAAS,oBAAoB,gBAAgB;AAE/C,EAAM;AAAA,IACE;AAAA,MACJ,CAAC,kBACC,cACI,MAAM,SACN,SAAS,UAAU,gCAAc,WAAW,aAAa,CAAC;AAAA,MAChE,CAAC,UAAU,WAAW;AAAA,IACxB;AAAA,IACA,MAAM,SAAS,iBAAiB;AAAA,IAChC,MAAM,SAAS,iBAAiB;AAAA,EAClC;AAEA,EAAM,gBAAU,MAAM;AAGpB,aAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,QACE,WAAW;AAAA,MACb;AAAA,IACF;AAAA,EACF,GAAG,CAAC,kBAAkB,SAAS,QAAQ,CAAC;AAExC,QAAM,0BAA0B,iBAAiB;AAAA,IAAK,CAAC,QAAQ,cAC7D,+BAAc,iBAAiB,KAAK,GAAG,QAAQ,WAAW;AAAA,EAC5D;AAEA,QAAM,mBAAmB,0BACrB,iBAAiB,QAAQ,CAAC,QAAQ,UAAU;AAC1C,UAAM,OAAO,iBAAiB,KAAK;AACnC,UAAM,gBAAgB,SAAS,aAAa,EAAE,KAAK;AAEnD,QAAI,QAAQ,eAAe;AACzB,cAAI,+BAAc,MAAM,QAAQ,WAAW,GAAG;AAC5C,mBAAO,iCAAgB,MAAM,eAAe,kBAAkB;AAAA,MAChE,eAAW,2BAAU,QAAQ,WAAW,GAAG;AACzC,iBAAK,iCAAgB,MAAM,eAAe,kBAAkB;AAAA,MAC9D;AAAA,IACF;AACA,WAAO,CAAC;AAAA,EACV,CAAC,IACD,CAAC;AAEL,MAAI,iBAAiB,SAAS,GAAG;AAC/B,UAAM,QAAQ,IAAI,gBAAgB;AAAA,EACpC;AACA,QAAM,kBAAkB,SAAS,WAAW;AAC5C,QAAM,oCAAoC,iBAAiB;AAAA,IACzD,CAAC,QAAQ,cACP,uCAAY;AAAA,MACV;AAAA,MACA;AAAA,MACA,cAAc,iBAAiB,KAAK,GAAG,gBAAgB;AAAA,MACvD,OAAO,gBAAgB,KAAK;AAAA,IAC9B,CAAC;AAAA,EACL;AAEA,MAAI,mCAAmC,OAAO;AAC5C,UAAM,kCAAkC;AAAA,EAC1C;AAEA,SAAO,kBAAkB,YAAY,CAAC;AACxC;","names":[]}
@@ -0,0 +1,53 @@
1
+ import { UseQueryResult, UseQueryOptions } from './types.cjs';
2
+ import { DefaultError, QueryClient, QueryKey, QueriesPlaceholderDataFunction, QueryFunction } from '@tanstack/query-core';
3
+
4
+ type UseQueryOptionsForUseQueries<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = Omit<UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'placeholderData'> & {
5
+ placeholderData?: TQueryFnData | QueriesPlaceholderDataFunction<TQueryFnData>;
6
+ };
7
+ type MAXIMUM_DEPTH = 20;
8
+ type GetOptions<T> = T extends {
9
+ queryFnData: infer TQueryFnData;
10
+ error?: infer TError;
11
+ data: infer TData;
12
+ } ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData> : T extends {
13
+ queryFnData: infer TQueryFnData;
14
+ error?: infer TError;
15
+ } ? UseQueryOptionsForUseQueries<TQueryFnData, TError> : T extends {
16
+ data: infer TData;
17
+ error?: infer TError;
18
+ } ? UseQueryOptionsForUseQueries<unknown, TError, TData> : T extends [infer TQueryFnData, infer TError, infer TData] ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData> : T extends [infer TQueryFnData, infer TError] ? UseQueryOptionsForUseQueries<TQueryFnData, TError> : T extends [infer TQueryFnData] ? UseQueryOptionsForUseQueries<TQueryFnData> : T extends {
19
+ queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>;
20
+ select: (data: any) => infer TData;
21
+ } ? UseQueryOptionsForUseQueries<TQueryFnData, Error, TData, TQueryKey> : T extends {
22
+ queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>;
23
+ } ? UseQueryOptionsForUseQueries<TQueryFnData, Error, TQueryFnData, TQueryKey> : UseQueryOptionsForUseQueries;
24
+ type GetResults<T> = T extends {
25
+ queryFnData: any;
26
+ error?: infer TError;
27
+ data: infer TData;
28
+ } ? UseQueryResult<TData, TError> : T extends {
29
+ queryFnData: infer TQueryFnData;
30
+ error?: infer TError;
31
+ } ? UseQueryResult<TQueryFnData, TError> : T extends {
32
+ data: infer TData;
33
+ error?: infer TError;
34
+ } ? UseQueryResult<TData, TError> : T extends [any, infer TError, infer TData] ? UseQueryResult<TData, TError> : T extends [infer TQueryFnData, infer TError] ? UseQueryResult<TQueryFnData, TError> : T extends [infer TQueryFnData] ? UseQueryResult<TQueryFnData> : T extends {
35
+ queryFn?: QueryFunction<unknown, any>;
36
+ select: (data: any) => infer TData;
37
+ } ? UseQueryResult<TData> : T extends {
38
+ queryFn?: QueryFunction<infer TQueryFnData, any>;
39
+ } ? UseQueryResult<TQueryFnData> : UseQueryResult;
40
+ /**
41
+ * QueriesOptions reducer recursively unwraps function arguments to infer/enforce type param
42
+ */
43
+ type QueriesOptions<T extends any[], Result extends any[] = [], Depth extends ReadonlyArray<number> = []> = Depth['length'] extends MAXIMUM_DEPTH ? UseQueryOptionsForUseQueries[] : T extends [] ? [] : T extends [infer Head] ? [...Result, GetOptions<Head>] : T extends [infer Head, ...infer Tail] ? QueriesOptions<[...Tail], [...Result, GetOptions<Head>], [...Depth, 1]> : unknown[] extends T ? T : T extends UseQueryOptionsForUseQueries<infer TQueryFnData, infer TError, infer TData, infer TQueryKey>[] ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData, TQueryKey>[] : UseQueryOptionsForUseQueries[];
44
+ /**
45
+ * QueriesResults reducer recursively maps type param to results
46
+ */
47
+ type QueriesResults<T extends any[], Result extends any[] = [], Depth extends ReadonlyArray<number> = []> = Depth['length'] extends MAXIMUM_DEPTH ? UseQueryResult[] : T extends [] ? [] : T extends [infer Head] ? [...Result, GetResults<Head>] : T extends [infer Head, ...infer Tail] ? QueriesResults<[...Tail], [...Result, GetResults<Head>], [...Depth, 1]> : T extends UseQueryOptionsForUseQueries<infer TQueryFnData, infer TError, infer TData, any>[] ? UseQueryResult<unknown extends TData ? TQueryFnData : TData, unknown extends TError ? DefaultError : TError>[] : UseQueryResult[];
48
+ declare function useQueries<T extends any[], TCombinedResult = QueriesResults<T>>({ queries, ...options }: {
49
+ queries: readonly [...QueriesOptions<T>];
50
+ combine?: (result: QueriesResults<T>) => TCombinedResult;
51
+ }, queryClient?: QueryClient): TCombinedResult;
52
+
53
+ export { QueriesOptions, QueriesResults, useQueries };
@@ -0,0 +1,53 @@
1
+ import { UseQueryResult, UseQueryOptions } from './types.js';
2
+ import { DefaultError, QueryClient, QueryKey, QueriesPlaceholderDataFunction, QueryFunction } from '@tanstack/query-core';
3
+
4
+ type UseQueryOptionsForUseQueries<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = Omit<UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'placeholderData'> & {
5
+ placeholderData?: TQueryFnData | QueriesPlaceholderDataFunction<TQueryFnData>;
6
+ };
7
+ type MAXIMUM_DEPTH = 20;
8
+ type GetOptions<T> = T extends {
9
+ queryFnData: infer TQueryFnData;
10
+ error?: infer TError;
11
+ data: infer TData;
12
+ } ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData> : T extends {
13
+ queryFnData: infer TQueryFnData;
14
+ error?: infer TError;
15
+ } ? UseQueryOptionsForUseQueries<TQueryFnData, TError> : T extends {
16
+ data: infer TData;
17
+ error?: infer TError;
18
+ } ? UseQueryOptionsForUseQueries<unknown, TError, TData> : T extends [infer TQueryFnData, infer TError, infer TData] ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData> : T extends [infer TQueryFnData, infer TError] ? UseQueryOptionsForUseQueries<TQueryFnData, TError> : T extends [infer TQueryFnData] ? UseQueryOptionsForUseQueries<TQueryFnData> : T extends {
19
+ queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>;
20
+ select: (data: any) => infer TData;
21
+ } ? UseQueryOptionsForUseQueries<TQueryFnData, Error, TData, TQueryKey> : T extends {
22
+ queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>;
23
+ } ? UseQueryOptionsForUseQueries<TQueryFnData, Error, TQueryFnData, TQueryKey> : UseQueryOptionsForUseQueries;
24
+ type GetResults<T> = T extends {
25
+ queryFnData: any;
26
+ error?: infer TError;
27
+ data: infer TData;
28
+ } ? UseQueryResult<TData, TError> : T extends {
29
+ queryFnData: infer TQueryFnData;
30
+ error?: infer TError;
31
+ } ? UseQueryResult<TQueryFnData, TError> : T extends {
32
+ data: infer TData;
33
+ error?: infer TError;
34
+ } ? UseQueryResult<TData, TError> : T extends [any, infer TError, infer TData] ? UseQueryResult<TData, TError> : T extends [infer TQueryFnData, infer TError] ? UseQueryResult<TQueryFnData, TError> : T extends [infer TQueryFnData] ? UseQueryResult<TQueryFnData> : T extends {
35
+ queryFn?: QueryFunction<unknown, any>;
36
+ select: (data: any) => infer TData;
37
+ } ? UseQueryResult<TData> : T extends {
38
+ queryFn?: QueryFunction<infer TQueryFnData, any>;
39
+ } ? UseQueryResult<TQueryFnData> : UseQueryResult;
40
+ /**
41
+ * QueriesOptions reducer recursively unwraps function arguments to infer/enforce type param
42
+ */
43
+ type QueriesOptions<T extends any[], Result extends any[] = [], Depth extends ReadonlyArray<number> = []> = Depth['length'] extends MAXIMUM_DEPTH ? UseQueryOptionsForUseQueries[] : T extends [] ? [] : T extends [infer Head] ? [...Result, GetOptions<Head>] : T extends [infer Head, ...infer Tail] ? QueriesOptions<[...Tail], [...Result, GetOptions<Head>], [...Depth, 1]> : unknown[] extends T ? T : T extends UseQueryOptionsForUseQueries<infer TQueryFnData, infer TError, infer TData, infer TQueryKey>[] ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData, TQueryKey>[] : UseQueryOptionsForUseQueries[];
44
+ /**
45
+ * QueriesResults reducer recursively maps type param to results
46
+ */
47
+ type QueriesResults<T extends any[], Result extends any[] = [], Depth extends ReadonlyArray<number> = []> = Depth['length'] extends MAXIMUM_DEPTH ? UseQueryResult[] : T extends [] ? [] : T extends [infer Head] ? [...Result, GetResults<Head>] : T extends [infer Head, ...infer Tail] ? QueriesResults<[...Tail], [...Result, GetResults<Head>], [...Depth, 1]> : T extends UseQueryOptionsForUseQueries<infer TQueryFnData, infer TError, infer TData, any>[] ? UseQueryResult<unknown extends TData ? TQueryFnData : TData, unknown extends TError ? DefaultError : TError>[] : UseQueryResult[];
48
+ declare function useQueries<T extends any[], TCombinedResult = QueriesResults<T>>({ queries, ...options }: {
49
+ queries: readonly [...QueriesOptions<T>];
50
+ combine?: (result: QueriesResults<T>) => TCombinedResult;
51
+ }, queryClient?: QueryClient): TCombinedResult;
52
+
53
+ export { QueriesOptions, QueriesResults, useQueries };
@@ -0,0 +1,100 @@
1
+ "use client";
2
+
3
+ // src/useQueries.ts
4
+ import * as React from "react";
5
+ import { QueriesObserver, notifyManager } from "@tanstack/query-core";
6
+ import { useQueryClient } from "./QueryClientProvider.js";
7
+ import { useIsRestoring } from "./isRestoring.js";
8
+ import { useQueryErrorResetBoundary } from "./QueryErrorResetBoundary.js";
9
+ import {
10
+ ensurePreventErrorBoundaryRetry,
11
+ getHasError,
12
+ useClearResetErrorBoundary
13
+ } from "./errorBoundaryUtils.js";
14
+ import {
15
+ ensureStaleTime,
16
+ fetchOptimistic,
17
+ shouldSuspend,
18
+ willFetch
19
+ } from "./suspense.js";
20
+ function useQueries({
21
+ queries,
22
+ ...options
23
+ }, queryClient) {
24
+ const client = useQueryClient(queryClient);
25
+ const isRestoring = useIsRestoring();
26
+ const errorResetBoundary = useQueryErrorResetBoundary();
27
+ const defaultedQueries = React.useMemo(
28
+ () => queries.map((opts) => {
29
+ const defaultedOptions = client.defaultQueryOptions(opts);
30
+ defaultedOptions._optimisticResults = isRestoring ? "isRestoring" : "optimistic";
31
+ return defaultedOptions;
32
+ }),
33
+ [queries, client, isRestoring]
34
+ );
35
+ defaultedQueries.forEach((query) => {
36
+ ensureStaleTime(query);
37
+ ensurePreventErrorBoundaryRetry(query, errorResetBoundary);
38
+ });
39
+ useClearResetErrorBoundary(errorResetBoundary);
40
+ const [observer] = React.useState(
41
+ () => new QueriesObserver(
42
+ client,
43
+ defaultedQueries,
44
+ options
45
+ )
46
+ );
47
+ const [optimisticResult, getCombinedResult, trackResult] = observer.getOptimisticResult(defaultedQueries);
48
+ React.useSyncExternalStore(
49
+ React.useCallback(
50
+ (onStoreChange) => isRestoring ? () => void 0 : observer.subscribe(notifyManager.batchCalls(onStoreChange)),
51
+ [observer, isRestoring]
52
+ ),
53
+ () => observer.getCurrentResult(),
54
+ () => observer.getCurrentResult()
55
+ );
56
+ React.useEffect(() => {
57
+ observer.setQueries(
58
+ defaultedQueries,
59
+ options,
60
+ {
61
+ listeners: false
62
+ }
63
+ );
64
+ }, [defaultedQueries, options, observer]);
65
+ const shouldAtLeastOneSuspend = optimisticResult.some(
66
+ (result, index) => shouldSuspend(defaultedQueries[index], result, isRestoring)
67
+ );
68
+ const suspensePromises = shouldAtLeastOneSuspend ? optimisticResult.flatMap((result, index) => {
69
+ const opts = defaultedQueries[index];
70
+ const queryObserver = observer.getObservers()[index];
71
+ if (opts && queryObserver) {
72
+ if (shouldSuspend(opts, result, isRestoring)) {
73
+ return fetchOptimistic(opts, queryObserver, errorResetBoundary);
74
+ } else if (willFetch(result, isRestoring)) {
75
+ void fetchOptimistic(opts, queryObserver, errorResetBoundary);
76
+ }
77
+ }
78
+ return [];
79
+ }) : [];
80
+ if (suspensePromises.length > 0) {
81
+ throw Promise.all(suspensePromises);
82
+ }
83
+ const observerQueries = observer.getQueries();
84
+ const firstSingleResultWhichShouldThrow = optimisticResult.find(
85
+ (result, index) => getHasError({
86
+ result,
87
+ errorResetBoundary,
88
+ throwOnError: defaultedQueries[index]?.throwOnError ?? false,
89
+ query: observerQueries[index]
90
+ })
91
+ );
92
+ if (firstSingleResultWhichShouldThrow?.error) {
93
+ throw firstSingleResultWhichShouldThrow.error;
94
+ }
95
+ return getCombinedResult(trackResult());
96
+ }
97
+ export {
98
+ useQueries
99
+ };
100
+ //# sourceMappingURL=useQueries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/useQueries.ts"],"sourcesContent":["'use client'\nimport * as React from 'react'\n\nimport { QueriesObserver, notifyManager } from '@tanstack/query-core'\nimport { useQueryClient } from './QueryClientProvider'\nimport { useIsRestoring } from './isRestoring'\nimport { useQueryErrorResetBoundary } from './QueryErrorResetBoundary'\nimport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary,\n} from './errorBoundaryUtils'\nimport {\n ensureStaleTime,\n fetchOptimistic,\n shouldSuspend,\n willFetch,\n} from './suspense'\nimport type { UseQueryOptions, UseQueryResult } from './types'\nimport type {\n DefaultError,\n QueriesObserverOptions,\n QueriesPlaceholderDataFunction,\n QueryClient,\n QueryFunction,\n QueryKey,\n} from '@tanstack/query-core'\n\n// This defines the `UseQueryOptions` that are accepted in `QueriesOptions` & `GetOptions`.\n// `placeholderData` function does not have a parameter\ntype UseQueryOptionsForUseQueries<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = Omit<\n UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n 'placeholderData'\n> & {\n placeholderData?: TQueryFnData | QueriesPlaceholderDataFunction<TQueryFnData>\n}\n\n// Avoid TS depth-limit error in case of large array literal\ntype MAXIMUM_DEPTH = 20\n\ntype GetOptions<T> =\n // Part 1: responsible for applying explicit type parameter to function arguments, if object { queryFnData: TQueryFnData, error: TError, data: TData }\n T extends {\n queryFnData: infer TQueryFnData\n error?: infer TError\n data: infer TData\n }\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? UseQueryOptionsForUseQueries<unknown, TError, TData>\n : // Part 2: responsible for applying explicit type parameter to function arguments, if tuple [TQueryFnData, TError, TData]\n T extends [infer TQueryFnData, infer TError, infer TData]\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData>\n : T extends [infer TQueryFnData, infer TError]\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? UseQueryOptionsForUseQueries<TQueryFnData>\n : // Part 3: responsible for inferring and enforcing type if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>\n select: (data: any) => infer TData\n }\n ? UseQueryOptionsForUseQueries<TQueryFnData, Error, TData, TQueryKey>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey> }\n ? UseQueryOptionsForUseQueries<TQueryFnData, Error, TQueryFnData, TQueryKey>\n : // Fallback\n UseQueryOptionsForUseQueries\n\ntype GetResults<T> =\n // Part 1: responsible for mapping explicit type parameter to function result, if object\n T extends { queryFnData: any; error?: infer TError; data: infer TData }\n ? UseQueryResult<TData, TError>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? UseQueryResult<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? UseQueryResult<TData, TError>\n : // Part 2: responsible for mapping explicit type parameter to function result, if tuple\n T extends [any, infer TError, infer TData]\n ? UseQueryResult<TData, TError>\n : T extends [infer TQueryFnData, infer TError]\n ? UseQueryResult<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? UseQueryResult<TQueryFnData>\n : // Part 3: responsible for mapping inferred type to results, if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<unknown, any>\n select: (data: any) => infer TData\n }\n ? UseQueryResult<TData>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, any> }\n ? UseQueryResult<TQueryFnData>\n : // Fallback\n UseQueryResult\n\n/**\n * QueriesOptions reducer recursively unwraps function arguments to infer/enforce type param\n */\nexport type QueriesOptions<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? UseQueryOptionsForUseQueries[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetOptions<Head>]\n : T extends [infer Head, ...infer Tail]\n ? QueriesOptions<[...Tail], [...Result, GetOptions<Head>], [...Depth, 1]>\n : unknown[] extends T\n ? T\n : // If T is *some* array but we couldn't assign unknown[] to it, then it must hold some known/homogenous type!\n // use this to infer the param types in the case of Array.map() argument\n T extends UseQueryOptionsForUseQueries<\n infer TQueryFnData,\n infer TError,\n infer TData,\n infer TQueryKey\n >[]\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData, TQueryKey>[]\n : // Fallback\n UseQueryOptionsForUseQueries[]\n\n/**\n * QueriesResults reducer recursively maps type param to results\n */\nexport type QueriesResults<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? UseQueryResult[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetResults<Head>]\n : T extends [infer Head, ...infer Tail]\n ? QueriesResults<[...Tail], [...Result, GetResults<Head>], [...Depth, 1]>\n : T extends UseQueryOptionsForUseQueries<\n infer TQueryFnData,\n infer TError,\n infer TData,\n any\n >[]\n ? // Dynamic-size (homogenous) UseQueryOptions array: map directly to array of results\n UseQueryResult<\n unknown extends TData ? TQueryFnData : TData,\n unknown extends TError ? DefaultError : TError\n >[]\n : // Fallback\n UseQueryResult[]\n\nexport function useQueries<\n T extends any[],\n TCombinedResult = QueriesResults<T>,\n>(\n {\n queries,\n ...options\n }: {\n queries: readonly [...QueriesOptions<T>]\n combine?: (result: QueriesResults<T>) => TCombinedResult\n },\n queryClient?: QueryClient,\n): TCombinedResult {\n const client = useQueryClient(queryClient)\n const isRestoring = useIsRestoring()\n const errorResetBoundary = useQueryErrorResetBoundary()\n\n const defaultedQueries = React.useMemo(\n () =>\n queries.map((opts) => {\n const defaultedOptions = client.defaultQueryOptions(opts)\n\n // Make sure the results are already in fetching state before subscribing or updating options\n defaultedOptions._optimisticResults = isRestoring\n ? 'isRestoring'\n : 'optimistic'\n\n return defaultedOptions\n }),\n [queries, client, isRestoring],\n )\n\n defaultedQueries.forEach((query) => {\n ensureStaleTime(query)\n ensurePreventErrorBoundaryRetry(query, errorResetBoundary)\n })\n\n useClearResetErrorBoundary(errorResetBoundary)\n\n const [observer] = React.useState(\n () =>\n new QueriesObserver<TCombinedResult>(\n client,\n defaultedQueries,\n options as QueriesObserverOptions<TCombinedResult>,\n ),\n )\n\n const [optimisticResult, getCombinedResult, trackResult] =\n observer.getOptimisticResult(defaultedQueries)\n\n React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) =>\n isRestoring\n ? () => undefined\n : observer.subscribe(notifyManager.batchCalls(onStoreChange)),\n [observer, isRestoring],\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult(),\n )\n\n React.useEffect(() => {\n // Do not notify on updates because of changes in the options because\n // these changes should already be reflected in the optimistic result.\n observer.setQueries(\n defaultedQueries,\n options as QueriesObserverOptions<TCombinedResult>,\n {\n listeners: false,\n },\n )\n }, [defaultedQueries, options, observer])\n\n const shouldAtLeastOneSuspend = optimisticResult.some((result, index) =>\n shouldSuspend(defaultedQueries[index], result, isRestoring),\n )\n\n const suspensePromises = shouldAtLeastOneSuspend\n ? optimisticResult.flatMap((result, index) => {\n const opts = defaultedQueries[index]\n const queryObserver = observer.getObservers()[index]\n\n if (opts && queryObserver) {\n if (shouldSuspend(opts, result, isRestoring)) {\n return fetchOptimistic(opts, queryObserver, errorResetBoundary)\n } else if (willFetch(result, isRestoring)) {\n void fetchOptimistic(opts, queryObserver, errorResetBoundary)\n }\n }\n return []\n })\n : []\n\n if (suspensePromises.length > 0) {\n throw Promise.all(suspensePromises)\n }\n const observerQueries = observer.getQueries()\n const firstSingleResultWhichShouldThrow = optimisticResult.find(\n (result, index) =>\n getHasError({\n result,\n errorResetBoundary,\n throwOnError: defaultedQueries[index]?.throwOnError ?? false,\n query: observerQueries[index]!,\n }),\n )\n\n if (firstSingleResultWhichShouldThrow?.error) {\n throw firstSingleResultWhichShouldThrow.error\n }\n\n return getCombinedResult(trackResult())\n}\n"],"mappings":";;;AACA,YAAY,WAAW;AAEvB,SAAS,iBAAiB,qBAAqB;AAC/C,SAAS,sBAAsB;AAC/B,SAAS,sBAAsB;AAC/B,SAAS,kCAAkC;AAC3C;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AA8IA,SAAS,WAId;AAAA,EACE;AAAA,EACA,GAAG;AACL,GAIA,aACiB;AACjB,QAAM,SAAS,eAAe,WAAW;AACzC,QAAM,cAAc,eAAe;AACnC,QAAM,qBAAqB,2BAA2B;AAEtD,QAAM,mBAAyB;AAAA,IAC7B,MACE,QAAQ,IAAI,CAAC,SAAS;AACpB,YAAM,mBAAmB,OAAO,oBAAoB,IAAI;AAGxD,uBAAiB,qBAAqB,cAClC,gBACA;AAEJ,aAAO;AAAA,IACT,CAAC;AAAA,IACH,CAAC,SAAS,QAAQ,WAAW;AAAA,EAC/B;AAEA,mBAAiB,QAAQ,CAAC,UAAU;AAClC,oBAAgB,KAAK;AACrB,oCAAgC,OAAO,kBAAkB;AAAA,EAC3D,CAAC;AAED,6BAA2B,kBAAkB;AAE7C,QAAM,CAAC,QAAQ,IAAU;AAAA,IACvB,MACE,IAAI;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACJ;AAEA,QAAM,CAAC,kBAAkB,mBAAmB,WAAW,IACrD,SAAS,oBAAoB,gBAAgB;AAE/C,EAAM;AAAA,IACE;AAAA,MACJ,CAAC,kBACC,cACI,MAAM,SACN,SAAS,UAAU,cAAc,WAAW,aAAa,CAAC;AAAA,MAChE,CAAC,UAAU,WAAW;AAAA,IACxB;AAAA,IACA,MAAM,SAAS,iBAAiB;AAAA,IAChC,MAAM,SAAS,iBAAiB;AAAA,EAClC;AAEA,EAAM,gBAAU,MAAM;AAGpB,aAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,QACE,WAAW;AAAA,MACb;AAAA,IACF;AAAA,EACF,GAAG,CAAC,kBAAkB,SAAS,QAAQ,CAAC;AAExC,QAAM,0BAA0B,iBAAiB;AAAA,IAAK,CAAC,QAAQ,UAC7D,cAAc,iBAAiB,KAAK,GAAG,QAAQ,WAAW;AAAA,EAC5D;AAEA,QAAM,mBAAmB,0BACrB,iBAAiB,QAAQ,CAAC,QAAQ,UAAU;AAC1C,UAAM,OAAO,iBAAiB,KAAK;AACnC,UAAM,gBAAgB,SAAS,aAAa,EAAE,KAAK;AAEnD,QAAI,QAAQ,eAAe;AACzB,UAAI,cAAc,MAAM,QAAQ,WAAW,GAAG;AAC5C,eAAO,gBAAgB,MAAM,eAAe,kBAAkB;AAAA,MAChE,WAAW,UAAU,QAAQ,WAAW,GAAG;AACzC,aAAK,gBAAgB,MAAM,eAAe,kBAAkB;AAAA,MAC9D;AAAA,IACF;AACA,WAAO,CAAC;AAAA,EACV,CAAC,IACD,CAAC;AAEL,MAAI,iBAAiB,SAAS,GAAG;AAC/B,UAAM,QAAQ,IAAI,gBAAgB;AAAA,EACpC;AACA,QAAM,kBAAkB,SAAS,WAAW;AAC5C,QAAM,oCAAoC,iBAAiB;AAAA,IACzD,CAAC,QAAQ,UACP,YAAY;AAAA,MACV;AAAA,MACA;AAAA,MACA,cAAc,iBAAiB,KAAK,GAAG,gBAAgB;AAAA,MACvD,OAAO,gBAAgB,KAAK;AAAA,IAC9B,CAAC;AAAA,EACL;AAEA,MAAI,mCAAmC,OAAO;AAC5C,UAAM,kCAAkC;AAAA,EAC1C;AAEA,SAAO,kBAAkB,YAAY,CAAC;AACxC;","names":[]}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ "use client";
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+
21
+ // src/useQuery.ts
22
+ var useQuery_exports = {};
23
+ __export(useQuery_exports, {
24
+ useQuery: () => useQuery
25
+ });
26
+ module.exports = __toCommonJS(useQuery_exports);
27
+ var import_query_core = require("@tanstack/query-core");
28
+ var import_useBaseQuery = require("./useBaseQuery.cjs");
29
+ function useQuery(options, queryClient) {
30
+ return (0, import_useBaseQuery.useBaseQuery)(options, import_query_core.QueryObserver, queryClient);
31
+ }
32
+ // Annotate the CommonJS export names for ESM import in node:
33
+ 0 && (module.exports = {
34
+ useQuery
35
+ });
36
+ //# sourceMappingURL=useQuery.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/useQuery.ts"],"sourcesContent":["'use client'\nimport { QueryObserver } from '@tanstack/query-core'\nimport { useBaseQuery } from './useBaseQuery'\nimport type { DefaultError, QueryClient, QueryKey } from '@tanstack/query-core'\nimport type {\n DefinedUseQueryResult,\n UseQueryOptions,\n UseQueryResult,\n} from './types'\nimport type {\n DefinedInitialDataOptions,\n UndefinedInitialDataOptions,\n} from './queryOptions'\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: QueryClient,\n): UseQueryResult<TData, TError>\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError>\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: QueryClient,\n) {\n return useBaseQuery(options, QueryObserver, queryClient)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,wBAA8B;AAC9B,0BAA6B;AAgCtB,SAAS,SAMd,SACA,aACA;AACA,aAAO,kCAAa,SAAS,iCAAe,WAAW;AACzD;","names":[]}
@@ -0,0 +1,8 @@
1
+ import { DefaultError, QueryKey, QueryClient } from '@tanstack/query-core';
2
+ import { UseQueryResult, DefinedUseQueryResult } from './types.cjs';
3
+ import { UndefinedInitialDataOptions, DefinedInitialDataOptions } from './queryOptions.cjs';
4
+
5
+ declare function useQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>, queryClient?: QueryClient): UseQueryResult<TData, TError>;
6
+ declare function useQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>, queryClient?: QueryClient): DefinedUseQueryResult<TData, TError>;
7
+
8
+ export { useQuery };
@@ -0,0 +1,8 @@
1
+ import { DefaultError, QueryKey, QueryClient } from '@tanstack/query-core';
2
+ import { UseQueryResult, DefinedUseQueryResult } from './types.js';
3
+ import { UndefinedInitialDataOptions, DefinedInitialDataOptions } from './queryOptions.js';
4
+
5
+ declare function useQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>, queryClient?: QueryClient): UseQueryResult<TData, TError>;
6
+ declare function useQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>, queryClient?: QueryClient): DefinedUseQueryResult<TData, TError>;
7
+
8
+ export { useQuery };