Skip to content

Event emitter implementation using the “frozen closure” pattern as described by Douglas Crockford.

License

Notifications You must be signed in to change notification settings

maxhoffmann/emitter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Emitter npm version

Event emitter implementation using the “frozen closure” pattern as described by Douglas Crockford. Heavily inspired by component/emitter.

Browser support: ES5 compatible browsers (IE9+)

Installation

npm install maxhoffmann-emitter --save

Usage

var Emitter = require('maxhoffmann-emitter');

var emitter = Emitter();

emitter.on('eventName', listener);
emitter.once('eventName', listener); // only listen once

emitter.off('eventName', listener); // remove specific listener
emitter.off('eventName'); // remove all listeners of this event
emitter.off(); // remove all listeners

emitter.trigger('eventName', arg1, arg2…); // arguments are optional

emitter.hasListeners('eventName');
emitter.hasListeners(); // returns true if any listeners are added

Note: This library is built with webpack to the UMD format. You can therefore use it with common.js and amd loaders or as a global variable.

Testing

  • cd into directory
  • run npm test

Development

npm run build to create a minimized and UMD format compatible version of the source file.

LICENSE

The MIT License

About

Event emitter implementation using the “frozen closure” pattern as described by Douglas Crockford.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published