From c039ebf29a839e58fb74a755e4be2975076363fe Mon Sep 17 00:00:00 2001 From: Scott Kool Date: Mon, 18 Sep 2023 12:01:38 -0500 Subject: [PATCH] Fix type definition for Client Interceptors Updating the client constructor to accept an array of interceptor functions to match the documentation. --- test/types/client.test-d.ts | 12 ++++++++++++ types/client.d.ts | 3 +-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/test/types/client.test-d.ts b/test/types/client.test-d.ts index d9c1e447813..c416d779bec 100644 --- a/test/types/client.test-d.ts +++ b/test/types/client.test-d.ts @@ -68,6 +68,18 @@ expectAssignable(new Client(new URL('http://localhost'), {})) expectAssignable(new Client('', { autoSelectFamilyAttemptTimeout: 300e3 })) + expectAssignable(new Client('', { + interceptors: { + Client: [(dispatcher) => { + expectAssignable(dispatcher); + return (opts, handlers) => { + expectAssignable(opts); + expectAssignable(handlers); + return dispatcher(opts, handlers) + } + }] + } + })) } { diff --git a/types/client.d.ts b/types/client.d.ts index 0ed42cd4f1f..ac1779721f6 100644 --- a/types/client.d.ts +++ b/types/client.d.ts @@ -1,7 +1,6 @@ import { URL } from 'url' import { TlsOptions } from 'tls' import Dispatcher from './dispatcher' -import DispatchInterceptor from './dispatcher' import buildConnector from "./connector"; /** @@ -19,7 +18,7 @@ export class Client extends Dispatcher { export declare namespace Client { export interface OptionsInterceptors { - Client: readonly DispatchInterceptor[]; + Client: readonly Dispatcher.DispatchInterceptor[]; } export interface Options { /** TODO */