1.0.8 • Published 2 years ago
ts-events-emitter v1.0.8
ts-events-emitter
A lightweight typesafe event emitter with zero dependencies.
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;