11import { InfiniteQueryObserver } from '@tanstack/query-core'
22import { useBaseQuery } from './useBaseQuery'
3+ import type { DefinedInitialDataInfiniteOptions , UndefinedInitialDataInfiniteOptions } from './infiniteQueryOptions'
34import type {
45 DefaultError ,
56 InfiniteData ,
@@ -11,7 +12,7 @@ import type {
1112
1213import type { UseBaseQueryReturnType } from './useBaseQuery'
1314
14- import type { DeepUnwrapRef , MaybeRefDeep , MaybeRefOrGetter } from './types'
15+ import type { DeepUnwrapRef , MaybeRef , MaybeRefDeep , MaybeRefOrGetter } from './types'
1516import type { QueryClient } from './queryClient'
1617
1718export type UseInfiniteQueryOptions <
@@ -21,44 +22,80 @@ export type UseInfiniteQueryOptions<
2122 TQueryData = TQueryFnData ,
2223 TQueryKey extends QueryKey = QueryKey ,
2324 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- }
25+ > = MaybeRef <
26+ {
27+ [ Property in keyof InfiniteQueryObserverOptions <
28+ TQueryFnData ,
29+ TError ,
30+ TData ,
31+ TQueryData ,
32+ TQueryKey ,
33+ TPageParam
34+ > ] : Property extends 'enabled'
35+ ? MaybeRefOrGetter <
36+ InfiniteQueryObserverOptions <
37+ TQueryFnData ,
38+ TError ,
39+ TData ,
40+ TQueryData ,
41+ DeepUnwrapRef < TQueryKey >
42+ > [ Property ]
43+ >
44+ : MaybeRefDeep <
45+ InfiniteQueryObserverOptions <
46+ TQueryFnData ,
47+ TError ,
48+ TData ,
49+ TQueryData ,
50+ DeepUnwrapRef < TQueryKey > ,
51+ TPageParam
52+ > [ Property ]
53+ >
54+ } & {
55+ shallow ?: boolean
56+ }
57+ >
5558
5659export type UseInfiniteQueryReturnType < TData , TError > = UseBaseQueryReturnType <
5760 TData ,
5861 TError ,
5962 InfiniteQueryObserverResult < TData , TError >
6063>
6164
65+ export function useInfiniteQuery <
66+ TQueryFnData ,
67+ TError = DefaultError ,
68+ TData = InfiniteData < TQueryFnData > ,
69+ TQueryKey extends QueryKey = QueryKey ,
70+ TPageParam = unknown ,
71+ > (
72+ options : DefinedInitialDataInfiniteOptions <
73+ TQueryFnData ,
74+ TError ,
75+ TData ,
76+ TQueryKey ,
77+ TPageParam
78+ > ,
79+ queryClient ?: QueryClient ,
80+ ) : UseInfiniteQueryReturnType < TData , TError >
81+
82+ export function useInfiniteQuery <
83+ TQueryFnData ,
84+ TError = DefaultError ,
85+ TData = InfiniteData < TQueryFnData > ,
86+ TQueryKey extends QueryKey = QueryKey ,
87+ TPageParam = unknown ,
88+ > (
89+ options : UndefinedInitialDataInfiniteOptions <
90+ TQueryFnData ,
91+ TError ,
92+ TData ,
93+ TQueryKey ,
94+ TPageParam
95+ > ,
96+ queryClient ?: QueryClient ,
97+ ) : UseInfiniteQueryReturnType < TData , TError >
98+
6299export function useInfiniteQuery <
63100 TQueryFnData ,
64101 TError = DefaultError ,
@@ -75,10 +112,16 @@ export function useInfiniteQuery<
75112 TPageParam
76113 > ,
77114 queryClient ?: QueryClient ,
78- ) : UseInfiniteQueryReturnType < TData , TError > {
115+ ) : UseInfiniteQueryReturnType < TData , TError >
116+
117+ export function useInfiniteQuery (
118+ options : UseInfiniteQueryOptions ,
119+ queryClient ?: QueryClient ,
120+ ) {
79121 return useBaseQuery (
122+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
80123 InfiniteQueryObserver as typeof QueryObserver ,
81124 options ,
82125 queryClient ,
83- ) as UseInfiniteQueryReturnType < TData , TError >
126+ )
84127}
0 commit comments