From c30c10f07ec721c28be00c5e7d0a89649b7509ac Mon Sep 17 00:00:00 2001 From: Clovis Guillemot Date: Fri, 22 Mar 2024 09:39:21 +0000 Subject: [PATCH 1/2] [fix #2982] use DispatcherInterceptor type for Dispatcher#Compose --- types/dispatcher.d.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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; From 94aeb436edb537062f94e89d0427fa7563ea0c7f Mon Sep 17 00:00:00 2001 From: Clovis Guillemot Date: Fri, 22 Mar 2024 09:53:15 +0000 Subject: [PATCH 2/2] update unit test according to new Dispatcher#compose signature (ref #2982) --- test/types/dispatcher.test-d.ts | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) 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) + } + } + ])) } {