Proxies subscriptions to an EventEmitter and stores references, allowing for an easy removal.
- TypeScript support
- Optionally compatible with
npm i @garzj/event-subscriber
import { EventEmitter } from 'events';
import { EventSubscriber } from '@garzj/event-subscriber';
const myEmitter = new EventEmitter();
myEmitter.on('my-event', () => console.log('Always called!'));
myEmitter.emit('my-event');
const sub = new EventSubscriber(myEmitter);
sub.on('my-event', () => console.log('Temporarily called!'));
myEmitter.emit('my-event');
sub.off();
myEmitter.emit('my-event');
Always called!
Always called!
Temporarily called!
Always called!