Socket
Socket
Sign inDemoInstall

wolfy87-eventemitter

Package Overview
Dependencies
0
Maintainers
1
Versions
27
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

wolfy87-eventemitter


Version published
Weekly downloads
135K
decreased by-10.89%
Maintainers
1
Created
Weekly downloads
 

Package description

What is wolfy87-eventemitter?

The wolfy87-eventemitter package is a lightweight and flexible event emitter library for JavaScript. It allows you to create and manage custom events, making it easier to implement the observer pattern in your applications.

What are wolfy87-eventemitter's main functionalities?

Basic Event Emission

This feature allows you to create an event emitter instance, register an event listener, and emit an event. The listener will be triggered when the event is emitted.

const EventEmitter = require('wolfy87-eventemitter');
const emitter = new EventEmitter();

emitter.on('event', function() {
  console.log('Event triggered!');
});

emitter.emit('event');

Event Emission with Arguments

This feature allows you to emit events with arguments. The registered listener can then access these arguments when the event is triggered.

const EventEmitter = require('wolfy87-eventemitter');
const emitter = new EventEmitter();

emitter.on('event', function(arg1, arg2) {
  console.log('Event triggered with arguments:', arg1, arg2);
});

emitter.emit('event', 'arg1', 'arg2');

Removing Event Listeners

This feature allows you to remove specific event listeners. In this example, the listener is removed before the event is emitted, so the console log will not be triggered.

const EventEmitter = require('wolfy87-eventemitter');
const emitter = new EventEmitter();

function listener() {
  console.log('Event triggered!');
}

emitter.on('event', listener);
emitter.off('event', listener);
emitter.emit('event');

Once Event Listeners

This feature allows you to register a listener that will only be triggered once. After the event is emitted the first time, the listener is automatically removed.

const EventEmitter = require('wolfy87-eventemitter');
const emitter = new EventEmitter();

emitter.once('event', function() {
  console.log('Event triggered only once!');
});

emitter.emit('event');
emitter.emit('event');

Other packages similar to wolfy87-eventemitter

Changelog

Source

v5.1.0 - And everything before that.

  • I didn't keep a change log because I'm lazy and this project is old. I've been maintaining it since I started my career, essentially.

Readme

Source

EventEmitter

Gitter(https://badges.gitter.im/Join Chat.svg)

Event based JavaScript for the browser

As the subtitle suggests, this script brings the power of events from platforms such as node.js to your browser. Although it can be used on any other platform, I just built it with browsers in mind.

This is actually the fourth full rewrite of EventEmitter, my aim is for it to be faster and lighter than ever before. It also has a remapped API which just makes a lot more sense. Because the methods now have more descriptive names it is friendlier to extend EventEmitter into other classes. You will be able to distinguish event methods from your own methods.

I have been working on it for over a year two three years so far and in that time my skills in JavaScript have come a long way. This script is a culmination of my learnings which you can hopefully find very useful.

Dependencies

There are no hard dependencies. The only reason you will want to run npm install to grab the development dependencies is to build the documentation or minify the source code. No other scripts are required to actually use EventEmitter.

Documentation

Examples

Contributing (aim your pull request at the develop branch!)

If you wish to contribute to the project then please commit your changes into the develop branch. All pull requests should contain a failing test which is then resolved by your additions. A perfect example was submitted by nathggns.

Testing

Tests are performed using Mocha and Chai, just serve up the directory using your local HTTP server of choice (http-server is probably a good choice) and open up tests/index.html. You can also use the server scripts in the tools directory.

Building the documentation

You can run tools/doc.sh to build from the JSDoc comments found within the source code. The built documentation will be placed in docs/api.md. I actually keep this inside the repository so each version will have it's documentation stored with it.

Minifying

You can grab minified versions of EventEmitter from inside this repository, every version is tagged. If you need to build a custom version then you can run tools/dist.sh.

Cloning

You can clone the repository with your generic clone commands as a standalone repository or submodule.

# Full repository
git clone git://github.com/Olical/EventEmitter.git

# Or submodule
git submodule add git://github.com/Olical/EventEmitter.git assets/js/EventEmitter

Package managers

You can also get a copy of EventEmitter through the following package managers:

Unlicense

This project used to be released under MIT, but I release everything under the Unlicense now. Here's the gist of it but you can find the full thing in the UNLICENSE file.

This is free and unencumbered software released into the public domain.

Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.

I gave people the chance to object in issue #84, which also explains my reasoning.

Keywords

FAQs

Last updated on 16 Jun 2016

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

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc