44 hasPreviousPage ,
55 infiniteQueryBehavior ,
66} from './infiniteQueryBehavior'
7+ import type { Subscribable } from './subscribable'
78import type {
89 DefaultError ,
910 DefaultedInfiniteQueryObserverOptions ,
@@ -16,7 +17,7 @@ import type {
1617 QueryKey ,
1718} from './types'
1819import type { QueryClient } from './queryClient'
19- import type { NotifyOptions , ObserverFetchOptions } from './queryObserver'
20+ import type { NotifyOptions } from './queryObserver'
2021import type { Query } from './query'
2122
2223type InfiniteQueryObserverListener < TData , TError > = (
@@ -38,17 +39,33 @@ export class InfiniteQueryObserver<
3839 TQueryKey
3940> {
4041 // Type override
41- subscribe ! : (
42- listener ?: InfiniteQueryObserverListener < TData , TError > ,
43- ) => ( ) => void
42+ subscribe ! : Subscribable <
43+ InfiniteQueryObserverListener < TData , TError >
44+ > [ 'subscribe' ]
4445
4546 // Type override
46- getCurrentResult ! : ( ) => InfiniteQueryObserverResult < TData , TError >
47+ getCurrentResult ! : ReplaceReturnType <
48+ QueryObserver <
49+ TQueryFnData ,
50+ TError ,
51+ TData ,
52+ InfiniteData < TQueryData , TPageParam > ,
53+ TQueryKey
54+ > [ 'getCurrentResult' ] ,
55+ InfiniteQueryObserverResult < TData , TError >
56+ >
4757
4858 // Type override
49- protected fetch ! : (
50- fetchOptions : ObserverFetchOptions ,
51- ) => Promise < InfiniteQueryObserverResult < TData , TError > >
59+ protected fetch ! : ReplaceReturnType <
60+ QueryObserver <
61+ TQueryFnData ,
62+ TError ,
63+ TData ,
64+ InfiniteData < TQueryData , TPageParam > ,
65+ TQueryKey
66+ > [ 'fetch' ] ,
67+ Promise < InfiniteQueryObserverResult < TData , TError > >
68+ >
5269
5370 constructor (
5471 client : QueryClient ,
@@ -176,3 +193,8 @@ export class InfiniteQueryObserver<
176193 return result as InfiniteQueryObserverResult < TData , TError >
177194 }
178195}
196+
197+ type ReplaceReturnType <
198+ TFunction extends ( ...args : Array < any > ) => unknown ,
199+ TReturn ,
200+ > = ( ...args : Parameters < TFunction > ) => TReturn
0 commit comments