@tanstack/preact-query 0.0.1 → 5.91.0

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 (338) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +48 -45
  3. package/build/codemods/src/utils/index.cjs +208 -0
  4. package/build/codemods/src/utils/transformers/query-cache-transformer.cjs +124 -0
  5. package/build/codemods/src/utils/transformers/query-client-transformer.cjs +53 -0
  6. package/build/codemods/src/utils/transformers/use-query-like-transformer.cjs +38 -0
  7. package/build/codemods/src/v4/key-transformation.cjs +181 -0
  8. package/build/codemods/src/v4/replace-import-specifier.cjs +25 -0
  9. package/build/codemods/src/v4/utils/replacers/key-replacer.cjs +164 -0
  10. package/build/codemods/src/v5/is-loading/is-loading.cjs +244 -0
  11. package/build/codemods/src/v5/keep-previous-data/README.md +32 -0
  12. package/build/codemods/src/v5/keep-previous-data/keep-previous-data.cjs +271 -0
  13. package/build/codemods/src/v5/keep-previous-data/utils/already-has-placeholder-data-property.cjs +26 -0
  14. package/build/codemods/src/v5/remove-overloads/remove-overloads.cjs +58 -0
  15. package/build/codemods/src/v5/remove-overloads/transformers/filter-aware-usage-transformer.cjs +271 -0
  16. package/build/codemods/src/v5/remove-overloads/transformers/query-fn-aware-usage-transformer.cjs +185 -0
  17. package/build/codemods/src/v5/remove-overloads/utils/index.cjs +123 -0
  18. package/build/codemods/src/v5/remove-overloads/utils/unknown-usage-error.cjs +27 -0
  19. package/build/codemods/src/v5/rename-hydrate/rename-hydrate.cjs +55 -0
  20. package/build/codemods/src/v5/rename-properties/rename-properties.cjs +41 -0
  21. package/build/legacy/HydrationBoundary.cjs +80 -0
  22. package/build/legacy/HydrationBoundary.cjs.map +1 -0
  23. package/build/legacy/HydrationBoundary.d.cts +14 -0
  24. package/build/legacy/HydrationBoundary.d.ts +14 -0
  25. package/build/legacy/HydrationBoundary.js +55 -0
  26. package/build/legacy/HydrationBoundary.js.map +1 -0
  27. package/build/legacy/IsRestoringProvider.cjs +37 -0
  28. package/build/legacy/IsRestoringProvider.cjs.map +1 -0
  29. package/build/legacy/IsRestoringProvider.d.cts +6 -0
  30. package/build/legacy/IsRestoringProvider.d.ts +6 -0
  31. package/build/legacy/IsRestoringProvider.js +11 -0
  32. package/build/legacy/IsRestoringProvider.js.map +1 -0
  33. package/build/legacy/QueryClientProvider.cjs +62 -0
  34. package/build/legacy/QueryClientProvider.cjs.map +1 -0
  35. package/build/legacy/QueryClientProvider.d.cts +13 -0
  36. package/build/legacy/QueryClientProvider.d.ts +13 -0
  37. package/build/legacy/QueryClientProvider.js +35 -0
  38. package/build/legacy/QueryClientProvider.js.map +1 -0
  39. package/build/legacy/QueryErrorResetBoundary.cjs +57 -0
  40. package/build/legacy/QueryErrorResetBoundary.cjs.map +1 -0
  41. package/build/legacy/QueryErrorResetBoundary.d.cts +19 -0
  42. package/build/legacy/QueryErrorResetBoundary.d.ts +19 -0
  43. package/build/legacy/QueryErrorResetBoundary.js +31 -0
  44. package/build/legacy/QueryErrorResetBoundary.js.map +1 -0
  45. package/build/legacy/errorBoundaryUtils.cjs +57 -0
  46. package/build/legacy/errorBoundaryUtils.cjs.map +1 -0
  47. package/build/legacy/errorBoundaryUtils.d.cts +15 -0
  48. package/build/legacy/errorBoundaryUtils.d.ts +15 -0
  49. package/build/legacy/errorBoundaryUtils.js +30 -0
  50. package/build/legacy/errorBoundaryUtils.js.map +1 -0
  51. package/build/legacy/index.cjs +97 -0
  52. package/build/legacy/index.cjs.map +1 -0
  53. package/build/legacy/index.d.cts +21 -0
  54. package/build/legacy/index.d.ts +21 -0
  55. package/build/legacy/index.js +54 -0
  56. package/build/legacy/index.js.map +1 -0
  57. package/build/legacy/infiniteQueryOptions.cjs +33 -0
  58. package/build/legacy/infiniteQueryOptions.cjs.map +1 -0
  59. package/build/legacy/infiniteQueryOptions.d.cts +23 -0
  60. package/build/legacy/infiniteQueryOptions.d.ts +23 -0
  61. package/build/legacy/infiniteQueryOptions.js +8 -0
  62. package/build/legacy/infiniteQueryOptions.js.map +1 -0
  63. package/build/legacy/mutationOptions.cjs +33 -0
  64. package/build/legacy/mutationOptions.cjs.map +1 -0
  65. package/build/legacy/mutationOptions.d.cts +7 -0
  66. package/build/legacy/mutationOptions.d.ts +7 -0
  67. package/build/legacy/mutationOptions.js +8 -0
  68. package/build/legacy/mutationOptions.js.map +1 -0
  69. package/build/legacy/queryOptions.cjs +33 -0
  70. package/build/legacy/queryOptions.cjs.map +1 -0
  71. package/build/legacy/queryOptions.d.cts +24 -0
  72. package/build/legacy/queryOptions.d.ts +24 -0
  73. package/build/legacy/queryOptions.js +8 -0
  74. package/build/legacy/queryOptions.js.map +1 -0
  75. package/build/legacy/suspense.cjs +58 -0
  76. package/build/legacy/suspense.cjs.map +1 -0
  77. package/build/legacy/suspense.d.cts +11 -0
  78. package/build/legacy/suspense.d.ts +11 -0
  79. package/build/legacy/suspense.js +29 -0
  80. package/build/legacy/suspense.js.map +1 -0
  81. package/build/legacy/types.cjs +19 -0
  82. package/build/legacy/types.cjs.map +1 -0
  83. package/build/legacy/types.d.cts +52 -0
  84. package/build/legacy/types.d.ts +52 -0
  85. package/build/legacy/types.js +1 -0
  86. package/build/legacy/types.js.map +1 -0
  87. package/build/legacy/useBaseQuery.cjs +121 -0
  88. package/build/legacy/useBaseQuery.cjs.map +1 -0
  89. package/build/legacy/useBaseQuery.d.cts +6 -0
  90. package/build/legacy/useBaseQuery.d.ts +6 -0
  91. package/build/legacy/useBaseQuery.js +105 -0
  92. package/build/legacy/useBaseQuery.js.map +1 -0
  93. package/build/legacy/useInfiniteQuery.cjs +39 -0
  94. package/build/legacy/useInfiniteQuery.cjs.map +1 -0
  95. package/build/legacy/useInfiniteQuery.d.cts +9 -0
  96. package/build/legacy/useInfiniteQuery.d.ts +9 -0
  97. package/build/legacy/useInfiniteQuery.js +14 -0
  98. package/build/legacy/useInfiniteQuery.js.map +1 -0
  99. package/build/legacy/useIsFetching.cjs +45 -0
  100. package/build/legacy/useIsFetching.cjs.map +1 -0
  101. package/build/legacy/useIsFetching.d.cts +5 -0
  102. package/build/legacy/useIsFetching.d.ts +5 -0
  103. package/build/legacy/useIsFetching.js +20 -0
  104. package/build/legacy/useIsFetching.js.map +1 -0
  105. package/build/legacy/useMutation.cjs +63 -0
  106. package/build/legacy/useMutation.cjs.map +1 -0
  107. package/build/legacy/useMutation.d.cts +6 -0
  108. package/build/legacy/useMutation.d.ts +6 -0
  109. package/build/legacy/useMutation.js +43 -0
  110. package/build/legacy/useMutation.js.map +1 -0
  111. package/build/legacy/useMutationState.cjs +75 -0
  112. package/build/legacy/useMutationState.cjs.map +1 -0
  113. package/build/legacy/useMutationState.d.cts +10 -0
  114. package/build/legacy/useMutationState.d.ts +10 -0
  115. package/build/legacy/useMutationState.js +49 -0
  116. package/build/legacy/useMutationState.js.map +1 -0
  117. package/build/legacy/usePrefetchInfiniteQuery.cjs +37 -0
  118. package/build/legacy/usePrefetchInfiniteQuery.cjs.map +1 -0
  119. package/build/legacy/usePrefetchInfiniteQuery.d.cts +5 -0
  120. package/build/legacy/usePrefetchInfiniteQuery.d.ts +5 -0
  121. package/build/legacy/usePrefetchInfiniteQuery.js +12 -0
  122. package/build/legacy/usePrefetchInfiniteQuery.js.map +1 -0
  123. package/build/legacy/usePrefetchQuery.cjs +37 -0
  124. package/build/legacy/usePrefetchQuery.cjs.map +1 -0
  125. package/build/legacy/usePrefetchQuery.d.cts +6 -0
  126. package/build/legacy/usePrefetchQuery.d.ts +6 -0
  127. package/build/legacy/usePrefetchQuery.js +12 -0
  128. package/build/legacy/usePrefetchQuery.js.map +1 -0
  129. package/build/legacy/useQueries.cjs +120 -0
  130. package/build/legacy/useQueries.cjs.map +1 -0
  131. package/build/legacy/useQueries.d.cts +76 -0
  132. package/build/legacy/useQueries.d.ts +76 -0
  133. package/build/legacy/useQueries.js +109 -0
  134. package/build/legacy/useQueries.js.map +1 -0
  135. package/build/legacy/useQuery.cjs +35 -0
  136. package/build/legacy/useQuery.cjs.map +1 -0
  137. package/build/legacy/useQuery.d.cts +9 -0
  138. package/build/legacy/useQuery.d.ts +9 -0
  139. package/build/legacy/useQuery.js +10 -0
  140. package/build/legacy/useQuery.js.map +1 -0
  141. package/build/legacy/useSuspenseInfiniteQuery.cjs +50 -0
  142. package/build/legacy/useSuspenseInfiniteQuery.cjs.map +1 -0
  143. package/build/legacy/useSuspenseInfiniteQuery.d.cts +6 -0
  144. package/build/legacy/useSuspenseInfiniteQuery.d.ts +6 -0
  145. package/build/legacy/useSuspenseInfiniteQuery.js +25 -0
  146. package/build/legacy/useSuspenseInfiniteQuery.js.map +1 -0
  147. package/build/legacy/useSuspenseQueries.cjs +55 -0
  148. package/build/legacy/useSuspenseQueries.cjs.map +1 -0
  149. package/build/legacy/useSuspenseQueries.d.cts +79 -0
  150. package/build/legacy/useSuspenseQueries.d.ts +79 -0
  151. package/build/legacy/useSuspenseQueries.js +30 -0
  152. package/build/legacy/useSuspenseQueries.js.map +1 -0
  153. package/build/legacy/useSuspenseQuery.cjs +51 -0
  154. package/build/legacy/useSuspenseQuery.cjs.map +1 -0
  155. package/build/legacy/useSuspenseQuery.d.cts +6 -0
  156. package/build/legacy/useSuspenseQuery.d.ts +6 -0
  157. package/build/legacy/useSuspenseQuery.js +26 -0
  158. package/build/legacy/useSuspenseQuery.js.map +1 -0
  159. package/build/legacy/utils.cjs +79 -0
  160. package/build/legacy/utils.cjs.map +1 -0
  161. package/build/legacy/utils.d.cts +4 -0
  162. package/build/legacy/utils.d.ts +4 -0
  163. package/build/legacy/utils.js +53 -0
  164. package/build/legacy/utils.js.map +1 -0
  165. package/build/modern/HydrationBoundary.cjs +80 -0
  166. package/build/modern/HydrationBoundary.cjs.map +1 -0
  167. package/build/modern/HydrationBoundary.d.cts +14 -0
  168. package/build/modern/HydrationBoundary.d.ts +14 -0
  169. package/build/modern/HydrationBoundary.js +55 -0
  170. package/build/modern/HydrationBoundary.js.map +1 -0
  171. package/build/modern/IsRestoringProvider.cjs +37 -0
  172. package/build/modern/IsRestoringProvider.cjs.map +1 -0
  173. package/build/modern/IsRestoringProvider.d.cts +6 -0
  174. package/build/modern/IsRestoringProvider.d.ts +6 -0
  175. package/build/modern/IsRestoringProvider.js +11 -0
  176. package/build/modern/IsRestoringProvider.js.map +1 -0
  177. package/build/modern/QueryClientProvider.cjs +62 -0
  178. package/build/modern/QueryClientProvider.cjs.map +1 -0
  179. package/build/modern/QueryClientProvider.d.cts +13 -0
  180. package/build/modern/QueryClientProvider.d.ts +13 -0
  181. package/build/modern/QueryClientProvider.js +35 -0
  182. package/build/modern/QueryClientProvider.js.map +1 -0
  183. package/build/modern/QueryErrorResetBoundary.cjs +57 -0
  184. package/build/modern/QueryErrorResetBoundary.cjs.map +1 -0
  185. package/build/modern/QueryErrorResetBoundary.d.cts +19 -0
  186. package/build/modern/QueryErrorResetBoundary.d.ts +19 -0
  187. package/build/modern/QueryErrorResetBoundary.js +31 -0
  188. package/build/modern/QueryErrorResetBoundary.js.map +1 -0
  189. package/build/modern/errorBoundaryUtils.cjs +57 -0
  190. package/build/modern/errorBoundaryUtils.cjs.map +1 -0
  191. package/build/modern/errorBoundaryUtils.d.cts +15 -0
  192. package/build/modern/errorBoundaryUtils.d.ts +15 -0
  193. package/build/modern/errorBoundaryUtils.js +30 -0
  194. package/build/modern/errorBoundaryUtils.js.map +1 -0
  195. package/build/modern/index.cjs +97 -0
  196. package/build/modern/index.cjs.map +1 -0
  197. package/build/modern/index.d.cts +21 -0
  198. package/build/modern/index.d.ts +21 -0
  199. package/build/modern/index.js +54 -0
  200. package/build/modern/index.js.map +1 -0
  201. package/build/modern/infiniteQueryOptions.cjs +33 -0
  202. package/build/modern/infiniteQueryOptions.cjs.map +1 -0
  203. package/build/modern/infiniteQueryOptions.d.cts +23 -0
  204. package/build/modern/infiniteQueryOptions.d.ts +23 -0
  205. package/build/modern/infiniteQueryOptions.js +8 -0
  206. package/build/modern/infiniteQueryOptions.js.map +1 -0
  207. package/build/modern/mutationOptions.cjs +33 -0
  208. package/build/modern/mutationOptions.cjs.map +1 -0
  209. package/build/modern/mutationOptions.d.cts +7 -0
  210. package/build/modern/mutationOptions.d.ts +7 -0
  211. package/build/modern/mutationOptions.js +8 -0
  212. package/build/modern/mutationOptions.js.map +1 -0
  213. package/build/modern/queryOptions.cjs +33 -0
  214. package/build/modern/queryOptions.cjs.map +1 -0
  215. package/build/modern/queryOptions.d.cts +24 -0
  216. package/build/modern/queryOptions.d.ts +24 -0
  217. package/build/modern/queryOptions.js +8 -0
  218. package/build/modern/queryOptions.js.map +1 -0
  219. package/build/modern/suspense.cjs +58 -0
  220. package/build/modern/suspense.cjs.map +1 -0
  221. package/build/modern/suspense.d.cts +11 -0
  222. package/build/modern/suspense.d.ts +11 -0
  223. package/build/modern/suspense.js +29 -0
  224. package/build/modern/suspense.js.map +1 -0
  225. package/build/modern/types.cjs +19 -0
  226. package/build/modern/types.cjs.map +1 -0
  227. package/build/modern/types.d.cts +52 -0
  228. package/build/modern/types.d.ts +52 -0
  229. package/build/modern/types.js +1 -0
  230. package/build/modern/types.js.map +1 -0
  231. package/build/modern/useBaseQuery.cjs +118 -0
  232. package/build/modern/useBaseQuery.cjs.map +1 -0
  233. package/build/modern/useBaseQuery.d.cts +6 -0
  234. package/build/modern/useBaseQuery.d.ts +6 -0
  235. package/build/modern/useBaseQuery.js +102 -0
  236. package/build/modern/useBaseQuery.js.map +1 -0
  237. package/build/modern/useInfiniteQuery.cjs +39 -0
  238. package/build/modern/useInfiniteQuery.cjs.map +1 -0
  239. package/build/modern/useInfiniteQuery.d.cts +9 -0
  240. package/build/modern/useInfiniteQuery.d.ts +9 -0
  241. package/build/modern/useInfiniteQuery.js +14 -0
  242. package/build/modern/useInfiniteQuery.js.map +1 -0
  243. package/build/modern/useIsFetching.cjs +45 -0
  244. package/build/modern/useIsFetching.cjs.map +1 -0
  245. package/build/modern/useIsFetching.d.cts +5 -0
  246. package/build/modern/useIsFetching.d.ts +5 -0
  247. package/build/modern/useIsFetching.js +20 -0
  248. package/build/modern/useIsFetching.js.map +1 -0
  249. package/build/modern/useMutation.cjs +63 -0
  250. package/build/modern/useMutation.cjs.map +1 -0
  251. package/build/modern/useMutation.d.cts +6 -0
  252. package/build/modern/useMutation.d.ts +6 -0
  253. package/build/modern/useMutation.js +43 -0
  254. package/build/modern/useMutation.js.map +1 -0
  255. package/build/modern/useMutationState.cjs +75 -0
  256. package/build/modern/useMutationState.cjs.map +1 -0
  257. package/build/modern/useMutationState.d.cts +10 -0
  258. package/build/modern/useMutationState.d.ts +10 -0
  259. package/build/modern/useMutationState.js +49 -0
  260. package/build/modern/useMutationState.js.map +1 -0
  261. package/build/modern/usePrefetchInfiniteQuery.cjs +37 -0
  262. package/build/modern/usePrefetchInfiniteQuery.cjs.map +1 -0
  263. package/build/modern/usePrefetchInfiniteQuery.d.cts +5 -0
  264. package/build/modern/usePrefetchInfiniteQuery.d.ts +5 -0
  265. package/build/modern/usePrefetchInfiniteQuery.js +12 -0
  266. package/build/modern/usePrefetchInfiniteQuery.js.map +1 -0
  267. package/build/modern/usePrefetchQuery.cjs +37 -0
  268. package/build/modern/usePrefetchQuery.cjs.map +1 -0
  269. package/build/modern/usePrefetchQuery.d.cts +6 -0
  270. package/build/modern/usePrefetchQuery.d.ts +6 -0
  271. package/build/modern/usePrefetchQuery.js +12 -0
  272. package/build/modern/usePrefetchQuery.js.map +1 -0
  273. package/build/modern/useQueries.cjs +120 -0
  274. package/build/modern/useQueries.cjs.map +1 -0
  275. package/build/modern/useQueries.d.cts +76 -0
  276. package/build/modern/useQueries.d.ts +76 -0
  277. package/build/modern/useQueries.js +109 -0
  278. package/build/modern/useQueries.js.map +1 -0
  279. package/build/modern/useQuery.cjs +35 -0
  280. package/build/modern/useQuery.cjs.map +1 -0
  281. package/build/modern/useQuery.d.cts +9 -0
  282. package/build/modern/useQuery.d.ts +9 -0
  283. package/build/modern/useQuery.js +10 -0
  284. package/build/modern/useQuery.js.map +1 -0
  285. package/build/modern/useSuspenseInfiniteQuery.cjs +50 -0
  286. package/build/modern/useSuspenseInfiniteQuery.cjs.map +1 -0
  287. package/build/modern/useSuspenseInfiniteQuery.d.cts +6 -0
  288. package/build/modern/useSuspenseInfiniteQuery.d.ts +6 -0
  289. package/build/modern/useSuspenseInfiniteQuery.js +25 -0
  290. package/build/modern/useSuspenseInfiniteQuery.js.map +1 -0
  291. package/build/modern/useSuspenseQueries.cjs +55 -0
  292. package/build/modern/useSuspenseQueries.cjs.map +1 -0
  293. package/build/modern/useSuspenseQueries.d.cts +79 -0
  294. package/build/modern/useSuspenseQueries.d.ts +79 -0
  295. package/build/modern/useSuspenseQueries.js +30 -0
  296. package/build/modern/useSuspenseQueries.js.map +1 -0
  297. package/build/modern/useSuspenseQuery.cjs +51 -0
  298. package/build/modern/useSuspenseQuery.cjs.map +1 -0
  299. package/build/modern/useSuspenseQuery.d.cts +6 -0
  300. package/build/modern/useSuspenseQuery.d.ts +6 -0
  301. package/build/modern/useSuspenseQuery.js +26 -0
  302. package/build/modern/useSuspenseQuery.js.map +1 -0
  303. package/build/modern/utils.cjs +79 -0
  304. package/build/modern/utils.cjs.map +1 -0
  305. package/build/modern/utils.d.cts +4 -0
  306. package/build/modern/utils.d.ts +4 -0
  307. package/build/modern/utils.js +53 -0
  308. package/build/modern/utils.js.map +1 -0
  309. package/build/query-codemods/eslint.config.js +18 -0
  310. package/build/query-codemods/package.json +38 -0
  311. package/build/query-codemods/root.eslint.config.js +64 -0
  312. package/build/query-codemods/tsconfig.json +8 -0
  313. package/build/query-codemods/vite.config.ts +30 -0
  314. package/package.json +82 -8
  315. package/src/HydrationBoundary.tsx +108 -0
  316. package/src/IsRestoringProvider.ts +7 -0
  317. package/src/QueryClientProvider.tsx +45 -0
  318. package/src/QueryErrorResetBoundary.tsx +57 -0
  319. package/src/errorBoundaryUtils.ts +76 -0
  320. package/src/index.ts +56 -0
  321. package/src/infiniteQueryOptions.ts +150 -0
  322. package/src/mutationOptions.ts +42 -0
  323. package/src/queryOptions.ts +88 -0
  324. package/src/suspense.ts +81 -0
  325. package/src/types.ts +241 -0
  326. package/src/useBaseQuery.ts +169 -0
  327. package/src/useInfiniteQuery.ts +81 -0
  328. package/src/useIsFetching.ts +23 -0
  329. package/src/useMutation.ts +69 -0
  330. package/src/useMutationState.ts +74 -0
  331. package/src/usePrefetchInfiniteQuery.tsx +31 -0
  332. package/src/usePrefetchQuery.tsx +20 -0
  333. package/src/useQueries.ts +331 -0
  334. package/src/useQuery.ts +52 -0
  335. package/src/useSuspenseInfiniteQuery.ts +50 -0
  336. package/src/useSuspenseQueries.ts +211 -0
  337. package/src/useSuspenseQuery.ts +34 -0
  338. package/src/utils.ts +88 -0
