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

/eventemitter-strict/

    Package Sidebar

    Install

    npm i eventemitter-strict

    Weekly Downloads

    235

    Version

    1.0.1

    License

    MIT

    Unpacked Size

    8.11 kB

    Total Files

    5

    Last publish

    Collaborators

    • moonrailgun