@@ -91,6 +91,8 @@ export interface ClientOptions {
9191export interface QueryOptions {
9292 /** Parameters to pass to the connection. */
9393 params ?: unknown ;
94+ /** Signal to abort the request. */
95+ signal ?: AbortSignal ;
9496}
9597
9698/**
@@ -160,25 +162,29 @@ export interface ClientDriver {
160162 encoding : Encoding ,
161163 params : unknown ,
162164 name : string ,
163- ...args : Args
165+ args : Args ,
166+ opts : { signal ?: AbortSignal } | undefined ,
164167 ) : Promise < Response > ;
165168 resolveWorkerId (
166169 c : HonoContext | undefined ,
167170 workerQuery : WorkerQuery ,
168171 encodingKind : Encoding ,
169172 params : unknown ,
173+ opts : { signal ?: AbortSignal } | undefined ,
170174 ) : Promise < string > ;
171175 connectWebSocket (
172176 c : HonoContext | undefined ,
173177 workerQuery : WorkerQuery ,
174178 encodingKind : Encoding ,
175179 params : unknown ,
180+ opts : { signal ?: AbortSignal } | undefined ,
176181 ) : Promise < WebSocket > ;
177182 connectSse (
178183 c : HonoContext | undefined ,
179184 workerQuery : WorkerQuery ,
180185 encodingKind : Encoding ,
181186 params : unknown ,
187+ opts : { signal ?: AbortSignal } | undefined ,
182188 ) : Promise < EventSource > ;
183189 sendHttpMessage (
184190 c : HonoContext | undefined ,
@@ -187,6 +193,7 @@ export interface ClientDriver {
187193 connectionId : string ,
188194 connectionToken : string ,
189195 message : wsToServer . ToServer ,
196+ opts : { signal ?: AbortSignal } | undefined ,
190197 ) : Promise < Response > ;
191198}
192199
@@ -360,6 +367,7 @@ export class ClientRaw {
360367 createQuery ,
361368 this . #encodingKind,
362369 opts ?. params ,
370+ opts ?. signal ? { signal : opts . signal } : undefined ,
363371 ) ;
364372 logger ( ) . debug ( "created worker with ID" , {
365373 name,
@@ -541,7 +549,7 @@ function createWorkerProxy<AD extends AnyWorkerDefinition>(
541549
542550 let method = methodCache . get ( prop ) ;
543551 if ( ! method ) {
544- method = ( ...args : unknown [ ] ) => target . action ( prop , ... args ) ;
552+ method = ( ...args : unknown [ ] ) => target . action ( { name : prop , args } ) ;
545553 methodCache . set ( prop , method ) ;
546554 }
547555 return method ;
@@ -580,7 +588,7 @@ function createWorkerProxy<AD extends AnyWorkerDefinition>(
580588 configurable : true ,
581589 enumerable : false ,
582590 writable : false ,
583- value : ( ...args : unknown [ ] ) => target . action ( prop , ... args ) ,
591+ value : ( ...args : unknown [ ] ) => target . action ( { name : prop , args } ) ,
584592 } ;
585593 }
586594 return undefined ;
0 commit comments