UNPKG

ste-promise-simple-events

Version:

Add the power of Simple Events to your projects. Every event has an argument with its data. Every handler can be a promise.

38 lines (37 loc) 1.45 kB
import { IPropagationStatus, PromiseDispatcherBase } from "ste-core"; import { IPromiseSimpleEventHandler } from "./IPromiseSimpleEventHandler"; import { IPromiseSimpleEvent } from "./IPromiseSimpleEvent"; /** * The dispatcher handles the storage of subsciptions and facilitates * subscription, unsubscription and dispatching of a simple event * * @export * @class PromiseSimpleEventDispatcher * @extends {PromiseDispatcherBase<IPromiseSimpleEventHandler<TArgs>>} * @implements {IPromiseSimpleEvent<TArgs>} * @template TArgs */ export declare class PromiseSimpleEventDispatcher<TArgs> extends PromiseDispatcherBase<IPromiseSimpleEventHandler<TArgs>> implements IPromiseSimpleEvent<TArgs> { /** * Creates a new SimpleEventDispatcher instance. */ constructor(); /** * Dispatches the event. * @param args The arguments object. * @returns {IPropagationStatus} The status of the dispatch. * @memberOf PromiseSimpleEventDispatcher */ dispatch(args: TArgs): Promise<IPropagationStatus>; /** * Dispatches the event without waiting for it to complete. * @param args The argument object. * @memberOf PromiseSimpleEventDispatcher */ dispatchAsync(args: TArgs): void; /** * Creates an event from the dispatcher. Will return the dispatcher * in a wrapper. This will prevent exposure of any dispatcher methods. */ asEvent(): IPromiseSimpleEvent<TArgs>; }