diff --git a/test/types/dispatcher.test-d.ts b/test/types/dispatcher.test-d.ts index 245ee218d59..4e9aabc93bc 100644 --- a/test/types/dispatcher.test-d.ts +++ b/test/types/dispatcher.test-d.ts @@ -129,8 +129,34 @@ declare const { body }: Dispatcher.ResponseData; // compose { - expectAssignable(new Dispatcher().compose(new Dispatcher().dispatch, new Dispatcher().dispatch)) - expectAssignable(new Dispatcher().compose([new Dispatcher().dispatch, new Dispatcher().dispatch])) + expectAssignable(new Dispatcher().compose( + (dispatcher) => { + expectAssignable(dispatcher); + return (opts, handlers) => { + expectAssignable(opts); + expectAssignable(handlers); + return dispatcher(opts, handlers) + } + } + )) + expectAssignable(new Dispatcher().compose([ + (dispatcher) => { + expectAssignable(dispatcher); + return (opts, handlers) => { + expectAssignable(opts); + expectAssignable(handlers); + return dispatcher(opts, handlers) + } + }, + (dispatcher) => { + expectAssignable(dispatcher); + return (opts, handlers) => { + expectAssignable(opts); + expectAssignable(handlers); + return dispatcher(opts, handlers) + } + } + ])) } { diff --git a/types/dispatcher.d.ts b/types/dispatcher.d.ts index e632e0e921a..7665ae32841 100644 --- a/types/dispatcher.d.ts +++ b/types/dispatcher.d.ts @@ -19,8 +19,8 @@ declare class Dispatcher extends EventEmitter { connect(options: Dispatcher.ConnectOptions): Promise; connect(options: Dispatcher.ConnectOptions, callback: (err: Error | null, data: Dispatcher.ConnectData) => void): void; /** Compose a chain of dispatchers */ - compose(dispatchers: Dispatcher['dispatch'][]): Dispatcher.ComposedDispatcher; - compose(...dispatchers: Dispatcher['dispatch'][]): Dispatcher.ComposedDispatcher; + compose(dispatchers: Dispatcher.DispatcherInterceptor[]): Dispatcher.ComposedDispatcher; + compose(...dispatchers: Dispatcher.DispatcherInterceptor[]): Dispatcher.ComposedDispatcher; /** Performs an HTTP request. */ request(options: Dispatcher.RequestOptions): Promise; request(options: Dispatcher.RequestOptions, callback: (err: Error | null, data: Dispatcher.ResponseData) => void): void;