@tanstack/preact-query 5.102.3 → 5.102.5

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 (296) hide show
  1. package/build/legacy/HydrationBoundary.cjs +43 -0
  2. package/build/legacy/HydrationBoundary.cjs.map +1 -1
  3. package/build/legacy/HydrationBoundary.d.cts +61 -0
  4. package/build/legacy/HydrationBoundary.d.cts.map +1 -1
  5. package/build/legacy/HydrationBoundary.d.ts +61 -0
  6. package/build/legacy/HydrationBoundary.d.ts.map +1 -1
  7. package/build/legacy/HydrationBoundary.js +43 -0
  8. package/build/legacy/HydrationBoundary.js.map +1 -1
  9. package/build/legacy/IsRestoringProvider.cjs +11 -0
  10. package/build/legacy/IsRestoringProvider.cjs.map +1 -1
  11. package/build/legacy/IsRestoringProvider.d.cts +11 -0
  12. package/build/legacy/IsRestoringProvider.d.cts.map +1 -1
  13. package/build/legacy/IsRestoringProvider.d.ts +11 -0
  14. package/build/legacy/IsRestoringProvider.d.ts.map +1 -1
  15. package/build/legacy/IsRestoringProvider.js +11 -0
  16. package/build/legacy/IsRestoringProvider.js.map +1 -1
  17. package/build/legacy/QueryClientProvider.cjs +30 -0
  18. package/build/legacy/QueryClientProvider.cjs.map +1 -1
  19. package/build/legacy/QueryClientProvider.d.cts +41 -0
  20. package/build/legacy/QueryClientProvider.d.cts.map +1 -1
  21. package/build/legacy/QueryClientProvider.d.ts +41 -0
  22. package/build/legacy/QueryClientProvider.d.ts.map +1 -1
  23. package/build/legacy/QueryClientProvider.js +30 -0
  24. package/build/legacy/QueryClientProvider.js.map +1 -1
  25. package/build/legacy/QueryErrorResetBoundary.cjs +77 -0
  26. package/build/legacy/QueryErrorResetBoundary.cjs.map +1 -1
  27. package/build/legacy/QueryErrorResetBoundary.d.cts +108 -0
  28. package/build/legacy/QueryErrorResetBoundary.d.cts.map +1 -1
  29. package/build/legacy/QueryErrorResetBoundary.d.ts +108 -0
  30. package/build/legacy/QueryErrorResetBoundary.d.ts.map +1 -1
  31. package/build/legacy/QueryErrorResetBoundary.js +77 -0
  32. package/build/legacy/QueryErrorResetBoundary.js.map +1 -1
  33. package/build/legacy/infiniteQueryOptions.cjs.map +1 -1
  34. package/build/legacy/infiniteQueryOptions.d.cts +187 -0
  35. package/build/legacy/infiniteQueryOptions.d.cts.map +1 -1
  36. package/build/legacy/infiniteQueryOptions.d.ts +187 -0
  37. package/build/legacy/infiniteQueryOptions.d.ts.map +1 -1
  38. package/build/legacy/infiniteQueryOptions.js.map +1 -1
  39. package/build/legacy/mutationOptions.cjs.map +1 -1
  40. package/build/legacy/mutationOptions.d.cts +68 -0
  41. package/build/legacy/mutationOptions.d.cts.map +1 -1
  42. package/build/legacy/mutationOptions.d.ts +68 -0
  43. package/build/legacy/mutationOptions.d.ts.map +1 -1
  44. package/build/legacy/mutationOptions.js.map +1 -1
  45. package/build/legacy/queryOptions.cjs.map +1 -1
  46. package/build/legacy/queryOptions.d.cts +198 -0
  47. package/build/legacy/queryOptions.d.cts.map +1 -1
  48. package/build/legacy/queryOptions.d.ts +198 -0
  49. package/build/legacy/queryOptions.d.ts.map +1 -1
  50. package/build/legacy/queryOptions.js.map +1 -1
  51. package/build/legacy/types.cjs.map +1 -1
  52. package/build/legacy/types.d.cts +228 -2
  53. package/build/legacy/types.d.cts.map +1 -1
  54. package/build/legacy/types.d.ts +228 -2
  55. package/build/legacy/types.d.ts.map +1 -1
  56. package/build/legacy/types.js.map +1 -1
  57. package/build/legacy/useInfiniteQuery.cjs.map +1 -1
  58. package/build/legacy/useInfiniteQuery.d.cts +120 -0
  59. package/build/legacy/useInfiniteQuery.d.cts.map +1 -1
  60. package/build/legacy/useInfiniteQuery.d.ts +120 -0
  61. package/build/legacy/useInfiniteQuery.d.ts.map +1 -1
  62. package/build/legacy/useInfiniteQuery.js.map +1 -1
  63. package/build/legacy/useIsFetching.cjs +34 -0
  64. package/build/legacy/useIsFetching.cjs.map +1 -1
  65. package/build/legacy/useIsFetching.d.cts +34 -0
  66. package/build/legacy/useIsFetching.d.cts.map +1 -1
  67. package/build/legacy/useIsFetching.d.ts +34 -0
  68. package/build/legacy/useIsFetching.d.ts.map +1 -1
  69. package/build/legacy/useIsFetching.js +34 -0
  70. package/build/legacy/useIsFetching.js.map +1 -1
  71. package/build/legacy/useMutation.cjs +170 -0
  72. package/build/legacy/useMutation.cjs.map +1 -1
  73. package/build/legacy/useMutation.d.cts +170 -0
  74. package/build/legacy/useMutation.d.cts.map +1 -1
  75. package/build/legacy/useMutation.d.ts +170 -0
  76. package/build/legacy/useMutation.d.ts.map +1 -1
  77. package/build/legacy/useMutation.js +170 -0
  78. package/build/legacy/useMutation.js.map +1 -1
  79. package/build/legacy/useMutationState.cjs +74 -0
  80. package/build/legacy/useMutationState.cjs.map +1 -1
  81. package/build/legacy/useMutationState.d.cts +74 -0
  82. package/build/legacy/useMutationState.d.cts.map +1 -1
  83. package/build/legacy/useMutationState.d.ts +74 -0
  84. package/build/legacy/useMutationState.d.ts.map +1 -1
  85. package/build/legacy/useMutationState.js +74 -0
  86. package/build/legacy/useMutationState.js.map +1 -1
  87. package/build/legacy/usePrefetchInfiniteQuery.cjs +44 -0
  88. package/build/legacy/usePrefetchInfiniteQuery.cjs.map +1 -1
  89. package/build/legacy/usePrefetchInfiniteQuery.d.cts +44 -0
  90. package/build/legacy/usePrefetchInfiniteQuery.d.cts.map +1 -1
  91. package/build/legacy/usePrefetchInfiniteQuery.d.ts +44 -0
  92. package/build/legacy/usePrefetchInfiniteQuery.d.ts.map +1 -1
  93. package/build/legacy/usePrefetchInfiniteQuery.js +44 -0
  94. package/build/legacy/usePrefetchInfiniteQuery.js.map +1 -1
  95. package/build/legacy/usePrefetchQuery.cjs +35 -0
  96. package/build/legacy/usePrefetchQuery.cjs.map +1 -1
  97. package/build/legacy/usePrefetchQuery.d.cts +35 -0
  98. package/build/legacy/usePrefetchQuery.d.cts.map +1 -1
  99. package/build/legacy/usePrefetchQuery.d.ts +35 -0
  100. package/build/legacy/usePrefetchQuery.d.ts.map +1 -1
  101. package/build/legacy/usePrefetchQuery.js +35 -0
  102. package/build/legacy/usePrefetchQuery.js.map +1 -1
  103. package/build/legacy/useQueries.cjs +50 -0
  104. package/build/legacy/useQueries.cjs.map +1 -1
  105. package/build/legacy/useQueries.d.cts +85 -2
  106. package/build/legacy/useQueries.d.cts.map +1 -1
  107. package/build/legacy/useQueries.d.ts +85 -2
  108. package/build/legacy/useQueries.d.ts.map +1 -1
  109. package/build/legacy/useQueries.js +50 -0
  110. package/build/legacy/useQueries.js.map +1 -1
  111. package/build/legacy/useQuery.cjs.map +1 -1
  112. package/build/legacy/useQuery.d.cts +186 -0
  113. package/build/legacy/useQuery.d.cts.map +1 -1
  114. package/build/legacy/useQuery.d.ts +186 -0
  115. package/build/legacy/useQuery.d.ts.map +1 -1
  116. package/build/legacy/useQuery.js.map +1 -1
  117. package/build/legacy/useSuspenseInfiniteQuery.cjs +56 -0
  118. package/build/legacy/useSuspenseInfiniteQuery.cjs.map +1 -1
  119. package/build/legacy/useSuspenseInfiniteQuery.d.cts +56 -0
  120. package/build/legacy/useSuspenseInfiniteQuery.d.cts.map +1 -1
  121. package/build/legacy/useSuspenseInfiniteQuery.d.ts +56 -0
  122. package/build/legacy/useSuspenseInfiniteQuery.d.ts.map +1 -1
  123. package/build/legacy/useSuspenseInfiniteQuery.js +56 -0
  124. package/build/legacy/useSuspenseInfiniteQuery.js.map +1 -1
  125. package/build/legacy/useSuspenseQueries.cjs.map +1 -1
  126. package/build/legacy/useSuspenseQueries.d.cts +196 -2
  127. package/build/legacy/useSuspenseQueries.d.cts.map +1 -1
  128. package/build/legacy/useSuspenseQueries.d.ts +196 -2
  129. package/build/legacy/useSuspenseQueries.d.ts.map +1 -1
  130. package/build/legacy/useSuspenseQueries.js.map +1 -1
  131. package/build/legacy/useSuspenseQuery.cjs +47 -0
  132. package/build/legacy/useSuspenseQuery.cjs.map +1 -1
  133. package/build/legacy/useSuspenseQuery.d.cts +47 -0
  134. package/build/legacy/useSuspenseQuery.d.cts.map +1 -1
  135. package/build/legacy/useSuspenseQuery.d.ts +47 -0
  136. package/build/legacy/useSuspenseQuery.d.ts.map +1 -1
  137. package/build/legacy/useSuspenseQuery.js +47 -0
  138. package/build/legacy/useSuspenseQuery.js.map +1 -1
  139. package/build/modern/HydrationBoundary.cjs +43 -0
  140. package/build/modern/HydrationBoundary.cjs.map +1 -1
  141. package/build/modern/HydrationBoundary.d.cts +61 -0
  142. package/build/modern/HydrationBoundary.d.cts.map +1 -1
  143. package/build/modern/HydrationBoundary.d.ts +61 -0
  144. package/build/modern/HydrationBoundary.d.ts.map +1 -1
  145. package/build/modern/HydrationBoundary.js +43 -0
  146. package/build/modern/HydrationBoundary.js.map +1 -1
  147. package/build/modern/IsRestoringProvider.cjs +11 -0
  148. package/build/modern/IsRestoringProvider.cjs.map +1 -1
  149. package/build/modern/IsRestoringProvider.d.cts +11 -0
  150. package/build/modern/IsRestoringProvider.d.cts.map +1 -1
  151. package/build/modern/IsRestoringProvider.d.ts +11 -0
  152. package/build/modern/IsRestoringProvider.d.ts.map +1 -1
  153. package/build/modern/IsRestoringProvider.js +11 -0
  154. package/build/modern/IsRestoringProvider.js.map +1 -1
  155. package/build/modern/QueryClientProvider.cjs +30 -0
  156. package/build/modern/QueryClientProvider.cjs.map +1 -1
  157. package/build/modern/QueryClientProvider.d.cts +41 -0
  158. package/build/modern/QueryClientProvider.d.cts.map +1 -1
  159. package/build/modern/QueryClientProvider.d.ts +41 -0
  160. package/build/modern/QueryClientProvider.d.ts.map +1 -1
  161. package/build/modern/QueryClientProvider.js +30 -0
  162. package/build/modern/QueryClientProvider.js.map +1 -1
  163. package/build/modern/QueryErrorResetBoundary.cjs +77 -0
  164. package/build/modern/QueryErrorResetBoundary.cjs.map +1 -1
  165. package/build/modern/QueryErrorResetBoundary.d.cts +108 -0
  166. package/build/modern/QueryErrorResetBoundary.d.cts.map +1 -1
  167. package/build/modern/QueryErrorResetBoundary.d.ts +108 -0
  168. package/build/modern/QueryErrorResetBoundary.d.ts.map +1 -1
  169. package/build/modern/QueryErrorResetBoundary.js +77 -0
  170. package/build/modern/QueryErrorResetBoundary.js.map +1 -1
  171. package/build/modern/infiniteQueryOptions.cjs.map +1 -1
  172. package/build/modern/infiniteQueryOptions.d.cts +187 -0
  173. package/build/modern/infiniteQueryOptions.d.cts.map +1 -1
  174. package/build/modern/infiniteQueryOptions.d.ts +187 -0
  175. package/build/modern/infiniteQueryOptions.d.ts.map +1 -1
  176. package/build/modern/infiniteQueryOptions.js.map +1 -1
  177. package/build/modern/mutationOptions.cjs.map +1 -1
  178. package/build/modern/mutationOptions.d.cts +68 -0
  179. package/build/modern/mutationOptions.d.cts.map +1 -1
  180. package/build/modern/mutationOptions.d.ts +68 -0
  181. package/build/modern/mutationOptions.d.ts.map +1 -1
  182. package/build/modern/mutationOptions.js.map +1 -1
  183. package/build/modern/queryOptions.cjs.map +1 -1
  184. package/build/modern/queryOptions.d.cts +198 -0
  185. package/build/modern/queryOptions.d.cts.map +1 -1
  186. package/build/modern/queryOptions.d.ts +198 -0
  187. package/build/modern/queryOptions.d.ts.map +1 -1
  188. package/build/modern/queryOptions.js.map +1 -1
  189. package/build/modern/types.cjs.map +1 -1
  190. package/build/modern/types.d.cts +228 -2
  191. package/build/modern/types.d.cts.map +1 -1
  192. package/build/modern/types.d.ts +228 -2
  193. package/build/modern/types.d.ts.map +1 -1
  194. package/build/modern/types.js.map +1 -1
  195. package/build/modern/useInfiniteQuery.cjs.map +1 -1
  196. package/build/modern/useInfiniteQuery.d.cts +120 -0
  197. package/build/modern/useInfiniteQuery.d.cts.map +1 -1
  198. package/build/modern/useInfiniteQuery.d.ts +120 -0
  199. package/build/modern/useInfiniteQuery.d.ts.map +1 -1
  200. package/build/modern/useInfiniteQuery.js.map +1 -1
  201. package/build/modern/useIsFetching.cjs +34 -0
  202. package/build/modern/useIsFetching.cjs.map +1 -1
  203. package/build/modern/useIsFetching.d.cts +34 -0
  204. package/build/modern/useIsFetching.d.cts.map +1 -1
  205. package/build/modern/useIsFetching.d.ts +34 -0
  206. package/build/modern/useIsFetching.d.ts.map +1 -1
  207. package/build/modern/useIsFetching.js +34 -0
  208. package/build/modern/useIsFetching.js.map +1 -1
  209. package/build/modern/useMutation.cjs +170 -0
  210. package/build/modern/useMutation.cjs.map +1 -1
  211. package/build/modern/useMutation.d.cts +170 -0
  212. package/build/modern/useMutation.d.cts.map +1 -1
  213. package/build/modern/useMutation.d.ts +170 -0
  214. package/build/modern/useMutation.d.ts.map +1 -1
  215. package/build/modern/useMutation.js +170 -0
  216. package/build/modern/useMutation.js.map +1 -1
  217. package/build/modern/useMutationState.cjs +74 -0
  218. package/build/modern/useMutationState.cjs.map +1 -1
  219. package/build/modern/useMutationState.d.cts +74 -0
  220. package/build/modern/useMutationState.d.cts.map +1 -1
  221. package/build/modern/useMutationState.d.ts +74 -0
  222. package/build/modern/useMutationState.d.ts.map +1 -1
  223. package/build/modern/useMutationState.js +74 -0
  224. package/build/modern/useMutationState.js.map +1 -1
  225. package/build/modern/usePrefetchInfiniteQuery.cjs +44 -0
  226. package/build/modern/usePrefetchInfiniteQuery.cjs.map +1 -1
  227. package/build/modern/usePrefetchInfiniteQuery.d.cts +44 -0
  228. package/build/modern/usePrefetchInfiniteQuery.d.cts.map +1 -1
  229. package/build/modern/usePrefetchInfiniteQuery.d.ts +44 -0
  230. package/build/modern/usePrefetchInfiniteQuery.d.ts.map +1 -1
  231. package/build/modern/usePrefetchInfiniteQuery.js +44 -0
  232. package/build/modern/usePrefetchInfiniteQuery.js.map +1 -1
  233. package/build/modern/usePrefetchQuery.cjs +35 -0
  234. package/build/modern/usePrefetchQuery.cjs.map +1 -1
  235. package/build/modern/usePrefetchQuery.d.cts +35 -0
  236. package/build/modern/usePrefetchQuery.d.cts.map +1 -1
  237. package/build/modern/usePrefetchQuery.d.ts +35 -0
  238. package/build/modern/usePrefetchQuery.d.ts.map +1 -1
  239. package/build/modern/usePrefetchQuery.js +35 -0
  240. package/build/modern/usePrefetchQuery.js.map +1 -1
  241. package/build/modern/useQueries.cjs +50 -0
  242. package/build/modern/useQueries.cjs.map +1 -1
  243. package/build/modern/useQueries.d.cts +85 -2
  244. package/build/modern/useQueries.d.cts.map +1 -1
  245. package/build/modern/useQueries.d.ts +85 -2
  246. package/build/modern/useQueries.d.ts.map +1 -1
  247. package/build/modern/useQueries.js +50 -0
  248. package/build/modern/useQueries.js.map +1 -1
  249. package/build/modern/useQuery.cjs.map +1 -1
  250. package/build/modern/useQuery.d.cts +186 -0
  251. package/build/modern/useQuery.d.cts.map +1 -1
  252. package/build/modern/useQuery.d.ts +186 -0
  253. package/build/modern/useQuery.d.ts.map +1 -1
  254. package/build/modern/useQuery.js.map +1 -1
  255. package/build/modern/useSuspenseInfiniteQuery.cjs +56 -0
  256. package/build/modern/useSuspenseInfiniteQuery.cjs.map +1 -1
  257. package/build/modern/useSuspenseInfiniteQuery.d.cts +56 -0
  258. package/build/modern/useSuspenseInfiniteQuery.d.cts.map +1 -1
  259. package/build/modern/useSuspenseInfiniteQuery.d.ts +56 -0
  260. package/build/modern/useSuspenseInfiniteQuery.d.ts.map +1 -1
  261. package/build/modern/useSuspenseInfiniteQuery.js +56 -0
  262. package/build/modern/useSuspenseInfiniteQuery.js.map +1 -1
  263. package/build/modern/useSuspenseQueries.cjs.map +1 -1
  264. package/build/modern/useSuspenseQueries.d.cts +196 -2
  265. package/build/modern/useSuspenseQueries.d.cts.map +1 -1
  266. package/build/modern/useSuspenseQueries.d.ts +196 -2
  267. package/build/modern/useSuspenseQueries.d.ts.map +1 -1
  268. package/build/modern/useSuspenseQueries.js.map +1 -1
  269. package/build/modern/useSuspenseQuery.cjs +47 -0
  270. package/build/modern/useSuspenseQuery.cjs.map +1 -1
  271. package/build/modern/useSuspenseQuery.d.cts +47 -0
  272. package/build/modern/useSuspenseQuery.d.cts.map +1 -1
  273. package/build/modern/useSuspenseQuery.d.ts +47 -0
  274. package/build/modern/useSuspenseQuery.d.ts.map +1 -1
  275. package/build/modern/useSuspenseQuery.js +47 -0
  276. package/build/modern/useSuspenseQuery.js.map +1 -1
  277. package/package.json +3 -3
  278. package/src/HydrationBoundary.tsx +61 -0
  279. package/src/IsRestoringProvider.ts +12 -0
  280. package/src/QueryClientProvider.tsx +41 -0
  281. package/src/QueryErrorResetBoundary.tsx +111 -0
  282. package/src/infiniteQueryOptions.ts +187 -0
  283. package/src/mutationOptions.ts +68 -0
  284. package/src/queryOptions.ts +198 -0
  285. package/src/types.ts +228 -2
  286. package/src/useInfiniteQuery.ts +120 -0
  287. package/src/useIsFetching.ts +34 -0
  288. package/src/useMutation.ts +170 -0
  289. package/src/useMutationState.ts +74 -0
  290. package/src/usePrefetchInfiniteQuery.tsx +44 -0
  291. package/src/usePrefetchQuery.tsx +35 -0
  292. package/src/useQueries.ts +85 -2
  293. package/src/useQuery.ts +186 -0
  294. package/src/useSuspenseInfiniteQuery.ts +56 -0
  295. package/src/useSuspenseQueries.ts +196 -2
  296. package/src/useSuspenseQuery.ts +47 -0
