JSPM

  • Created
  • Published
  • Downloads 1449
  • Score
    100M100P100Q104592F
  • License MIT

A prominent event emitter

Package Exports

  • emmy

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (emmy) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Emmy Build Status

browser support

Emmy is an EventEmitter which first tries to use target event system - jQuery, DOM events, Backbone or other EventEmitter interface, if implemented, ond only then uses own events.

Emmy fully implements component-emitter interface, as well as any other emitter interface, so you can safely replace existing emitter with Emmy and vice-versa.

Use

Install:

$ npm install emmy

Use static API:

var Emitter = require('emmy');

Emitter.on(target, 'evt', function(){});
Emitter.emit(target, 'evt');
Emitter.off(target, 'evt');

Create Emitter instance:

var Emitter = require('emmy');

var emitter = new Emitter;
emitter.emit('something');

Mixin object:

var Emitter = requre('emmy');

user = {name: 'John'};

Emitter(user);

user.emit('hello');

Mixin prototype:

var Emitter = require('emmy');
Emitter(User.prototype);

Or inherit Emitter:

var Emitter = require('emmy');

function Actor(){};

//Give out emmy to an actor :)
Actor.prototype = Object.create(Emitter);

var actor = new Actor();

actor
//Bind events
.on('event', handler)
.on('otherEvent', handler)
.on('event2', [handler1, handler2]) //bind list of handlers


//Unbind events
.off('event', handler)
.off('otherEvent') //unbind all 'otherEvent' callbacks
.off('event2', [handler1, handler2]); //unbind list of handlers
.off(target) //unbind all events


//Emit events
.emit('a')
.emit('b', data, bubbles);

API

Method Alias Description
on(event, handler) addEventListener, addListener Register an event handler.
on(event, handlers) Register an event each callback from handlers list.
one(event, handler) addOnceListener Register a single-shot event handler.
one(event, handlers) Register a single-shot event handlers.
off(event, handler) removeEventListener, removeListener Remove an event handler.
off(event) Remove all listeners for an event.
off() Remove all listeners on target.
emit(event, data, bubbles) fire, dispatchEvent Emit an event with params passed.
listeners(event) Get list of listeners for an event
hasListeners(event) Check if emitter has event handlers

You also might be interested in more comprehensive emitter - give a glance at ENot — event notation system.

License

MIT