ventiws 1.0.0-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +138 -0
- package/dist/index.cjs +2986 -0
- package/dist/index.d.cts +400 -0
- package/dist/index.d.mts +401 -0
- package/dist/index.mjs +2977 -0
- package/dist/ventiws.node +0 -0
- package/package.json +68 -0
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,400 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { EventEmitter } from "node:events";
|
|
3
|
+
import { Agent, ClientRequest, ClientRequestArgs, IncomingMessage, OutgoingHttpHeaders, Server as Server$1 } from "node:http";
|
|
4
|
+
import { Server as Server$2 } from "node:https";
|
|
5
|
+
import { createConnection } from "node:net";
|
|
6
|
+
import { Duplex, DuplexOptions } from "node:stream";
|
|
7
|
+
import { SecureContextOptions } from "node:tls";
|
|
8
|
+
import { URL } from "node:url";
|
|
9
|
+
import { ZlibOptions } from "node:zlib";
|
|
10
|
+
declare namespace ws_d_exports {
|
|
11
|
+
export { AddressInfo, CertMeta, ClientOptions, CloseEvent, Data, ErrorEvent, Event, EventListenerOptions, FinishRequestCallback, MessageEvent, PerMessageDeflateOptions, RawData, Server, ServerOptions, VerifyClientCallbackAsync, VerifyClientCallbackSync, WebSocket$1 as WebSocket, WebSocketEventMap, WebSocketServer$1 as WebSocketServer, createWebSocketStream$1 as createWebSocketStream, WebSocket$1 as default };
|
|
12
|
+
}
|
|
13
|
+
// can not get all overload of BufferConstructor['from'], need to copy all it's first arguments here
|
|
14
|
+
// https://github.com/microsoft/TypeScript/issues/32164
|
|
15
|
+
type BufferLike = string | Buffer | DataView | number | ArrayBufferView | Uint8Array | ArrayBuffer | SharedArrayBuffer | Blob | readonly any[] | readonly number[] | {
|
|
16
|
+
valueOf(): ArrayBuffer;
|
|
17
|
+
} | {
|
|
18
|
+
valueOf(): SharedArrayBuffer;
|
|
19
|
+
} | {
|
|
20
|
+
valueOf(): Uint8Array;
|
|
21
|
+
} | {
|
|
22
|
+
valueOf(): readonly number[];
|
|
23
|
+
} | {
|
|
24
|
+
valueOf(): string;
|
|
25
|
+
} | {
|
|
26
|
+
[Symbol.toPrimitive](hint: string): string;
|
|
27
|
+
};
|
|
28
|
+
// WebSocket socket.
|
|
29
|
+
declare class WebSocket$1 extends EventEmitter {
|
|
30
|
+
/** The connection is not yet open. */
|
|
31
|
+
static readonly CONNECTING: 0;
|
|
32
|
+
/** The connection is open and ready to communicate. */
|
|
33
|
+
static readonly OPEN: 1;
|
|
34
|
+
/** The connection is in the process of closing. */
|
|
35
|
+
static readonly CLOSING: 2;
|
|
36
|
+
/** The connection is closed. */
|
|
37
|
+
static readonly CLOSED: 3;
|
|
38
|
+
binaryType: "nodebuffer" | "arraybuffer" | "fragments";
|
|
39
|
+
readonly bufferedAmount: number;
|
|
40
|
+
readonly extensions: string;
|
|
41
|
+
/** Indicates whether the websocket is paused */
|
|
42
|
+
readonly isPaused: boolean;
|
|
43
|
+
readonly protocol: string;
|
|
44
|
+
/** The current state of the connection */
|
|
45
|
+
readonly readyState: typeof WebSocket$1.CONNECTING | typeof WebSocket$1.OPEN | typeof WebSocket$1.CLOSING | typeof WebSocket$1.CLOSED;
|
|
46
|
+
readonly url: string;
|
|
47
|
+
/** The connection is not yet open. */
|
|
48
|
+
readonly CONNECTING: 0;
|
|
49
|
+
/** The connection is open and ready to communicate. */
|
|
50
|
+
readonly OPEN: 1;
|
|
51
|
+
/** The connection is in the process of closing. */
|
|
52
|
+
readonly CLOSING: 2;
|
|
53
|
+
/** The connection is closed. */
|
|
54
|
+
readonly CLOSED: 3;
|
|
55
|
+
onopen: ((event: WebSocket$1.Event) => void) | null;
|
|
56
|
+
onerror: ((event: WebSocket$1.ErrorEvent) => void) | null;
|
|
57
|
+
onclose: ((event: WebSocket$1.CloseEvent) => void) | null;
|
|
58
|
+
onmessage: ((event: WebSocket$1.MessageEvent) => void) | null;
|
|
59
|
+
constructor(address: null);
|
|
60
|
+
constructor(address: string | URL, options?: WebSocket$1.ClientOptions | ClientRequestArgs);
|
|
61
|
+
constructor(address: string | URL, protocols?: string | string[], options?: WebSocket$1.ClientOptions | ClientRequestArgs);
|
|
62
|
+
close(code?: number, data?: string | Buffer): void;
|
|
63
|
+
ping(data?: any, mask?: boolean, cb?: (err: Error) => void): void;
|
|
64
|
+
pong(data?: any, mask?: boolean, cb?: (err: Error) => void): void;
|
|
65
|
+
// https://github.com/websockets/ws/issues/2076#issuecomment-1250354722
|
|
66
|
+
send(data: BufferLike, cb?: (err?: Error) => void): void;
|
|
67
|
+
send(data: BufferLike, options: {
|
|
68
|
+
mask?: boolean | undefined;
|
|
69
|
+
binary?: boolean | undefined;
|
|
70
|
+
compress?: boolean | undefined;
|
|
71
|
+
fin?: boolean | undefined;
|
|
72
|
+
}, cb?: (err?: Error) => void): void;
|
|
73
|
+
terminate(): void;
|
|
74
|
+
/**
|
|
75
|
+
* Pause the websocket causing it to stop emitting events. Some events can still be
|
|
76
|
+
* emitted after this is called, until all buffered data is consumed. This method
|
|
77
|
+
* is a noop if the ready state is `CONNECTING` or `CLOSED`.
|
|
78
|
+
*/
|
|
79
|
+
pause(): void;
|
|
80
|
+
/**
|
|
81
|
+
* Make a paused socket resume emitting events. This method is a noop if the ready
|
|
82
|
+
* state is `CONNECTING` or `CLOSED`.
|
|
83
|
+
*/
|
|
84
|
+
resume(): void;
|
|
85
|
+
// HTML5 WebSocket events
|
|
86
|
+
addEventListener<K extends keyof WebSocket$1.WebSocketEventMap>(type: K, listener: ((event: WebSocket$1.WebSocketEventMap[K]) => void) | {
|
|
87
|
+
handleEvent(event: WebSocket$1.WebSocketEventMap[K]): void;
|
|
88
|
+
}, options?: WebSocket$1.EventListenerOptions): void;
|
|
89
|
+
removeEventListener<K extends keyof WebSocket$1.WebSocketEventMap>(type: K, listener: ((event: WebSocket$1.WebSocketEventMap[K]) => void) | {
|
|
90
|
+
handleEvent(event: WebSocket$1.WebSocketEventMap[K]): void;
|
|
91
|
+
}): void;
|
|
92
|
+
// Events
|
|
93
|
+
on(event: "close", listener: (this: WebSocket$1, code: number, reason: Buffer) => void): this;
|
|
94
|
+
on(event: "error", listener: (this: WebSocket$1, error: Error) => void): this;
|
|
95
|
+
on(event: "upgrade", listener: (this: WebSocket$1, request: IncomingMessage) => void): this;
|
|
96
|
+
on(event: "message", listener: (this: WebSocket$1, data: WebSocket$1.RawData, isBinary: boolean) => void): this;
|
|
97
|
+
on(event: "open", listener: (this: WebSocket$1) => void): this;
|
|
98
|
+
on(event: "ping" | "pong", listener: (this: WebSocket$1, data: Buffer) => void): this;
|
|
99
|
+
// Narrowed from @types/ws: this client owns a `net.Socket` rather than an
|
|
100
|
+
// `http.ClientRequest`, so there is no request object to hand a listener. The URL and
|
|
101
|
+
// the status are what a caller needs in order to decide, and `close()` is how it
|
|
102
|
+
// declines. See `docs/compliance-api.md`.
|
|
103
|
+
on(event: "redirect", listener: (this: WebSocket$1, url: string, request: ClientRequest) => void): this;
|
|
104
|
+
on(event: "unexpected-response", listener: (this: WebSocket$1, request: ClientRequest, response: IncomingMessage) => void): this;
|
|
105
|
+
on(event: string | symbol, listener: (this: WebSocket$1, ...args: any[]) => void): this;
|
|
106
|
+
once(event: "close", listener: (this: WebSocket$1, code: number, reason: Buffer) => void): this;
|
|
107
|
+
once(event: "error", listener: (this: WebSocket$1, error: Error) => void): this;
|
|
108
|
+
once(event: "upgrade", listener: (this: WebSocket$1, request: IncomingMessage) => void): this;
|
|
109
|
+
once(event: "message", listener: (this: WebSocket$1, data: WebSocket$1.RawData, isBinary: boolean) => void): this;
|
|
110
|
+
once(event: "open", listener: (this: WebSocket$1) => void): this;
|
|
111
|
+
once(event: "ping" | "pong", listener: (this: WebSocket$1, data: Buffer) => void): this;
|
|
112
|
+
once(event: "redirect", listener: (this: WebSocket$1, url: string, request: ClientRequest) => void): this;
|
|
113
|
+
once(event: "unexpected-response", listener: (this: WebSocket$1, request: ClientRequest, response: IncomingMessage) => void): this;
|
|
114
|
+
once(event: string | symbol, listener: (this: WebSocket$1, ...args: any[]) => void): this;
|
|
115
|
+
off(event: "close", listener: (this: WebSocket$1, code: number, reason: Buffer) => void): this;
|
|
116
|
+
off(event: "error", listener: (this: WebSocket$1, error: Error) => void): this;
|
|
117
|
+
off(event: "upgrade", listener: (this: WebSocket$1, request: IncomingMessage) => void): this;
|
|
118
|
+
off(event: "message", listener: (this: WebSocket$1, data: WebSocket$1.RawData, isBinary: boolean) => void): this;
|
|
119
|
+
off(event: "open", listener: (this: WebSocket$1) => void): this;
|
|
120
|
+
off(event: "ping" | "pong", listener: (this: WebSocket$1, data: Buffer) => void): this;
|
|
121
|
+
off(event: "redirect", listener: (this: WebSocket$1, url: string, request: ClientRequest) => void): this;
|
|
122
|
+
off(event: "unexpected-response", listener: (this: WebSocket$1, request: ClientRequest, response: IncomingMessage) => void): this;
|
|
123
|
+
off(event: string | symbol, listener: (this: WebSocket$1, ...args: any[]) => void): this;
|
|
124
|
+
addListener(event: "close", listener: (code: number, reason: Buffer) => void): this;
|
|
125
|
+
addListener(event: "error", listener: (error: Error) => void): this;
|
|
126
|
+
addListener(event: "upgrade", listener: (request: IncomingMessage) => void): this;
|
|
127
|
+
addListener(event: "message", listener: (data: WebSocket$1.RawData, isBinary: boolean) => void): this;
|
|
128
|
+
addListener(event: "open", listener: () => void): this;
|
|
129
|
+
addListener(event: "ping" | "pong", listener: (data: Buffer) => void): this;
|
|
130
|
+
addListener(event: "redirect", listener: (url: string, request: ClientRequest) => void): this;
|
|
131
|
+
addListener(event: "unexpected-response", listener: (request: ClientRequest, response: IncomingMessage) => void): this;
|
|
132
|
+
addListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
|
133
|
+
removeListener(event: "close", listener: (code: number, reason: Buffer) => void): this;
|
|
134
|
+
removeListener(event: "error", listener: (error: Error) => void): this;
|
|
135
|
+
removeListener(event: "upgrade", listener: (request: IncomingMessage) => void): this;
|
|
136
|
+
removeListener(event: "message", listener: (data: WebSocket$1.RawData, isBinary: boolean) => void): this;
|
|
137
|
+
removeListener(event: "open", listener: () => void): this;
|
|
138
|
+
removeListener(event: "ping" | "pong", listener: (data: Buffer) => void): this;
|
|
139
|
+
removeListener(event: "redirect", listener: (url: string, request: ClientRequest) => void): this;
|
|
140
|
+
removeListener(event: "unexpected-response", listener: (request: ClientRequest, response: IncomingMessage) => void): this;
|
|
141
|
+
removeListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
|
142
|
+
}
|
|
143
|
+
declare const WebSocketAlias: typeof WebSocket$1;
|
|
144
|
+
interface WebSocketAlias extends WebSocket$1 {} // eslint-disable-line @typescript-eslint/no-empty-interface
|
|
145
|
+
declare namespace WebSocket$1 {
|
|
146
|
+
/**
|
|
147
|
+
* Data represents the raw message payload received over the WebSocket.
|
|
148
|
+
*/
|
|
149
|
+
type RawData = Buffer | ArrayBuffer | Buffer[];
|
|
150
|
+
/**
|
|
151
|
+
* Data represents the message payload received over the WebSocket.
|
|
152
|
+
*/
|
|
153
|
+
type Data = string | Buffer | ArrayBuffer | Buffer[];
|
|
154
|
+
/**
|
|
155
|
+
* CertMeta represents the accepted types for certificate & key data.
|
|
156
|
+
*/
|
|
157
|
+
type CertMeta = string | string[] | Buffer | Buffer[];
|
|
158
|
+
/**
|
|
159
|
+
* VerifyClientCallbackSync is a synchronous callback used to inspect the
|
|
160
|
+
* incoming message. The return value (boolean) of the function determines
|
|
161
|
+
* whether or not to accept the handshake.
|
|
162
|
+
*/
|
|
163
|
+
type VerifyClientCallbackSync<Request extends IncomingMessage = IncomingMessage> = (info: {
|
|
164
|
+
origin: string;
|
|
165
|
+
secure: boolean;
|
|
166
|
+
req: Request;
|
|
167
|
+
}) => boolean;
|
|
168
|
+
/**
|
|
169
|
+
* VerifyClientCallbackAsync is an asynchronous callback used to inspect the
|
|
170
|
+
* incoming message. The return value (boolean) of the function determines
|
|
171
|
+
* whether or not to accept the handshake.
|
|
172
|
+
*/
|
|
173
|
+
type VerifyClientCallbackAsync<Request extends IncomingMessage = IncomingMessage> = (info: {
|
|
174
|
+
origin: string;
|
|
175
|
+
secure: boolean;
|
|
176
|
+
req: Request;
|
|
177
|
+
}, callback: (res: boolean, code?: number, message?: string, headers?: OutgoingHttpHeaders) => void) => void;
|
|
178
|
+
/**
|
|
179
|
+
* FinishRequestCallback is a callback for last minute customization of the
|
|
180
|
+
* headers. If finishRequest is set, then it has the responsibility to call
|
|
181
|
+
* request.end() once it is done setting request headers.
|
|
182
|
+
*/
|
|
183
|
+
type FinishRequestCallback = (request: ClientRequest, websocket: WebSocket$1) => void;
|
|
184
|
+
interface ClientOptions extends SecureContextOptions {
|
|
185
|
+
protocol?: string | undefined;
|
|
186
|
+
followRedirects?: boolean | undefined;
|
|
187
|
+
generateMask?(mask: Buffer): void;
|
|
188
|
+
handshakeTimeout?: number | undefined;
|
|
189
|
+
maxRedirects?: number | undefined;
|
|
190
|
+
perMessageDeflate?: boolean | PerMessageDeflateOptions | undefined;
|
|
191
|
+
localAddress?: string | undefined;
|
|
192
|
+
protocolVersion?: number | undefined;
|
|
193
|
+
headers?: {
|
|
194
|
+
[key: string]: string;
|
|
195
|
+
} | undefined;
|
|
196
|
+
origin?: string | undefined;
|
|
197
|
+
agent?: Agent | undefined;
|
|
198
|
+
host?: string | undefined;
|
|
199
|
+
family?: number | undefined;
|
|
200
|
+
checkServerIdentity?(servername: string, cert: CertMeta): boolean;
|
|
201
|
+
rejectUnauthorized?: boolean | undefined;
|
|
202
|
+
allowSynchronousEvents?: boolean | undefined;
|
|
203
|
+
autoPong?: boolean | undefined;
|
|
204
|
+
maxPayload?: number | undefined;
|
|
205
|
+
skipUTF8Validation?: boolean | undefined;
|
|
206
|
+
createConnection?: typeof createConnection | undefined;
|
|
207
|
+
finishRequest?: FinishRequestCallback | undefined;
|
|
208
|
+
}
|
|
209
|
+
interface PerMessageDeflateOptions {
|
|
210
|
+
serverNoContextTakeover?: boolean | undefined;
|
|
211
|
+
clientNoContextTakeover?: boolean | undefined;
|
|
212
|
+
serverMaxWindowBits?: number | undefined;
|
|
213
|
+
clientMaxWindowBits?: number | undefined;
|
|
214
|
+
zlibDeflateOptions?: {
|
|
215
|
+
flush?: number | undefined;
|
|
216
|
+
finishFlush?: number | undefined;
|
|
217
|
+
chunkSize?: number | undefined;
|
|
218
|
+
windowBits?: number | undefined;
|
|
219
|
+
level?: number | undefined;
|
|
220
|
+
memLevel?: number | undefined;
|
|
221
|
+
strategy?: number | undefined;
|
|
222
|
+
dictionary?: Buffer | Buffer[] | DataView | undefined;
|
|
223
|
+
info?: boolean | undefined;
|
|
224
|
+
} | undefined;
|
|
225
|
+
zlibInflateOptions?: ZlibOptions | undefined;
|
|
226
|
+
threshold?: number | undefined;
|
|
227
|
+
concurrencyLimit?: number | undefined;
|
|
228
|
+
}
|
|
229
|
+
interface Event {
|
|
230
|
+
type: string;
|
|
231
|
+
target: WebSocket$1;
|
|
232
|
+
}
|
|
233
|
+
interface ErrorEvent {
|
|
234
|
+
error: any;
|
|
235
|
+
message: string;
|
|
236
|
+
type: string;
|
|
237
|
+
target: WebSocket$1;
|
|
238
|
+
}
|
|
239
|
+
interface CloseEvent {
|
|
240
|
+
wasClean: boolean;
|
|
241
|
+
code: number;
|
|
242
|
+
reason: string;
|
|
243
|
+
type: string;
|
|
244
|
+
target: WebSocket$1;
|
|
245
|
+
}
|
|
246
|
+
interface MessageEvent {
|
|
247
|
+
data: Data;
|
|
248
|
+
type: string;
|
|
249
|
+
target: WebSocket$1;
|
|
250
|
+
}
|
|
251
|
+
interface WebSocketEventMap {
|
|
252
|
+
open: Event;
|
|
253
|
+
error: ErrorEvent;
|
|
254
|
+
close: CloseEvent;
|
|
255
|
+
message: MessageEvent;
|
|
256
|
+
}
|
|
257
|
+
interface EventListenerOptions {
|
|
258
|
+
once?: boolean | undefined;
|
|
259
|
+
}
|
|
260
|
+
interface ServerOptions<U extends typeof WebSocket$1.WebSocket = typeof WebSocket$1.WebSocket, V extends typeof IncomingMessage = typeof IncomingMessage> {
|
|
261
|
+
host?: string | undefined;
|
|
262
|
+
port?: number | undefined;
|
|
263
|
+
backlog?: number | undefined;
|
|
264
|
+
server?: Server$1<V> | Server$2<V> | undefined;
|
|
265
|
+
verifyClient?: VerifyClientCallbackAsync<InstanceType<V>> | VerifyClientCallbackSync<InstanceType<V>> | undefined;
|
|
266
|
+
handleProtocols?: (protocols: Set<string>, request: InstanceType<V>) => string | false;
|
|
267
|
+
path?: string | undefined;
|
|
268
|
+
noServer?: boolean | undefined;
|
|
269
|
+
allowSynchronousEvents?: boolean | undefined;
|
|
270
|
+
autoPong?: boolean | undefined;
|
|
271
|
+
clientTracking?: boolean | undefined;
|
|
272
|
+
perMessageDeflate?: boolean | PerMessageDeflateOptions | undefined;
|
|
273
|
+
maxPayload?: number | undefined;
|
|
274
|
+
skipUTF8Validation?: boolean | undefined;
|
|
275
|
+
WebSocket?: U | undefined;
|
|
276
|
+
}
|
|
277
|
+
interface AddressInfo {
|
|
278
|
+
address: string;
|
|
279
|
+
family: string;
|
|
280
|
+
port: number;
|
|
281
|
+
}
|
|
282
|
+
// WebSocket Server
|
|
283
|
+
class Server<T extends typeof WebSocket$1.WebSocket = typeof WebSocket$1.WebSocket, U extends typeof IncomingMessage = typeof IncomingMessage> extends EventEmitter {
|
|
284
|
+
options: ServerOptions<T, U>;
|
|
285
|
+
path: string;
|
|
286
|
+
clients: Set<InstanceType<T>>;
|
|
287
|
+
constructor(options?: ServerOptions<T, U>, callback?: () => void);
|
|
288
|
+
address(): AddressInfo | string | null;
|
|
289
|
+
close(cb?: (err?: Error) => void): void;
|
|
290
|
+
handleUpgrade(request: InstanceType<U>, socket: Duplex, upgradeHead: Buffer, callback: (client: InstanceType<T>, request: InstanceType<U>) => void): void;
|
|
291
|
+
shouldHandle(request: InstanceType<U>): boolean | Promise<boolean>;
|
|
292
|
+
// Events
|
|
293
|
+
on(event: "connection", cb: (this: Server<T>, websocket: InstanceType<T>, request: InstanceType<U>) => void): this;
|
|
294
|
+
on(event: "error", cb: (this: Server<T>, error: Error) => void): this;
|
|
295
|
+
on(event: "headers", cb: (this: Server<T>, headers: string[], request: InstanceType<U>) => void): this;
|
|
296
|
+
on(event: "close" | "listening", cb: (this: Server<T>) => void): this;
|
|
297
|
+
on(event: "wsClientError", cb: (this: Server<T>, error: Error, socket: Duplex, request: InstanceType<U>) => void): this;
|
|
298
|
+
on(event: string | symbol, listener: (this: Server<T>, ...args: any[]) => void): this;
|
|
299
|
+
once(event: "connection", cb: (this: Server<T>, websocket: InstanceType<T>, request: InstanceType<U>) => void): this;
|
|
300
|
+
once(event: "error", cb: (this: Server<T>, error: Error) => void): this;
|
|
301
|
+
once(event: "headers", cb: (this: Server<T>, headers: string[], request: InstanceType<U>) => void): this;
|
|
302
|
+
once(event: "close" | "listening", cb: (this: Server<T>) => void): this;
|
|
303
|
+
once(event: "wsClientError", cb: (this: Server<T>, error: Error, socket: Duplex, request: InstanceType<U>) => void): this;
|
|
304
|
+
once(event: string | symbol, listener: (this: Server<T>, ...args: any[]) => void): this;
|
|
305
|
+
off(event: "connection", cb: (this: Server<T>, socket: InstanceType<T>, request: InstanceType<U>) => void): this;
|
|
306
|
+
off(event: "error", cb: (this: Server<T>, error: Error) => void): this;
|
|
307
|
+
off(event: "headers", cb: (this: Server<T>, headers: string[], request: InstanceType<U>) => void): this;
|
|
308
|
+
off(event: "close" | "listening", cb: (this: Server<T>) => void): this;
|
|
309
|
+
off(event: "wsClientError", cb: (this: Server<T>, error: Error, socket: Duplex, request: InstanceType<U>) => void): this;
|
|
310
|
+
off(event: string | symbol, listener: (this: Server<T>, ...args: any[]) => void): this;
|
|
311
|
+
addListener(event: "connection", cb: (websocket: InstanceType<T>, request: InstanceType<U>) => void): this;
|
|
312
|
+
addListener(event: "error", cb: (error: Error) => void): this;
|
|
313
|
+
addListener(event: "headers", cb: (headers: string[], request: InstanceType<U>) => void): this;
|
|
314
|
+
addListener(event: "close" | "listening", cb: () => void): this;
|
|
315
|
+
addListener(event: "wsClientError", cb: (error: Error, socket: Duplex, request: InstanceType<U>) => void): this;
|
|
316
|
+
addListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
|
317
|
+
removeListener(event: "connection", cb: (websocket: InstanceType<T>, request: InstanceType<U>) => void): this;
|
|
318
|
+
removeListener(event: "error", cb: (error: Error) => void): this;
|
|
319
|
+
removeListener(event: "headers", cb: (headers: string[], request: InstanceType<U>) => void): this;
|
|
320
|
+
removeListener(event: "close" | "listening", cb: () => void): this;
|
|
321
|
+
removeListener(event: "wsClientError", cb: (error: Error, socket: Duplex, request: InstanceType<U>) => void): this;
|
|
322
|
+
removeListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
|
323
|
+
}
|
|
324
|
+
const WebSocketServer: typeof Server;
|
|
325
|
+
interface WebSocketServer extends Server {} // eslint-disable-line @typescript-eslint/no-empty-interface
|
|
326
|
+
const WebSocket: typeof WebSocketAlias;
|
|
327
|
+
interface WebSocket extends WebSocketAlias {} // eslint-disable-line @typescript-eslint/no-empty-interface
|
|
328
|
+
// WebSocket stream
|
|
329
|
+
function createWebSocketStream(websocket: WebSocket$1, options?: DuplexOptions): Duplex;
|
|
330
|
+
}
|
|
331
|
+
type Server<T extends typeof WebSocket$1.WebSocket = typeof WebSocket$1.WebSocket, U extends typeof IncomingMessage = typeof IncomingMessage> = WebSocket$1.Server<T, U>;
|
|
332
|
+
type RawData = WebSocket$1.RawData;
|
|
333
|
+
type Data = WebSocket$1.Data;
|
|
334
|
+
type CertMeta = WebSocket$1.CertMeta;
|
|
335
|
+
type VerifyClientCallbackSync<Request extends IncomingMessage = IncomingMessage> = WebSocket$1.VerifyClientCallbackSync<Request>;
|
|
336
|
+
type VerifyClientCallbackAsync<Request extends IncomingMessage = IncomingMessage> = WebSocket$1.VerifyClientCallbackAsync<Request>;
|
|
337
|
+
type FinishRequestCallback = WebSocket$1.FinishRequestCallback;
|
|
338
|
+
type ClientOptions = WebSocket$1.ClientOptions;
|
|
339
|
+
type PerMessageDeflateOptions = WebSocket$1.PerMessageDeflateOptions;
|
|
340
|
+
type Event = WebSocket$1.Event;
|
|
341
|
+
type ErrorEvent = WebSocket$1.ErrorEvent;
|
|
342
|
+
type CloseEvent = WebSocket$1.CloseEvent;
|
|
343
|
+
type MessageEvent = WebSocket$1.MessageEvent;
|
|
344
|
+
type WebSocketEventMap = WebSocket$1.WebSocketEventMap;
|
|
345
|
+
type EventListenerOptions = WebSocket$1.EventListenerOptions;
|
|
346
|
+
type ServerOptions<U extends typeof WebSocket$1.WebSocket = typeof WebSocket$1.WebSocket, V extends typeof IncomingMessage = typeof IncomingMessage> = WebSocket$1.ServerOptions<U, V>;
|
|
347
|
+
type AddressInfo = WebSocket$1.AddressInfo;
|
|
348
|
+
type WebSocketServer$1 = WebSocket$1.WebSocketServer;
|
|
349
|
+
// Type-level parity with upstream's ESM entry; the runtime value lands with
|
|
350
|
+
// the compat factory.
|
|
351
|
+
type createWebSocketStream$1 = typeof WebSocket$1.createWebSocketStream;
|
|
352
|
+
//#endregion
|
|
353
|
+
//#region src/compat/stream.d.ts
|
|
354
|
+
export declare function createWebSocketStream(ws: WebSocket$1, options?: DuplexOptions): Duplex;
|
|
355
|
+
//#endregion
|
|
356
|
+
//#region src/compat/constructors.d.ts
|
|
357
|
+
type SocketConstructor = typeof WebSocket$1;
|
|
358
|
+
type ServerConstructor = typeof WebSocket$1.WebSocketServer;
|
|
359
|
+
declare const WebSocket: SocketConstructor;
|
|
360
|
+
type WebSocket = WebSocket$1;
|
|
361
|
+
declare const WebSocketServer: ServerConstructor;
|
|
362
|
+
type WebSocketServer = WebSocketServer$1;
|
|
363
|
+
declare namespace WebSocket {
|
|
364
|
+
type RawData = WebSocket$1.RawData;
|
|
365
|
+
type Data = WebSocket$1.Data;
|
|
366
|
+
type CertMeta = WebSocket$1.CertMeta;
|
|
367
|
+
type VerifyClientCallbackSync<Request extends IncomingMessage = IncomingMessage> = WebSocket$1.VerifyClientCallbackSync<Request>;
|
|
368
|
+
type VerifyClientCallbackAsync<Request extends IncomingMessage = IncomingMessage> = WebSocket$1.VerifyClientCallbackAsync<Request>;
|
|
369
|
+
type FinishRequestCallback = WebSocket$1.FinishRequestCallback;
|
|
370
|
+
type ClientOptions = WebSocket$1.ClientOptions;
|
|
371
|
+
type PerMessageDeflateOptions = WebSocket$1.PerMessageDeflateOptions;
|
|
372
|
+
type Event = WebSocket$1.Event;
|
|
373
|
+
type ErrorEvent = WebSocket$1.ErrorEvent;
|
|
374
|
+
type CloseEvent = WebSocket$1.CloseEvent;
|
|
375
|
+
type MessageEvent = WebSocket$1.MessageEvent;
|
|
376
|
+
type WebSocketEventMap = WebSocket$1.WebSocketEventMap;
|
|
377
|
+
type EventListenerOptions = WebSocket$1.EventListenerOptions;
|
|
378
|
+
type ServerOptions<U extends typeof WebSocket$1 = typeof WebSocket$1, V extends typeof IncomingMessage = typeof IncomingMessage> = WebSocket$1.ServerOptions<U, V>;
|
|
379
|
+
type AddressInfo = WebSocket$1.AddressInfo;
|
|
380
|
+
type Server<T extends typeof WebSocket$1 = typeof WebSocket$1, U extends typeof IncomingMessage = typeof IncomingMessage> = WebSocket$1.Server<T, U>;
|
|
381
|
+
type WebSocketServer = WebSocketServer$1;
|
|
382
|
+
type WebSocket = WebSocket$1;
|
|
383
|
+
type createWebSocketStream = typeof WebSocket$1.createWebSocketStream;
|
|
384
|
+
}
|
|
385
|
+
//#endregion
|
|
386
|
+
//#region src/binding/native-limits.d.ts
|
|
387
|
+
type NativeEngineLimits = {
|
|
388
|
+
readonly connectionCapacity: number;
|
|
389
|
+
readonly messageBytes: number;
|
|
390
|
+
readonly frameBytes: number;
|
|
391
|
+
readonly inboundSlots: number;
|
|
392
|
+
readonly outboundSlots: number;
|
|
393
|
+
readonly maxFragments: number;
|
|
394
|
+
readonly maxPayloadBytes: number;
|
|
395
|
+
};
|
|
396
|
+
//#endregion
|
|
397
|
+
//#region src/binding/server.d.ts
|
|
398
|
+
export declare function engineLimits(): NativeEngineLimits;
|
|
399
|
+
//#endregion
|
|
400
|
+
export { type AddressInfo, type CertMeta, type ClientOptions, type CloseEvent, type Data, type NativeEngineLimits as EngineLimits, type ErrorEvent, type Event, type EventListenerOptions, type FinishRequestCallback, type MessageEvent, type PerMessageDeflateOptions, type RawData, type Server, type ServerOptions, type VerifyClientCallbackAsync, type VerifyClientCallbackSync, WebSocket, WebSocket as default, type WebSocketEventMap, WebSocketServer };
|