pip-services3-commons-node
Version:
Portable abstractions and patterns for Pip.Services in Node.js
35 lines (34 loc) • 1.02 kB
TypeScript
import { IEventListener } from './IEventListener';
import { INotifiable } from '../run/INotifiable';
/**
* An interface for Events, which are part of the Command design pattern.
* Events allows to send asynchronious notifications to multiple subscribed listeners.
*
* @see [[IEventListener]]
*/
export interface IEvent extends INotifiable {
/**
* Gets the event name.
*
* @returns the name of the event.
*/
getName(): string;
/**
* Gets all subscribed listeners.
*
* @returns a list of listeners.
*/
getListeners(): IEventListener[];
/**
* Adds a listener to receive notifications for this event.
*
* @param listener the listener reference to add.
*/
addListener(listener: IEventListener): void;
/**
* Removes a listener, so that it no longer receives notifications for this event.
*
* @param listener the listener reference to remove.
*/
removeListener(listener: IEventListener): void;
}