@ayanaware/bento
Version:
Modular runtime framework designed to solve complex tasks
32 lines (31 loc) • 934 B
TypeScript
import { GenericError } from '@ayanaware/errors';
export declare class LiteEmitterError extends GenericError {
}
export declare type LiteEmitterHandler = (...args: Array<any>) => void;
/**
* LiteEmitter is a very simplified implementation of a eventemitter.
*/
export declare class LiteEmitter {
private readonly handlers;
/**
* Add a handler function for a given event
*
* @param name name of event
* @param fn handler function
*/
addListener(name: string, fn: LiteEmitterHandler): void;
/**
* Remove one or all handler functions for a given event
*
* @param name name of event
* @param fn optional handler to detach
*/
removeListener(name: string, fn?: LiteEmitterHandler): void;
/**
* Emit a new event to handlers
*
* @param name name of event
* @param args event arguments
*/
emit(name: string, ...args: Array<any>): void;
}