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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/build/codemods/rename-hydrate/rename-hydrate.js +55 -0
  2. package/build/codemods/rename-properties/rename-properties.js +41 -0
  3. package/build/legacy/HydrationBoundary.cjs +4 -2
  4. package/build/legacy/HydrationBoundary.cjs.map +1 -1
  5. package/build/legacy/HydrationBoundary.js +4 -2
  6. package/build/legacy/HydrationBoundary.js.map +1 -1
  7. package/build/legacy/QueryClientProvider.cjs +5 -3
  8. package/build/legacy/QueryClientProvider.cjs.map +1 -1
  9. package/build/legacy/QueryClientProvider.js +5 -3
  10. package/build/legacy/QueryClientProvider.js.map +1 -1
  11. package/build/legacy/QueryErrorResetBoundary.cjs +5 -3
  12. package/build/legacy/QueryErrorResetBoundary.cjs.map +1 -1
  13. package/build/legacy/QueryErrorResetBoundary.js +5 -3
  14. package/build/legacy/QueryErrorResetBoundary.js.map +1 -1
  15. package/build/legacy/errorBoundaryUtils.cjs +6 -4
  16. package/build/legacy/errorBoundaryUtils.cjs.map +1 -1
  17. package/build/legacy/errorBoundaryUtils.js +6 -4
  18. package/build/legacy/errorBoundaryUtils.js.map +1 -1
  19. package/build/legacy/index.cjs +25 -14
  20. package/build/legacy/index.cjs.map +1 -1
  21. package/build/legacy/index.d.cts +4 -1
  22. package/build/legacy/index.d.ts +4 -1
  23. package/build/legacy/index.js +20 -13
  24. package/build/legacy/index.js.map +1 -1
  25. package/build/legacy/infiniteQueryOptions.cjs +33 -0
  26. package/build/legacy/infiniteQueryOptions.cjs.map +1 -0
  27. package/build/legacy/infiniteQueryOptions.d.cts +13 -0
  28. package/build/legacy/infiniteQueryOptions.d.ts +13 -0
  29. package/build/legacy/infiniteQueryOptions.js +8 -0
  30. package/build/legacy/infiniteQueryOptions.js.map +1 -0
  31. package/build/legacy/isRestoring.cjs +5 -3
  32. package/build/legacy/isRestoring.cjs.map +1 -1
  33. package/build/legacy/isRestoring.js +5 -3
  34. package/build/legacy/isRestoring.js.map +1 -1
  35. package/build/legacy/queryOptions.cjs +2 -0
  36. package/build/legacy/queryOptions.cjs.map +1 -1
  37. package/build/legacy/queryOptions.js +1 -0
  38. package/build/legacy/queryOptions.js.map +1 -1
  39. package/build/legacy/suspense.cjs +6 -4
  40. package/build/legacy/suspense.cjs.map +1 -1
  41. package/build/legacy/suspense.js +5 -4
  42. package/build/legacy/suspense.js.map +1 -1
  43. package/build/legacy/types.cjs +2 -0
  44. package/build/legacy/types.cjs.map +1 -1
  45. package/build/legacy/types.d.cts +10 -4
  46. package/build/legacy/types.d.ts +10 -4
  47. package/build/legacy/useBaseQuery.cjs +7 -5
  48. package/build/legacy/useBaseQuery.cjs.map +1 -1
  49. package/build/legacy/useBaseQuery.js +7 -5
  50. package/build/legacy/useBaseQuery.js.map +1 -1
  51. package/build/legacy/useInfiniteQuery.cjs +3 -1
  52. package/build/legacy/useInfiniteQuery.cjs.map +1 -1
  53. package/build/legacy/useInfiniteQuery.d.cts +4 -2
  54. package/build/legacy/useInfiniteQuery.d.ts +4 -2
  55. package/build/legacy/useInfiniteQuery.js +3 -1
  56. package/build/legacy/useInfiniteQuery.js.map +1 -1
  57. package/build/legacy/useIsFetching.cjs +3 -1
  58. package/build/legacy/useIsFetching.cjs.map +1 -1
  59. package/build/legacy/useIsFetching.js +3 -1
  60. package/build/legacy/useIsFetching.js.map +1 -1
  61. package/build/legacy/useMutation.cjs +4 -2
  62. package/build/legacy/useMutation.cjs.map +1 -1
  63. package/build/legacy/useMutation.js +4 -2
  64. package/build/legacy/useMutation.js.map +1 -1
  65. package/build/legacy/useMutationState.cjs +3 -1
  66. package/build/legacy/useMutationState.cjs.map +1 -1
  67. package/build/legacy/useMutationState.js +3 -1
  68. package/build/legacy/useMutationState.js.map +1 -1
  69. package/build/legacy/useQueries.cjs +7 -5
  70. package/build/legacy/useQueries.cjs.map +1 -1
  71. package/build/legacy/useQueries.js +7 -5
  72. package/build/legacy/useQueries.js.map +1 -1
  73. package/build/legacy/useQuery.cjs +3 -1
  74. package/build/legacy/useQuery.cjs.map +1 -1
  75. package/build/legacy/useQuery.js +3 -1
  76. package/build/legacy/useQuery.js.map +1 -1
  77. package/build/legacy/useSuspenseInfiniteQuery.cjs +46 -0
  78. package/build/legacy/useSuspenseInfiniteQuery.cjs.map +1 -0
  79. package/build/legacy/useSuspenseInfiniteQuery.d.cts +6 -0
  80. package/build/legacy/useSuspenseInfiniteQuery.d.ts +6 -0
  81. package/build/legacy/useSuspenseInfiniteQuery.js +22 -0
  82. package/build/legacy/useSuspenseInfiniteQuery.js.map +1 -0
  83. package/build/legacy/useSuspenseQuery.cjs +45 -0
  84. package/build/legacy/useSuspenseQuery.cjs.map +1 -0
  85. package/build/legacy/useSuspenseQuery.d.cts +6 -0
  86. package/build/legacy/useSuspenseQuery.d.ts +6 -0
  87. package/build/legacy/useSuspenseQuery.js +21 -0
  88. package/build/legacy/useSuspenseQuery.js.map +1 -0
  89. package/build/legacy/utils.cjs +2 -0
  90. package/build/legacy/utils.cjs.map +1 -1
  91. package/build/legacy/utils.js +1 -0
  92. package/build/legacy/utils.js.map +1 -1
  93. package/build/modern/HydrationBoundary.cjs +4 -2
  94. package/build/modern/HydrationBoundary.cjs.map +1 -1
  95. package/build/modern/HydrationBoundary.js +4 -2
  96. package/build/modern/HydrationBoundary.js.map +1 -1
  97. package/build/modern/QueryClientProvider.cjs +5 -3
  98. package/build/modern/QueryClientProvider.cjs.map +1 -1
  99. package/build/modern/QueryClientProvider.js +5 -3
  100. package/build/modern/QueryClientProvider.js.map +1 -1
  101. package/build/modern/QueryErrorResetBoundary.cjs +5 -3
  102. package/build/modern/QueryErrorResetBoundary.cjs.map +1 -1
  103. package/build/modern/QueryErrorResetBoundary.js +5 -3
  104. package/build/modern/QueryErrorResetBoundary.js.map +1 -1
  105. package/build/modern/errorBoundaryUtils.cjs +6 -4
  106. package/build/modern/errorBoundaryUtils.cjs.map +1 -1
  107. package/build/modern/errorBoundaryUtils.js +6 -4
  108. package/build/modern/errorBoundaryUtils.js.map +1 -1
  109. package/build/modern/index.cjs +25 -14
  110. package/build/modern/index.cjs.map +1 -1
  111. package/build/modern/index.d.cts +4 -1
  112. package/build/modern/index.d.ts +4 -1
  113. package/build/modern/index.js +20 -13
  114. package/build/modern/index.js.map +1 -1
  115. package/build/modern/infiniteQueryOptions.cjs +33 -0
  116. package/build/modern/infiniteQueryOptions.cjs.map +1 -0
  117. package/build/modern/infiniteQueryOptions.d.cts +13 -0
  118. package/build/modern/infiniteQueryOptions.d.ts +13 -0
  119. package/build/modern/infiniteQueryOptions.js +8 -0
  120. package/build/modern/infiniteQueryOptions.js.map +1 -0
  121. package/build/modern/isRestoring.cjs +5 -3
  122. package/build/modern/isRestoring.cjs.map +1 -1
  123. package/build/modern/isRestoring.js +5 -3
  124. package/build/modern/isRestoring.js.map +1 -1
  125. package/build/modern/queryOptions.cjs +2 -0
  126. package/build/modern/queryOptions.cjs.map +1 -1
  127. package/build/modern/queryOptions.js +1 -0
  128. package/build/modern/queryOptions.js.map +1 -1
  129. package/build/modern/suspense.cjs +6 -4
  130. package/build/modern/suspense.cjs.map +1 -1
  131. package/build/modern/suspense.js +5 -4
  132. package/build/modern/suspense.js.map +1 -1
  133. package/build/modern/types.cjs +2 -0
  134. package/build/modern/types.cjs.map +1 -1
  135. package/build/modern/types.d.cts +10 -4
  136. package/build/modern/types.d.ts +10 -4
  137. package/build/modern/useBaseQuery.cjs +7 -5
  138. package/build/modern/useBaseQuery.cjs.map +1 -1
  139. package/build/modern/useBaseQuery.js +7 -5
  140. package/build/modern/useBaseQuery.js.map +1 -1
  141. package/build/modern/useInfiniteQuery.cjs +3 -1
  142. package/build/modern/useInfiniteQuery.cjs.map +1 -1
  143. package/build/modern/useInfiniteQuery.d.cts +4 -2
  144. package/build/modern/useInfiniteQuery.d.ts +4 -2
  145. package/build/modern/useInfiniteQuery.js +3 -1
  146. package/build/modern/useInfiniteQuery.js.map +1 -1
  147. package/build/modern/useIsFetching.cjs +3 -1
  148. package/build/modern/useIsFetching.cjs.map +1 -1
  149. package/build/modern/useIsFetching.js +3 -1
  150. package/build/modern/useIsFetching.js.map +1 -1
  151. package/build/modern/useMutation.cjs +4 -2
  152. package/build/modern/useMutation.cjs.map +1 -1
  153. package/build/modern/useMutation.js +4 -2
  154. package/build/modern/useMutation.js.map +1 -1
  155. package/build/modern/useMutationState.cjs +3 -1
  156. package/build/modern/useMutationState.cjs.map +1 -1
  157. package/build/modern/useMutationState.js +3 -1
  158. package/build/modern/useMutationState.js.map +1 -1
  159. package/build/modern/useQueries.cjs +7 -5
  160. package/build/modern/useQueries.cjs.map +1 -1
  161. package/build/modern/useQueries.js +7 -5
  162. package/build/modern/useQueries.js.map +1 -1
  163. package/build/modern/useQuery.cjs +3 -1
  164. package/build/modern/useQuery.cjs.map +1 -1
  165. package/build/modern/useQuery.js +3 -1
  166. package/build/modern/useQuery.js.map +1 -1
  167. package/build/modern/useSuspenseInfiniteQuery.cjs +46 -0
  168. package/build/modern/useSuspenseInfiniteQuery.cjs.map +1 -0
  169. package/build/modern/useSuspenseInfiniteQuery.d.cts +6 -0
  170. package/build/modern/useSuspenseInfiniteQuery.d.ts +6 -0
  171. package/build/modern/useSuspenseInfiniteQuery.js +22 -0
  172. package/build/modern/useSuspenseInfiniteQuery.js.map +1 -0
  173. package/build/modern/useSuspenseQuery.cjs +45 -0
  174. package/build/modern/useSuspenseQuery.cjs.map +1 -0
  175. package/build/modern/useSuspenseQuery.d.cts +6 -0
  176. package/build/modern/useSuspenseQuery.d.ts +6 -0
  177. package/build/modern/useSuspenseQuery.js +21 -0
  178. package/build/modern/useSuspenseQuery.js.map +1 -0
  179. package/build/modern/utils.cjs +2 -0
  180. package/build/modern/utils.cjs.map +1 -1
  181. package/build/modern/utils.js +1 -0
  182. package/build/modern/utils.js.map +1 -1
  183. package/package.json +2 -2
  184. package/src/__tests__/useQuery.test.tsx +1 -4
  185. package/src/index.ts +3 -0
  186. package/src/infiniteQueryOptions.ts +93 -0
  187. package/src/types.ts +45 -3
  188. package/src/useInfiniteQuery.ts +45 -2
  189. package/src/useQuery.ts +0 -2
  190. package/src/useSuspenseInfiniteQuery.ts +47 -0
  191. package/src/useSuspenseQuery.ts +26 -0
