UNPKG

@ayonli/jsext

Version:

A JavaScript extension package for building strong and modern applications.

32 lines (31 loc) 1.31 kB
/// <reference types="node" /> import type { BunServer } from "../http/server.ts"; import { ServerOptions, WebSocketConnection, WebSocketHandler, WebSocketLike } from "../ws/base.ts"; import type { IncomingMessage } from "node:http"; export type { ServerOptions, WebSocketConnection, WebSocketHandler, WebSocketLike }; declare const _handler: unique symbol; declare const _clients: unique symbol; export declare class WebSocketServer { protected idleTimeout: number; protected perMessageDeflate: boolean; protected [_handler]: WebSocketHandler | undefined; protected [_clients]: Map<Request, WebSocketConnection>; constructor(handler?: WebSocketHandler | undefined); constructor(options: ServerOptions, handler: WebSocketHandler); upgrade(request: Request): { socket: WebSocketConnection; response: Response; }; upgrade(request: IncomingMessage): { socket: WebSocketConnection; }; bunBind(server: BunServer): void; get bunListener(): { idleTimeout: number; perMessageDeflate: boolean; message: (ws: any, message: string | ArrayBuffer | Uint8Array) => void; open: (ws: any) => void; error: (ws: any, error: Error) => void; close: (ws: any, code: number, reason: string) => void; }; }