1.0.8 • Published 2 years ago

ts-events-emitter v1.0.8

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

ts-events-emitter

A lightweight typesafe event emitter with zero dependencies.

CodeSandbox Example

Installation

npm install ts-events-emitter

Usage

import { createEventEmitter } from "ts-events-emitter";

type TEvent = {
  "event-one": { a: number; b: string };
  "event-two": { c: number; d: string };
};

const emitter = createEventEmitter<TEvent>();

emitter.on("event-one", (event) => {
  console.log(event.a);
});

emitter.emit("event-one", { a: 100, b: "hello" });

Emitting events

emitter.emit("event-one", { a: 1, b: "foo" });

Listening to events

emitter.on("event-one", (event) => {
  console.log(event.a);
});

API

eventsEmitter

emit

emit: <P extends keyof T>(event: P, message: T[P]) => void;

on

on: <P extends keyof T>(event: P, callback: (message: T[P]) => void) => void;

once

once: <P extends keyof T>(event: P,callback: (message: T[P]) => void) => void;

off

off: <P extends keyof T>(event: P,callback: (message: T[P]) => void) => void;

ofAll

 offAll: (event: keyof T) => void;
1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago

0.1.0

2 years ago

0.0.6

2 years ago

0.0.5

2 years ago

0.0.1

2 years ago