package/src/types.ts CHANGED
@@ -2,15 +2,18 @@
2
2
 
3
3
  import type {
4
4
  DefaultError,
5
+ DefinedInfiniteQueryObserverResult,
5
6
  DefinedQueryObserverResult,
6
7
  InfiniteQueryObserverOptions,
7
8
  InfiniteQueryObserverResult,
9
+ InfiniteQueryObserverSuccessResult,
8
10
  MutateFunction,
9
11
  MutationObserverOptions,
10
12
  MutationObserverResult,
11
13
  QueryKey,
12
14
  QueryObserverOptions,
13
15
  QueryObserverResult,
16
+ QueryObserverSuccessResult,
14
17
  WithRequired,
15
18
  } from '@tanstack/query-core'
16
19
 
@@ -35,6 +38,16 @@ export interface UseQueryOptions<
35
38
  'queryKey'
36
39
  > {}
37
40
 
41
+ export interface UseSuspenseQueryOptions<
42
+ TQueryFnData = unknown,
43
+ TError = DefaultError,
44
+ TData = TQueryFnData,
45
+ TQueryKey extends QueryKey = QueryKey,
46
+ > extends Omit<
47
+ UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
48
+ 'enabled' | 'suspense' | 'throwOnError' | 'placeholderData'
49
+ > {}
50
+
38
51
  export interface UseInfiniteQueryOptions<