@@ -1,12 +1,53 @@
1
1
  import { QueryClient } from "@tanstack/query-core";
2
2
  import { ComponentChildren, VNode } from "preact";
3
3
  //#region src/QueryClientProvider.d.ts
4
+ /**
5
+ * The context that `useQueryClient` reads from. `QueryClientProvider` is the normal way to set it.
6
+ */
4
7
  declare const QueryClientContext: import("preact").Context<QueryClient | undefined>;
8
+ /**
9
+ * The `useQueryClient` hook returns the current `QueryClient` instance.
10
+ *
11
+ * @param queryClient - Use this to use a custom `QueryClient`. Otherwise, the one from the nearest context will
12
+ * be used.
13
+ * @returns The current `QueryClient` instance.
14
+ * @throws If no `queryClient` argument is passed and no `QueryClientProvider` is found in the component tree.
15
+ */
5
16
  declare const useQueryClient: (queryClient?: QueryClient) => QueryClient;
17
+ /**
18
+ * The props accepted by `QueryClientProvider`.
19
+ */
6
20
  type QueryClientProviderProps = {
21
+ /**
22
+ * **Required**
23
+ *
24
+ * The `QueryClient` instance to provide.
25
+ */
7
26
  client: QueryClient;
27
+ /**
28
+ * The components that get access to the provided `QueryClient`.
29
+ */
8
30
  children?: ComponentChildren;
9
31
  };
