siddsarkar-tiny-event-emitter
v1.0.0
Published
A simple TypeScript/JavaScript class providing an event handling mechanism similar to Node.js EventEmitter.
Downloads
2
Readme
EventEmitter
EventEmitter is a simple TypeScript/JavaScript class that provides an event handling mechanism similar to Node.js EventEmitter.
Installation
You can install the package via npm:
npm install siddsarkar-tiny-event-emitter
Usage
// Import the EventEmitter class
const { EventEmitter } = require("siddsarkar-tiny-event-emitter");
// Define custom events
const MyEvents = {
EVENT_1: "event1",
EVENT_2: "event2",
};
// Create a subclass of EventEmitter
class MyEventEmitter extends EventEmitter {
constructor() {
super(Object.values(MyEvents));
}
}
// Create an instance of MyEventEmitter
const emitter = new MyEventEmitter();
// Define event listeners
const listener1 = () => {
console.log("Event 1 triggered");
};
const listener2 = (data) => {
console.log(`Event 2 triggered with data: ${data}`);
};
// Add event listeners
emitter.on(MyEvents.EVENT_1, listener1);
emitter.on(MyEvents.EVENT_2, listener2);
// Trigger events
emitter.event(MyEvents.EVENT_1); // Output: Event 1 triggered
emitter.event(MyEvents.EVENT_2, "some data"); // Output: Event 2 triggered with data: some data
// Remove event listener
emitter.off(MyEvents.EVENT_1, listener1);
emitter.event(MyEvents.EVENT_1); // No output because listener1 is removed
API
EventEmitter<E>
An abstract class representing an event emitter.
Constructor
new EventEmitter(events: E[])
: Initializes the EventEmitter with a list of possible events.
Methods
on<E>(event: E, callback: CallbackFn): void
: Adds an event listener for the specified event.off<E>(event: E, callback: CallbackFn): void
: Removes an event listener for the specified event.event<E>(event: E, ...args: any[]): void
: Triggers the specified event with optional arguments.
CallbackFn
A function type representing a callback function.
License
This project is licensed under the MIT License - see the LICENSE file for details.