@@ -13,7 +13,7 @@ export type ChannelKind = "async" | "sync-stream";
1313type ChannelTypeInfo <
1414 TArgs extends EventArguments ,
1515 TResult ,
16- TExtra extends object = Record < string , never > ,
16+ TExtra extends object = Record < string , unknown > ,
1717 TChunk = never ,
1818 TKind extends ChannelKind = "async" ,
1919> = {
@@ -27,7 +27,7 @@ type ChannelTypeInfo<
2727export type ChannelSpec <
2828 TArgs extends EventArguments ,
2929 TResult ,
30- TExtra extends object = Record < string , never > ,
30+ TExtra extends object = Record < string , unknown > ,
3131 TChunk = never ,
3232 TKind extends ChannelKind = "async" ,
3333> = ChannelTypeInfo < TArgs , TResult , TExtra , TChunk , TKind > & {
@@ -129,10 +129,10 @@ type BaseTypedChannel<TSpec extends AnyChannelSpec> = TSpec & {
129129
130130export type TypedAsyncChannel < TSpec extends AnyAsyncChannelSpec > =
131131 BaseTypedChannel < TSpec > & {
132- tracePromise < TResult extends ResultOf < TSpec > > (
133- fn : ( ) => Promise < TResult > ,
132+ tracePromise < TReturn extends PromiseLike < ResultOf < TSpec > > > (
133+ fn : ( ) => TReturn ,
134134 context : StartOf < TSpec > ,
135- ) : Promise < TResult > ;
135+ ) : TReturn ;
136136 } ;
137137
138138export type TypedSyncStreamChannel < TSpec extends AnySyncStreamChannelSpec > =
@@ -152,7 +152,7 @@ type ChannelSpecMap = Record<string, AnyChannelSpec>;
152152export function channel <
153153 TArgs extends EventArguments ,
154154 TResult ,
155- TExtra extends object = Record < string , never > ,
155+ TExtra extends object = Record < string , unknown > ,
156156 TChunk = never ,
157157> ( spec : {
158158 channelName : string ;
@@ -161,7 +161,7 @@ export function channel<
161161export function channel <
162162 TArgs extends EventArguments ,
163163 TResult ,
164- TExtra extends object = Record < string , never > ,
164+ TExtra extends object = Record < string , unknown > ,
165165 TChunk = never ,
166166> ( spec : {
167167 channelName : string ;
@@ -208,15 +208,15 @@ export function defineChannels<T extends ChannelSpecMap>(
208208 {
209209 ...asyncSpec ,
210210 tracingChannel,
211- tracePromise : < TResult > (
212- fn : ( ) => Promise < TResult > ,
211+ tracePromise : < TReturn extends Promise < ResultOf < typeof asyncSpec > > > (
212+ fn : ( ) => TReturn ,
213213 context : StartOf < AnyAsyncChannelSpec > ,
214214 ) =>
215215 tracingChannel ( ) . tracePromise (
216216 fn ,
217217 // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
218218 context as ChannelMessage < AnyAsyncChannelSpec > ,
219- ) ,
219+ ) as TReturn ,
220220 } as AnyAsyncChannel ,
221221 ] ;
222222 }
0 commit comments