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