@synet/realtime
Version:
Realtime Communication server/client implementations
20 lines (19 loc) • 885 B
TypeScript
import type { RealtimeProvider, RealtimeChannel, RealtimeProviderOptions, RealtimeEvent } from "@synet/patterns/realtime";
import type { WebsocketOptions } from "./websocket-types";
/**
* WebSocket-based implementation of RealtimeProvider
*/
export declare class WebSocketRealtimeProvider implements RealtimeProvider {
readonly baseUrl: string;
private options;
private channels;
constructor(baseUrl: string, options?: RealtimeProviderOptions<WebsocketOptions>);
createChannel<TIn extends RealtimeEvent = RealtimeEvent, TOut extends RealtimeEvent = RealtimeEvent>(topic: string, options?: RealtimeProviderOptions<WebsocketOptions>): RealtimeChannel<TIn, TOut>;
/**
* Remove a channel
*/
removeChannel(channel: RealtimeChannel): Promise<void>;
getChannels(): RealtimeChannel[];
disconnect(): Promise<void>;
private getWebSocketUrl;
}