@tanstack/react-query 4.39.1 → 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.
- package/build/lib/queryOptions.d.ts +2 -2
- package/build/lib/queryOptions.esm.js.map +1 -1
- package/build/lib/queryOptions.js.map +1 -1
- package/build/lib/queryOptions.mjs.map +1 -1
- package/build/lib/useQuery.d.ts +0 -3
- package/build/lib/useQuery.esm.js.map +1 -1
- package/build/lib/useQuery.js.map +1 -1
- package/build/lib/useQuery.mjs.map +1 -1
- package/build/lib/useSuspenseQuery.d.ts +1 -3
- package/build/lib/useSuspenseQuery.esm.js.map +1 -1
- package/build/lib/useSuspenseQuery.js.map +1 -1
- package/build/lib/useSuspenseQuery.mjs.map +1 -1
- package/build/umd/index.development.js.map +1 -1
- package/build/umd/index.production.js.map +1 -1
- package/package.json +2 -2
- package/src/__tests__/useQuery.types.test.tsx +35 -0
- package/src/queryOptions.ts +2 -2
- package/src/useQuery.ts +0 -20
- package/src/useSuspenseQuery.ts +1 -4
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tanstack/react-query",
|
|
3
|
-
"version": "4.39.
|
|
3
|
+
"version": "4.39.2",
|
|
4
4
|
"description": "Hooks for managing, caching and syncing asynchronous and remote data in React",
|
|
5
5
|
"author": "tannerlinsley",
|
|
6
6
|
"license": "MIT",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
53
|
"use-sync-external-store": "^1.2.0",
|
|
54
|
-
"@tanstack/query-core": "4.39.
|
|
54
|
+
"@tanstack/query-core": "4.39.2"
|
|
55
55
|
},
|
|
56
56
|
"peerDependencies": {
|
|
57
57
|
"react": "^16.8.0 || ^17.0.0 || ^18.0.0",
|
|
@@ -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', () => {
|
package/src/queryOptions.ts
CHANGED
|
@@ -22,7 +22,7 @@ type ProhibitedQueryOptionsKeyInV5 = keyof Pick<
|
|
|
22
22
|
'useErrorBoundary' | 'suspense' | 'getNextPageParam' | 'getPreviousPageParam'
|
|
23
23
|
>
|
|
24
24
|
|
|
25
|
-
|
|
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
|
-
|
|
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,
|
package/src/useSuspenseQuery.ts
CHANGED
|
@@ -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,
|