@phnq/message
Version:
Asynchronous, incremental messaging client and server
23 lines (22 loc) • 945 B
TypeScript
import 'ws';
import WebSocket from 'isomorphic-ws';
import { MessageTransport, RequestMessage, ResponseMessage } from '../MessageTransport';
export declare class ServerWebSocketTransport<T, R> implements MessageTransport<T, R> {
private readonly socket;
constructor(socket: WebSocket);
send(message: RequestMessage<T> | ResponseMessage<R>): Promise<void>;
onReceive(receive: (message: RequestMessage<T> | ResponseMessage<R>) => void): void;
close(): Promise<void>;
}
export declare class ClientWebSocketTransport<T, R> implements MessageTransport<T, R> {
onClose?: () => void;
private readonly url;
private socket?;
private onReceiveFn?;
constructor(url: string);
send(message: RequestMessage<T> | ResponseMessage<R>): Promise<void>;
onReceive(onReceiveFn: (message: RequestMessage<T> | ResponseMessage<R>) => void): void;
close(): Promise<void>;
isOpen(): boolean;
private connect;
}