hivest-js
Version:
A simple, fast and minimalist framework for Node.js that allows you to create modular applications with dependency injection using decorators
47 lines • 1.33 kB
TypeScript
import 'reflect-metadata';
import { EventEmitterMetadata, EventHandler } from './lib/types';
export declare class EventManager {
private listeners;
private emitters;
/**
* Register event listeners from a class using metadata
*/
registerListeners(target: any): void;
/**
* Register event emitters from a class using metadata
*/
registerEmitters(target: any): void;
/**
* Register a listener for a specific event
*/
on<T = any>(eventName: string, handler: EventHandler<T>): void;
/**
* Remove a specific listener for an event
*/
off(eventName: string, handler: EventHandler): void;
/**
* Remove all listeners for an event
*/
offAll(eventName: string): void;
/**
* Emit an event to all registered listeners
*/
emit<T = any>(eventName: string, data?: T): Promise<void>;
/**
* Get all registered listeners for an event
*/
getListeners(eventName: string): EventHandler[];
/**
* Get all registered emitters for an event
*/
getEmitters(eventName: string): EventEmitterMetadata[];
/**
* Get all registered event names
*/
getEventNames(): string[];
/**
* Clear all listeners and emitters
*/
clear(): void;
}
//# sourceMappingURL=event-manager.d.ts.map