Home

Awesome

emitter-only NPM version Build Status

Extend event emitters to allow registering listeners only once.

Install with npm

$ npm i emitter-only --save

Usage

var only = require('emitter-only');
Emitter.prototype.only = function () {
  return only.apply(this, arguments);
};

var emitter = new Emitter();

emitter.on('foo', function (msg) {
  console.log('foo', msg);
});

emitter.only('one-time', 'foo', function (msg) {
  console.log('foo 1', msg);
});

emitter.only('one-time', 'foo', function (msg) {
  console.log('foo 2', msg);
});

emitter.emit('foo', 'bar');
//=> 'foo bar'
//=> 'foo 1 bar'

API

only

Only register an event listener one time for the given name/event combo.

Params

Related projects

component-emitter: Event emitter | homepage

Running tests

Install dev dependencies:

$ npm i -d && npm test

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.

Author

Brian Woodward

License

Copyright © 2015 Brian Woodward Released under the MIT license.


This file was generated by verb-cli on September 23, 2015.