Event emitter component.
$ component install component/emitter
The Emitter
may also be used as a mixin.
For example a "plain" object may become an emitter, or you may extend an existing prototype.
As an Emitter
instance:
var Emitter = require('emitter');
var emitter = new Emitter;
emitter.emit('something');
As a mixin:
var Emitter = require('emitter');
var user = { name: 'tobi' };
Emitter(user);
user.emit('im a user');
As a prototype mixin:
var Emitter = require('emitter');
Emitter(User.prototype);
Register an event
handler fn
.
Register a single-shot event
handler fn
, removed immediately after it is invoked the first time.
Emitter#off(event, fn) | Emitter#removeListener(event, fn) | Emitter#removeAllListeners(event, fn) | Emitter#removeEventListener(event, fn)
- Pass
event
andfn
to remove a listener. - Pass
event
to remove all listeners on that event. - Pass nothing to remove all listeners on all events.
Emitter#emit(event, ...) | Emitter#dispatchEvent(event, ...) | Emitter#trigger(event, ...) | Emitter#triggerHandler(event, fn)
Emit an event
with variable option args.
Return an array of callbacks, or an empty array.
Check if this emitter has event
handlers.
MIT