39
52
  TQueryFnData = unknown,
40
53
  TError = DefaultError,
@@ -54,6 +67,25 @@ export interface UseInfiniteQueryOptions<
54
67
  'queryKey'
55
68
  > {}
56
69
 
70
+ export interface UseSuspenseInfiniteQueryOptions<
71
+ TQueryFnData = unknown,
72
+ TError = DefaultError,
73
+ TData = TQueryFnData,
74
+ TQueryData = TQueryFnData,
75
+ TQueryKey extends QueryKey = QueryKey,
76
+ TPageParam = unknown,
77
+ > extends Omit<
78
+ UseInfiniteQueryOptions<
79
+ TQueryFnData,
80
+ TError,
81
+ TData,
82
+ TQueryData,
83
+ TQueryKey,
84
+ TPageParam
85
+ >,
86
+ 'enabled' | 'suspense' | 'throwOnError' | 'placeholderData'
87
+ > {}
88
+
57
89
  export type UseBaseQueryResult<
58
90
  TData = unknown,
59
91
  TError = DefaultError,
@@ -64,21 +96,31 @@ export type UseQueryResult<
64
96
  TError = DefaultError,
65
97
  > = UseBaseQueryResult<TData, TError>
66
98
 
67
- export type DefinedUseBaseQueryResult<
99
+ export type UseSuspenseQueryResult<
68
100
  TData = unknown,
