Skip to content

Commit d5c2a8e

Browse files
authored
fix: types for useSuspenseInfiniteQuery (#5766)
1 parent cd244aa commit d5c2a8e

File tree

2 files changed

+42
-15
lines changed

2 files changed

+42
-15
lines changed

packages/react-query/src/types.ts

+25
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import type {
66
DefinedQueryObserverResult,
77
InfiniteQueryObserverOptions,
88
InfiniteQueryObserverResult,
9+
InfiniteQueryObserverSuccessResult,
910
MutateFunction,
1011
MutationObserverOptions,
1112
MutationObserverResult,
@@ -66,6 +67,25 @@ export interface UseInfiniteQueryOptions<
6667
'queryKey'
6768
> {}
6869

70+
export interface UseSuspenseInfiniteQueryOptions<
71+
TQueryFnData = unknown,
72+
TError = DefaultError,
73+
TData = TQueryFnData,
74+
TQueryData = TQueryFnData,
75+
TQueryKey extends QueryKey = QueryKey,
76+
TPageParam = unknown,
77+
> extends Omit<
78+
UseInfiniteQueryOptions<
79+
TQueryFnData,
80+
TError,
81+
TData,
82+
TQueryData,
83+
TQueryKey,
84+
TPageParam
85+
>,
86+
'enabled' | 'suspense' | 'throwOnError' | 'placeholderData'
87+
> {}
88+
6989
export type UseBaseQueryResult<
7090
TData = unknown,
7191
TError = DefaultError,
@@ -96,6 +116,11 @@ export type DefinedUseInfiniteQueryResult<
96116
TError = DefaultError,
97117
> = DefinedInfiniteQueryObserverResult<TData, TError>
98118

119+
export type UseSuspenseInfiniteQueryResult<
120+
TData = unknown,
121+
TError = DefaultError,
122+
> = Omit<InfiniteQueryObserverSuccessResult<TData, TError>, 'isPlaceholderData'>
123+
99124
export interface UseMutationOptions<
100125
TData = unknown,
101126
TError = DefaultError,
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,20 @@
11
'use client'
22
import { InfiniteQueryObserver } from '@tanstack/query-core'
33
import { useBaseQuery } from './useBaseQuery'
4-
import type { QueryObserver } from '@tanstack/query-core'
4+
import type {
5+
InfiniteQueryObserverSuccessResult,
6+
QueryObserver,
7+
} from '@tanstack/query-core'
58
import type {
69
DefaultError,
710
InfiniteData,
811
QueryClient,
912
QueryKey,
1013
} from '@tanstack/query-core'
11-
import type { DefinedUseInfiniteQueryResult } from './types'
12-
import type { UseInfiniteQueryOptions } from './types'
14+
import type {
15+
UseSuspenseInfiniteQueryOptions,
16+
UseSuspenseInfiniteQueryResult,
17+
} from './types'
1318

1419
export function useSuspenseInfiniteQuery<
1520
TQueryFnData,
@@ -18,19 +23,16 @@ export function useSuspenseInfiniteQuery<
1823
TQueryKey extends QueryKey = QueryKey,
1924
TPageParam = unknown,
2025
>(
21-
options: Omit<
22-
UseInfiniteQueryOptions<
23-
TQueryFnData,
24-
TError,
25-
TData,
26-
TQueryFnData,
27-
TQueryKey,
28-
TPageParam
29-
>,
30-
'enabled' | 'suspense' | 'throwOnError' | 'placeholderData'
26+
options: UseSuspenseInfiniteQueryOptions<
27+
TQueryFnData,
28+
TError,
29+
TData,
30+
TQueryFnData,
31+
TQueryKey,
32+
TPageParam
3133
>,
3234
queryClient?: QueryClient,
33-
): Omit<DefinedUseInfiniteQueryResult<TData, TError>, 'isPlaceholderData'> {
35+
): UseSuspenseInfiniteQueryResult<TData, TError> {
3436
return useBaseQuery(
3537
{
3638
...options,
@@ -41,5 +43,5 @@ export function useSuspenseInfiniteQuery<
4143
// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
4244
InfiniteQueryObserver as typeof QueryObserver,
4345
queryClient,
44-
) as DefinedUseInfiniteQueryResult<TData, TError>
46+
) as InfiniteQueryObserverSuccessResult<TData, TError>
4547
}

0 commit comments

Comments
 (0)