npm.io
1.0.9 • Published 3 years ago

@prof-dev/event-emitter

Licence
ISC
Version
1.0.9
Deps
0
Size
17 kB
Vulns
0
Weekly
0

EventEmitter

Helper class for easy events management

Examples

class MyClass extends EventEmitter<"open"> {}
class MyClass extends EventEmitter<"open" | "close", MyClass> {
  constructor() {
    super();
  }

  open() {
    this.dispatch("open", this);
  }

  close() {
    this.dispatch("close", this);
  }
}

const obj = new MyClass();

const onOpen = () => {
  obj.off("open", onOpen);
};

obj.on("open", onOpen);

obj.once("close", () => {});