4
4
hasPreviousPage ,
5
5
infiniteQueryBehavior ,
6
6
} from './infiniteQueryBehavior'
7
+ import type { Subscribable } from './subscribable'
7
8
import type {
8
9
DefaultError ,
9
10
DefaultedInfiniteQueryObserverOptions ,
@@ -16,7 +17,7 @@ import type {
16
17
QueryKey ,
17
18
} from './types'
18
19
import type { QueryClient } from './queryClient'
19
- import type { NotifyOptions , ObserverFetchOptions } from './queryObserver'
20
+ import type { NotifyOptions } from './queryObserver'
20
21
import type { Query } from './query'
21
22
22
23
type InfiniteQueryObserverListener < TData , TError > = (
@@ -38,17 +39,33 @@ export class InfiniteQueryObserver<
38
39
TQueryKey
39
40
> {
40
41
// Type override
41
- subscribe ! : (
42
- listener ?: InfiniteQueryObserverListener < TData , TError > ,
43
- ) => ( ) => void
42
+ subscribe ! : Subscribable <
43
+ InfiniteQueryObserverListener < TData , TError >
44
+ > [ 'subscribe' ]
44
45
45
46
// 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
+ >
47
57
48
58
// 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
+ >
52
69
53
70
constructor (
54
71
client : QueryClient ,
@@ -176,3 +193,8 @@ export class InfiniteQueryObserver<
176
193
return result as InfiniteQueryObserverResult < TData , TError >
177
194
}
178
195
}
196
+
197
+ type ReplaceReturnType <
198
+ TFunction extends ( ...args : Array < any > ) => unknown ,
199
+ TReturn ,
200
+ > = ( ...args : Parameters < TFunction > ) => TReturn
0 commit comments