@@ -59,16 +59,20 @@ export namespace Treaty {
5959 [ K in keyof Route as K extends `:${string } `
6060 ? never
6161 : K ] : K extends 'subscribe' // ? Websocket route
62- ? ( undefined extends Route [ 'subscribe' ] [ 'headers' ]
62+ ? ( { } extends Route [ 'subscribe' ] [ 'headers' ]
6363 ? { headers ?: Record < string , unknown > }
64- : {
65- headers : Route [ 'subscribe' ] [ 'headers' ]
66- } ) &
67- ( undefined extends Route [ 'subscribe' ] [ 'query' ]
64+ : undefined extends Route [ 'subscribe' ] [ 'headers' ]
65+ ? { headers ?: Record < string , unknown > }
66+ : {
67+ headers : Route [ 'subscribe' ] [ 'headers' ]
68+ } ) &
69+ ( { } extends Route [ 'subscribe' ] [ 'query' ]
6870 ? { query ?: Record < string , unknown > }
69- : {
70- query : Route [ 'subscribe' ] [ 'query' ]
71- } ) extends infer Param
71+ : undefined extends Route [ 'subscribe' ] [ 'query' ]
72+ ? { query ?: Record < string , unknown > }
73+ : {
74+ query : Route [ 'subscribe' ] [ 'query' ]
75+ } ) extends infer Param
7276 ? ( options ?: Param ) => EdenWS < Route [ 'subscribe' ] >
7377 : never
7478 : Route [ K ] extends {
@@ -78,14 +82,22 @@ export namespace Treaty {
7882 query : infer Query
7983 response : infer Res extends Record < number , unknown >
8084 }
81- ? ( undefined extends Headers
82- ? { headers ?: Record < string , unknown > }
83- : {
84- headers : Headers
85- } ) &
86- ( undefined extends Query
87- ? { query ?: Record < string , unknown > }
88- : { query : Query } ) extends infer Param
85+ ? ( { } extends Headers
86+ ? {
87+ headers ?: Record < string , unknown >
88+ }
89+ : undefined extends Headers
90+ ? { headers ?: Record < string , unknown > }
91+ : {
92+ headers : Headers
93+ } ) &
94+ ( { } extends Query
95+ ? {
96+ query ?: Record < string , unknown >
97+ }
98+ : undefined extends Query
99+ ? { query ?: Record < string , unknown > }
100+ : { query : Query } ) extends infer Param
89101 ? { } extends Param
90102 ? undefined extends Body
91103 ? K extends 'get' | 'head'
@@ -104,14 +116,23 @@ export namespace Treaty {
104116 ReplaceGeneratorWithAsyncGenerator < Res >
105117 >
106118 >
107- : (
108- body : Body ,
109- options ?: Prettify < Param & TreatyParam >
110- ) => Promise <
111- TreatyResponse <
112- ReplaceGeneratorWithAsyncGenerator < Res >
113- >
114- >
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+ >
115136 : K extends 'get' | 'head'
116137 ? (
117138 options : Prettify < Param & TreatyParam >
0 commit comments