@@ -40,13 +40,20 @@ type ReplaceGeneratorWithAsyncGenerator<
4040 : RecordType [ K ]
4141} & { }
4242
43- type Enumerate < N extends number , Acc extends number [ ] = [ ] > =
44- Acc [ 'length' ] extends N ? Acc [ number ] : Enumerate < N , [ ...Acc , Acc [ 'length' ] ] > ;
43+ type Enumerate <
44+ N extends number ,
45+ Acc extends number [ ] = [ ]
46+ > = Acc [ 'length' ] extends N
47+ ? Acc [ number ]
48+ : Enumerate < N , [ ...Acc , Acc [ 'length' ] ] >
4549
46- type IntegerRange < F extends number , T extends number > = Exclude < Enumerate < T > , Enumerate < F > > ;
50+ type IntegerRange < F extends number , T extends number > = Exclude <
51+ Enumerate < T > ,
52+ Enumerate < F >
53+ >
4754
48- type SuccessCodeRange = IntegerRange < 200 , 300 > ;
49- type IsSuccessCode < S extends number > = S extends SuccessCodeRange ? true : false ;
55+ type SuccessCodeRange = IntegerRange < 200 , 300 >
56+ type IsSuccessCode < S extends number > = S extends SuccessCodeRange ? true : false
5057
5158type MaybeArray < T > = T | T [ ]
5259type MaybePromise < T > = T | Promise < T >
@@ -60,26 +67,29 @@ export namespace Treaty {
6067 App extends {
6168 '~Routes' : infer Schema extends Record < any , any >
6269 }
63- ? Prettify < Sign < Schema > & CreateParams < Schema > >
70+ ? Prettify < Sign < Schema > > & CreateParams < Schema >
6471 : 'Please install Elysia before using Eden'
6572
6673 export type Sign < in out Route extends Record < any , any > > = {
6774 [ K in keyof Route as K extends `:${string } `
6875 ? never
6976 : K ] : K extends 'subscribe' // ? Websocket route
7077 ? MaybeEmptyObject < Route [ 'subscribe' ] [ 'headers' ] , 'headers' > &
71- MaybeEmptyObject < Route [ 'subscribe' ] [ 'query' ] , 'query' > extends infer Param
78+ MaybeEmptyObject <
79+ Route [ 'subscribe' ] [ 'query' ] ,
80+ 'query'
81+ > extends infer Param
7282 ? ( options ?: Param ) => EdenWS < Route [ 'subscribe' ] >
7383 : never
7484 : Route [ K ] extends {
75- body : infer Body
76- headers : infer Headers
77- params : any
78- query : infer Query
79- response : infer Res extends Record < number , unknown >
80- }
81- ? MaybeEmptyObject < Headers , 'headers' > &
82- MaybeEmptyObject < Query , 'query' > extends infer Param
85+ body : infer Body
86+ headers : infer Headers
87+ params : any
88+ query : infer Query
89+ response : infer Res extends Record < number , unknown >
90+ }
91+ ? MaybeEmptyObject < Headers , 'headers' > &
92+ MaybeEmptyObject < Query , 'query' > extends infer Param
8393 ? { } extends Param
8494 ? undefined extends Body
8595 ? K extends 'get' | 'head'
@@ -98,23 +108,31 @@ export namespace Treaty {
98108 ReplaceGeneratorWithAsyncGenerator < Res >
99109 >
100110 >
101- : { } extends Body
111+ : K extends 'get' | 'head'
102112 ? (
103- body ?: Body ,
104- options ?: Prettify < Param & TreatyParam >
105- ) => Promise <
106- TreatyResponse <
107- ReplaceGeneratorWithAsyncGenerator < Res >
108- >
109- >
110- : (
111- body : Body ,
112113 options ?: Prettify < Param & TreatyParam >
113114 ) => Promise <
114115 TreatyResponse <
115116 ReplaceGeneratorWithAsyncGenerator < Res >
116117 >
117118 >
119+ : { } extends Body
120+ ? (
121+ body ?: Body ,
122+ options ?: Prettify < Param & TreatyParam >
123+ ) => Promise <
124+ TreatyResponse <
125+ ReplaceGeneratorWithAsyncGenerator < Res >
126+ >
127+ >
128+ : (
129+ body : Body ,
130+ options ?: Prettify < Param & TreatyParam >
131+ ) => Promise <
132+ TreatyResponse <
133+ ReplaceGeneratorWithAsyncGenerator < Res >
134+ >
135+ >
118136 : K extends 'get' | 'head'
119137 ? (
120138 options : Prettify < Param & TreatyParam >
@@ -188,7 +206,7 @@ export namespace Treaty {
188206 error : null
189207 response : Response
190208 status : number
191- headers : RequestInit [ 'headers' ]
209+ headers : ResponseInit [ 'headers' ]
192210 }
193211 | {
194212 data : null
@@ -209,7 +227,7 @@ export namespace Treaty {
209227 } [ Exclude < keyof Res , SuccessCodeRange > ]
210228 response : Response
211229 status : number
212- headers : RequestInit [ 'headers' ]
230+ headers : ResponseInit [ 'headers' ]
213231 }
214232
215233 export interface OnMessage < Data = unknown > extends MessageEvent {
0 commit comments