UNPKG

leafx

Version:

WebSocket Client & Utilities

37 lines (34 loc) 1.06 kB
import * as mitt from 'mitt'; import WebSocket from 'isomorphic-ws'; import { CloseEvent, Event, ErrorEvent } from 'ws'; declare type LeafOptions = { debug?: boolean; onMessage?: <T>(event: T) => void; onClose?: (event: CloseEvent) => void; onOpen?: (event: Event) => void; matchTypeOn: string; }; declare type Events = { open?: Event; close?: CloseEvent; message: unknown; error?: ErrorEvent; }; declare function create<E extends Events = any>(url: string, options?: LeafOptions): { raw: WebSocket; isConnected(): boolean; messageCount(): number; close(): void; on: { <Key extends keyof E>(type: Key, handler: mitt.Handler<E[Key]>): void; (type: "*", handler: mitt.WildcardHandler<E>): void; }; off: { <Key_1 extends keyof E>(type: Key_1, handler?: mitt.Handler<E[Key_1]> | undefined): void; (type: "*", handler: mitt.WildcardHandler<E>): void; }; clear: () => void; handleNotSent(): void; send<T>(data: T): void; }; export { LeafOptions, create };