EventEmitter class
Event emitter base class with generic type support.
Example
interface MyEvents {
'user:created': User;
'user:deleted': { id: string };
}
const emitter = new EventEmitter<MyEvents>();
emitter.on('user:created', (user) => console.log(user.name));
emitter.emit('user:created', newUser);Constructors
constructor constructor
Signature
Type Parameters
- Events
Object with event names as keys and payload types as values
Methods
emit method
Signature
<K extends string | number | symbol>(event: K, payload: Events[K]): void
Emit an event to all listeners.
Parameters
- event
Event name
- payload
Event payload
off method
Signature
<K extends string | number | symbol>(event: K, listener: (payload: Events[K]) => void): void
Unregister an event listener.
Parameters
- event
Event name
- listener
Callback to remove