Skip to content

Commit 4d7c319

Browse files
authored
Fix type definition for Client Interceptors (#2269)
Updating the client constructor to accept an array of interceptor functions to match the documentation.
1 parent 8c5577b commit 4d7c319

2 files changed

Lines changed: 13 additions & 2 deletions

File tree

test/types/client.test-d.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,18 @@ expectAssignable<Client>(new Client(new URL('http://localhost'), {}))
6868
expectAssignable<Client>(new Client('', {
6969
autoSelectFamilyAttemptTimeout: 300e3
7070
}))
71+
expectAssignable<Client>(new Client('', {
72+
interceptors: {
73+
Client: [(dispatcher) => {
74+
expectAssignable<Dispatcher['dispatch']>(dispatcher);
75+
return (opts, handlers) => {
76+
expectAssignable<Dispatcher.DispatchOptions>(opts);
77+
expectAssignable<Dispatcher.DispatchHandlers>(handlers);
78+
return dispatcher(opts, handlers)
79+
}
80+
}]
81+
}
82+
}))
7183
}
7284

7385
{

types/client.d.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import { URL } from 'url'
22
import { TlsOptions } from 'tls'
33
import Dispatcher from './dispatcher'
4-
import DispatchInterceptor from './dispatcher'
54
import buildConnector from "./connector";
65

76
/**
@@ -19,7 +18,7 @@ export class Client extends Dispatcher {
1918

2019
export declare namespace Client {
2120
export interface OptionsInterceptors {
22-
Client: readonly DispatchInterceptor[];
21+
Client: readonly Dispatcher.DispatchInterceptor[];
2322
}
2423
export interface Options {
2524
/** TODO */

0 commit comments

Comments
 (0)