UNPKG

camstreamerlib

Version:

Helper library for CamStreamer ACAP applications.

38 lines (37 loc) 1.09 kB
import { IWsClient } from './types'; type TEventType<T extends { type: string; }> = T extends { type: infer Type; } ? Type : never; type TEvent<T extends { type: string; }, Type extends TEventType<T>> = T extends { type: Type; } ? T : never; type TValidate<T extends { type: string; }> = (data: string) => { type: 'init'; data: TEvent<T, TEventType<T>>; } | TEvent<T, TEventType<T>>; type TListenerFunction<T extends { type: string; }, Type extends TEventType<T>> = (data: TEvent<T, Type>, isInit: boolean) => void; export declare class WsEvents<T extends { type: string; }> { private validate; ws: IWsClient; private _isDestroyed; private listeners; constructor(validate: TValidate<T>, ws: IWsClient); get isDestroyed(): boolean; resendInitData(): void; addListener<Type extends TEventType<T>>(type: Type, listener: TListenerFunction<T, Type>, id: string): void; removeListener<Type extends TEventType<T>>(type: Type, id: string): void; private onMessage; private processMessage; destroy(): void; } export {};