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
124
125
126
127
128
129
130
131
|
/// <reference types="node" />
import type { Blob } from 'buffer'
import type { MessagePort } from 'worker_threads'
import {
EventTarget,
Event,
EventInit,
EventListenerOptions,
AddEventListenerOptions,
EventListenerOrEventListenerObject
} from './patch'
import Dispatcher from './dispatcher'
import { HeadersInit } from './fetch'
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[] | WebSocketInit): 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>
}
interface WebSocketInit {
protocols?: string | string[],
dispatcher?: Dispatcher,
headers?: HeadersInit
}
|