UNPKG

@phnq/message

Version:

Asynchronous, incremental messaging client and server

24 lines (23 loc) 984 B
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;