69
101
  TError = DefaultError,
70
- > = DefinedQueryObserverResult<TData, TError>
102
+ > = Omit<QueryObserverSuccessResult<TData, TError>, 'isPlaceholderData'>
71
103
 
72
104
  export type DefinedUseQueryResult<
73
105
  TData = unknown,
74
106
  TError = DefaultError,
75
- > = DefinedUseBaseQueryResult<TData, TError>
107
+ > = DefinedQueryObserverResult<TData, TError>
76
108
 
77
109
  export type UseInfiniteQueryResult<
78
110
  TData = unknown,
79
111
  TError = DefaultError,
80
112
  > = InfiniteQueryObserverResult<TData, TError>
81
113
 
114
+ export type DefinedUseInfiniteQueryResult<
115
+ TData = unknown,
116
+ TError = DefaultError,
117
+ > = DefinedInfiniteQueryObserverResult<TData, TError>
118
+
119
+ export type UseSuspenseInfiniteQueryResult<
120
+ TData = unknown,
121
+ TError = DefaultError,
122
+ > = Omit<InfiniteQueryObserverSuccessResult<TData, TError>, 'isPlaceholderData'>
123
+
82
124
  export interface UseMutationOptions<
83
125
  TData = unknown,
84
126
  TError = DefaultError,
@@ -8,9 +8,52 @@ import type {
8
8
  QueryKey,
9
9
  QueryObserver,
10
10
  } from '@tanstack/query-core'
