Proxies subscriptions to an EventEmitter and stores references, allowing for an easy removal.
- TypeScript support
- Optionally compatible with tiny-typed-emitter
npm i event-subscriber
import { EventEmitter } from 'events';
import { EventSubscriber } from '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!