@tanstack/react-query 4.39.0 → 4.39.2

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 (150) hide show
  1. package/build/lib/Hydrate.esm.js +32 -0
  2. package/build/lib/Hydrate.esm.js.map +1 -0
  3. package/build/lib/Hydrate.js +57 -0
  4. package/build/lib/Hydrate.js.map +1 -0
  5. package/build/lib/Hydrate.mjs +32 -0
  6. package/build/lib/Hydrate.mjs.map +1 -0
  7. package/build/lib/QueryClientProvider.esm.js +66 -0
  8. package/build/lib/QueryClientProvider.esm.js.map +1 -0
  9. package/build/lib/QueryClientProvider.js +92 -0
  10. package/build/lib/QueryClientProvider.js.map +1 -0
  11. package/build/lib/QueryClientProvider.mjs +66 -0
  12. package/build/lib/QueryClientProvider.mjs.map +1 -0
  13. package/build/lib/QueryErrorResetBoundary.esm.js +33 -0
  14. package/build/lib/QueryErrorResetBoundary.esm.js.map +1 -0
  15. package/build/lib/QueryErrorResetBoundary.js +58 -0
  16. package/build/lib/QueryErrorResetBoundary.js.map +1 -0
  17. package/build/lib/QueryErrorResetBoundary.mjs +33 -0
  18. package/build/lib/QueryErrorResetBoundary.mjs.map +1 -0
  19. package/build/lib/errorBoundaryUtils.esm.js +28 -0
  20. package/build/lib/errorBoundaryUtils.esm.js.map +1 -0
  21. package/build/lib/errorBoundaryUtils.js +54 -0
  22. package/build/lib/errorBoundaryUtils.js.map +1 -0
  23. package/build/lib/errorBoundaryUtils.mjs +28 -0
  24. package/build/lib/errorBoundaryUtils.mjs.map +1 -0
  25. package/build/lib/index.esm.js +16 -0
  26. package/build/lib/index.esm.js.map +1 -0
  27. package/build/lib/index.js +47 -0
  28. package/build/lib/index.js.map +1 -0
  29. package/build/lib/index.mjs +16 -0
  30. package/build/lib/index.mjs.map +1 -0
  31. package/build/lib/isRestoring.esm.js +9 -0
  32. package/build/lib/isRestoring.esm.js.map +1 -0
  33. package/build/lib/isRestoring.js +34 -0
  34. package/build/lib/isRestoring.js.map +1 -0
  35. package/build/lib/isRestoring.mjs +9 -0
  36. package/build/lib/isRestoring.mjs.map +1 -0
  37. package/build/lib/queryOptions.d.ts +2 -2
  38. package/build/lib/queryOptions.esm.js +6 -0
  39. package/build/lib/queryOptions.esm.js.map +1 -0
  40. package/build/lib/queryOptions.js +10 -0
  41. package/build/lib/queryOptions.js.map +1 -0
  42. package/build/lib/queryOptions.mjs +6 -0
  43. package/build/lib/queryOptions.mjs.map +1 -0
  44. package/build/lib/reactBatchedUpdates.esm.js +7 -0
  45. package/build/lib/reactBatchedUpdates.esm.js.map +1 -0
  46. package/build/lib/reactBatchedUpdates.js +31 -0
  47. package/build/lib/reactBatchedUpdates.js.map +1 -0
  48. package/build/lib/reactBatchedUpdates.mjs +7 -0
  49. package/build/lib/reactBatchedUpdates.mjs.map +1 -0
  50. package/build/lib/reactBatchedUpdates.native.esm.js +2 -0
  51. package/build/lib/reactBatchedUpdates.native.esm.js.map +1 -0
  52. package/build/lib/reactBatchedUpdates.native.js +13 -0
  53. package/build/lib/reactBatchedUpdates.native.js.map +1 -0
  54. package/build/lib/reactBatchedUpdates.native.mjs +2 -0
  55. package/build/lib/reactBatchedUpdates.native.mjs.map +1 -0
  56. package/build/lib/setBatchUpdatesFn.esm.js +5 -0
  57. package/build/lib/setBatchUpdatesFn.esm.js.map +1 -0
  58. package/build/lib/setBatchUpdatesFn.js +7 -0
  59. package/build/lib/setBatchUpdatesFn.js.map +1 -0
  60. package/build/lib/setBatchUpdatesFn.mjs +5 -0
  61. package/build/lib/setBatchUpdatesFn.mjs.map +1 -0
  62. package/build/lib/suspense.esm.js +24 -0
  63. package/build/lib/suspense.esm.js.map +1 -0
  64. package/build/lib/suspense.js +31 -0
  65. package/build/lib/suspense.js.map +1 -0
  66. package/build/lib/suspense.mjs +24 -0
  67. package/build/lib/suspense.mjs.map +1 -0
  68. package/build/lib/useBaseQuery.esm.js +72 -0
  69. package/build/lib/useBaseQuery.esm.js.map +1 -0
  70. package/build/lib/useBaseQuery.js +96 -0
  71. package/build/lib/useBaseQuery.js.map +1 -0
  72. package/build/lib/useBaseQuery.mjs +72 -0
  73. package/build/lib/useBaseQuery.mjs.map +1 -0
  74. package/build/lib/useInfiniteQuery.esm.js +11 -0
  75. package/build/lib/useInfiniteQuery.esm.js.map +1 -0
  76. package/build/lib/useInfiniteQuery.js +15 -0
  77. package/build/lib/useInfiniteQuery.js.map +1 -0
  78. package/build/lib/useInfiniteQuery.mjs +11 -0
  79. package/build/lib/useInfiniteQuery.mjs.map +1 -0
  80. package/build/lib/useIsFetching.esm.js +17 -0
  81. package/build/lib/useIsFetching.esm.js.map +1 -0
  82. package/build/lib/useIsFetching.js +41 -0
  83. package/build/lib/useIsFetching.js.map +1 -0
  84. package/build/lib/useIsFetching.mjs +17 -0
  85. package/build/lib/useIsFetching.mjs.map +1 -0
  86. package/build/lib/useIsMutating.esm.js +17 -0
  87. package/build/lib/useIsMutating.esm.js.map +1 -0
  88. package/build/lib/useIsMutating.js +41 -0
  89. package/build/lib/useIsMutating.js.map +1 -0
  90. package/build/lib/useIsMutating.mjs +17 -0
  91. package/build/lib/useIsMutating.mjs.map +1 -0
  92. package/build/lib/useMutation.esm.js +35 -0
  93. package/build/lib/useMutation.esm.js.map +1 -0
  94. package/build/lib/useMutation.js +59 -0
  95. package/build/lib/useMutation.js.map +1 -0
  96. package/build/lib/useMutation.mjs +35 -0
  97. package/build/lib/useMutation.mjs.map +1 -0
  98. package/build/lib/useQueries.esm.js +81 -0
  99. package/build/lib/useQueries.esm.js.map +1 -0
  100. package/build/lib/useQueries.js +105 -0
  101. package/build/lib/useQueries.js.map +1 -0
  102. package/build/lib/useQueries.mjs +81 -0
  103. package/build/lib/useQueries.mjs.map +1 -0
  104. package/build/lib/useQuery.d.ts +0 -3
  105. package/build/lib/useQuery.esm.js +12 -0
  106. package/build/lib/useQuery.esm.js.map +1 -0
  107. package/build/lib/useQuery.js +16 -0
  108. package/build/lib/useQuery.js.map +1 -0
  109. package/build/lib/useQuery.mjs +12 -0
  110. package/build/lib/useQuery.mjs.map +1 -0
  111. package/build/lib/useSuspenseQueries.esm.js +20 -0
  112. package/build/lib/useSuspenseQueries.esm.js.map +1 -0
  113. package/build/lib/useSuspenseQueries.js +24 -0
  114. package/build/lib/useSuspenseQueries.js.map +1 -0
  115. package/build/lib/useSuspenseQueries.mjs +20 -0
  116. package/build/lib/useSuspenseQueries.mjs.map +1 -0
  117. package/build/lib/useSuspenseQuery.d.ts +1 -3
  118. package/build/lib/useSuspenseQuery.esm.js +15 -0
  119. package/build/lib/useSuspenseQuery.esm.js.map +1 -0
  120. package/build/lib/useSuspenseQuery.js +19 -0
  121. package/build/lib/useSuspenseQuery.js.map +1 -0
  122. package/build/lib/useSuspenseQuery.mjs +15 -0
  123. package/build/lib/useSuspenseQuery.mjs.map +1 -0
  124. package/build/lib/useSyncExternalStore.esm.js +7 -0
  125. package/build/lib/useSyncExternalStore.esm.js.map +1 -0
  126. package/build/lib/useSyncExternalStore.js +11 -0
  127. package/build/lib/useSyncExternalStore.js.map +1 -0
  128. package/build/lib/useSyncExternalStore.mjs +7 -0
  129. package/build/lib/useSyncExternalStore.mjs.map +1 -0
  130. package/build/lib/useSyncExternalStore.native.esm.js +2 -0
  131. package/build/lib/useSyncExternalStore.native.esm.js.map +1 -0
  132. package/build/lib/useSyncExternalStore.native.js +13 -0
  133. package/build/lib/useSyncExternalStore.native.js.map +1 -0
  134. package/build/lib/useSyncExternalStore.native.mjs +2 -0
  135. package/build/lib/useSyncExternalStore.native.mjs.map +1 -0
  136. package/build/lib/utils.esm.js +11 -0
  137. package/build/lib/utils.esm.js.map +1 -0
  138. package/build/lib/utils.js +15 -0
  139. package/build/lib/utils.js.map +1 -0
  140. package/build/lib/utils.mjs +11 -0
  141. package/build/lib/utils.mjs.map +1 -0
  142. package/build/umd/index.development.js +4049 -0
  143. package/build/umd/index.development.js.map +1 -0
  144. package/build/umd/index.production.js +2 -0
  145. package/build/umd/index.production.js.map +1 -0
  146. package/package.json +2 -2
  147. package/src/__tests__/useQuery.types.test.tsx +35 -0
  148. package/src/queryOptions.ts +2 -2
  149. package/src/useQuery.ts +0 -20
  150. package/src/useSuspenseQuery.ts +1 -4
@@ -1,5 +1,7 @@
1
+ import { expectTypeOf } from 'expect-type'
1
2
  import { useQuery } from '../useQuery'
2
3
  import { doNotExecute } from './utils'
4
+ import type { DefinedUseQueryResult, UseQueryResult } from '../types'
3
5
 
4
6
  export type Equal<X, Y> = (<T>() => T extends X ? 1 : 2) extends <
5
7
  T,
@@ -9,6 +11,39 @@ export type Equal<X, Y> = (<T>() => T extends X ? 1 : 2) extends <
9
11
 
10
12
  export type Expect<T extends true> = T
11
13
 
14
+ describe('onSuccess', () => {
15
+ it('should be typed correctly', () => {
16
+ doNotExecute(() => {
17
+ expectTypeOf(
18
+ useQuery({
19
+ queryKey: ['posts'],
20
+ queryFn: async () => ({ id: 1 }),
21
+ onSuccess: (data) =>
22
+ expectTypeOf(data).toEqualTypeOf<{ id: number }>(),
23
+ }),
24
+ ).toEqualTypeOf<UseQueryResult<{ id: number }, unknown>>()
25
+ expectTypeOf(
26
+ useQuery({
27
+ queryKey: ['posts'],
28
+ queryFn: async () => ({ id: 1 }),
29
+ initialData: { id: 1 },
30
+ onSuccess: (data) =>
31
+ expectTypeOf(data).toEqualTypeOf<{ id: number }>(),
32
+ }),
33
+ ).toEqualTypeOf<DefinedUseQueryResult<{ id: number }, unknown>>()
34
+ expectTypeOf(
35
+ useQuery({
36
+ queryKey: ['posts'],
37
+ queryFn: async () => ({ id: 1 }),
38
+ initialData: { id: 1 },
39
+ select: (data) => data.id,
40
+ onSuccess: (data) => expectTypeOf(data).toEqualTypeOf<number>(),
41
+ }),
42
+ ).toEqualTypeOf<DefinedUseQueryResult<number, unknown>>()
43
+ })
44
+ })
45
+ })
46
+
12
47
  describe('initialData', () => {
13
48
  describe('Config object overload', () => {
14
49
  it('TData should always be defined when initialData is provided as an object', () => {
@@ -22,7 +22,7 @@ type ProhibitedQueryOptionsKeyInV5 = keyof Pick<
22
22
  'useErrorBoundary' | 'suspense' | 'getNextPageParam' | 'getPreviousPageParam'
23
23
  >
24
24
 
25
- export type UndefinedInitialDataOptions<
25
+ type UndefinedInitialDataOptions<
26
26
  TQueryFnData = unknown,
27
27
  TError = unknown,
28
28
  TData = TQueryFnData,
@@ -34,7 +34,7 @@ export type UndefinedInitialDataOptions<
34
34
  | NonUndefinedGuard<TQueryFnData>
35
35
  }
36
36
 
37
- export type DefinedInitialDataOptions<
37
+ type DefinedInitialDataOptions<
38
38
  TQueryFnData = unknown,
39
39
  TError = unknown,
40
40
  TData = TQueryFnData,
package/src/useQuery.ts CHANGED
@@ -1,10 +1,6 @@
1
1
  'use client'
2
2
  import { QueryObserver, parseQueryArgs } from '@tanstack/query-core'
3
3
  import { useBaseQuery } from './useBaseQuery'
4
- import type {
5
- DefinedInitialDataOptions,
6
- UndefinedInitialDataOptions,
7
- } from './queryOptions'
8
4
  import type {
9
5
  InitialDataFunction,
10
6
  NonUndefinedGuard,
@@ -19,14 +15,6 @@ import type {
19
15
  } from './types'
20
16
 
21
17
  // HOOK
22
- export function useQuery<
23
- TQueryFnData = unknown,
24
- TError = unknown,
25
- TData = TQueryFnData,
26
- TQueryKey extends QueryKey = QueryKey,
27
- >(
28
- options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,
29
- ): DefinedUseQueryResult<TData, TError>
30
18
  export function useQuery<
31
19
  TQueryFnData = unknown,
32
20
  TError = unknown,
@@ -42,14 +30,6 @@ export function useQuery<
42
30
  | (() => NonUndefinedGuard<TQueryFnData>)
43
31
  },
44
32
  ): DefinedUseQueryResult<TData, TError>
45
- export function useQuery<
46
- TQueryFnData = unknown,
47
- TError = unknown,
48
- TData = TQueryFnData,
49
- TQueryKey extends QueryKey = QueryKey,
50
- >(
51
- options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,
52
- ): UseQueryResult<TData, TError>
53
33
  export function useQuery<
54
34
  TQueryFnData = unknown,
55
35
  TError = unknown,
@@ -2,15 +2,12 @@ import { QueryObserver } from '@tanstack/query-core'
2
2
  import { useBaseQuery } from './useBaseQuery'
3
3
  import type {
4
4
  DefinedQueryObserverResult,
5
+ DistributiveOmit,
5
6
  OmitKeyof,
6
7
  QueryKey,
7
8
  } from '@tanstack/query-core'
8
9
  import type { UseQueryOptions } from './types'
9
10
 
10
- type DistributiveOmit<TObject, TKey extends keyof TObject> = TObject extends any
11
- ? Omit<TObject, TKey>
12
- : never
13
-
14
11
  export type UseSuspenseQueryResult<
15
12
  TData = unknown,
16
13
  TError = unknown,