@@ -60,6 +60,18 @@ const createApiResponseType = ({
6060 ts . factory . createTypeReferenceNode ( BuildCommonTypeName ( apiResponse . name ) ) ,
6161 ) ;
6262
63+ // Response data type for suspense - use Response type directly to exclude undefined
64+ const suspenseResponseDataType = ts . factory . createTypeParameterDeclaration (
65+ undefined ,
66+ TData . text ,
67+ undefined ,
68+ ts . factory . createTypeReferenceNode (
69+ ts . factory . createIdentifier (
70+ `${ capitalizeFirstLetter ( methodName ) } Response` ,
71+ ) ,
72+ ) ,
73+ ) ;
74+
6375 const responseErrorType = ts . factory . createTypeParameterDeclaration (
6476 undefined ,
6577 TError . text ,
@@ -93,6 +105,12 @@ const createApiResponseType = ({
93105 * MyClassMethodDefaultResponse
94106 */
95107 responseDataType,
108+ /**
109+ * ResponseDataType for suspense - use Response type directly to exclude undefined
110+ *
111+ * MyClassMethodResponse
112+ */
113+ suspenseResponseDataType,
96114 /**
97115 * ErrorDataType
98116 *
@@ -202,6 +220,7 @@ function createQueryHook({
202220 }
203221
204222 const isInfiniteQuery = queryString === "useInfiniteQuery" ;
223+ const isSuspenseQuery = queryString === "useSuspenseQuery" ;
205224
206225 const responseDataTypeRef = responseDataType . default as ts . TypeReferenceNode ;
207226 const responseDataTypeIdentifier =
@@ -266,7 +285,9 @@ function createQueryHook({
266285 ts . factory . createIdentifier (
267286 isInfiniteQuery
268287 ? "UseInfiniteQueryOptions"
269- : "UseQueryOptions" ,
288+ : isSuspenseQuery
289+ ? "UseSuspenseQueryOptions"
290+ : "UseQueryOptions" ,
270291 ) ,
271292 [
272293 ts . factory . createTypeReferenceNode ( TData ) ,
@@ -469,6 +490,7 @@ export const createUseQuery = ({
469490 const {
470491 apiResponse : defaultApiResponse ,
471492 responseDataType,
493+ suspenseResponseDataType,
472494 responseErrorType,
473495 } = createApiResponseType ( {
474496 methodName,
@@ -496,7 +518,7 @@ export const createUseQuery = ({
496518 const suspenseQueryHook = createQueryHook ( {
497519 queryString : "useSuspenseQuery" ,
498520 suffix : "Suspense" ,
499- responseDataType,
521+ responseDataType : suspenseResponseDataType ,
500522 responseErrorType,
501523 requestParams,
502524 method,
0 commit comments