@nostr-fetch/kernel
Version:
Kernel of nostr-fetch
40 lines • 1.7 kB
TypeScript
export interface WebSocketMinCtor {
new (url: string): WebSocketMin;
}
export interface WebSocketMin {
readonly readyState: WebSocketReadyState;
readonly url: string;
close(code?: number, reason?: string): void;
send(data: string): void;
addEventListener(type: "close", listener: (this: WebSocket, ev: WSCloseEvent) => void): void;
removeEventListener(type: "close", listener: (this: WebSocket, ev: WSCloseEvent) => void): void;
addEventListener(type: "error", listener: (this: WebSocket, ev: Event) => void): void;
removeEventListener(type: "error", listener: (this: WebSocket, ev: Event) => void): void;
addEventListener(type: "message", listener: (this: WebSocket, ev: WSMessageEvent) => void): void;
removeEventListener(type: "message", listener: (this: WebSocket, ev: WSMessageEvent) => void): void;
addEventListener(type: "open", listener: (this: WebSocket, ev: Event) => void): void;
removeEventListener(type: "open", listener: (this: WebSocket, ev: Event) => void): void;
}
export interface WSCloseEvent {
readonly code: number;
readonly reason: string;
readonly wasClean: boolean;
}
export interface WSMessageEvent {
readonly data: string;
}
/**
* Constants for WebSocket ready states.
*
* When you check the ready state of a WebSocket, you should use them
* instead of constants defined in the `WebSocket` class to workaround
* problems that are caused by the fact that constants for ready states
* have different name in workerd (runtime of Cloudflare Workers).
*/
export declare enum WebSocketReadyState {
CONNECTING = 0,
OPEN = 1,
CLOSING = 2,
CLOSED = 3
}
//# sourceMappingURL=webSocket.d.ts.map