rcx-virtual-list
Version:
Maximum performance for extremely large lists.<br/> Flexible, and actively maintained React library that excels with high-performance, feature-rich virtualized lists—including grouping, sticky headers, snapping, animations, and both scroll directions. Wh
41 lines (40 loc) • 1.13 kB
TypeScript
export type TEventHandler = (...args: Array<any>) => void;
/**
* Simple event emitter
* @link https://github.com/DjonnyX/rcx-virtual-list/tree/main/src/lib/src/utils/eventEmitter.ts
* @author Evgenii Grebennikov
* @email djonnyx@gmail.com
*/
export declare class EventEmitter<E extends string = any, H extends TEventHandler = any> {
private _listeners;
protected _disposed: boolean;
constructor();
/**
* Emits the event
*/
dispatch(event: E, ...args: Array<any>): void;
/**
* Emits the event async
*/
dispatchAsync(event: E, ...args: Array<any>): void;
/**
* Returns true if the event listener is already subscribed.
*/
hasEventListener(eventName: E, handler: H): boolean;
/**
* Add event listener
*/
addEventListener(eventName: E, handler: H): void;
/**
* Remove event listener
*/
removeEventListener(eventName: E, handler: H): void;
/**
* Remove all listeners
*/
removeAllListeners(): void;
/**
* Method of destroying handlers
*/
dispose(): void;
}