ws-client-js
Version:
WebSocket browser client implementation with reconnect behavior.
33 lines (32 loc) • 1.2 kB
TypeScript
import { IConnection, ISerializer } from './typing/interfaces';
import { TStatus, TOptions, TCloseEvent, TDisposer } from './typing/types';
export declare class Connection<TMessage> implements IConnection<TMessage> {
status: TStatus;
private serializer;
private readonly options;
private readonly reconnect?;
private connection;
private error;
private protocol?;
private resendQueue;
private readonly listeners;
constructor(serializer: ISerializer<TMessage>, options: Partial<TOptions>);
onOpen(cb: () => void): TDisposer;
onReopen(cb: () => void): TDisposer;
onMessage(cb: (data: TMessage) => void): TDisposer;
onClose(cb: (event: TCloseEvent) => void): TDisposer;
onError(cb: () => void): TDisposer;
connect(protocol?: string | string[]): void;
disconnect(closeEvent?: TCloseEvent): void;
send<T = unknown>(data: T): boolean;
private resend;
private handleMessage;
private handleOpen;
private handleError;
private handleReconnectNext;
private handleReconnectEnd;
private handleClose;
private notifyListeners;
private getEventListenerDisposer;
private log;
}