siddsarkar-tiny-event-emitter v2.0.1
EventEmitter Library
The EventEmitter
library provides a simple and flexible way to handle events in TypeScript. It allows you to register event listeners, trigger events, and manage event listeners with ease.
Installation
To install the library, use npm or yarn:
npm install siddsarkar-tiny-event-emitter
or
yarn add siddsarkar-tiny-event-emitter
Usage
Importing the Library
First, import the EventEmitter
class from the library:
import EventEmitter from "siddsarkar-tiny-event-emitter";
Creating an EventEmitter
Create a class that extends EventEmitter
and define the events it can handle:
interface MyEvents {
eventName: (arg1: string, arg2: number) => void;
}
class MyEventEmitter extends EventEmitter<MyEvents> {}
Registering Event Listeners
You can register event listeners using the on
method:
const emitter = new MyEventEmitter();
emitter.on("eventName", (arg1, arg2) => {
console.log(`Event received with args: ${arg1}, ${arg2}`);
});
Registering One-Time Event Listeners
You can register one-time event listeners using the once
method. These listeners will be removed after they are called once:
emitter.once("eventName", (arg1, arg2) => {
console.log(`One-time event received with args: ${arg1}, ${arg2}`);
});
Triggering Events
Trigger events using the trigger
method:
emitter.trigger("eventName", "Hello", 42);
Removing Event Listeners
Remove event listeners using the off
method:
const listener = (arg1: string, arg2: number) => {
console.log(`Event received with args: ${arg1}, ${arg2}`);
};
emitter.on("eventName", listener);
// Later, remove the listener
emitter.off("eventName", listener);
API
on(eventName: K, listener: TEvents[K]): void
Registers an event listener for the specified event.
once(eventName: K, listener: TEvents[K]): void
Registers a one-time event listener for the specified event. The listener will be removed after it is called once.
off(eventName: K, listener: TEvents[K]): void
Removes the specified event listener for the specified event.
trigger(eventName: K, ...args: Parameters<TEvents[K]>): void
Triggers the specified event with the provided arguments.
License
This library is licensed under the MIT License. See the LICENSE file for more information.