1. component-emitter
Simple event emitter
component-emitter
Package: component-emitter
Created by: sindresorhus
Last modified: Fri, 17 Nov 2023 20:46:51 GMT
Version: 2.0.0
License: MIT
Downloads: 84,120,911
Repository: https://github.com/sindresorhus/component-emitter

Install

npm install component-emitter
yarn add component-emitter

component-emitter

Simple event emitter

Install

 npm install component-emitter

Usage

As an Emitter instance:

 import Emitter from 'component-emitter';

const emitter = new Emitter();

emitter.emit('🦄');

As a mixin:

 import Emitter from 'component-emitter';

const user = {name: 'tobi'};
Emitter(user);

user.emit('I am a user');

As a prototype mixin:

 import Emitter from 'component-emitter';

Emitter(User.prototype);

API

new Emitter()

Create a new emitter.

Emitter(object)

Use it as a mixin. For example a plain object may become an emitter, or you may extend an existing prototype.

Emitter#on(event, listener)

Register an event handler that listens to a specified event.

Emitter#once(event, listener)

Register a one-time event handler for a specified event.

Emitter#off(event, listener)

Remove a specific event handler for a specified event.

Emitter#off(event)

Remove all event handlers for a specified event.

Emitter#off()

Remove all event handlers for all events.

Emitter#emit(event, ...arguments)

Emit an event, invoking all handlers registered for it.

Emitter#listeners(event)

Retrieve the event handlers registered for a specific event.

Emitter#listenerCount(event)

Get the count of listeners for a specific event.

Emitter#listenerCount()

Get the count of all event handlers in total.

Emitter#hasListeners(event)

Check if there are any handlers registered for a specific event.

Emitter#hasListeners()

Check if there are any handlers registered for any event.

FAQ

How does it differ from the Node.js EventEmitter?

It's simpler and more lightweight, and it works in any JavaScript environment, not just Node.js. It also provides mixin functionality to add event handling to existing objects without needing inheritance.

RELATED POST

10 Must-Know Windows Shortcuts That Will Save You Time

10 Must-Know Windows Shortcuts That Will Save You Time

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Navigating AWS Networking: Essential Hacks for Smooth Operation

Navigating AWS Networking: Essential Hacks for Smooth Operation

Achieving Stunning Visuals with Unity's Global Illumination

Achieving Stunning Visuals with Unity's Global Illumination

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code