Skip to content

Commit 1d34058

Browse files
committed
Fixing TS definitions
Promise rejection errors as jsdoc, because it is not supported in TS yet (microsoft/TypeScript#39680). Use Generics to type resolved value and message event data.
1 parent 19746ab commit 1d34058

File tree

1 file changed

+19
-7
lines changed

1 file changed

+19
-7
lines changed

index.d.ts

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -76,11 +76,23 @@ declare class WebSocketAwait extends events.EventEmitter {
7676
send(data: any, cb?: (err?: Error) => void): Promise<void>;
7777
send(data: any, options: { mask?: boolean; binary?: boolean; compress?: boolean; fin?: boolean }, cb?: (err?: Error) => void): Promise<void>;
7878

79-
sendAwait(data: any, options?: { mask?: boolean; binary?: boolean; compress?: boolean; fin?: boolean }): Promise<any | WebSocketAwait.WebSocketAwaitTimeoutAwaitError | WebSocketAwait.WebSocketAwaitSendError | WebSocketAwait.WebSocketAwaitProcessedError>;
79+
/**
80+
* @throws WebSocketAwait.WebSocketAwaitTimeoutAwaitError
81+
* @throws WebSocketAwait.WebSocketAwaitSendError
82+
* @throws WebSocketAwait.WebSocketAwaitProcessedError
83+
*/
84+
sendAwait<T = any>(data: any, options?: { mask?: boolean; binary?: boolean; compress?: boolean; fin?: boolean }): Promise<T>;
8085

81-
resAwait(data: any, awaitId: any, options?: { mask?: boolean; binary?: boolean; compress?: boolean; fin?: boolean }): Promise<any | WebSocketAwait.WebSocketAwaitSendError | WebSocketAwait.WebSocketAwaitProcessedError>;
86+
/**
87+
* @throws WebSocketAwait.WebSocketAwaitSendErro
88+
* @throws WebSocketAwait.WebSocketAwaitProcessedError
89+
*/
90+
resAwait(data: any, awaitId: any, options?: { mask?: boolean; binary?: boolean; compress?: boolean; fin?: boolean }): Promise<any>;
8291

83-
static validateOptions(options: Partial<Pick<WebSocketAwait.ClientOptions, ('awaitTimeout' | 'leaveAwaitId' | 'packMessage' | 'unpackMessage' | 'generateAwaitId' | 'attachAwaitId' | 'extractAwaitId' | 'deleteAwaitId')>>): void | WebSocketAwait.WebSocketAwaitValidationError;
92+
/**
93+
* @throws {WebSocketAwait.WebSocketAwaitValidationError} if validation error
94+
*/
95+
static validateOptions(options: Partial<Pick<WebSocketAwait.ClientOptions, ('awaitTimeout' | 'leaveAwaitId' | 'packMessage' | 'unpackMessage' | 'generateAwaitId' | 'attachAwaitId' | 'extractAwaitId' | 'deleteAwaitId')>>): void;
8496

8597
terminate(): void;
8698

@@ -116,7 +128,7 @@ declare class WebSocketAwait extends events.EventEmitter {
116128
on(event: 'close', listener: (this: WebSocketAwait, code: number, reason: string) => void): this;
117129
on(event: 'error', listener: (this: WebSocketAwait, err: Error) => void): this;
118130
on(event: 'upgrade', listener: (this: WebSocketAwait, request: http.IncomingMessage) => void): this;
119-
on(event: 'message', listener: (this: WebSocketAwait, data: WebSocketAwait.Data) => void): this;
131+
on<T = WebSocketAwait.Data>(event: 'message', listener: (this: WebSocketAwait, data: T) => void): this;
120132
on(event: 'open', listener: (this: WebSocketAwait) => void): this;
121133
on(event: 'ping' | 'pong', listener: (this: WebSocketAwait, data: Buffer) => void): this;
122134
on(event: 'unexpected-response', listener: (this: WebSocketAwait, request: http.ClientRequest, response: http.IncomingMessage) => void): this;
@@ -125,7 +137,7 @@ declare class WebSocketAwait extends events.EventEmitter {
125137
once(event: 'close', listener: (this: WebSocketAwait, code: number, reason: string) => void): this;
126138
once(event: 'error', listener: (this: WebSocketAwait, err: Error) => void): this;
127139
once(event: 'upgrade', listener: (this: WebSocketAwait, request: http.IncomingMessage) => void): this;
128-
once(event: 'message', listener: (this: WebSocketAwait, data: WebSocketAwait.Data) => void): this;
140+
once<T = WebSocketAwait.Data>(event: 'message', listener: (this: WebSocketAwait, data: T) => void): this;
129141
once(event: 'open', listener: (this: WebSocketAwait) => void): this;
130142
once(event: 'ping' | 'pong', listener: (this: WebSocketAwait, data: Buffer) => void): this;
131143
once(event: 'unexpected-response', listener: (this: WebSocketAwait, request: http.ClientRequest, response: http.IncomingMessage) => void): this;
@@ -134,7 +146,7 @@ declare class WebSocketAwait extends events.EventEmitter {
134146
off(event: 'close', listener: (this: WebSocketAwait, code: number, reason: string) => void): this;
135147
off(event: 'error', listener: (this: WebSocketAwait, err: Error) => void): this;
136148
off(event: 'upgrade', listener: (this: WebSocketAwait, request: http.IncomingMessage) => void): this;
137-
off(event: 'message', listener: (this: WebSocketAwait, data: WebSocketAwait.Data) => void): this;
149+
off<T = WebSocketAwait.Data>(event: 'message', listener: (this: WebSocketAwait, data: T) => void): this;
138150
off(event: 'open', listener: (this: WebSocketAwait) => void): this;
139151
off(event: 'ping' | 'pong', listener: (this: WebSocketAwait, data: Buffer) => void): this;
140152
off(event: 'unexpected-response', listener: (this: WebSocketAwait, request: http.ClientRequest, response: http.IncomingMessage) => void): this;
@@ -143,7 +155,7 @@ declare class WebSocketAwait extends events.EventEmitter {
143155
addListener(event: 'close', listener: (code: number, message: string) => void): this;
144156
addListener(event: 'error', listener: (err: Error) => void): this;
145157
addListener(event: 'upgrade', listener: (request: http.IncomingMessage) => void): this;
146-
addListener(event: 'message', listener: (data: WebSocketAwait.Data) => void): this;
158+
addListener<T = WebSocketAwait.Data>(event: 'message', listener: (data: T) => void): this;
147159
addListener(event: 'open', listener: () => void): this;
148160
addListener(event: 'ping' | 'pong', listener: (data: Buffer) => void): this;
149161
addListener(event: 'unexpected-response', listener: (request: http.ClientRequest, response: http.IncomingMessage) => void): this;

0 commit comments

Comments
 (0)