@phenixrts/sdk
Version:
JavaScript SDK
14 lines (13 loc) • 843 B
TypeScript
import IEncodedMediaStreamEvent, { EncodedMediaStreamEventData } from './IEncodedMediaStreamEvent';
import Disposable from '../../../lang/Disposable';
export default class EventPublisher {
private readonly _eventEmitters;
private readonly _onEventWithNoSubscriberHandlers;
private readonly _disposables;
onEventWithNoSubscriber(onEventWithNoSubscriberHandler: (eventType: string | number, event: IEncodedMediaStreamEvent) => void): Disposable;
subscribe<EventData extends EncodedMediaStreamEventData>(eventType: string | number, handler: (event: IEncodedMediaStreamEvent<EventData>) => void): Disposable;
publish<EventData extends EncodedMediaStreamEventData>(eventType: string | number, event: IEncodedMediaStreamEvent<EventData>): void;
dispose(): void;
private cleanUpResources;
private createEmitter;
}