32
+ /**
33
+ * Use the `QueryClientProvider` component to connect and provide a `QueryClient` to your application. Also
34
+ * calls `client.mount()`/`client.unmount()` as this component mounts/unmounts, which subscribes the client to
35
+ * focus/online events (resuming any paused mutations and refetching as needed when the app regains focus or
36
+ * comes back online).
37
+ *
38
+ * @returns The provided `children`, wrapped so they can read the `QueryClient` via `useQueryClient`.
39
+ *
40
+ * @example
41
+ * ```tsx
42
+ * import { QueryClient, QueryClientProvider } from '@tanstack/preact-query'
43
+ *
44
+ * const queryClient = new QueryClient()
45
+ *
46
+ * function App() {
47
+ * return <QueryClientProvider client={queryClient}>...</QueryClientProvider>
48
+ * }
49
+ * ```
50
+ */
10
51
  declare const QueryClientProvider: ({ client, children }: QueryClientProviderProps) => VNode;
11
52
  //#endregion
12
53
  export { QueryClientContext, QueryClientProvider, QueryClientProviderProps, useQueryClient };
@@ -1 +1 @@
1
- {"version":3,"file":"QueryClientProvider.d.cts","names":[],"sources":["../../src/QueryClientProvider.tsx"],"mappings":";;;cAKa,qCAAkB,QAAA;cAIlB,iBAAkB,cAAc,gBAAW;KAc5C;EACV,QAAQ;EACR,WAAW;;cAGA,wBAAuB,QAAA,YAGjC,6BAA2B"}
1
+ {"version":3,"file":"QueryClientProvider.d.cts","names":[],"sources":["../../src/QueryClientProvider.tsx"],"mappings":";;;;;;cAQa,qCAAkB,QAAA;;;;;;;;;cAYlB,iBAAkB,cAAc,gBAAW;;;;KAiB5C;;;;;;EAMV,QAAQ;;;;EAIR,WAAW;;;;;;;;;;;;;;;;;;;;;cAsBA,wBAAuB,QAAA,YAGjC,6BAA2B"}
@@ -1,12 +1,53 @@
1
1
  import { QueryClient } from "@tanstack/query-core";
2
2
  import { ComponentChildren, VNode } from "preact";
3
3
  //#region src/QueryClientProvider.d.ts
4
+ /**
5
+ * The context that `useQueryClient` reads from. `QueryClientProvider` is the normal way to set it.
6
+ */
4
7
  declare const QueryClientContext: import("preact").Context<QueryClient | undefined>;
8
+ /**
9
+ * The `useQueryClient` hook returns the current `QueryClient` instance.
10
+ *
11
+ * @param queryClient - Use this to use a custom `QueryClient`. Otherwise, the one from the nearest context will
12
+ * be used.
13
+ * @returns The current `QueryClient` instance.
14
+ * @throws If no `queryClient` argument is passed and no `QueryClientProvider` is found in the component tree.
15
+ */
5
16
  declare const useQueryClient: (queryClient?: QueryClient) => QueryClient;
17
+ /**
18
+ * The props accepted by `QueryClientProvider`.
19
+ */
6
20
  type QueryClientProviderProps = {
21
+ /**
22
+ * **Required**
23
+ *
24
+ * The `QueryClient` instance to provide.
25
+ */
7
26
  client: QueryClient;
27
+ /**
28
+ * The components that get access to the provided `QueryClient`.
29
+ */
8
30
  children?: ComponentChildren;
9
31
  };
32
+ /**
33
+ * Use the `QueryClientProvider` component to connect and provide a `QueryClient` to your application. Also
34
+ * calls `client.mount()`/`client.unmount()` as this component mounts/unmounts, which subscribes the client to
35
+ * focus/online events (resuming any paused mutations and refetching as needed when the app regains focus or
36
+ * comes back online).
37
+ *
38
+ * @returns The provided `children`, wrapped so they can read the `QueryClient` via `useQueryClient`.
39
+ *
40
+ * @example
41
+ * ```tsx
42
+ * import { QueryClient, QueryClientProvider } from '@tanstack/preact-query'
43
+ *
44
+ * const queryClient = new QueryClient()
45
+ *
46
+ * function App() {
47
+ * return <QueryClientProvider client={queryClient}>...</QueryClientProvider>
48
+ * }
49
+ * ```
50
+ */
10
51
  declare const QueryClientProvider: ({ client, children }: QueryClientProviderProps) => VNode;
11
52
  //#endregion
12
53
  export { QueryClientContext, QueryClientProvider, QueryClientProviderProps, useQueryClient };
