UNPKG

@zexson/eventmanager

Version:
47 lines (46 loc) 1.54 kB
/** * NexEventManager - Global event management system for Nex framework * * A lightweight, static event emitter that provides asynchronous event handling * with support for one-time listeners and event cleanup. * * @example * ```typescript * // Register event listeners * NexEventManager.on('user:login', (user) => { * console.log(`User ${user.name} logged in`); * }); * * // Register one-time listener * NexEventManager.once('app:ready', () => { * console.log('Application is ready!'); * }); * * // Emit events * NexEventManager.emit('user:login', { name: 'John', id: 123 }); * NexEventManager.emit('app:ready'); * * // Clear specific event listeners * NexEventManager.clear('user:login'); * * // Clear all event listeners * NexEventManager.clear(); * ``` * * @features * - **Asynchronous Execution**: All event handlers run asynchronously using setTimeout * - **One-time Listeners**: Support for `once()` method that auto-removes after execution * - **Multiple Listeners**: Multiple functions can listen to the same event * - **Event Cleanup**: Selective or complete event listener removal * - **Type Safety**: Full TypeScript support with proper typing * * @author SignorMassimo * @since 1.0.0 */ export declare class NexEventManager { private static events; static on(event: string, func: (...args: any[]) => any): void; static once(event: string, func: (...args: any[]) => any): void; static emit(event: string, ...args: any[]): void; static clear(event?: string): void; }