als-event-emitter
v3.0.0
Published
An advanced, feature-rich event emitter
Downloads
18
Maintainers
Readme
als-event-emitter
als-event-emitter
is a lightweight, powerful implementation of an event emitter system, designed to be easy to use and extendable. It provides the ability to listen for and emit events in a Node.js environment.
Installation
Install using npm:
npm install als-event-emitter
Import
Import als-event-emitter
in your Node.js project and create an instance of EventEmitter
:
const EventEmitter = require('als-event-emitter');
const emitter = new EventEmitter();
As a Standard Script in the Browser (Global Variable)
If you want to include the script in a browser without using any module system, you can use the event-emitter.js:
Place the event-emitter.js in a directory that your browser can access.
In your HTML:
<script src="./node_modules/als-event-emitter/emitter.js"></script>
<script>
// After the script has been loaded, EventEmitter will be available as a global variable
const myEmitter = new EventEmitter();
</script>
API
on(eventName, listener)
Registers a listener for the specified event.
eventName
(String): Name of the event.listener
(Function): Callback function.
once(eventName, listener)
Registers a one-time listener for the specified event.
eventName
(String): Name of the event.listener
(Function): Callback function.
off(eventName)
Removes all listeners for the specified event.
eventName
(String): Name of the event.
removeListener(listener)
Removes the specified listener from all events.
listener
(Function): Callback function to be removed.
removeAllListeners()
Removes all registered listeners for all events.
emit(eventName, ...args)
Emits the specified event with optional arguments.
eventName
(String): Name of the event....args
: Arguments to pass to the event listeners.
onAny(listener, [once])
Registers a listener that will be triggered for any emitted event, even if event not exists.
listener
(Function): Callback function.once
(Boolean): If true, the listener will be triggered only once.
onceAny(listener)
Registers a one-time listener for any emitted event, even if event not exists.
listener
(Function): Callback function.
has(eventName)
Checks if there are any listeners registered for the specified event.
eventName
(String): Name of the event.
Examples
Basic Usage
const emitter = new EventEmitter();
emitter.on('data', (data) => {
console.log(`Received data: ${data}`);
});
emitter.emit('data', 'Hello World');
Using once
emitter.once('init', () => {
console.log('Initialization event');
});
emitter.emit('init');
emitter.emit('init'); // This won't trigger the callback again.
Removing Listeners
const callback = (data) => {
console.log(`Received: ${data}`);
};
emitter.on('data', callback);
emitter.removeListener(callback);
emitter.emit('data', 'This will not be logged');