@@ -1 +1 @@
1
- {"version":3,"file":"QueryClientProvider.d.ts","names":[],"sources":["../../src/QueryClientProvider.tsx"],"mappings":";;;cAKa,qCAAkB,QAAA;cAIlB,iBAAkB,cAAc,gBAAW;KAc5C;EACV,QAAQ;EACR,WAAW;;cAGA,wBAAuB,QAAA,YAGjC,6BAA2B"}
1
+ {"version":3,"file":"QueryClientProvider.d.ts","names":[],"sources":["../../src/QueryClientProvider.tsx"],"mappings":";;;;;;cAQa,qCAAkB,QAAA;;;;;;;;;cAYlB,iBAAkB,cAAc,gBAAW;;;;KAiB5C;;;;;;EAMV,QAAQ;;;;EAIR,WAAW;;;;;;;;;;;;;;;;;;;;;cAsBA,wBAAuB,QAAA,YAGjC,6BAA2B"}
@@ -2,13 +2,43 @@ import { createContext } from "preact";
2
2
  import { useContext, useEffect } from "preact/hooks";
3
3
  import { jsx } from "preact/jsx-runtime";
4
4
  //#region src/QueryClientProvider.tsx
5
+ /**
6
+ * The context that `useQueryClient` reads from. `QueryClientProvider` is the normal way to set it.
7
+ */
5
8
  const QueryClientContext = createContext(void 0);
9
+ /**
10
+ * The `useQueryClient` hook returns the current `QueryClient` instance.
11
+ *
12
+ * @param queryClient - Use this to use a custom `QueryClient`. Otherwise, the one from the nearest context will
13
+ * be used.
14
+ * @returns The current `QueryClient` instance.
15
+ * @throws If no `queryClient` argument is passed and no `QueryClientProvider` is found in the component tree.
16
+ */
6
17
  const useQueryClient = (queryClient) => {
7
18
  const client = useContext(QueryClientContext);
8
19
  if (queryClient) return queryClient;
9
20
  if (!client) throw new Error("No QueryClient set, use QueryClientProvider to set one");
10
21
  return client;
11
22
  };
