1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
/// <reference types="node" />
import type { Blob } from 'buffer'
import type { MessagePort } from 'worker_threads'
import {
EventTarget,
Event,
EventInit,
EventListenerOptions,
AddEventListenerOptions,
EventListenerOrEventListenerObject
} from './patch'
export type BinaryType = 'blob' | 'arraybuffer'
interface WebSocketEventMap {
close: CloseEvent
error: Event
message: MessageEvent
open: Event
}
interface WebSocket extends EventTarget {
binaryType: BinaryType
readonly bufferedAmount: number
readonly extensions: string
onclose: ((this: WebSocket, ev: WebSocketEventMap['close']) => any) | null
onerror: ((this: WebSocket, ev: WebSocketEventMap['error']) => any) | null
onmessage: ((this: WebSocket, ev: WebSocketEventMap['message']) => any) | null
onopen: ((this: WebSocket, ev: WebSocketEventMap['open']) => any) | null
readonly protocol: string
readonly readyState: number
readonly url: string
close(code?: number, reason?: string): void
send(data: string | ArrayBufferLike | Blob | ArrayBufferView): void
readonly CLOSED: number
readonly CLOSING: number
readonly CONNECTING: number
readonly OPEN: number
addEventListener<K extends keyof WebSocketEventMap>(
type: K,
listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any,
options?: boolean | AddEventListenerOptions
): void
addEventListener(
type: string,
listener: EventListenerOrEventListenerObject,
options?: boolean | AddEventListenerOptions
): void
removeEventListener<K extends keyof WebSocketEventMap>(
type: K,
listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any,
options?: boolean | EventListenerOptions
): void
removeEventListener(
type: string,
listener: EventListenerOrEventListenerObject,
options?: boolean | EventListenerOptions
): void
}
export declare const WebSocket: {
prototype: WebSocket
new (url: string | URL, protocols?: string | string[]): WebSocket
readonly CLOSED: number
readonly CLOSING: number
readonly CONNECTING: number
readonly OPEN: number
}
interface CloseEventInit extends EventInit {
code?: number
reason?: string
wasClean?: boolean
}
interface CloseEvent extends Event {
readonly code: number
readonly reason: string
readonly wasClean: boolean
}
export declare const CloseEvent: {
prototype: CloseEvent
new (type: string, eventInitDict?: CloseEventInit): CloseEvent
}
interface MessageEventInit<T = any> extends EventInit {
data?: T
lastEventId?: string
origin?: string
ports?: (typeof MessagePort)[]
source?: typeof MessagePort | null
}
interface MessageEvent<T = any> extends Event {
readonly data: T
readonly lastEventId: string
readonly origin: string
readonly ports: ReadonlyArray<typeof MessagePort>
readonly source: typeof MessagePort | null
initMessageEvent(
type: string,
bubbles?: boolean,
cancelable?: boolean,
data?: any,
origin?: string,
lastEventId?: string,
source?: typeof MessagePort | null,
ports?: (typeof MessagePort)[]
): void;
}
export declare const MessageEvent: {
prototype: MessageEvent
new<T>(type: string, eventInitDict?: MessageEventInit<T>): MessageEvent<T>
}
|