@tmorin/ceb-messaging-simple
Version:
The package is part of the `<ceb/>` library. It provides an implementation of the messaging model leveraging on a vanilla TypeScript/JavaScript environment.
15 lines (14 loc) • 776 B
TypeScript
import { Disposable, EmittableEventBus, Event, EventBus, EventListener, ObservableEventBus, Removable, SubscribeOptions } from "@tmorin/ceb-messaging-core";
/**
* The symbol used to register {@link SimpleEventBus}.
*/
export declare const SimpleEventBusSymbol: unique symbol;
export declare class SimpleEventBus implements EventBus, Disposable {
private readonly emitter;
private readonly listeners;
constructor(emitter: EmittableEventBus, listeners?: Map<string, Set<EventListener<any>>>);
get observe(): ObservableEventBus;
publish<E extends Event = Event>(...events: Array<E>): void;
subscribe<E extends Event = Event>(eventType: string, listener: EventListener<E>, options?: Partial<SubscribeOptions>): Removable;
dispose(): Promise<void>;
}