UNPKG

@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
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>; }