An event emitter replacement with no dependencies. Can be plugged in anywhere a node EventEmitter or flux Dispatcher is required.
// Import emit.js
var Emitter = require('emitjs');
// Create and use as a multi-event emitter
var obj = new Emitter();
var callback = function() {
// Do things!
};
// Register callback for 'event' using on().
// The function call returns an optional unsubscribe function.
offCallback = obj.on('event', callback);
// Trigger 'event'
obj.emit('event');
// Remove using .off()
obj.off('event', callback);
// .. or remove using the callback from .on()
offCallback();
// Create and use as a single-event emitter
var single = new Emitter();
// Register callback
singleOffCallback = single.on(callback);
// Emit an event and trigger the callback
single.emit();
// Remove the callback like above
single.off(callback) //..or singleOffCallback();
Add subscriber(s) for event. Returns a function that will remove the added subscriber(s) when called.
Add subscriber(s) for event, firing only once. Returns a function that will remove the added subscriber(s) when called.
Emit event with the provided arguments.
Remove the provided subscribers for event.
Remove all subscribers for event.
Add subscriber(s). Returns a function that will remove the added subscriber(s) when called.
Add subscriber(s), firing only once. Returns a function that will remove the added subscriber(s) when called.
Emit event with the provided arguments.
Remove the provided subscribers.
Remove all subscribers.