11import { InfiniteQueryObserver } from '@tanstack/query-core'
22import { useBaseQuery } from './useBaseQuery'
3+ import type {
4+ DefinedInitialDataInfiniteOptions ,
5+ UndefinedInitialDataInfiniteOptions ,
6+ } from './infiniteQueryOptions'
37import type {
48 DefaultError ,
59 InfiniteData ,
@@ -11,7 +15,12 @@ import type {
1115
1216import type { UseBaseQueryReturnType } from './useBaseQuery'
1317
14- import type { DeepUnwrapRef , MaybeRefDeep , MaybeRefOrGetter } from './types'
18+ import type {
19+ DeepUnwrapRef ,
20+ MaybeRef ,
21+ MaybeRefDeep ,
22+ MaybeRefOrGetter ,
23+ } from './types'
1524import type { QueryClient } from './queryClient'
1625
1726export type UseInfiniteQueryOptions <
@@ -21,44 +30,80 @@ export type UseInfiniteQueryOptions<
2130 TQueryData = TQueryFnData ,
2231 TQueryKey extends QueryKey = QueryKey ,
2332 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+ >
5566
5667export type UseInfiniteQueryReturnType < TData , TError > = UseBaseQueryReturnType <
5768 TData ,
5869 TError ,
5970 InfiniteQueryObserverResult < TData , TError >
6071>
6172
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+
62107export function useInfiniteQuery <
63108 TQueryFnData ,
64109 TError = DefaultError ,
@@ -75,10 +120,16 @@ export function useInfiniteQuery<
75120 TPageParam
76121 > ,
77122 queryClient ?: QueryClient ,
78- ) : UseInfiniteQueryReturnType < TData , TError > {
123+ ) : UseInfiniteQueryReturnType < TData , TError >
124+
125+ export function useInfiniteQuery (
126+ options : UseInfiniteQueryOptions ,
127+ queryClient ?: QueryClient ,
128+ ) {
79129 return useBaseQuery (
130+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
80131 InfiniteQueryObserver as typeof QueryObserver ,
81132 options ,
82133 queryClient ,
83- ) as UseInfiniteQueryReturnType < TData , TError >
134+ )
84135}
0 commit comments