Event emitter implementation using the “frozen closure” pattern as described by Douglas Crockford. Heavily inspired by component/emitter.
Browser support: ES5 compatible browsers (IE9+)
npm install maxhoffmann-emitter --save
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.
cd
into directory- run
npm test
npm run build
to create a minimized and UMD format compatible version of the source file.
The MIT License