From a06a9447d09d93a2a0a108cb27bc183e5bd4716d Mon Sep 17 00:00:00 2001 From: Artem Zakharchenko Date: Tue, 15 Nov 2022 15:14:31 +0100 Subject: [PATCH] fix(SetupApi): validate given request handlers (#1460) --- src/SetupApi.ts | 2 +- src/native/index.ts | 2 +- src/node/SetupServerApi.ts | 4 ++-- src/node/setupServer.ts | 2 +- src/setupWorker/setupWorker.ts | 6 +++--- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/SetupApi.ts b/src/SetupApi.ts index e5415b31a..9b8a47112 100644 --- a/src/SetupApi.ts +++ b/src/SetupApi.ts @@ -22,7 +22,7 @@ export abstract class SetupApi { public readonly events: LifeCycleEventEmitter - constructor(initialHandlers: Array) { + constructor(...initialHandlers: Array) { this.validateHandlers(initialHandlers) this.initialHandlers = toReadonlyArray(initialHandlers) diff --git a/src/native/index.ts b/src/native/index.ts index 26d2d364e..c0acc4d32 100644 --- a/src/native/index.ts +++ b/src/native/index.ts @@ -12,5 +12,5 @@ export function setupServer( ): SetupServerApi { // Provision request interception via patching the `XMLHttpRequest` class only // in React Native. There is no `http`/`https` modules in that environment. - return new SetupServerApi([XMLHttpRequestInterceptor], handlers) + return new SetupServerApi([XMLHttpRequestInterceptor], ...handlers) } diff --git a/src/node/SetupServerApi.ts b/src/node/SetupServerApi.ts index c64cd2b2e..7c02f4219 100644 --- a/src/node/SetupServerApi.ts +++ b/src/node/SetupServerApi.ts @@ -39,9 +39,9 @@ export class SetupServerApi extends SetupApi { interceptors: Array<{ new (): Interceptor }>, - handlers: Array, + ...handlers: Array ) { - super(handlers) + super(...handlers) this.interceptor = new BatchInterceptor({ name: 'setup-server', diff --git a/src/node/setupServer.ts b/src/node/setupServer.ts index bb3067b99..5bc489107 100644 --- a/src/node/setupServer.ts +++ b/src/node/setupServer.ts @@ -13,6 +13,6 @@ export const setupServer = ( ): SetupServerApi => { return new SetupServerApi( [ClientRequestInterceptor, XMLHttpRequestInterceptor], - handlers, + ...handlers, ) } diff --git a/src/setupWorker/setupWorker.ts b/src/setupWorker/setupWorker.ts index 39ce50b23..010047b0d 100644 --- a/src/setupWorker/setupWorker.ts +++ b/src/setupWorker/setupWorker.ts @@ -32,8 +32,8 @@ export class SetupWorkerApi extends SetupApi { private stopHandler: StopHandler = null as any private listeners: Array - constructor(handlers: Array) { - super(handlers) + constructor(...handlers: Array) { + super(...handlers) invariant( !isNodeProcess(), @@ -224,5 +224,5 @@ export class SetupWorkerApi extends SetupApi { export function setupWorker( ...handlers: Array ): SetupWorkerApi { - return new SetupWorkerApi(handlers) + return new SetupWorkerApi(...handlers) }