@phnq/message
Version:
Asynchronous, incremental messaging client and server
24 lines (23 loc) • 984 B
TypeScript
import "ws";
import WebSocket from "isomorphic-ws";
import type { MessageTransport, RequestMessage, ResponseMessage } from "../MessageTransport";
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;
}
export default ServerWebSocketTransport;