UNPKG

class-event

Version:

`class-event` is a `JavaScript` `npm` module that makes it easy to use events on your classes. You can also take advantage of event typing, which ensures precise arguments when you emit an event or when you listen to it.

18 lines (16 loc) 750 B
type EventListener<T> = (e: T) => void | Promise<void>; declare class ClassEvent<EventMap> { private _maxEventBeforeWarn; private _maxEventListeners; private listenerList; private warnIssuedFor; on<Key extends keyof EventMap>(eventName: Key, listener: EventListener<EventMap[Key]>): ClassEvent<EventMap>; off<Key extends keyof EventMap>(eventName: Key, listener: EventListener<EventMap[Key]>): ClassEvent<EventMap>; protected emit<Key extends keyof EventMap>(eventName: Key, e: EventMap[Key]): ClassEvent<EventMap>; private checkEventList; get maxEventBeforeWarn(): number; set maxEventBeforeWarn(v: number); get maxEventListeners(): number; set maxEventListeners(v: number); } export { ClassEvent };