UNPKG

1.08 kBTypeScriptView Raw
1/** @module commands */
2import { IEvent } from './IEvent';
3import { Parameters } from '../run/Parameters';
4/**
5 * An interface for listener objects that receive notifications on fired events.
6 *
7 * @see [[IEvent]]
8 * @see [[Event]]
9 *
10 * ### Example ###
11 *
12 * export class MyListener implements IEventListener {
13 * private onEvent(correlationId: string, event: IEvent, args: Parameters): void {
14 * console.log("Fired event " + event.getName());
15 * }
16 * }
17 *
18 * let event = new Event("myevent");
19 * event.addListener(new MyListener());
20 * event.notify("123", Parameters.fromTuples("param1", "ABC"));
21 *
22 * // Console output: Fired event myevent
23 */
24export interface IEventListener {
25 /**
26 * A method called when events this listener is subscrubed to are fired.
27 *
28 * @param event a fired evemt
29 * @param correlationId (optional) transaction id to trace execution through call chain.
30 * @param args event arguments.
31 */
32 onEvent(correlationId: string, event: IEvent, args: Parameters): void;
33}