@@ -86,21 +86,24 @@ export type { StatusCode, SuccessfulStatus };
8686 */
8787export type ResponseOfEndpoint <
8888 ResponseBodyMap extends Record < number , unknown > = Record < StatusCode , string > ,
89- > = {
90- [ Status in StatusCode | keyof ResponseBodyMap ] : Status extends number
91- ? ResponseBodyMap [ Status ] extends
92- | string
93- | Exclude <
94- JsonCompatible < ResponseBodyMap [ Status ] > ,
95- string | number | boolean | null
96- >
97- | Uint8Array
98- | FormData
99- | Blob ? TargetedResponse < Status , ResponseBodyMap [ Status ] >
100- : Status extends StatusCode ? TargetedResponse < Status , string >
101- : never
102- : never ;
103- } [ StatusCode | keyof ResponseBodyMap ] ;
89+ R extends Response | undefined = Response ,
90+ > =
91+ | {
92+ [ Status in StatusCode | keyof ResponseBodyMap ] : Status extends number
93+ ? ResponseBodyMap [ Status ] extends
94+ | string
95+ | Exclude <
96+ JsonCompatible < ResponseBodyMap [ Status ] > ,
97+ string | number | boolean | null
98+ >
99+ | Uint8Array
100+ | FormData
101+ | Blob ? TargetedResponse < Status , ResponseBodyMap [ Status ] >
102+ : Status extends StatusCode ? TargetedResponse < Status , string >
103+ : never
104+ : never ;
105+ } [ StatusCode | keyof ResponseBodyMap ]
106+ | ( undefined extends R ? undefined : never ) ;
104107
105108/**
106109 * Type-safe {@linkcode Response} object
0 commit comments