Copy /**
* Atomaric data-unit, that may contain info
*
* @export
* @class Event
*/
export declare class FoxEvent<Payload = unknown> {
name: string | symbol;
payload?: Payload | Observable<Payload> | Promise<Payload> | undefined;
constructor(name: string | symbol, payload?: Payload | Observable<Payload> | Promise<Payload> | undefined);
}
Event is minimal data-wrapper that can be sent through eventbus named Dispatcher. Simply, it is a pair of key - name - and value - payload.
Copy /**
* Simple Event-manager
*
* @export
* @class Dispatcher
*/
export declare class Dispatcher {
constructor(initEvent?: FoxEvent, scheduler?: SchedulerLike);
dispatch(event: FoxEvent): void;
listen(...eventNames: (string | symbol)[]): Observable<FoxEvent>;
emitDestroy(): void;
get destroy$(): Observable<FoxEvent<unknown>>;
}
Dispatcher is simple event manager that can dispatch and listen events. Dispatcher is eventbus that can be shared between different modules or any other entities in your app.