Skip to content

moonrailgun/eventemitter-strict

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

A eventemitter with typescript full support

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published