pip-services3-commons-node
Version:
Portable abstractions and patterns for Pip.Services in Node.js
34 lines (33 loc) • 1.08 kB
TypeScript
/** @module commands */
import { IEvent } from './IEvent';
import { Parameters } from '../run/Parameters';
/**
* An interface for listener objects that receive notifications on fired events.
*
* @see [[IEvent]]
* @see [[Event]]
*
* ### Example ###
*
* export class MyListener implements IEventListener {
* private onEvent(correlationId: string, event: IEvent, args: Parameters): void {
* console.log("Fired event " + event.getName());
* }
* }
*
* let event = new Event("myevent");
* event.addListener(new MyListener());
* event.notify("123", Parameters.fromTuples("param1", "ABC"));
*
* // Console output: Fired event myevent
*/
export interface IEventListener {
/**
* A method called when events this listener is subscrubed to are fired.
*
* @param event a fired evemt
* @param correlationId (optional) transaction id to trace execution through call chain.
* @param args event arguments.
*/
onEvent(correlationId: string, event: IEvent, args: Parameters): void;
}