11
- import type { UseInfiniteQueryOptions, UseInfiniteQueryResult } from './types'
11
+ import type {
12
+ DefinedUseInfiniteQueryResult,
13
+ UseInfiniteQueryOptions,
14
+ UseInfiniteQueryResult,
15
+ } from './types'
16
+ import type {
17
+ DefinedInitialDataInfiniteOptions,
18
+ UndefinedInitialDataInfiniteOptions,
19
+ } from './infiniteQueryOptions'
20
+
21
+ export function useInfiniteQuery<
22
+ TQueryFnData,
23
+ TError = DefaultError,
24
+ TData = InfiniteData<TQueryFnData>,
25
+ TQueryKey extends QueryKey = QueryKey,
26
+ TPageParam = unknown,
27
+ >(
28
+ options: UndefinedInitialDataInfiniteOptions<
29
+ TQueryFnData,
30
+ TError,
31
+ TData,
32
+ TQueryFnData,
33
+ TQueryKey,
34
+ TPageParam
35
+ >,
36
+ queryClient?: QueryClient,
37
+ ): UseInfiniteQueryResult<TData, TError>
38
+
39
+ export function useInfiniteQuery<
40
+ TQueryFnData,
41
+ TError = DefaultError,
42
+ TData = InfiniteData<TQueryFnData>,
43
+ TQueryKey extends QueryKey = QueryKey,
44
+ TPageParam = unknown,
45
+ >(
46
+ options: DefinedInitialDataInfiniteOptions<
47
+ TQueryFnData,
48
+ TError,
49
+ TData,
50
+ TQueryFnData,
51
+ TQueryKey,
52
+ TPageParam
53
+ >,
54
+ queryClient?: QueryClient,
55
+ ): DefinedUseInfiniteQueryResult<TData, TError>
12
56
 
13
- // HOOK
14
57
  export function useInfiniteQuery<
15
58
  TQueryFnData,
16
59
  TError = DefaultError,
package/src/useQuery.ts CHANGED
@@ -12,8 +12,6 @@ import type {
12
12
  UndefinedInitialDataOptions,
13
13
  } from './queryOptions'
14
14
 
15
- // HOOK
16
-
17
15
  export function useQuery<
18
16
  TQueryFnData = unknown,
19
17
  TError = DefaultError,
@@ -0,0 +1,47 @@
1
+ 'use client'
2
+ import { InfiniteQueryObserver } from '@tanstack/query-core'
3
+ import { useBaseQuery } from './useBaseQuery'
4
+ import type {
5
+ InfiniteQueryObserverSuccessResult,
6
+ QueryObserver,
7
+ } from '@tanstack/query-core'
8
+ import type {
9
+ DefaultError,
10
+ InfiniteData,
11
+ QueryClient,
12
+ QueryKey,
13
+ } from '@tanstack/query-core'
14
+ import type {
15
+ UseSuspenseInfiniteQueryOptions,
16
+ UseSuspenseInfiniteQueryResult,
17
+ } from './types'
18
+
19
+ export function useSuspenseInfiniteQuery<
20
+ TQueryFnData,
21
+ TError = DefaultError,
22
+ TData = InfiniteData<TQueryFnData>,
23
+ TQueryKey extends QueryKey = QueryKey,
24
+ TPageParam = unknown,
25
+ >(
26
+ options: UseSuspenseInfiniteQueryOptions<
27
+ TQueryFnData,
28
+ TError,
29
+ TData,
30
+ TQueryFnData,
31
+ TQueryKey,
32
+ TPageParam
33
+ >,
34
+ queryClient?: QueryClient,
35
+ ): UseSuspenseInfiniteQueryResult<TData, TError> {
36
+ return useBaseQuery(
37
+ {
38
+ ...options,
39
+ enabled: true,
40
+ suspense: true,
41
+ throwOnError: true,
42
+ },
43
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
44
+ InfiniteQueryObserver as typeof QueryObserver,
45
+ queryClient,
46
+ ) as InfiniteQueryObserverSuccessResult<TData, TError>
47
+ }
@@ -0,0 +1,26 @@
1
+ 'use client'
2
+ import { QueryObserver } from '@tanstack/query-core'
3
+ import { useBaseQuery } from './useBaseQuery'
4
+ import type { UseSuspenseQueryOptions, UseSuspenseQueryResult } from './types'
5
+ import type { DefaultError, QueryClient, QueryKey } from '@tanstack/query-core'
6
+
7
+ export function useSuspenseQuery<
8
+ TQueryFnData = unknown,
9
+ TError = DefaultError,
10
+ TData = TQueryFnData,
11
+ TQueryKey extends QueryKey = QueryKey,
12
+ >(
13
+ options: UseSuspenseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
14
+ queryClient?: QueryClient,
15
+ ): UseSuspenseQueryResult<TData, TError> {
16
+ return useBaseQuery(
17
+ {
18
+ ...options,
19
+ enabled: true,
20
+ suspense: true,
21
+ throwOnError: true,
22
+ },
23
+ QueryObserver,
24
+ queryClient,
25
+ ) as UseSuspenseQueryResult<TData, TError>
26
+ }