@@ -6,13 +6,15 @@ import type {
66 DefaultError ,
77 QueryClient ,
88 QueryFunction ,
9- SkipToken ,
109 ThrowOnError ,
1110} from '@tanstack/query-core'
1211
1312// Avoid TS depth-limit error in case of large array literal
1413type MAXIMUM_DEPTH = 20
1514
15+ // Widen the type of the symbol to enable type inference even if skipToken is not immutable.
16+ type SkipTokenForUseQueries = symbol
17+
1618type GetUseSuspenseQueryOptions < T > =
1719 // Part 1: responsible for applying explicit type parameter to function arguments, if object { queryFnData: TQueryFnData, error: TError, data: TData }
1820 T extends {
@@ -36,7 +38,7 @@ type GetUseSuspenseQueryOptions<T> =
3638 T extends {
3739 queryFn ?:
3840 | QueryFunction < infer TQueryFnData , infer TQueryKey >
39- | SkipToken
41+ | SkipTokenForUseQueries
4042 select ?: ( data : any ) => infer TData
4143 throwOnError ?: ThrowOnError < any , infer TError , any , any >
4244 }
@@ -49,7 +51,7 @@ type GetUseSuspenseQueryOptions<T> =
4951 : T extends {
5052 queryFn ?:
5153 | QueryFunction < infer TQueryFnData , infer TQueryKey >
52- | SkipToken
54+ | SkipTokenForUseQueries
5355 throwOnError ?: ThrowOnError < any , infer TError , any , any >
5456 }
5557 ? UseSuspenseQueryOptions <
@@ -78,7 +80,9 @@ type GetUseSuspenseQueryResult<T> =
7880 ? UseSuspenseQueryResult < TQueryFnData >
7981 : // Part 3: responsible for mapping inferred type to results, if no explicit parameter was provided
8082 T extends {
81- queryFn ?: QueryFunction < infer TQueryFnData , any > | SkipToken
83+ queryFn ?:
84+ | QueryFunction < infer TQueryFnData , any >
85+ | SkipTokenForUseQueries
8286 select ?: ( data : any ) => infer TData
8387 throwOnError ?: ThrowOnError < any , infer TError , any , any >
8488 }
@@ -89,7 +93,7 @@ type GetUseSuspenseQueryResult<T> =
8993 : T extends {
9094 queryFn ?:
9195 | QueryFunction < infer TQueryFnData , any >
92- | SkipToken
96+ | SkipTokenForUseQueries
9397 throwOnError ?: ThrowOnError < any , infer TError , any , any >
9498 }
9599 ? UseSuspenseQueryResult <
0 commit comments