1
1
import { InfiniteQueryObserver } from '@tanstack/query-core'
2
2
import { useBaseQuery } from './useBaseQuery'
3
+ import type {
4
+ DefinedInitialDataInfiniteOptions ,
5
+ UndefinedInitialDataInfiniteOptions ,
6
+ } from './infiniteQueryOptions'
3
7
import type {
4
8
DefaultError ,
5
9
InfiniteData ,
@@ -11,7 +15,12 @@ import type {
11
15
12
16
import type { UseBaseQueryReturnType } from './useBaseQuery'
13
17
14
- import type { DeepUnwrapRef , MaybeRefDeep , MaybeRefOrGetter } from './types'
18
+ import type {
19
+ DeepUnwrapRef ,
20
+ MaybeRef ,
21
+ MaybeRefDeep ,
22
+ MaybeRefOrGetter ,
23
+ } from './types'
15
24
import type { QueryClient } from './queryClient'
16
25
17
26
export type UseInfiniteQueryOptions <
@@ -21,44 +30,80 @@ export type UseInfiniteQueryOptions<
21
30
TQueryData = TQueryFnData ,
22
31
TQueryKey extends QueryKey = QueryKey ,
23
32
TPageParam = unknown ,
24
- > = {
25
- [ Property in keyof InfiniteQueryObserverOptions <
26
- TQueryFnData ,
27
- TError ,
28
- TData ,
29
- TQueryData ,
30
- TQueryKey ,
31
- TPageParam
32
- > ] : Property extends 'enabled'
33
- ? MaybeRefOrGetter <
34
- InfiniteQueryObserverOptions <
35
- TQueryFnData ,
36
- TError ,
37
- TData ,
38
- TQueryData ,
39
- DeepUnwrapRef < TQueryKey >
40
- > [ Property ]
41
- >
42
- : MaybeRefDeep <
43
- InfiniteQueryObserverOptions <
44
- TQueryFnData ,
45
- TError ,
46
- TData ,
47
- TQueryData ,
48
- DeepUnwrapRef < TQueryKey > ,
49
- TPageParam
50
- > [ Property ]
51
- >
52
- } & {
53
- shallow ?: boolean
54
- }
33
+ > = MaybeRef <
34
+ {
35
+ [ Property in keyof InfiniteQueryObserverOptions <
36
+ TQueryFnData ,
37
+ TError ,
38
+ TData ,
39
+ TQueryData ,
40
+ TQueryKey ,
41
+ TPageParam
42
+ > ] : Property extends 'enabled'
43
+ ? MaybeRefOrGetter <
44
+ InfiniteQueryObserverOptions <
45
+ TQueryFnData ,
46
+ TError ,
47
+ TData ,
48
+ TQueryData ,
49
+ DeepUnwrapRef < TQueryKey >
50
+ > [ Property ]
51
+ >
52
+ : MaybeRefDeep <
53
+ InfiniteQueryObserverOptions <
54
+ TQueryFnData ,
55
+ TError ,
56
+ TData ,
57
+ TQueryData ,
58
+ DeepUnwrapRef < TQueryKey > ,
59
+ TPageParam
60
+ > [ Property ]
61
+ >
62
+ } & {
63
+ shallow ?: boolean
64
+ }
65
+ >
55
66
56
67
export type UseInfiniteQueryReturnType < TData , TError > = UseBaseQueryReturnType <
57
68
TData ,
58
69
TError ,
59
70
InfiniteQueryObserverResult < TData , TError >
60
71
>
61
72
73
+ export function useInfiniteQuery <
74
+ TQueryFnData ,
75
+ TError = DefaultError ,
76
+ TData = InfiniteData < TQueryFnData > ,
77
+ TQueryKey extends QueryKey = QueryKey ,
78
+ TPageParam = unknown ,
79
+ > (
80
+ options : DefinedInitialDataInfiniteOptions <
81
+ TQueryFnData ,
82
+ TError ,
83
+ TData ,
84
+ TQueryKey ,
85
+ TPageParam
86
+ > ,
87
+ queryClient ?: QueryClient ,
88
+ ) : UseInfiniteQueryReturnType < TData , TError >
89
+
90
+ export function useInfiniteQuery <
91
+ TQueryFnData ,
92
+ TError = DefaultError ,
93
+ TData = InfiniteData < TQueryFnData > ,
94
+ TQueryKey extends QueryKey = QueryKey ,
95
+ TPageParam = unknown ,
96
+ > (
97
+ options : UndefinedInitialDataInfiniteOptions <
98
+ TQueryFnData ,
99
+ TError ,
100
+ TData ,
101
+ TQueryKey ,
102
+ TPageParam
103
+ > ,
104
+ queryClient ?: QueryClient ,
105
+ ) : UseInfiniteQueryReturnType < TData , TError >
106
+
62
107
export function useInfiniteQuery <
63
108
TQueryFnData ,
64
109
TError = DefaultError ,
@@ -75,10 +120,16 @@ export function useInfiniteQuery<
75
120
TPageParam
76
121
> ,
77
122
queryClient ?: QueryClient ,
78
- ) : UseInfiniteQueryReturnType < TData , TError > {
123
+ ) : UseInfiniteQueryReturnType < TData , TError >
124
+
125
+ export function useInfiniteQuery (
126
+ options : UseInfiniteQueryOptions ,
127
+ queryClient ?: QueryClient ,
128
+ ) {
79
129
return useBaseQuery (
130
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
80
131
InfiniteQueryObserver as typeof QueryObserver ,
81
132
options ,
82
133
queryClient ,
83
- ) as UseInfiniteQueryReturnType < TData , TError >
134
+ )
84
135
}
0 commit comments