23
+ /**
24
+ * Use the `QueryClientProvider` component to connect and provide a `QueryClient` to your application. Also
25
+ * calls `client.mount()`/`client.unmount()` as this component mounts/unmounts, which subscribes the client to
26
+ * focus/online events (resuming any paused mutations and refetching as needed when the app regains focus or
27
+ * comes back online).
28
+ *
29
+ * @returns The provided `children`, wrapped so they can read the `QueryClient` via `useQueryClient`.
30
+ *
31
+ * @example
32
+ * ```tsx
33
+ * import { QueryClient, QueryClientProvider } from '@tanstack/preact-query'
34
+ *
35
+ * const queryClient = new QueryClient()
36
+ *
37
+ * function App() {
38
+ * return <QueryClientProvider client={queryClient}>...</QueryClientProvider>
39
+ * }
40
+ * ```
41
+ */
12
42
  const QueryClientProvider = ({ client, children }) => {
13
43
  useEffect(() => {
14
44
  client.mount();
@@ -1 +1 @@
1
- {"version":3,"file":"QueryClientProvider.js","names":[],"sources":["../../src/QueryClientProvider.tsx"],"sourcesContent":["import type { QueryClient } from '@tanstack/query-core'\nimport { createContext } from 'preact'\nimport type { ComponentChildren, VNode } from 'preact'\nimport { useContext, useEffect } from 'preact/hooks'\n\nexport const QueryClientContext = createContext<QueryClient | undefined>(\n undefined,\n)\n\nexport const useQueryClient = (queryClient?: QueryClient) => {\n const client = useContext(QueryClientContext)\n\n if (queryClient) {\n return queryClient\n }\n\n if (!client) {\n throw new Error('No QueryClient set, use QueryClientProvider to set one')\n }\n\n return client\n}\n\nexport type QueryClientProviderProps = {\n client: QueryClient\n children?: ComponentChildren\n}\n\nexport const QueryClientProvider = ({\n client,\n children,\n}: QueryClientProviderProps): VNode => {\n useEffect(() => {\n client.mount()\n return () => {\n client.unmount()\n }\n }, [client])\n\n return (\n <QueryClientContext.Provider value={client}>\n {children}\n </QueryClientContext.Provider>\n )\n}\n"],"mappings":";;;;AAKA,MAAa,qBAAqB,cAChC,KAAA,CACF;AAEA,MAAa,kBAAkB,gBAA8B;CAC3D,MAAM,SAAS,WAAW,kBAAkB;CAE5C,IAAI,aACF,OAAO;CAGT,IAAI,CAAC,QACH,MAAM,IAAI,MAAM,wDAAwD;CAG1E,OAAO;AACT;AAOA,MAAa,uBAAuB,EAClC,QACA,eACqC;CACrC,gBAAgB;EACd,OAAO,MAAM;EACb,aAAa;GACX,OAAO,QAAQ;EACjB;CACF,GAAG,CAAC,MAAM,CAAC;CAEX,OACE,oBAAC,mBAAmB,UAApB;EAA6B,OAAO;EACjC;CAC0B,CAAA;AAEjC"}
1
+ {"version":3,"file":"QueryClientProvider.js","names":[],"sources":["../../src/QueryClientProvider.tsx"],"sourcesContent":["import type { QueryClient } from '@tanstack/query-core'\nimport { createContext } from 'preact'\nimport type { ComponentChildren, VNode } from 'preact'\nimport { useContext, useEffect } from 'preact/hooks'\n\n/**\n * The context that `useQueryClient` reads from. `QueryClientProvider` is the normal way to set it.\n */\nexport const QueryClientContext = createContext<QueryClient | undefined>(\n undefined,\n)\n\n/**\n * The `useQueryClient` hook returns the current `QueryClient` instance.\n *\n * @param queryClient - Use this to use a custom `QueryClient`. Otherwise, the one from the nearest context will\n * be used.\n * @returns The current `QueryClient` instance.\n * @throws If no `queryClient` argument is passed and no `QueryClientProvider` is found in the component tree.\n */\nexport const useQueryClient = (queryClient?: QueryClient) => {\n const client = useContext(QueryClientContext)\n\n if (queryClient) {\n return queryClient\n }\n\n if (!client) {\n throw new Error('No QueryClient set, use QueryClientProvider to set one')\n }\n\n return client\n}\n\n/**\n * The props accepted by `QueryClientProvider`.\n */\nexport type QueryClientProviderProps = {\n /**\n * **Required**\n *\n * The `QueryClient` instance to provide.\n */\n client: QueryClient\n /**\n * The components that get access to the provided `QueryClient`.\n */\n children?: ComponentChildren\n}\n\n/**\n * Use the `QueryClientProvider` component to connect and provide a `QueryClient` to your application. Also\n * calls `client.mount()`/`client.unmount()` as this component mounts/unmounts, which subscribes the client to\n * focus/online events (resuming any paused mutations and refetching as needed when the app regains focus or\n * comes back online).\n *\n * @returns The provided `children`, wrapped so they can read the `QueryClient` via `useQueryClient`.\n *\n * @example\n * ```tsx\n * import { QueryClient, QueryClientProvider } from '@tanstack/preact-query'\n *\n * const queryClient = new QueryClient()\n *\n * function App() {\n * return <QueryClientProvider client={queryClient}>...</QueryClientProvider>\n * }\n * ```\n */\nexport const QueryClientProvider = ({\n client,\n children,\n}: QueryClientProviderProps): VNode => {\n useEffect(() => {\n client.mount()\n return () => {\n client.unmount()\n }\n }, [client])\n\n return (\n <QueryClientContext.Provider value={client}>\n {children}\n </QueryClientContext.Provider>\n )\n}\n"],"mappings":";;;;;;;AAQA,MAAa,qBAAqB,cAChC,KAAA,CACF;;;;;;;;;AAUA,MAAa,kBAAkB,gBAA8B;CAC3D,MAAM,SAAS,WAAW,kBAAkB;CAE5C,IAAI,aACF,OAAO;CAGT,IAAI,CAAC,QACH,MAAM,IAAI,MAAM,wDAAwD;CAG1E,OAAO;AACT;;;;;;;;;;;;;;;;;;;;AAqCA,MAAa,uBAAuB,EAClC,QACA,eACqC;CACrC,gBAAgB;EACd,OAAO,MAAM;EACb,aAAa;GACX,OAAO,QAAQ;EACjB;CACF,GAAG,CAAC,MAAM,CAAC;CAEX,OACE,oBAAC,mBAAmB,UAApB;EAA6B,OAAO;EACjC;CAC0B,CAAA;AAEjC"}
@@ -18,7 +18,84 @@ function createValue() {
18
18
  };
19
19
  }
20
20
  const QueryErrorResetBoundaryContext = (0, preact.createContext)(createValue());
21
+ /**
22
+ * This hook will reset any query errors within the closest `QueryErrorResetBoundary`. If there is no boundary
23
+ * defined it will reset them globally.
24
+ *
25
+ * @returns The boundary's {@link QueryErrorResetBoundaryValue}.
26
+ *
27
+ * @example
28
+ * ```tsx
29
+ * import { useErrorBoundary } from 'preact/hooks'
30
+ * import type { ComponentChildren } from 'preact'
31
+ * import { useQueryErrorResetBoundary } from '@tanstack/preact-query'
32
+ *
33
+ * function App({ children }: { children: ComponentChildren }) {
34
+ * const { reset } = useQueryErrorResetBoundary()
35
+ * const [error, resetError] = useErrorBoundary(() => reset())
36
+ *
37
+ * if (error) {
38
+ * return (
39
+ * <div>
40
+ * There was an error!
41
+ * <button onClick={() => resetError()}>Try again</button>
42
+ * </div>
43
+ * )
44
+ * }
45
+ *
46
+ * return children
47
+ * }
48
+ * ```
49
+ */
21
50
  const useQueryErrorResetBoundary = () => (0, preact_hooks.useContext)(QueryErrorResetBoundaryContext);
51
+ /**
52
+ * When using `suspense` or `throwOnError` in your queries, you need a way to let queries know that you want to
53
+ * try again when re-rendering after some error occurred. With the `QueryErrorResetBoundary` component you can
54
+ * reset any query errors within the boundaries of the component.
55
+ *
56
+ * @returns The `children`, rendered as-is, or called with the boundary's {@link QueryErrorResetBoundaryValue}
57
+ * if `children` is a function.
58
+ *
59
+ * @example
60
+ * ```tsx
61
+ * import { useErrorBoundary } from 'preact/hooks'
62
+ * import type { ComponentChildren } from 'preact'
63
+ * import { QueryErrorResetBoundary } from '@tanstack/preact-query'
64
+ *
65
+ * function ErrorBoundary({
66
+ * children,
67
+ * reset,
68
+ * }: {
69
+ * children: ComponentChildren
70
+ * reset: () => void
71
+ * }) {
72
+ * const [error, resetError] = useErrorBoundary(() => reset())
73
+ *
74
+ * if (error) {
75
+ * return (
76
+ * <div>
77
+ * There was an error!
78
+ * <button onClick={() => resetError()}>Try again</button>
79
+ * </div>
80
+ * )
81
+ * }
82
+ *
83
+ * return children
84
+ * }
85
+ *
86
+ * function App() {
87
+ * return (
88
+ * <QueryErrorResetBoundary>
89
+ * {({ reset }) => (
90
+ * <ErrorBoundary reset={reset}>
91
+ * <Page />
92
+ * </ErrorBoundary>
93
+ * )}
94
+ * </QueryErrorResetBoundary>
95
+ * )
96
+ * }
97
+ * ```
98
+ */
22
99
  const QueryErrorResetBoundary = ({ children }) => {
23
100
  const [value] = (0, preact_hooks.useState)(() => createValue());
24
101
  return /* @__PURE__ */ (0, preact_jsx_runtime.jsx)(QueryErrorResetBoundaryContext.Provider, {
@@ -1 +1 @@
1
- {"version":3,"file":"QueryErrorResetBoundary.cjs","names":["createContext","useContext","useState"],"sources":["../../src/QueryErrorResetBoundary.tsx"],"sourcesContent":["import { createContext } from 'preact'\nimport type { ComponentChildren } from 'preact'\nimport { useContext, useState } from 'preact/hooks'\n\n// CONTEXT\nexport type QueryErrorResetFunction = () => void\nexport type QueryErrorIsResetFunction = () => boolean\nexport type QueryErrorClearResetFunction = () => void\n\nexport interface QueryErrorResetBoundaryValue {\n clearReset: QueryErrorClearResetFunction\n isReset: QueryErrorIsResetFunction\n reset: QueryErrorResetFunction\n}\n\nfunction createValue(): QueryErrorResetBoundaryValue {\n let isReset = false\n return {\n clearReset: () => {\n isReset = false\n },\n reset: () => {\n isReset = true\n },\n isReset: () => {\n return isReset\n },\n }\n}\n\nconst QueryErrorResetBoundaryContext = createContext(createValue())\n\n// HOOK\n\nexport const useQueryErrorResetBoundary = () =>\n useContext(QueryErrorResetBoundaryContext)\n\n// COMPONENT\n\nexport type QueryErrorResetBoundaryFunction = (\n value: QueryErrorResetBoundaryValue,\n) => ComponentChildren\n\nexport interface QueryErrorResetBoundaryProps {\n children: QueryErrorResetBoundaryFunction | ComponentChildren\n}\n\nexport const QueryErrorResetBoundary = ({\n children,\n}: QueryErrorResetBoundaryProps) => {\n const [value] = useState(() => createValue())\n return (\n <QueryErrorResetBoundaryContext.Provider value={value}>\n {typeof children === 'function' ? children(value) : children}\n </QueryErrorResetBoundaryContext.Provider>\n )\n}\n"],"mappings":";;;;;AAeA,SAAS,cAA4C;CACnD,IAAI,UAAU;CACd,OAAO;EACL,kBAAkB;GAChB,UAAU;EACZ;EACA,aAAa;GACX,UAAU;EACZ;EACA,eAAe;GACb,OAAO;EACT;CACF;AACF;AAEA,MAAM,kCAAA,GAAiCA,OAAAA,cAAAA,CAAc,YAAY,CAAC;AAIlE,MAAa,oCAAA,GACXC,aAAAA,WAAAA,CAAW,8BAA8B;AAY3C,MAAa,2BAA2B,EACtC,eACkC;CAClC,MAAM,CAAC,UAAA,GAASC,aAAAA,SAAAA,OAAe,YAAY,CAAC;CAC5C,OACE,iBAAA,GAAA,mBAAA,IAAA,CAAC,+BAA+B,UAAhC;EAAgD;EAC7C,UAAA,OAAO,aAAa,aAAa,SAAS,KAAK,IAAI;CACb,CAAA;AAE7C"}
1
+ {"version":3,"file":"QueryErrorResetBoundary.cjs","names":["createContext","useContext","useState"],"sources":["../../src/QueryErrorResetBoundary.tsx"],"sourcesContent":["import { createContext } from 'preact'\nimport type { ComponentChildren } from 'preact'\nimport { useContext, useState } from 'preact/hooks'\n\n// CONTEXT\n\n/**\n * Resets any query errors within the boundary, so queries know they can try again.\n */\nexport type QueryErrorResetFunction = () => void\n\n/**\n * Returns whether the boundary has been reset and not yet cleared.\n */\nexport type QueryErrorIsResetFunction = () => boolean\n\n/**\n * Clears the reset state, so queries know not to try again until the boundary is reset again.\n */\nexport type QueryErrorClearResetFunction = () => void\n\nexport interface QueryErrorResetBoundaryValue {\n /**\n * Clears the reset state, so queries know not to try again until the boundary is reset again.\n */\n clearReset: QueryErrorClearResetFunction\n /**\n * Returns whether the boundary has been reset and not yet cleared.\n */\n isReset: QueryErrorIsResetFunction\n /**\n * Resets any query errors within the boundary, so queries know they can try again.\n */\n reset: QueryErrorResetFunction\n}\n\nfunction createValue(): QueryErrorResetBoundaryValue {\n let isReset = false\n return {\n clearReset: () => {\n isReset = false\n },\n reset: () => {\n isReset = true\n },\n isReset: () => {\n return isReset\n },\n }\n}\n\nconst QueryErrorResetBoundaryContext = createContext(createValue())\n\n// HOOK\n\n/**\n * This hook will reset any query errors within the closest `QueryErrorResetBoundary`. If there is no boundary\n * defined it will reset them globally.\n *\n * @returns The boundary's {@link QueryErrorResetBoundaryValue}.\n *\n * @example\n * ```tsx\n * import { useErrorBoundary } from 'preact/hooks'\n * import type { ComponentChildren } from 'preact'\n * import { useQueryErrorResetBoundary } from '@tanstack/preact-query'\n *\n * function App({ children }: { children: ComponentChildren }) {\n * const { reset } = useQueryErrorResetBoundary()\n * const [error, resetError] = useErrorBoundary(() => reset())\n *\n * if (error) {\n * return (\n * <div>\n * There was an error!\n * <button onClick={() => resetError()}>Try again</button>\n * </div>\n * )\n * }\n *\n * return children\n * }\n * ```\n */\nexport const useQueryErrorResetBoundary = () =>\n useContext(QueryErrorResetBoundaryContext)\n\n// COMPONENT\n\n/**\n * A render-prop function usable as `children` on `QueryErrorResetBoundary`.\n *\n * @param value - The boundary's {@link QueryErrorResetBoundaryValue}.\n * @returns The children to render.\n */\nexport type QueryErrorResetBoundaryFunction = (\n value: QueryErrorResetBoundaryValue,\n) => ComponentChildren\n\n/**\n * The props accepted by `QueryErrorResetBoundary`.\n */\nexport interface QueryErrorResetBoundaryProps {\n /**\n * Either a plain node, or a function that receives the boundary's {@link QueryErrorResetBoundaryValue} and\n * returns a node.\n */\n children: QueryErrorResetBoundaryFunction | ComponentChildren\n}\n\n/**\n * When using `suspense` or `throwOnError` in your queries, you need a way to let queries know that you want to\n * try again when re-rendering after some error occurred. With the `QueryErrorResetBoundary` component you can\n * reset any query errors within the boundaries of the component.\n *\n * @returns The `children`, rendered as-is, or called with the boundary's {@link QueryErrorResetBoundaryValue}\n * if `children` is a function.\n *\n * @example\n * ```tsx\n * import { useErrorBoundary } from 'preact/hooks'\n * import type { ComponentChildren } from 'preact'\n * import { QueryErrorResetBoundary } from '@tanstack/preact-query'\n *\n * function ErrorBoundary({\n * children,\n * reset,\n * }: {\n * children: ComponentChildren\n * reset: () => void\n * }) {\n * const [error, resetError] = useErrorBoundary(() => reset())\n *\n * if (error) {\n * return (\n * <div>\n * There was an error!\n * <button onClick={() => resetError()}>Try again</button>\n * </div>\n * )\n * }\n *\n * return children\n * }\n *\n * function App() {\n * return (\n * <QueryErrorResetBoundary>\n * {({ reset }) => (\n * <ErrorBoundary reset={reset}>\n * <Page />\n * </ErrorBoundary>\n * )}\n * </QueryErrorResetBoundary>\n * )\n * }\n * ```\n */\nexport const QueryErrorResetBoundary = ({\n children,\n}: QueryErrorResetBoundaryProps) => {\n const [value] = useState(() => createValue())\n return (\n <QueryErrorResetBoundaryContext.Provider value={value}>\n {typeof children === 'function' ? children(value) : children}\n </QueryErrorResetBoundaryContext.Provider>\n )\n}\n"],"mappings":";;;;;AAoCA,SAAS,cAA4C;CACnD,IAAI,UAAU;CACd,OAAO;EACL,kBAAkB;GAChB,UAAU;EACZ;EACA,aAAa;GACX,UAAU;EACZ;EACA,eAAe;GACb,OAAO;EACT;CACF;AACF;AAEA,MAAM,kCAAA,GAAiCA,OAAAA,cAAAA,CAAc,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiClE,MAAa,oCAAA,GACXC,aAAAA,WAAAA,CAAW,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyE3C,MAAa,2BAA2B,EACtC,eACkC;CAClC,MAAM,CAAC,UAAA,GAASC,aAAAA,SAAAA,OAAe,YAAY,CAAC;CAC5C,OACE,iBAAA,GAAA,mBAAA,IAAA,CAAC,+BAA+B,UAAhC;EAAgD;EAC7C,UAAA,OAAO,aAAa,aAAa,SAAS,KAAK,IAAI;CACb,CAAA;AAE7C"}
@@ -1,18 +1,126 @@
1
1
  import { ComponentChildren } from "preact";
2
2
  //#region src/QueryErrorResetBoundary.d.ts
3
+ /**
4
+ * Resets any query errors within the boundary, so queries know they can try again.
5
+ */
3
6
  type QueryErrorResetFunction = () => void;
7
+ /**
8
+ * Returns whether the boundary has been reset and not yet cleared.
9
+ */
4
10
  type QueryErrorIsResetFunction = () => boolean;
11
+ /**
12
+ * Clears the reset state, so queries know not to try again until the boundary is reset again.
13
+ */
5
14
  type QueryErrorClearResetFunction = () => void;
6
15
  interface QueryErrorResetBoundaryValue {
16
+ /**
17
+ * Clears the reset state, so queries know not to try again until the boundary is reset again.
18
+ */
7
19
  clearReset: QueryErrorClearResetFunction;
20
+ /**
21
+ * Returns whether the boundary has been reset and not yet cleared.
22
+ */
8
23
  isReset: QueryErrorIsResetFunction;
24
+ /**
25
+ * Resets any query errors within the boundary, so queries know they can try again.
26
+ */
9
27
  reset: QueryErrorResetFunction;
10
28
  }
29
+ /**
30
+ * This hook will reset any query errors within the closest `QueryErrorResetBoundary`. If there is no boundary
31
+ * defined it will reset them globally.
32
+ *
33
+ * @returns The boundary's {@link QueryErrorResetBoundaryValue}.
34
+ *
35
+ * @example
36
+ * ```tsx
37
+ * import { useErrorBoundary } from 'preact/hooks'
38
+ * import type { ComponentChildren } from 'preact'
39
+ * import { useQueryErrorResetBoundary } from '@tanstack/preact-query'
40
+ *
41
+ * function App({ children }: { children: ComponentChildren }) {
42
+ * const { reset } = useQueryErrorResetBoundary()
43
+ * const [error, resetError] = useErrorBoundary(() => reset())
44
+ *
45
+ * if (error) {
46
+ * return (
47
+ * <div>
48
+ * There was an error!
49
+ * <button onClick={() => resetError()}>Try again</button>
50
+ * </div>
51
+ * )
52
+ * }
53
+ *
54
+ * return children
55
+ * }
56
+ * ```
57
+ */
11
58
  declare const useQueryErrorResetBoundary: () => QueryErrorResetBoundaryValue;
59
+ /**
60
+ * A render-prop function usable as `children` on `QueryErrorResetBoundary`.
61
+ *
62
+ * @param value - The boundary's {@link QueryErrorResetBoundaryValue}.
63
+ * @returns The children to render.
64
+ */
12
65
  type QueryErrorResetBoundaryFunction = (value: QueryErrorResetBoundaryValue) => ComponentChildren;
66
+ /**
67
+ * The props accepted by `QueryErrorResetBoundary`.
68
+ */
13
69
  interface QueryErrorResetBoundaryProps {
70
+ /**
71
+ * Either a plain node, or a function that receives the boundary's {@link QueryErrorResetBoundaryValue} and
72
+ * returns a node.
73
+ */
14
74
  children: QueryErrorResetBoundaryFunction | ComponentChildren;
15
75
  }
76
+ /**
77
+ * When using `suspense` or `throwOnError` in your queries, you need a way to let queries know that you want to
78
+ * try again when re-rendering after some error occurred. With the `QueryErrorResetBoundary` component you can
79
+ * reset any query errors within the boundaries of the component.
80
+ *
81
+ * @returns The `children`, rendered as-is, or called with the boundary's {@link QueryErrorResetBoundaryValue}
82
+ * if `children` is a function.
83
+ *
84
+ * @example
85
+ * ```tsx
86
+ * import { useErrorBoundary } from 'preact/hooks'
87
+ * import type { ComponentChildren } from 'preact'
88
+ * import { QueryErrorResetBoundary } from '@tanstack/preact-query'
89
+ *
90
+ * function ErrorBoundary({
91
+ * children,
92
+ * reset,
93
+ * }: {
94
+ * children: ComponentChildren
95
+ * reset: () => void
96
+ * }) {
97
+ * const [error, resetError] = useErrorBoundary(() => reset())
98
+ *
99
+ * if (error) {
100
+ * return (
101
+ * <div>
102
+ * There was an error!
103
+ * <button onClick={() => resetError()}>Try again</button>
104
+ * </div>
105
+ * )
106
+ * }
107
+ *
108
+ * return children
109
+ * }
110
+ *
111
+ * function App() {
112
+ * return (
113
+ * <QueryErrorResetBoundary>
114
+ * {({ reset }) => (
115
+ * <ErrorBoundary reset={reset}>
116
+ * <Page />
117
+ * </ErrorBoundary>
118
+ * )}
119
+ * </QueryErrorResetBoundary>
120
+ * )
121
+ * }
122
+ * ```
123
+ */
16
124
  declare const QueryErrorResetBoundary: ({ children }: QueryErrorResetBoundaryProps) => import("preact").JSX.Element;
17
125
  //#endregion
18
126
  export { QueryErrorClearResetFunction, QueryErrorIsResetFunction, QueryErrorResetBoundary, QueryErrorResetBoundaryFunction, QueryErrorResetBoundaryProps, QueryErrorResetBoundaryValue, QueryErrorResetFunction, useQueryErrorResetBoundary };
@@ -1 +1 @@
1
- {"version":3,"file":"QueryErrorResetBoundary.d.cts","names":[],"sources":["../../src/QueryErrorResetBoundary.tsx"],"mappings":";;KAKY;KACA;KACA;UAEK;EACf,YAAY;EACZ,SAAS;EACT,OAAO;;cAsBI,kCAA0B;KAK3B,mCACV,OAAO,iCACJ;UAEY;EACf,UAAU,kCAAkC;;cAGjC,4BAA2B,YAErC,kDAA4B,IAAA"}
1
+ {"version":3,"file":"QueryErrorResetBoundary.d.cts","names":[],"sources":["../../src/QueryErrorResetBoundary.tsx"],"mappings":";;;;;KASY;;;;KAKA;;;;KAKA;UAEK;;;;EAIf,YAAY;;;;EAIZ,SAAS;;;;EAIT,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmDI,kCAA0B;;;;;;;KAW3B,mCACV,OAAO,iCACJ;;;;UAKY;;;;;EAKf,UAAU,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmDjC,4BAA2B,YAErC,kDAA4B,IAAA"}
@@ -1,18 +1,126 @@
1
1
  import { ComponentChildren } from "preact";
2
2
  //#region src/QueryErrorResetBoundary.d.ts
3
+ /**
4
+ * Resets any query errors within the boundary, so queries know they can try again.
5
+ */
3
6
  type QueryErrorResetFunction = () => void;
7
+ /**
8
+ * Returns whether the boundary has been reset and not yet cleared.
9
+ */
4
10
  type QueryErrorIsResetFunction = () => boolean;
11
+ /**
12
+ * Clears the reset state, so queries know not to try again until the boundary is reset again.
13
+ */
5
14
  type QueryErrorClearResetFunction = () => void;
6
15
  interface QueryErrorResetBoundaryValue {
16
+ /**
17
+ * Clears the reset state, so queries know not to try again until the boundary is reset again.
18
+ */
7
19
  clearReset: QueryErrorClearResetFunction;
20
+ /**
21
+ * Returns whether the boundary has been reset and not yet cleared.
22
+ */
8
23
  isReset: QueryErrorIsResetFunction;
24
+ /**
25
+ * Resets any query errors within the boundary, so queries know they can try again.
26
+ */
9
27
  reset: QueryErrorResetFunction;
10
28
  }
29
+ /**
30
+ * This hook will reset any query errors within the closest `QueryErrorResetBoundary`. If there is no boundary
31
+ * defined it will reset them globally.
32
+ *
33
+ * @returns The boundary's {@link QueryErrorResetBoundaryValue}.
34
+ *
35
+ * @example
36
+ * ```tsx
37
+ * import { useErrorBoundary } from 'preact/hooks'
38
+ * import type { ComponentChildren } from 'preact'
39
+ * import { useQueryErrorResetBoundary } from '@tanstack/preact-query'
40
+ *
41
+ * function App({ children }: { children: ComponentChildren }) {
42
+ * const { reset } = useQueryErrorResetBoundary()
43
+ * const [error, resetError] = useErrorBoundary(() => reset())
44
+ *
45
+ * if (error) {
46
+ * return (
47
+ * <div>
48
+ * There was an error!
49
+ * <button onClick={() => resetError()}>Try again</button>
50
+ * </div>
51
+ * )
52
+ * }
53
+ *
54
+ * return children
55
+ * }
56
+ * ```
57
+ */
11
58
  declare const useQueryErrorResetBoundary: () => QueryErrorResetBoundaryValue;
59
+ /**
60
+ * A render-prop function usable as `children` on `QueryErrorResetBoundary`.
61
+ *
62
+ * @param value - The boundary's {@link QueryErrorResetBoundaryValue}.
63
+ * @returns The children to render.
64
+ */
12
65
  type QueryErrorResetBoundaryFunction = (value: QueryErrorResetBoundaryValue) => ComponentChildren;
66
+ /**
67
+ * The props accepted by `QueryErrorResetBoundary`.
68
+ */
13
69
  interface QueryErrorResetBoundaryProps {
70
+ /**
71
+ * Either a plain node, or a function that receives the boundary's {@link QueryErrorResetBoundaryValue} and
72
+ * returns a node.
73
+ */
14
74
  children: QueryErrorResetBoundaryFunction | ComponentChildren;
15
75
  }
76
+ /**
77
+ * When using `suspense` or `throwOnError` in your queries, you need a way to let queries know that you want to
78
+ * try again when re-rendering after some error occurred. With the `QueryErrorResetBoundary` component you can
79
+ * reset any query errors within the boundaries of the component.
80
+ *
81
+ * @returns The `children`, rendered as-is, or called with the boundary's {@link QueryErrorResetBoundaryValue}
82
+ * if `children` is a function.
83
+ *
84
+ * @example
85
+ * ```tsx
86
+ * import { useErrorBoundary } from 'preact/hooks'
87
+ * import type { ComponentChildren } from 'preact'
88
+ * import { QueryErrorResetBoundary } from '@tanstack/preact-query'
89
+ *
90
+ * function ErrorBoundary({
91
+ * children,
92
+ * reset,
93
+ * }: {
94
+ * children: ComponentChildren
95
+ * reset: () => void
96
+ * }) {
97
+ * const [error, resetError] = useErrorBoundary(() => reset())
98
+ *
99
+ * if (error) {
100
+ * return (
101
+ * <div>
102
+ * There was an error!
103
+ * <button onClick={() => resetError()}>Try again</button>
104
+ * </div>
105
+ * )
106
+ * }
107
+ *
108
+ * return children
109
+ * }
110
+ *
111
+ * function App() {
112
+ * return (
113
+ * <QueryErrorResetBoundary>
114
+ * {({ reset }) => (
115
+ * <ErrorBoundary reset={reset}>
116
+ * <Page />
117
+ * </ErrorBoundary>
118
+ * )}
119
+ * </QueryErrorResetBoundary>
120
+ * )
121
+ * }
122
+ * ```
123
+ */
16
124
  declare const QueryErrorResetBoundary: ({ children }: QueryErrorResetBoundaryProps) => import("preact").JSX.Element;
17
125
  //#endregion
18
126
  export { QueryErrorClearResetFunction, QueryErrorIsResetFunction, QueryErrorResetBoundary, QueryErrorResetBoundaryFunction, QueryErrorResetBoundaryProps, QueryErrorResetBoundaryValue, QueryErrorResetFunction, useQueryErrorResetBoundary };
@@ -1 +1 @@
1
- {"version":3,"file":"QueryErrorResetBoundary.d.ts","names":[],"sources":["../../src/QueryErrorResetBoundary.tsx"],"mappings":";;KAKY;KACA;KACA;UAEK;EACf,YAAY;EACZ,SAAS;EACT,OAAO;;cAsBI,kCAA0B;KAK3B,mCACV,OAAO,iCACJ;UAEY;EACf,UAAU,kCAAkC;;cAGjC,4BAA2B,YAErC,kDAA4B,IAAA"}
1
+ {"version":3,"file":"QueryErrorResetBoundary.d.ts","names":[],"sources":["../../src/QueryErrorResetBoundary.tsx"],"mappings":";;;;;KASY;;;;KAKA;;;;KAKA;UAEK;;;;EAIf,YAAY;;;;EAIZ,SAAS;;;;EAIT,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmDI,kCAA0B;;;;;;;KAW3B,mCACV,OAAO,iCACJ;;;;UAKY;;;;;EAKf,UAAU,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmDjC,4BAA2B,YAErC,kDAA4B,IAAA"}
@@ -17,7 +17,84 @@ function createValue() {
17
17
  };
18
18
  }
19
19
  const QueryErrorResetBoundaryContext = createContext(createValue());
20
+ /**
21
+ * This hook will reset any query errors within the closest `QueryErrorResetBoundary`. If there is no boundary
22
+ * defined it will reset them globally.
23
+ *
24
+ * @returns The boundary's {@link QueryErrorResetBoundaryValue}.
25
+ *
26
+ * @example
27
+ * ```tsx
28
+ * import { useErrorBoundary } from 'preact/hooks'
29
+ * import type { ComponentChildren } from 'preact'
30
+ * import { useQueryErrorResetBoundary } from '@tanstack/preact-query'
31
+ *
32
+ * function App({ children }: { children: ComponentChildren }) {
33
+ * const { reset } = useQueryErrorResetBoundary()
34
+ * const [error, resetError] = useErrorBoundary(() => reset())
35
+ *
36
+ * if (error) {
37
+ * return (
38
+ * <div>
39
+ * There was an error!
40
+ * <button onClick={() => resetError()}>Try again</button>
41
+ * </div>
42
+ * )
43
+ * }
44
+ *
45
+ * return children
46
+ * }
47
+ * ```
48
+ */
20
49
  const useQueryErrorResetBoundary = () => useContext(QueryErrorResetBoundaryContext);
50
+ /**
51
+ * When using `suspense` or `throwOnError` in your queries, you need a way to let queries know that you want to
52
+ * try again when re-rendering after some error occurred. With the `QueryErrorResetBoundary` component you can
53
+ * reset any query errors within the boundaries of the component.
54
+ *
55
+ * @returns The `children`, rendered as-is, or called with the boundary's {@link QueryErrorResetBoundaryValue}
56
+ * if `children` is a function.
57
+ *
58
+ * @example
59
+ * ```tsx
60
+ * import { useErrorBoundary } from 'preact/hooks'
61
+ * import type { ComponentChildren } from 'preact'
62
+ * import { QueryErrorResetBoundary } from '@tanstack/preact-query'
63
+ *
64
+ * function ErrorBoundary({
65
+ * children,
66
+ * reset,
67
+ * }: {
68
+ * children: ComponentChildren
69
+ * reset: () => void
70
+ * }) {
71
+ * const [error, resetError] = useErrorBoundary(() => reset())
72
+ *
73
+ * if (error) {
74
+ * return (
75
+ * <div>
76
+ * There was an error!
77
+ * <button onClick={() => resetError()}>Try again</button>
78
+ * </div>
79
+ * )
80
+ * }
81
+ *
82
+ * return children
83
+ * }
84
+ *
85
+ * function App() {
86
+ * return (
87
+ * <QueryErrorResetBoundary>
88
+ * {({ reset }) => (
89
+ * <ErrorBoundary reset={reset}>
90
+ * <Page />
91
+ * </ErrorBoundary>
92
+ * )}
93
+ * </QueryErrorResetBoundary>
94
+ * )
95
+ * }
96
+ * ```
97
+ */
21
98
  const QueryErrorResetBoundary = ({ children }) => {
22
99
  const [value] = useState(() => createValue());
23
100
  return /* @__PURE__ */ jsx(QueryErrorResetBoundaryContext.Provider, {
@@ -1 +1 @@
1
- {"version":3,"file":"QueryErrorResetBoundary.js","names":[],"sources":["../../src/QueryErrorResetBoundary.tsx"],"sourcesContent":["import { createContext } from 'preact'\nimport type { ComponentChildren } from 'preact'\nimport { useContext, useState } from 'preact/hooks'\n\n// CONTEXT\nexport type QueryErrorResetFunction = () => void\nexport type QueryErrorIsResetFunction = () => boolean\nexport type QueryErrorClearResetFunction = () => void\n\nexport interface QueryErrorResetBoundaryValue {\n clearReset: QueryErrorClearResetFunction\n isReset: QueryErrorIsResetFunction\n reset: QueryErrorResetFunction\n}\n\nfunction createValue(): QueryErrorResetBoundaryValue {\n let isReset = false\n return {\n clearReset: () => {\n isReset = false\n },\n reset: () => {\n isReset = true\n },\n isReset: () => {\n return isReset\n },\n }\n}\n\nconst QueryErrorResetBoundaryContext = createContext(createValue())\n\n// HOOK\n\nexport const useQueryErrorResetBoundary = () =>\n useContext(QueryErrorResetBoundaryContext)\n\n// COMPONENT\n\nexport type QueryErrorResetBoundaryFunction = (\n value: QueryErrorResetBoundaryValue,\n) => ComponentChildren\n\nexport interface QueryErrorResetBoundaryProps {\n children: QueryErrorResetBoundaryFunction | ComponentChildren\n}\n\nexport const QueryErrorResetBoundary = ({\n children,\n}: QueryErrorResetBoundaryProps) => {\n const [value] = useState(() => createValue())\n return (\n <QueryErrorResetBoundaryContext.Provider value={value}>\n {typeof children === 'function' ? children(value) : children}\n </QueryErrorResetBoundaryContext.Provider>\n )\n}\n"],"mappings":";;;;AAeA,SAAS,cAA4C;CACnD,IAAI,UAAU;CACd,OAAO;EACL,kBAAkB;GAChB,UAAU;EACZ;EACA,aAAa;GACX,UAAU;EACZ;EACA,eAAe;GACb,OAAO;EACT;CACF;AACF;AAEA,MAAM,iCAAiC,cAAc,YAAY,CAAC;AAIlE,MAAa,mCACX,WAAW,8BAA8B;AAY3C,MAAa,2BAA2B,EACtC,eACkC;CAClC,MAAM,CAAC,SAAS,eAAe,YAAY,CAAC;CAC5C,OACE,oBAAC,+BAA+B,UAAhC;EAAgD;EAC7C,UAAA,OAAO,aAAa,aAAa,SAAS,KAAK,IAAI;CACb,CAAA;AAE7C"}
1
+ {"version":3,"file":"QueryErrorResetBoundary.js","names":[],"sources":["../../src/QueryErrorResetBoundary.tsx"],"sourcesContent":["import { createContext } from 'preact'\nimport type { ComponentChildren } from 'preact'\nimport { useContext, useState } from 'preact/hooks'\n\n// CONTEXT\n\n/**\n * Resets any query errors within the boundary, so queries know they can try again.\n */\nexport type QueryErrorResetFunction = () => void\n\n/**\n * Returns whether the boundary has been reset and not yet cleared.\n */\nexport type QueryErrorIsResetFunction = () => boolean\n\n/**\n * Clears the reset state, so queries know not to try again until the boundary is reset again.\n */\nexport type QueryErrorClearResetFunction = () => void\n\nexport interface QueryErrorResetBoundaryValue {\n /**\n * Clears the reset state, so queries know not to try again until the boundary is reset again.\n */\n clearReset: QueryErrorClearResetFunction\n /**\n * Returns whether the boundary has been reset and not yet cleared.\n */\n isReset: QueryErrorIsResetFunction\n /**\n * Resets any query errors within the boundary, so queries know they can try again.\n */\n reset: QueryErrorResetFunction\n}\n\nfunction createValue(): QueryErrorResetBoundaryValue {\n let isReset = false\n return {\n clearReset: () => {\n isReset = false\n },\n reset: () => {\n isReset = true\n },\n isReset: () => {\n return isReset\n },\n }\n}\n\nconst QueryErrorResetBoundaryContext = createContext(createValue())\n\n// HOOK\n\n/**\n * This hook will reset any query errors within the closest `QueryErrorResetBoundary`. If there is no boundary\n * defined it will reset them globally.\n *\n * @returns The boundary's {@link QueryErrorResetBoundaryValue}.\n *\n * @example\n * ```tsx\n * import { useErrorBoundary } from 'preact/hooks'\n * import type { ComponentChildren } from 'preact'\n * import { useQueryErrorResetBoundary } from '@tanstack/preact-query'\n *\n * function App({ children }: { children: ComponentChildren }) {\n * const { reset } = useQueryErrorResetBoundary()\n * const [error, resetError] = useErrorBoundary(() => reset())\n *\n * if (error) {\n * return (\n * <div>\n * There was an error!\n * <button onClick={() => resetError()}>Try again</button>\n * </div>\n * )\n * }\n *\n * return children\n * }\n * ```\n */\nexport const useQueryErrorResetBoundary = () =>\n useContext(QueryErrorResetBoundaryContext)\n\n// COMPONENT\n\n/**\n * A render-prop function usable as `children` on `QueryErrorResetBoundary`.\n *\n * @param value - The boundary's {@link QueryErrorResetBoundaryValue}.\n * @returns The children to render.\n */\nexport type QueryErrorResetBoundaryFunction = (\n value: QueryErrorResetBoundaryValue,\n) => ComponentChildren\n\n/**\n * The props accepted by `QueryErrorResetBoundary`.\n */\nexport interface QueryErrorResetBoundaryProps {\n /**\n * Either a plain node, or a function that receives the boundary's {@link QueryErrorResetBoundaryValue} and\n * returns a node.\n */\n children: QueryErrorResetBoundaryFunction | ComponentChildren\n}\n\n/**\n * When using `suspense` or `throwOnError` in your queries, you need a way to let queries know that you want to\n * try again when re-rendering after some error occurred. With the `QueryErrorResetBoundary` component you can\n * reset any query errors within the boundaries of the component.\n *\n * @returns The `children`, rendered as-is, or called with the boundary's {@link QueryErrorResetBoundaryValue}\n * if `children` is a function.\n *\n * @example\n * ```tsx\n * import { useErrorBoundary } from 'preact/hooks'\n * import type { ComponentChildren } from 'preact'\n * import { QueryErrorResetBoundary } from '@tanstack/preact-query'\n *\n * function ErrorBoundary({\n * children,\n * reset,\n * }: {\n * children: ComponentChildren\n * reset: () => void\n * }) {\n * const [error, resetError] = useErrorBoundary(() => reset())\n *\n * if (error) {\n * return (\n * <div>\n * There was an error!\n * <button onClick={() => resetError()}>Try again</button>\n * </div>\n * )\n * }\n *\n * return children\n * }\n *\n * function App() {\n * return (\n * <QueryErrorResetBoundary>\n * {({ reset }) => (\n * <ErrorBoundary reset={reset}>\n * <Page />\n * </ErrorBoundary>\n * )}\n * </QueryErrorResetBoundary>\n * )\n * }\n * ```\n */\nexport const QueryErrorResetBoundary = ({\n children,\n}: QueryErrorResetBoundaryProps) => {\n const [value] = useState(() => createValue())\n return (\n <QueryErrorResetBoundaryContext.Provider value={value}>\n {typeof children === 'function' ? children(value) : children}\n </QueryErrorResetBoundaryContext.Provider>\n )\n}\n"],"mappings":";;;;AAoCA,SAAS,cAA4C;CACnD,IAAI,UAAU;CACd,OAAO;EACL,kBAAkB;GAChB,UAAU;EACZ;EACA,aAAa;GACX,UAAU;EACZ;EACA,eAAe;GACb,OAAO;EACT;CACF;AACF;AAEA,MAAM,iCAAiC,cAAc,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiClE,MAAa,mCACX,WAAW,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyE3C,MAAa,2BAA2B,EACtC,eACkC;CAClC,MAAM,CAAC,SAAS,eAAe,YAAY,CAAC;CAC5C,OACE,oBAAC,+BAA+B,UAAhC;EAAgD;EAC7C,UAAA,OAAO,aAAa,aAAa,SAAS,KAAK,IAAI;CACb,CAAA;AAE7C"}