@@ -198,22 +198,26 @@ type ExtractStatusCode<T extends RouteConfigStatusCode> = T extends keyof Status
198198type DefinedStatusCodes < R extends RouteConfig > = keyof R [ 'responses' ] & RouteConfigStatusCode
199199export type RouteConfigToTypedResponse < R extends RouteConfig > =
200200 | {
201- [ Status in DefinedStatusCodes < R > ] : undefined extends R [ 'responses' ] [ Status ] [ 'content' ]
202- ? TypedResponse < { } , ExtractStatusCode < Status > , string >
203- : ReturnJsonOrTextOrResponse <
204- keyof R [ 'responses' ] [ Status ] [ 'content' ] ,
205- ExtractContent < R [ 'responses' ] [ Status ] [ 'content' ] > ,
206- Status
207- >
201+ [ Status in DefinedStatusCodes < R > ] : R [ 'responses' ] [ Status ] extends { content : infer Content }
202+ ? undefined extends Content
203+ ? never
204+ : ReturnJsonOrTextOrResponse <
205+ keyof R [ 'responses' ] [ Status ] [ 'content' ] ,
206+ ExtractContent < R [ 'responses' ] [ Status ] [ 'content' ] > ,
207+ Status
208+ >
209+ : TypedResponse < { } , ExtractStatusCode < Status > , string >
208210 } [ DefinedStatusCodes < R > ]
209211 | ( 'default' extends keyof R [ 'responses' ]
210- ? undefined extends R [ 'responses' ] [ 'default' ] [ 'content' ]
211- ? TypedResponse < { } , Exclude < StatusCode , ExtractStatusCode < DefinedStatusCodes < R > > > , string >
212- : ReturnJsonOrTextOrResponse <
213- keyof R [ 'responses' ] [ 'default' ] [ 'content' ] ,
214- ExtractContent < R [ 'responses' ] [ 'default' ] [ 'content' ] > ,
215- Exclude < StatusCode , ExtractStatusCode < DefinedStatusCodes < R > > >
216- >
212+ ? R [ 'responses' ] [ 'default' ] extends { content : infer Content }
213+ ? undefined extends Content
214+ ? never
215+ : ReturnJsonOrTextOrResponse <
216+ keyof Content ,
217+ ExtractContent < Content > ,
218+ Exclude < StatusCode , ExtractStatusCode < DefinedStatusCodes < R > > >
219+ >
220+ : TypedResponse < { } , Exclude < StatusCode , ExtractStatusCode < DefinedStatusCodes < R > > > , string >
217221 : never )
218222
219223export type Hook < T , E extends Env , P extends string , R > = (
0 commit comments