@@ -0,0 +1,52 @@
1
+ import { DefaultError, QueryKey, QueryObserverOptions, OmitKeyof, InfiniteQueryObserverOptions, MutationObserverOptions, SkipToken, DefinedInfiniteQueryObserverResult, DefinedQueryObserverResult, QueryObserverResult, DistributiveOmit, Override, MutationObserverResult, MutateFunction, InfiniteQueryObserverResult, FetchQueryOptions } from '@tanstack/query-core';
2
+
3
+ type AnyUseBaseQueryOptions = UseBaseQueryOptions<any, any, any, any, any>;
4
+ interface UseBaseQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> extends QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey> {
5
+ /**
6
+ * Set this to `false` to unsubscribe this observer from updates to the query cache.
7
+ * Defaults to `true`.
8
+ */
9
+ subscribed?: boolean;
10
+ }
11
+ interface UsePrefetchQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> extends OmitKeyof<FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'queryFn'> {
12
+ queryFn?: Exclude<FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>['queryFn'], SkipToken>;
13
+ }
14
+ type AnyUseQueryOptions = UseQueryOptions<any, any, any, any>;
15
+ interface UseQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> extends OmitKeyof<UseBaseQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey>, 'suspense'> {
16
+ }
17
+ type AnyUseSuspenseQueryOptions = UseSuspenseQueryOptions<any, any, any, any>;
18
+ interface UseSuspenseQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> extends OmitKeyof<UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'queryFn' | 'enabled' | 'throwOnError' | 'placeholderData'> {
19
+ queryFn?: Exclude<UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>['queryFn'], SkipToken>;
20
+ }
21
+ type AnyUseInfiniteQueryOptions = UseInfiniteQueryOptions<any, any, any, any, any>;
22
+ interface UseInfiniteQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> extends OmitKeyof<InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>, 'suspense'> {
23
+ /**
24
+ * Set this to `false` to unsubscribe this observer from updates to the query cache.
25
+ * Defaults to `true`.
26
+ */
27
+ subscribed?: boolean;
28
+ }
29
+ type AnyUseSuspenseInfiniteQueryOptions = UseSuspenseInfiniteQueryOptions<any, any, any, any, any>;
30
+ interface UseSuspenseInfiniteQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> extends OmitKeyof<UseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>, 'queryFn' | 'enabled' | 'throwOnError' | 'placeholderData'> {
31
+ queryFn?: Exclude<UseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>['queryFn'], SkipToken>;
32
+ }
33
+ type UseBaseQueryResult<TData = unknown, TError = DefaultError> = QueryObserverResult<TData, TError>;
34
+ type UseQueryResult<TData = unknown, TError = DefaultError> = UseBaseQueryResult<TData, TError>;
35
+ type UseSuspenseQueryResult<TData = unknown, TError = DefaultError> = DistributiveOmit<DefinedQueryObserverResult<TData, TError>, 'isPlaceholderData' | 'promise'>;
36
+ type DefinedUseQueryResult<TData = unknown, TError = DefaultError> = DefinedQueryObserverResult<TData, TError>;
37
+ type UseInfiniteQueryResult<TData = unknown, TError = DefaultError> = InfiniteQueryObserverResult<TData, TError>;
38
+ type DefinedUseInfiniteQueryResult<TData = unknown, TError = DefaultError> = DefinedInfiniteQueryObserverResult<TData, TError>;
39
+ type UseSuspenseInfiniteQueryResult<TData = unknown, TError = DefaultError> = OmitKeyof<DefinedInfiniteQueryObserverResult<TData, TError>, 'isPlaceholderData' | 'promise'>;
40
+ type AnyUseMutationOptions = UseMutationOptions<any, any, any, any>;
41
+ interface UseMutationOptions<TData = unknown, TError = DefaultError, TVariables = void, TOnMutateResult = unknown> extends OmitKeyof<MutationObserverOptions<TData, TError, TVariables, TOnMutateResult>, '_defaulted'> {
42
+ }
43
+ type UseMutateFunction<TData = unknown, TError = DefaultError, TVariables = void, TOnMutateResult = unknown> = (...args: Parameters<MutateFunction<TData, TError, TVariables, TOnMutateResult>>) => void;
44
+ type UseMutateAsyncFunction<TData = unknown, TError = DefaultError, TVariables = void, TOnMutateResult = unknown> = MutateFunction<TData, TError, TVariables, TOnMutateResult>;
45
+ type UseBaseMutationResult<TData = unknown, TError = DefaultError, TVariables = unknown, TOnMutateResult = unknown> = Override<MutationObserverResult<TData, TError, TVariables, TOnMutateResult>, {
46
+ mutate: UseMutateFunction<TData, TError, TVariables, TOnMutateResult>;
47
+ }> & {
48
+ mutateAsync: UseMutateAsyncFunction<TData, TError, TVariables, TOnMutateResult>;
49
+ };
50
+ type UseMutationResult<TData = unknown, TError = DefaultError, TVariables = unknown, TOnMutateResult = unknown> = UseBaseMutationResult<TData, TError, TVariables, TOnMutateResult>;
51
+
52
+ export type { AnyUseBaseQueryOptions, AnyUseInfiniteQueryOptions, AnyUseMutationOptions, AnyUseQueryOptions, AnyUseSuspenseInfiniteQueryOptions, AnyUseSuspenseQueryOptions, DefinedUseInfiniteQueryResult, DefinedUseQueryResult, UseBaseMutationResult, UseBaseQueryOptions, UseBaseQueryResult, UseInfiniteQueryOptions, UseInfiniteQueryResult, UseMutateAsyncFunction, UseMutateFunction, UseMutationOptions, UseMutationResult, UsePrefetchQueryOptions, UseQueryOptions, UseQueryResult, UseSuspenseInfiniteQueryOptions, UseSuspenseInfiniteQueryResult, UseSuspenseQueryOptions, UseSuspenseQueryResult };
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,118 @@
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/useBaseQuery.ts
21
+ var useBaseQuery_exports = {};
22
+ __export(useBaseQuery_exports, {
23
+ useBaseQuery: () => useBaseQuery
24
+ });
25
+ module.exports = __toCommonJS(useBaseQuery_exports);
26
+ var import_query_core = require("@tanstack/query-core");
27
+ var import_hooks = require("preact/hooks");
28
+ var import_IsRestoringProvider = require("./IsRestoringProvider.cjs");
29
+ var import_QueryClientProvider = require("./QueryClientProvider.cjs");
30
+ var import_QueryErrorResetBoundary = require("./QueryErrorResetBoundary.cjs");
31
+ var import_errorBoundaryUtils = require("./errorBoundaryUtils.cjs");
32
+ var import_suspense = require("./suspense.cjs");
33
+ var import_utils = require("./utils.cjs");
34
+ function useBaseQuery(options, Observer, queryClient) {
35
+ if (process.env.NODE_ENV !== "production") {
36
+ if (typeof options !== "object" || Array.isArray(options)) {
37
+ throw new Error(
38
+ 'Bad argument type. Starting with v5, only the "Object" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object'
39
+ );
40
+ }
41
+ }
42
+ const isRestoring = (0, import_IsRestoringProvider.useIsRestoring)();
43
+ const errorResetBoundary = (0, import_QueryErrorResetBoundary.useQueryErrorResetBoundary)();
44
+ const client = (0, import_QueryClientProvider.useQueryClient)(queryClient);
45
+ const defaultedOptions = client.defaultQueryOptions(options);
46
+ client.getDefaultOptions().queries?._experimental_beforeQuery?.(
47
+ defaultedOptions
48
+ );
49
+ if (process.env.NODE_ENV !== "production") {
50
+ if (!defaultedOptions.queryFn) {
51
+ console.error(
52
+ `[${defaultedOptions.queryHash}]: No queryFn was passed as an option, and no default queryFn was found. The queryFn parameter is only optional when using a default queryFn. More info here: https://tanstack.com/query/latest/docs/framework/react/guides/default-query-function`
53
+ );
54
+ }
55
+ }
56
+ defaultedOptions._optimisticResults = isRestoring ? "isRestoring" : "optimistic";
57
+ (0, import_suspense.ensureSuspenseTimers)(defaultedOptions);
58
+ (0, import_errorBoundaryUtils.ensurePreventErrorBoundaryRetry)(defaultedOptions, errorResetBoundary);
59
+ (0, import_errorBoundaryUtils.useClearResetErrorBoundary)(errorResetBoundary);
60
+ const isNewCacheEntry = !client.getQueryCache().get(defaultedOptions.queryHash);
61
+ const [observer] = (0, import_hooks.useState)(
62
+ () => new Observer(
63
+ client,
64
+ defaultedOptions
65
+ )
66
+ );
67
+ const result = observer.getOptimisticResult(defaultedOptions);
68
+ const shouldSubscribe = !isRestoring && options.subscribed !== false;
69
+ (0, import_utils.useSyncExternalStore)(
70
+ (0, import_hooks.useCallback)(
71
+ (onStoreChange) => {
72
+ const unsubscribe = shouldSubscribe ? observer.subscribe(import_query_core.notifyManager.batchCalls(onStoreChange)) : import_query_core.noop;
73
+ observer.updateResult();
74
+ return unsubscribe;
75
+ },
76
+ [observer, shouldSubscribe]
77
+ ),
78
+ () => observer.getCurrentResult()
79
+ );
80
+ (0, import_hooks.useEffect)(() => {
81
+ observer.setOptions(defaultedOptions);
82
+ }, [defaultedOptions, observer]);
83
+ if ((0, import_suspense.shouldSuspend)(defaultedOptions, result)) {
84
+ throw (0, import_suspense.fetchOptimistic)(defaultedOptions, observer, errorResetBoundary);
85
+ }
86
+ if ((0, import_errorBoundaryUtils.getHasError)({
87
+ result,
88
+ errorResetBoundary,
89
+ throwOnError: defaultedOptions.throwOnError,
90
+ query: client.getQueryCache().get(defaultedOptions.queryHash),
91
+ suspense: defaultedOptions.suspense
92
+ })) {
93
+ throw result.error;
94
+ }
95
+ ;
96
+ client.getDefaultOptions().queries?._experimental_afterQuery?.(
97
+ defaultedOptions,
98
+ result
99
+ );
100
+ if (defaultedOptions.experimental_prefetchInRender && !import_query_core.isServer && (0, import_suspense.willFetch)(result, isRestoring)) {
101
+ const promise = isNewCacheEntry ? (
102
+ // Fetch immediately on render in order to ensure `.promise` is resolved even if the component is unmounted
103
+ (0, import_suspense.fetchOptimistic)(defaultedOptions, observer, errorResetBoundary)
104
+ ) : (
105
+ // subscribe to the "cache promise" so that we can finalize the currentThenable once data comes in
106
+ client.getQueryCache().get(defaultedOptions.queryHash)?.promise
107
+ );
108
+ promise?.catch(import_query_core.noop).finally(() => {
109
+ observer.updateResult();
110
+ });
111
+ }
112
+ return !defaultedOptions.notifyOnChangeProps ? observer.trackResult(result) : result;
113
+ }
114
+ // Annotate the CommonJS export names for ESM import in node:
115
+ 0 && (module.exports = {
116
+ useBaseQuery
117
+ });
118
+ //# sourceMappingURL=useBaseQuery.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import { isServer, noop, notifyManager } from '@tanstack/query-core'\nimport type {\n QueryClient,\n QueryKey,\n QueryObserver,\n QueryObserverResult,\n} from '@tanstack/query-core'\nimport { useCallback, useEffect, useState } from 'preact/hooks'\n\nimport { useIsRestoring } from './IsRestoringProvider'\nimport { useQueryClient } from './QueryClientProvider'\nimport { useQueryErrorResetBoundary } from './QueryErrorResetBoundary'\nimport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary,\n} from './errorBoundaryUtils'\nimport {\n ensureSuspenseTimers,\n fetchOptimistic,\n shouldSuspend,\n willFetch,\n} from './suspense'\nimport type { UseBaseQueryOptions } from './types'\nimport { useSyncExternalStore } from './utils'\n\nexport function useBaseQuery<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey extends QueryKey,\n>(\n options: UseBaseQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n Observer: typeof QueryObserver,\n queryClient?: QueryClient,\n): QueryObserverResult<TData, TError> {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof options !== 'object' || Array.isArray(options)) {\n throw new Error(\n 'Bad argument type. Starting with v5, only the \"Object\" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object',\n )\n }\n }\n\n const isRestoring = useIsRestoring()\n const errorResetBoundary = useQueryErrorResetBoundary()\n const client = useQueryClient(queryClient)\n const defaultedOptions = client.defaultQueryOptions(options)\n\n ;(client.getDefaultOptions().queries as any)?._experimental_beforeQuery?.(\n defaultedOptions,\n )\n\n if (process.env.NODE_ENV !== 'production') {\n if (!defaultedOptions.queryFn) {\n console.error(\n `[${defaultedOptions.queryHash}]: No queryFn was passed as an option, and no default queryFn was found. The queryFn parameter is only optional when using a default queryFn. More info here: https://tanstack.com/query/latest/docs/framework/react/guides/default-query-function`,\n )\n }\n }\n\n // Make sure results are optimistically set in fetching state before subscribing or updating options\n defaultedOptions._optimisticResults = isRestoring\n ? 'isRestoring'\n : 'optimistic'\n\n ensureSuspenseTimers(defaultedOptions)\n ensurePreventErrorBoundaryRetry(defaultedOptions, errorResetBoundary)\n\n useClearResetErrorBoundary(errorResetBoundary)\n\n // this needs to be invoked before creating the Observer because that can create a cache entry\n const isNewCacheEntry = !client\n .getQueryCache()\n .get(defaultedOptions.queryHash)\n\n const [observer] = useState(\n () =>\n new Observer<TQueryFnData, TError, TData, TQueryData, TQueryKey>(\n client,\n defaultedOptions,\n ),\n )\n\n // note: this must be called before useSyncExternalStore\n const result = observer.getOptimisticResult(defaultedOptions)\n\n const shouldSubscribe = !isRestoring && options.subscribed !== false\n useSyncExternalStore(\n useCallback(\n (onStoreChange) => {\n const unsubscribe = shouldSubscribe\n ? observer.subscribe(notifyManager.batchCalls(onStoreChange))\n : noop\n\n // Update result to make sure we did not miss any query updates\n // between creating the observer and subscribing to it.\n observer.updateResult()\n\n return unsubscribe\n },\n [observer, shouldSubscribe],\n ),\n () => observer.getCurrentResult(),\n )\n\n useEffect(() => {\n observer.setOptions(defaultedOptions)\n }, [defaultedOptions, observer])\n\n // Handle suspense\n if (shouldSuspend(defaultedOptions, result)) {\n throw fetchOptimistic(defaultedOptions, observer, errorResetBoundary)\n }\n\n // Handle error boundary\n if (\n getHasError({\n result,\n errorResetBoundary,\n throwOnError: defaultedOptions.throwOnError,\n query: client\n .getQueryCache()\n .get<\n TQueryFnData,\n TError,\n TQueryData,\n TQueryKey\n >(defaultedOptions.queryHash),\n suspense: defaultedOptions.suspense,\n })\n ) {\n throw result.error\n }\n\n ;(client.getDefaultOptions().queries as any)?._experimental_afterQuery?.(\n defaultedOptions,\n result,\n )\n\n if (\n defaultedOptions.experimental_prefetchInRender &&\n !isServer &&\n willFetch(result, isRestoring)\n ) {\n const promise = isNewCacheEntry\n ? // Fetch immediately on render in order to ensure `.promise` is resolved even if the component is unmounted\n fetchOptimistic(defaultedOptions, observer, errorResetBoundary)\n : // subscribe to the \"cache promise\" so that we can finalize the currentThenable once data comes in\n client.getQueryCache().get(defaultedOptions.queryHash)?.promise\n\n promise?.catch(noop).finally(() => {\n // `.updateResult()` will trigger `.#currentThenable` to finalize\n observer.updateResult()\n })\n }\n\n // Handle result property usage tracking\n return !defaultedOptions.notifyOnChangeProps\n ? observer.trackResult(result)\n : result\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAA8C;AAO9C,mBAAiD;AAEjD,iCAA+B;AAC/B,iCAA+B;AAC/B,qCAA2C;AAC3C,gCAIO;AACP,sBAKO;AAEP,mBAAqC;AAE9B,SAAS,aAOd,SAOA,UACA,aACoC;AACpC,MAAI,QAAQ,IAAI,aAAa,cAAc;AACzC,QAAI,OAAO,YAAY,YAAY,MAAM,QAAQ,OAAO,GAAG;AACzD,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,QAAM,kBAAc,2CAAe;AACnC,QAAM,yBAAqB,2DAA2B;AACtD,QAAM,aAAS,2CAAe,WAAW;AACzC,QAAM,mBAAmB,OAAO,oBAAoB,OAAO;AAE1D,EAAC,OAAO,kBAAkB,EAAE,SAAiB;AAAA,IAC5C;AAAA,EACF;AAEA,MAAI,QAAQ,IAAI,aAAa,cAAc;AACzC,QAAI,CAAC,iBAAiB,SAAS;AAC7B,cAAQ;AAAA,QACN,IAAI,iBAAiB,SAAS;AAAA,MAChC;AAAA,IACF;AAAA,EACF;AAGA,mBAAiB,qBAAqB,cAClC,gBACA;AAEJ,4CAAqB,gBAAgB;AACrC,iEAAgC,kBAAkB,kBAAkB;AAEpE,4DAA2B,kBAAkB;AAG7C,QAAM,kBAAkB,CAAC,OACtB,cAAc,EACd,IAAI,iBAAiB,SAAS;AAEjC,QAAM,CAAC,QAAQ,QAAI;AAAA,IACjB,MACE,IAAI;AAAA,MACF;AAAA,MACA;AAAA,IACF;AAAA,EACJ;AAGA,QAAM,SAAS,SAAS,oBAAoB,gBAAgB;AAE5D,QAAM,kBAAkB,CAAC,eAAe,QAAQ,eAAe;AAC/D;AAAA,QACE;AAAA,MACE,CAAC,kBAAkB;AACjB,cAAM,cAAc,kBAChB,SAAS,UAAU,gCAAc,WAAW,aAAa,CAAC,IAC1D;AAIJ,iBAAS,aAAa;AAEtB,eAAO;AAAA,MACT;AAAA,MACA,CAAC,UAAU,eAAe;AAAA,IAC5B;AAAA,IACA,MAAM,SAAS,iBAAiB;AAAA,EAClC;AAEA,8BAAU,MAAM;AACd,aAAS,WAAW,gBAAgB;AAAA,EACtC,GAAG,CAAC,kBAAkB,QAAQ,CAAC;AAG/B,UAAI,+BAAc,kBAAkB,MAAM,GAAG;AAC3C,cAAM,iCAAgB,kBAAkB,UAAU,kBAAkB;AAAA,EACtE;AAGA,UACE,uCAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA,cAAc,iBAAiB;AAAA,IAC/B,OAAO,OACJ,cAAc,EACd,IAKC,iBAAiB,SAAS;AAAA,IAC9B,UAAU,iBAAiB;AAAA,EAC7B,CAAC,GACD;AACA,UAAM,OAAO;AAAA,EACf;AAEA;AAAC,EAAC,OAAO,kBAAkB,EAAE,SAAiB;AAAA,IAC5C;AAAA,IACA;AAAA,EACF;AAEA,MACE,iBAAiB,iCACjB,CAAC,kCACD,2BAAU,QAAQ,WAAW,GAC7B;AACA,UAAM,UAAU;AAAA;AAAA,UAEZ,iCAAgB,kBAAkB,UAAU,kBAAkB;AAAA;AAAA;AAAA,MAE9D,OAAO,cAAc,EAAE,IAAI,iBAAiB,SAAS,GAAG;AAAA;AAE5D,aAAS,MAAM,sBAAI,EAAE,QAAQ,MAAM;AAEjC,eAAS,aAAa;AAAA,IACxB,CAAC;AAAA,EACH;AAGA,SAAO,CAAC,iBAAiB,sBACrB,SAAS,YAAY,MAAM,IAC3B;AACN;","names":[]}
@@ -0,0 +1,6 @@
1
+ import { QueryKey, QueryObserver, QueryClient, QueryObserverResult } from '@tanstack/query-core';
2
+ import { UseBaseQueryOptions } from './types.cjs';
3
+
4
+ declare function useBaseQuery<TQueryFnData, TError, TData, TQueryData, TQueryKey extends QueryKey>(options: UseBaseQueryOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>, Observer: typeof QueryObserver, queryClient?: QueryClient): QueryObserverResult<TData, TError>;
5
+
6
+ export { useBaseQuery };
@@ -0,0 +1,6 @@
1
+ import { QueryKey, QueryObserver, QueryClient, QueryObserverResult } from '@tanstack/query-core';
2
+ import { UseBaseQueryOptions } from './types.js';
3
+
4
+ declare function useBaseQuery<TQueryFnData, TError, TData, TQueryData, TQueryKey extends QueryKey>(options: UseBaseQueryOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>, Observer: typeof QueryObserver, queryClient?: QueryClient): QueryObserverResult<TData, TError>;
5
+
6
+ export { useBaseQuery };
@@ -0,0 +1,102 @@
1
+ // src/useBaseQuery.ts
2
+ import { isServer, noop, notifyManager } from "@tanstack/query-core";
3
+ import { useCallback, useEffect, useState } from "preact/hooks";
4
+ import { useIsRestoring } from "./IsRestoringProvider.js";
5
+ import { useQueryClient } from "./QueryClientProvider.js";
6
+ import { useQueryErrorResetBoundary } from "./QueryErrorResetBoundary.js";
7
+ import {
8
+ ensurePreventErrorBoundaryRetry,
9
+ getHasError,
10
+ useClearResetErrorBoundary
11
+ } from "./errorBoundaryUtils.js";
12
+ import {
13
+ ensureSuspenseTimers,
14
+ fetchOptimistic,
15
+ shouldSuspend,
16
+ willFetch
17
+ } from "./suspense.js";
18
+ import { useSyncExternalStore } from "./utils.js";
19
+ function useBaseQuery(options, Observer, queryClient) {
20
+ if (process.env.NODE_ENV !== "production") {
21
+ if (typeof options !== "object" || Array.isArray(options)) {
22
+ throw new Error(
23
+ 'Bad argument type. Starting with v5, only the "Object" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object'
24
+ );
25
+ }
26
+ }
27
+ const isRestoring = useIsRestoring();
28
+ const errorResetBoundary = useQueryErrorResetBoundary();
29
+ const client = useQueryClient(queryClient);
30
+ const defaultedOptions = client.defaultQueryOptions(options);
31
+ client.getDefaultOptions().queries?._experimental_beforeQuery?.(
32
+ defaultedOptions
33
+ );
34
+ if (process.env.NODE_ENV !== "production") {
35
+ if (!defaultedOptions.queryFn) {
36
+ console.error(
37
+ `[${defaultedOptions.queryHash}]: No queryFn was passed as an option, and no default queryFn was found. The queryFn parameter is only optional when using a default queryFn. More info here: https://tanstack.com/query/latest/docs/framework/react/guides/default-query-function`
38
+ );
39
+ }
40
+ }
41
+ defaultedOptions._optimisticResults = isRestoring ? "isRestoring" : "optimistic";
42
+ ensureSuspenseTimers(defaultedOptions);
43
+ ensurePreventErrorBoundaryRetry(defaultedOptions, errorResetBoundary);
44
+ useClearResetErrorBoundary(errorResetBoundary);
45
+ const isNewCacheEntry = !client.getQueryCache().get(defaultedOptions.queryHash);
46
+ const [observer] = useState(
47
+ () => new Observer(
48
+ client,
49
+ defaultedOptions
50
+ )
51
+ );
52
+ const result = observer.getOptimisticResult(defaultedOptions);
53
+ const shouldSubscribe = !isRestoring && options.subscribed !== false;
54
+ useSyncExternalStore(
55
+ useCallback(
56
+ (onStoreChange) => {
57
+ const unsubscribe = shouldSubscribe ? observer.subscribe(notifyManager.batchCalls(onStoreChange)) : noop;
58
+ observer.updateResult();
59
+ return unsubscribe;
60
+ },
61
+ [observer, shouldSubscribe]
62
+ ),
63
+ () => observer.getCurrentResult()
64
+ );
65
+ useEffect(() => {
66
+ observer.setOptions(defaultedOptions);
67
+ }, [defaultedOptions, observer]);
68
+ if (shouldSuspend(defaultedOptions, result)) {
69
+ throw fetchOptimistic(defaultedOptions, observer, errorResetBoundary);
70
+ }
71
+ if (getHasError({
72
+ result,
73
+ errorResetBoundary,
74
+ throwOnError: defaultedOptions.throwOnError,
75
+ query: client.getQueryCache().get(defaultedOptions.queryHash),
76
+ suspense: defaultedOptions.suspense
77
+ })) {
78
+ throw result.error;
79
+ }
80
+ ;
81
+ client.getDefaultOptions().queries?._experimental_afterQuery?.(
82
+ defaultedOptions,
83
+ result
84
+ );
85
+ if (defaultedOptions.experimental_prefetchInRender && !isServer && willFetch(result, isRestoring)) {
86
+ const promise = isNewCacheEntry ? (
87
+ // Fetch immediately on render in order to ensure `.promise` is resolved even if the component is unmounted
88
+ fetchOptimistic(defaultedOptions, observer, errorResetBoundary)
89
+ ) : (
90
+ // subscribe to the "cache promise" so that we can finalize the currentThenable once data comes in
91
+ client.getQueryCache().get(defaultedOptions.queryHash)?.promise
92
+ );
93
+ promise?.catch(noop).finally(() => {
94
+ observer.updateResult();
95
+ });
96
+ }
97
+ return !defaultedOptions.notifyOnChangeProps ? observer.trackResult(result) : result;
98
+ }
99
+ export {
100
+ useBaseQuery
101
+ };
102
+ //# sourceMappingURL=useBaseQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import { isServer, noop, notifyManager } from '@tanstack/query-core'\nimport type {\n QueryClient,\n QueryKey,\n QueryObserver,\n QueryObserverResult,\n} from '@tanstack/query-core'\nimport { useCallback, useEffect, useState } from 'preact/hooks'\n\nimport { useIsRestoring } from './IsRestoringProvider'\nimport { useQueryClient } from './QueryClientProvider'\nimport { useQueryErrorResetBoundary } from './QueryErrorResetBoundary'\nimport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary,\n} from './errorBoundaryUtils'\nimport {\n ensureSuspenseTimers,\n fetchOptimistic,\n shouldSuspend,\n willFetch,\n} from './suspense'\nimport type { UseBaseQueryOptions } from './types'\nimport { useSyncExternalStore } from './utils'\n\nexport function useBaseQuery<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey extends QueryKey,\n>(\n options: UseBaseQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n Observer: typeof QueryObserver,\n queryClient?: QueryClient,\n): QueryObserverResult<TData, TError> {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof options !== 'object' || Array.isArray(options)) {\n throw new Error(\n 'Bad argument type. Starting with v5, only the \"Object\" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object',\n )\n }\n }\n\n const isRestoring = useIsRestoring()\n const errorResetBoundary = useQueryErrorResetBoundary()\n const client = useQueryClient(queryClient)\n const defaultedOptions = client.defaultQueryOptions(options)\n\n ;(client.getDefaultOptions().queries as any)?._experimental_beforeQuery?.(\n defaultedOptions,\n )\n\n if (process.env.NODE_ENV !== 'production') {\n if (!defaultedOptions.queryFn) {\n console.error(\n `[${defaultedOptions.queryHash}]: No queryFn was passed as an option, and no default queryFn was found. The queryFn parameter is only optional when using a default queryFn. More info here: https://tanstack.com/query/latest/docs/framework/react/guides/default-query-function`,\n )\n }\n }\n\n // Make sure results are optimistically set in fetching state before subscribing or updating options\n defaultedOptions._optimisticResults = isRestoring\n ? 'isRestoring'\n : 'optimistic'\n\n ensureSuspenseTimers(defaultedOptions)\n ensurePreventErrorBoundaryRetry(defaultedOptions, errorResetBoundary)\n\n useClearResetErrorBoundary(errorResetBoundary)\n\n // this needs to be invoked before creating the Observer because that can create a cache entry\n const isNewCacheEntry = !client\n .getQueryCache()\n .get(defaultedOptions.queryHash)\n\n const [observer] = useState(\n () =>\n new Observer<TQueryFnData, TError, TData, TQueryData, TQueryKey>(\n client,\n defaultedOptions,\n ),\n )\n\n // note: this must be called before useSyncExternalStore\n const result = observer.getOptimisticResult(defaultedOptions)\n\n const shouldSubscribe = !isRestoring && options.subscribed !== false\n useSyncExternalStore(\n useCallback(\n (onStoreChange) => {\n const unsubscribe = shouldSubscribe\n ? observer.subscribe(notifyManager.batchCalls(onStoreChange))\n : noop\n\n // Update result to make sure we did not miss any query updates\n // between creating the observer and subscribing to it.\n observer.updateResult()\n\n return unsubscribe\n },\n [observer, shouldSubscribe],\n ),\n () => observer.getCurrentResult(),\n )\n\n useEffect(() => {\n observer.setOptions(defaultedOptions)\n }, [defaultedOptions, observer])\n\n // Handle suspense\n if (shouldSuspend(defaultedOptions, result)) {\n throw fetchOptimistic(defaultedOptions, observer, errorResetBoundary)\n }\n\n // Handle error boundary\n if (\n getHasError({\n result,\n errorResetBoundary,\n throwOnError: defaultedOptions.throwOnError,\n query: client\n .getQueryCache()\n .get<\n TQueryFnData,\n TError,\n TQueryData,\n TQueryKey\n >(defaultedOptions.queryHash),\n suspense: defaultedOptions.suspense,\n })\n ) {\n throw result.error\n }\n\n ;(client.getDefaultOptions().queries as any)?._experimental_afterQuery?.(\n defaultedOptions,\n result,\n )\n\n if (\n defaultedOptions.experimental_prefetchInRender &&\n !isServer &&\n willFetch(result, isRestoring)\n ) {\n const promise = isNewCacheEntry\n ? // Fetch immediately on render in order to ensure `.promise` is resolved even if the component is unmounted\n fetchOptimistic(defaultedOptions, observer, errorResetBoundary)\n : // subscribe to the \"cache promise\" so that we can finalize the currentThenable once data comes in\n client.getQueryCache().get(defaultedOptions.queryHash)?.promise\n\n promise?.catch(noop).finally(() => {\n // `.updateResult()` will trigger `.#currentThenable` to finalize\n observer.updateResult()\n })\n }\n\n // Handle result property usage tracking\n return !defaultedOptions.notifyOnChangeProps\n ? observer.trackResult(result)\n : result\n}\n"],"mappings":";AAAA,SAAS,UAAU,MAAM,qBAAqB;AAO9C,SAAS,aAAa,WAAW,gBAAgB;AAEjD,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;AAEP,SAAS,4BAA4B;AAE9B,SAAS,aAOd,SAOA,UACA,aACoC;AACpC,MAAI,QAAQ,IAAI,aAAa,cAAc;AACzC,QAAI,OAAO,YAAY,YAAY,MAAM,QAAQ,OAAO,GAAG;AACzD,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,QAAM,cAAc,eAAe;AACnC,QAAM,qBAAqB,2BAA2B;AACtD,QAAM,SAAS,eAAe,WAAW;AACzC,QAAM,mBAAmB,OAAO,oBAAoB,OAAO;AAE1D,EAAC,OAAO,kBAAkB,EAAE,SAAiB;AAAA,IAC5C;AAAA,EACF;AAEA,MAAI,QAAQ,IAAI,aAAa,cAAc;AACzC,QAAI,CAAC,iBAAiB,SAAS;AAC7B,cAAQ;AAAA,QACN,IAAI,iBAAiB,SAAS;AAAA,MAChC;AAAA,IACF;AAAA,EACF;AAGA,mBAAiB,qBAAqB,cAClC,gBACA;AAEJ,uBAAqB,gBAAgB;AACrC,kCAAgC,kBAAkB,kBAAkB;AAEpE,6BAA2B,kBAAkB;AAG7C,QAAM,kBAAkB,CAAC,OACtB,cAAc,EACd,IAAI,iBAAiB,SAAS;AAEjC,QAAM,CAAC,QAAQ,IAAI;AAAA,IACjB,MACE,IAAI;AAAA,MACF;AAAA,MACA;AAAA,IACF;AAAA,EACJ;AAGA,QAAM,SAAS,SAAS,oBAAoB,gBAAgB;AAE5D,QAAM,kBAAkB,CAAC,eAAe,QAAQ,eAAe;AAC/D;AAAA,IACE;AAAA,MACE,CAAC,kBAAkB;AACjB,cAAM,cAAc,kBAChB,SAAS,UAAU,cAAc,WAAW,aAAa,CAAC,IAC1D;AAIJ,iBAAS,aAAa;AAEtB,eAAO;AAAA,MACT;AAAA,MACA,CAAC,UAAU,eAAe;AAAA,IAC5B;AAAA,IACA,MAAM,SAAS,iBAAiB;AAAA,EAClC;AAEA,YAAU,MAAM;AACd,aAAS,WAAW,gBAAgB;AAAA,EACtC,GAAG,CAAC,kBAAkB,QAAQ,CAAC;AAG/B,MAAI,cAAc,kBAAkB,MAAM,GAAG;AAC3C,UAAM,gBAAgB,kBAAkB,UAAU,kBAAkB;AAAA,EACtE;AAGA,MACE,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA,cAAc,iBAAiB;AAAA,IAC/B,OAAO,OACJ,cAAc,EACd,IAKC,iBAAiB,SAAS;AAAA,IAC9B,UAAU,iBAAiB;AAAA,EAC7B,CAAC,GACD;AACA,UAAM,OAAO;AAAA,EACf;AAEA;AAAC,EAAC,OAAO,kBAAkB,EAAE,SAAiB;AAAA,IAC5C;AAAA,IACA;AAAA,EACF;AAEA,MACE,iBAAiB,iCACjB,CAAC,YACD,UAAU,QAAQ,WAAW,GAC7B;AACA,UAAM,UAAU;AAAA;AAAA,MAEZ,gBAAgB,kBAAkB,UAAU,kBAAkB;AAAA;AAAA;AAAA,MAE9D,OAAO,cAAc,EAAE,IAAI,iBAAiB,SAAS,GAAG;AAAA;AAE5D,aAAS,MAAM,IAAI,EAAE,QAAQ,MAAM;AAEjC,eAAS,aAAa;AAAA,IACxB,CAAC;AAAA,EACH;AAGA,SAAO,CAAC,iBAAiB,sBACrB,SAAS,YAAY,MAAM,IAC3B;AACN;","names":[]}
@@ -0,0 +1,39 @@
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/useInfiniteQuery.ts
21
+ var useInfiniteQuery_exports = {};
22
+ __export(useInfiniteQuery_exports, {
23
+ useInfiniteQuery: () => useInfiniteQuery
24
+ });
25
+ module.exports = __toCommonJS(useInfiniteQuery_exports);
26
+ var import_query_core = require("@tanstack/query-core");
27
+ var import_useBaseQuery = require("./useBaseQuery.cjs");
28
+ function useInfiniteQuery(options, queryClient) {
29
+ return (0, import_useBaseQuery.useBaseQuery)(
30
+ options,
31
+ import_query_core.InfiniteQueryObserver,
32
+ queryClient
33
+ );
34
+ }
35
+ // Annotate the CommonJS export names for ESM import in node:
36
+ 0 && (module.exports = {
37
+ useInfiniteQuery
38
+ });
39
+ //# sourceMappingURL=useInfiniteQuery.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/useInfiniteQuery.ts"],"sourcesContent":["import { InfiniteQueryObserver } from '@tanstack/query-core'\nimport type {\n DefaultError,\n InfiniteData,\n QueryClient,\n QueryKey,\n QueryObserver,\n} from '@tanstack/query-core'\n\nimport type {\n DefinedInitialDataInfiniteOptions,\n UndefinedInitialDataInfiniteOptions,\n} from './infiniteQueryOptions'\nimport type {\n DefinedUseInfiniteQueryResult,\n UseInfiniteQueryOptions,\n UseInfiniteQueryResult,\n} from './types'\nimport { useBaseQuery } from './useBaseQuery'\n\nexport function useInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>(\n options: DefinedInitialDataInfiniteOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n queryClient?: QueryClient,\n): DefinedUseInfiniteQueryResult<TData, TError>\n\nexport function useInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>(\n options: UndefinedInitialDataInfiniteOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n queryClient?: QueryClient,\n): UseInfiniteQueryResult<TData, TError>\n\nexport function useInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>(\n options: UseInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n queryClient?: QueryClient,\n): UseInfiniteQueryResult<TData, TError>\n\nexport function useInfiniteQuery(\n options: UseInfiniteQueryOptions,\n queryClient?: QueryClient,\n) {\n return useBaseQuery(\n options,\n InfiniteQueryObserver as typeof QueryObserver,\n queryClient,\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAsC;AAkBtC,0BAA6B;AAqDtB,SAAS,iBACd,SACA,aACA;AACA,aAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;","names":[]}
@@ -0,0 +1,9 @@
1
+ import { DefaultError, InfiniteData, QueryKey, QueryClient } from '@tanstack/query-core';
2
+ import { DefinedInitialDataInfiniteOptions, UndefinedInitialDataInfiniteOptions } from './infiniteQueryOptions.cjs';
3
+ import { DefinedUseInfiniteQueryResult, UseInfiniteQueryResult, UseInfiniteQueryOptions } from './types.cjs';
4
+
5
+ declare function useInfiniteQuery<TQueryFnData, TError = DefaultError, TData = InfiniteData<TQueryFnData>, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(options: DefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>, queryClient?: QueryClient): DefinedUseInfiniteQueryResult<TData, TError>;
6
+ declare function useInfiniteQuery<TQueryFnData, TError = DefaultError, TData = InfiniteData<TQueryFnData>, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(options: UndefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>, queryClient?: QueryClient): UseInfiniteQueryResult<TData, TError>;
7
+ declare function useInfiniteQuery<TQueryFnData, TError = DefaultError, TData = InfiniteData<TQueryFnData>, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(options: UseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>, queryClient?: QueryClient): UseInfiniteQueryResult<TData, TError>;
8
+
9
+ export { useInfiniteQuery };
@@ -0,0 +1,9 @@
1
+ import { DefaultError, InfiniteData, QueryKey, QueryClient } from '@tanstack/query-core';
2
+ import { DefinedInitialDataInfiniteOptions, UndefinedInitialDataInfiniteOptions } from './infiniteQueryOptions.js';
3
+ import { DefinedUseInfiniteQueryResult, UseInfiniteQueryResult, UseInfiniteQueryOptions } from './types.js';
4
+
5
+ declare function useInfiniteQuery<TQueryFnData, TError = DefaultError, TData = InfiniteData<TQueryFnData>, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(options: DefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>, queryClient?: QueryClient): DefinedUseInfiniteQueryResult<TData, TError>;
6
+ declare function useInfiniteQuery<TQueryFnData, TError = DefaultError, TData = InfiniteData<TQueryFnData>, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(options: UndefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>, queryClient?: QueryClient): UseInfiniteQueryResult<TData, TError>;
7
+ declare function useInfiniteQuery<TQueryFnData, TError = DefaultError, TData = InfiniteData<TQueryFnData>, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(options: UseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>, queryClient?: QueryClient): UseInfiniteQueryResult<TData, TError>;
8
+
9
+ export { useInfiniteQuery };
@@ -0,0 +1,14 @@
1
+ // src/useInfiniteQuery.ts
2
+ import { InfiniteQueryObserver } from "@tanstack/query-core";
3
+ import { useBaseQuery } from "./useBaseQuery.js";
4
+ function useInfiniteQuery(options, queryClient) {
5
+ return useBaseQuery(
6
+ options,
7
+ InfiniteQueryObserver,
8
+ queryClient
9
+ );
10
+ }
11
+ export {
12
+ useInfiniteQuery
13
+ };
14
+ //# sourceMappingURL=useInfiniteQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/useInfiniteQuery.ts"],"sourcesContent":["import { InfiniteQueryObserver } from '@tanstack/query-core'\nimport type {\n DefaultError,\n InfiniteData,\n QueryClient,\n QueryKey,\n QueryObserver,\n} from '@tanstack/query-core'\n\nimport type {\n DefinedInitialDataInfiniteOptions,\n UndefinedInitialDataInfiniteOptions,\n} from './infiniteQueryOptions'\nimport type {\n DefinedUseInfiniteQueryResult,\n UseInfiniteQueryOptions,\n UseInfiniteQueryResult,\n} from './types'\nimport { useBaseQuery } from './useBaseQuery'\n\nexport function useInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>(\n options: DefinedInitialDataInfiniteOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n queryClient?: QueryClient,\n): DefinedUseInfiniteQueryResult<TData, TError>\n\nexport function useInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>(\n options: UndefinedInitialDataInfiniteOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n queryClient?: QueryClient,\n): UseInfiniteQueryResult<TData, TError>\n\nexport function useInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>(\n options: UseInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n queryClient?: QueryClient,\n): UseInfiniteQueryResult<TData, TError>\n\nexport function useInfiniteQuery(\n options: UseInfiniteQueryOptions,\n queryClient?: QueryClient,\n) {\n return useBaseQuery(\n options,\n InfiniteQueryObserver as typeof QueryObserver,\n queryClient,\n )\n}\n"],"mappings":";AAAA,SAAS,6BAA6B;AAkBtC,SAAS,oBAAoB;AAqDtB,SAAS,iBACd,SACA,aACA;AACA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;","names":[]}
@@ -0,0 +1,45 @@
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/useIsFetching.ts
21
+ var useIsFetching_exports = {};
22
+ __export(useIsFetching_exports, {
23
+ useIsFetching: () => useIsFetching
24
+ });
25
+ module.exports = __toCommonJS(useIsFetching_exports);
26
+ var import_query_core = require("@tanstack/query-core");
27
+ var import_hooks = require("preact/hooks");
28
+ var import_QueryClientProvider = require("./QueryClientProvider.cjs");
29
+ var import_utils = require("./utils.cjs");
30
+ function useIsFetching(filters, queryClient) {
31
+ const client = (0, import_QueryClientProvider.useQueryClient)(queryClient);
32
+ const queryCache = client.getQueryCache();
33
+ return (0, import_utils.useSyncExternalStore)(
34
+ (0, import_hooks.useCallback)(
35
+ (onStoreChange) => queryCache.subscribe(import_query_core.notifyManager.batchCalls(onStoreChange)),
36
+ [queryCache]
37
+ ),
38
+ () => client.isFetching(filters)
39
+ );
40
+ }
41
+ // Annotate the CommonJS export names for ESM import in node:
42
+ 0 && (module.exports = {
43
+ useIsFetching
44
+ });
45
+ //# sourceMappingURL=useIsFetching.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/useIsFetching.ts"],"sourcesContent":["import { notifyManager } from '@tanstack/query-core'\nimport type { QueryClient, QueryFilters } from '@tanstack/query-core'\nimport { useCallback } from 'preact/hooks'\n\nimport { useQueryClient } from './QueryClientProvider'\nimport { useSyncExternalStore } from './utils'\n\nexport function useIsFetching(\n filters?: QueryFilters,\n queryClient?: QueryClient,\n): number {\n const client = useQueryClient(queryClient)\n const queryCache = client.getQueryCache()\n\n return useSyncExternalStore(\n useCallback(\n (onStoreChange) =>\n queryCache.subscribe(notifyManager.batchCalls(onStoreChange)),\n [queryCache],\n ),\n () => client.isFetching(filters),\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAA8B;AAE9B,mBAA4B;AAE5B,iCAA+B;AAC/B,mBAAqC;AAE9B,SAAS,cACd,SACA,aACQ;AACR,QAAM,aAAS,2CAAe,WAAW;AACzC,QAAM,aAAa,OAAO,cAAc;AAExC,aAAO;AAAA,QACL;AAAA,MACE,CAAC,kBACC,WAAW,UAAU,gCAAc,WAAW,aAAa,CAAC;AAAA,MAC9D,CAAC,UAAU;AAAA,IACb;AAAA,IACA,MAAM,OAAO,WAAW,OAAO;AAAA,EACjC;AACF;","names":[]}
@@ -0,0 +1,5 @@
1
+ import { QueryFilters, QueryClient } from '@tanstack/query-core';
2
+
3
+ declare function useIsFetching(filters?: QueryFilters, queryClient?: QueryClient): number;
4
+
5
+ export { useIsFetching };
@@ -0,0 +1,5 @@
1
+ import { QueryFilters, QueryClient } from '@tanstack/query-core';
2
+
3
+ declare function useIsFetching(filters?: QueryFilters, queryClient?: QueryClient): number;
4
+
5
+ export { useIsFetching };
@@ -0,0 +1,20 @@
1
+ // src/useIsFetching.ts
2
+ import { notifyManager } from "@tanstack/query-core";
3
+ import { useCallback } from "preact/hooks";
4
+ import { useQueryClient } from "./QueryClientProvider.js";
5
+ import { useSyncExternalStore } from "./utils.js";
6
+ function useIsFetching(filters, queryClient) {
7
+ const client = useQueryClient(queryClient);
8
+ const queryCache = client.getQueryCache();
9
+ return useSyncExternalStore(
10
+ useCallback(
11
+ (onStoreChange) => queryCache.subscribe(notifyManager.batchCalls(onStoreChange)),
12
+ [queryCache]
13
+ ),
14
+ () => client.isFetching(filters)
15
+ );
16
+ }
17
+ export {
18
+ useIsFetching
19
+ };
20
+ //# sourceMappingURL=useIsFetching.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/useIsFetching.ts"],"sourcesContent":["import { notifyManager } from '@tanstack/query-core'\nimport type { QueryClient, QueryFilters } from '@tanstack/query-core'\nimport { useCallback } from 'preact/hooks'\n\nimport { useQueryClient } from './QueryClientProvider'\nimport { useSyncExternalStore } from './utils'\n\nexport function useIsFetching(\n filters?: QueryFilters,\n queryClient?: QueryClient,\n): number {\n const client = useQueryClient(queryClient)\n const queryCache = client.getQueryCache()\n\n return useSyncExternalStore(\n useCallback(\n (onStoreChange) =>\n queryCache.subscribe(notifyManager.batchCalls(onStoreChange)),\n [queryCache],\n ),\n () => client.isFetching(filters),\n )\n}\n"],"mappings":";AAAA,SAAS,qBAAqB;AAE9B,SAAS,mBAAmB;AAE5B,SAAS,sBAAsB;AAC/B,SAAS,4BAA4B;AAE9B,SAAS,cACd,SACA,aACQ;AACR,QAAM,SAAS,eAAe,WAAW;AACzC,QAAM,aAAa,OAAO,cAAc;AAExC,SAAO;AAAA,IACL;AAAA,MACE,CAAC,kBACC,WAAW,UAAU,cAAc,WAAW,aAAa,CAAC;AAAA,MAC9D,CAAC,UAAU;AAAA,IACb;AAAA,IACA,MAAM,OAAO,WAAW,OAAO;AAAA,EACjC;AACF;","names":[]}
@@ -0,0 +1,63 @@
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/useMutation.ts
21
+ var useMutation_exports = {};
22
+ __export(useMutation_exports, {
23
+ useMutation: () => useMutation
24
+ });
25
+ module.exports = __toCommonJS(useMutation_exports);
26
+ var import_query_core = require("@tanstack/query-core");
27
+ var import_hooks = require("preact/hooks");
28
+ var import_QueryClientProvider = require("./QueryClientProvider.cjs");
29
+ var import_utils = require("./utils.cjs");
30
+ function useMutation(options, queryClient) {
31
+ const client = (0, import_QueryClientProvider.useQueryClient)(queryClient);
32
+ const [observer] = (0, import_hooks.useState)(
33
+ () => new import_query_core.MutationObserver(
34
+ client,
35
+ options
36
+ )
37
+ );
38
+ (0, import_hooks.useEffect)(() => {
39
+ observer.setOptions(options);
40
+ }, [observer, options]);
41
+ const result = (0, import_utils.useSyncExternalStore)(
42
+ (0, import_hooks.useCallback)(
43
+ (onStoreChange) => observer.subscribe(import_query_core.notifyManager.batchCalls(onStoreChange)),
44
+ [observer]
45
+ ),
46
+ () => observer.getCurrentResult()
47
+ );
48
+ const mutate = (0, import_hooks.useCallback)(
49
+ (variables, mutateOptions) => {
50
+ observer.mutate(variables, mutateOptions).catch(import_query_core.noop);
51
+ },
52
+ [observer]
53
+ );
54
+ if (result.error && (0, import_query_core.shouldThrowError)(observer.options.throwOnError, [result.error])) {
55
+ throw result.error;
56
+ }
57
+ return { ...result, mutate, mutateAsync: result.mutate };
58
+ }
59
+ // Annotate the CommonJS export names for ESM import in node:
60
+ 0 && (module.exports = {
61
+ useMutation
62
+ });
63
+ //# sourceMappingURL=useMutation.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/useMutation.ts"],"sourcesContent":["import {\n MutationObserver,\n noop,\n notifyManager,\n shouldThrowError,\n} from '@tanstack/query-core'\nimport type { DefaultError, QueryClient } from '@tanstack/query-core'\nimport { useCallback, useEffect, useState } from 'preact/hooks'\n\nimport { useQueryClient } from './QueryClientProvider'\nimport type {\n UseMutateFunction,\n UseMutationOptions,\n UseMutationResult,\n} from './types'\nimport { useSyncExternalStore } from './utils'\n\n// HOOK\n\nexport function useMutation<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n>(\n options: UseMutationOptions<TData, TError, TVariables, TOnMutateResult>,\n queryClient?: QueryClient,\n): UseMutationResult<TData, TError, TVariables, TOnMutateResult> {\n const client = useQueryClient(queryClient)\n\n const [observer] = useState(\n () =>\n new MutationObserver<TData, TError, TVariables, TOnMutateResult>(\n client,\n options,\n ),\n )\n\n useEffect(() => {\n observer.setOptions(options)\n }, [observer, options])\n\n const result = useSyncExternalStore(\n useCallback(\n (onStoreChange) =>\n observer.subscribe(notifyManager.batchCalls(onStoreChange)),\n [observer],\n ),\n () => observer.getCurrentResult(),\n )\n\n const mutate = useCallback<\n UseMutateFunction<TData, TError, TVariables, TOnMutateResult>\n >(\n (variables, mutateOptions) => {\n observer.mutate(variables, mutateOptions).catch(noop)\n },\n [observer],\n )\n\n if (\n result.error &&\n shouldThrowError(observer.options.throwOnError, [result.error])\n ) {\n throw result.error\n }\n\n return { ...result, mutate, mutateAsync: result.mutate }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAKO;AAEP,mBAAiD;AAEjD,iCAA+B;AAM/B,mBAAqC;AAI9B,SAAS,YAMd,SACA,aAC+D;AAC/D,QAAM,aAAS,2CAAe,WAAW;AAEzC,QAAM,CAAC,QAAQ,QAAI;AAAA,IACjB,MACE,IAAI;AAAA,MACF;AAAA,MACA;AAAA,IACF;AAAA,EACJ;AAEA,8BAAU,MAAM;AACd,aAAS,WAAW,OAAO;AAAA,EAC7B,GAAG,CAAC,UAAU,OAAO,CAAC;AAEtB,QAAM,aAAS;AAAA,QACb;AAAA,MACE,CAAC,kBACC,SAAS,UAAU,gCAAc,WAAW,aAAa,CAAC;AAAA,MAC5D,CAAC,QAAQ;AAAA,IACX;AAAA,IACA,MAAM,SAAS,iBAAiB;AAAA,EAClC;AAEA,QAAM,aAAS;AAAA,IAGb,CAAC,WAAW,kBAAkB;AAC5B,eAAS,OAAO,WAAW,aAAa,EAAE,MAAM,sBAAI;AAAA,IACtD;AAAA,IACA,CAAC,QAAQ;AAAA,EACX;AAEA,MACE,OAAO,aACP,oCAAiB,SAAS,QAAQ,cAAc,CAAC,OAAO,KAAK,CAAC,GAC9D;AACA,UAAM,OAAO;AAAA,EACf;AAEA,SAAO,EAAE,GAAG,QAAQ,QAAQ,aAAa,OAAO,OAAO;AACzD;","names":[]}
@@ -0,0 +1,6 @@
1
+ import { DefaultError, QueryClient } from '@tanstack/query-core';
2
+ import { UseMutationOptions, UseMutationResult } from './types.cjs';
3
+
4
+ declare function useMutation<TData = unknown, TError = DefaultError, TVariables = void, TOnMutateResult = unknown>(options: UseMutationOptions<TData, TError, TVariables, TOnMutateResult>, queryClient?: QueryClient): UseMutationResult<TData, TError, TVariables, TOnMutateResult>;
5
+
6
+ export { useMutation };
@@ -0,0 +1,6 @@
1
+ import { DefaultError, QueryClient } from '@tanstack/query-core';
2
+ import { UseMutationOptions, UseMutationResult } from './types.js';
3
+
4
+ declare function useMutation<TData = unknown, TError = DefaultError, TVariables = void, TOnMutateResult = unknown>(options: UseMutationOptions<TData, TError, TVariables, TOnMutateResult>, queryClient?: QueryClient): UseMutationResult<TData, TError, TVariables, TOnMutateResult>;
5
+
6
+ export { useMutation };