eventemitter-strict
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

eventemitter-strict

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

Feature

  • typesafe
  • compatible with nodejs
  • simple but strong

Install

npm install eventemitter-strict

Usage

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
  }
}

License

MIT

Package Sidebar

Install

npm i eventemitter-strict

Weekly Downloads

78

Version

1.0.1

License

MIT

Unpacked Size

8.11 kB

Total Files

5

Last publish

Collaborators

  • moonrailgun