A eventemitter with typescript full support
eventemitter-strict
is a eventemitter with typescript full support. The module is API compatible with the EventEmitter that ships by default with Node.js.
Allow to type safe definition your eventemitter
- typesafe
- compatible with nodejs
- simple but strong
npm install eventemitter-strict
import { EventEmitter } from 'eventemitter-strict';
interface FooEventMap {
eventA: () => void;
eventB: (num: number) => void;
}
const ee = new EventEmitter<FooEventMap>();
ee.emit('eventA');
ee.emit('eventB', 1);
ee.emit('eventB', "Any"); // this will throw error in ts
or use with extends
import { EventEmitter } from 'eventemitter-strict';
interface FooEventMap {
eventA: () => void;
eventB: (num: number) => void;
}
class Foo extends EventEmitter<FooEventMap> {
bar() {
this.emit('eventA');
this.emit('eventB', 1);
this.emit('eventB', "Any"); // this will throw error in ts
}
}