Socket
Socket
Sign inDemoInstall

event-emitter

Package Overview
Dependencies
Maintainers
1
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

event-emitter

Cross-environment event emitter


Version published
Weekly downloads
6.3M
decreased by-5.95%
Maintainers
1
Weekly downloads
 
Install size
Created

Package description

What is event-emitter?

The event-emitter npm package is a lightweight and flexible library for managing events in JavaScript. It allows you to create, listen to, and emit events, making it easier to handle asynchronous operations and decouple different parts of your application.

What are event-emitter's main functionalities?

Creating an Event Emitter

This feature allows you to create a new event emitter instance. The instance can be used to manage events within your application.

const EventEmitter = require('event-emitter');
const emitter = EventEmitter();

Listening to Events

This feature allows you to listen for specific events. When the event is emitted, the provided callback function is executed.

emitter.on('event', function(data) {
  console.log('Event received:', data);
});

Emitting Events

This feature allows you to emit events. When an event is emitted, all listeners for that event are called with the provided data.

emitter.emit('event', { key: 'value' });

Removing Event Listeners

This feature allows you to remove specific event listeners. This is useful for cleaning up and preventing memory leaks.

const callback = function(data) {
  console.log('Event received:', data);
};
emitter.on('event', callback);
emitter.off('event', callback);

Other packages similar to event-emitter

Readme

Source

EventEmitter – Cross-environment event emitter solution for JavaScript

Usage

var ee = require('event-emitter');

var emitter = ee({}), listener;

emitter.on('test', listener = function (args) {
  // …emitter logic
});

emitter.once('test', function (args) {
  // …invoked only once(!)
});

emitter.emit('test', arg1, arg2/*…args*/); // Two above listeners invoked
emitter.emit('test', arg1, arg2/*…args*/); // Only first listener invoked

emitter.off('test', listener);              // Removed first listener
emitter.emit('test', arg1, arg2/*…args*/); // No listeners invoked

Installation

NPM

In your project path:

$ npm install event-emitter

Browser

Browser bundle can be easily created with help of modules-webmake. Assuming that you have latest Node.js and Git installed, following will work in command shell of any system (Linux/MacOS/Windows):

$ npm install -g webmake
$ git clone git://github.com/medikoo/event-emitter.git
$ cd event-emitter
$ npm install
$ cd ..
$ webmake --name=eventEmitter event-emitter/lib/index.js event-emitter.js

If you work with AMD modules, add amd option, so generated bundle is one:

$ webmake --name=eventEmitter --amd event-emitter/lib/index.js event-emitter.js

Mind that eventEmitter relies on some EcmaScript5 features, so for older browsers you need to load as well es5-shim

Functionalities provided as separate modules

allOff(obj)

Remove all listeners

var eeAllOff = require('event-emitter/lib/all-off');
eeAllOff(emitter); // Removed all registered listeners on emitter

unify(emitter1, emitter2)

Unify listeners database of two emitter. Events emitted on either emitter will call listeners attached to emitter object

var eeUnify = require('event-emitter/lib/unify');

var emitter1 = ee(), listener1, listener3;
var emitter2 = ee(), listener2, listener4;

emitter1.on('test', listener1 = function () { });
emitter2.on('test', listener2 = function () { });

emitter1.emit('test'); // Invoked listener1
emitter2.emit('test'); // Invoked listener2

var unify = eeUnify(emitter1, emitter2);

emitter1.emit('test'); // Invoked listener1 and listener2
emitter2.emit('test'); // Invoked listener1 and listener2

emitter1.on('test', listener3 = function () { });
emitter2.on('test', listener4 = function () { });

emitter1.emit('test'); // Invoked listener1, listener2, listener3 and listener4
emitter2.emit('test'); // Invoked listener1, listener2, listener3 and listener4

hasListeners(obj[, type])

Whether given object have registered listeners

var emitter = ee();
var hasListeners = require('event-emitter/lib/has-listeners');
var listener = function () {};

hasListeners(emitter); // false

emitter.on('foo', listener);
hasListeners(emitter); // true
hasListeners(emitter, 'foo'); // true
hasListeners(emitter, 'bar'); // false

emitter.off('foo', listener);
hasListeners(emitter, 'foo'); // false

Tests Build Status

$ npm test

Keywords

FAQs

Package last updated on 05 Jun 2013

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc