An EventEmitter implementation that wraps fbemitter with checks to ensure that event types are always registered before use.
var CheckedEmitter = require('checked-emitter');
var e = new CheckedEmitter();
e.registerEvent('propchange', 'propName', 'oldValue', 'newValue');
e.addListener('propchange', function(name, oldValue, newValue) {
...
});
e.emit('propchange', 'count', 3, 4);
The API is the same as fbemitter.EventEmitter, with the following additions:
Register a new event to be emitted. eventType
is a String, params
are
parameter names for the event.
Shorthand for registering multiple events. obj
is a mapping {String : Array}
of event types to parameter names.
Return an Array of objects representing the events that have been registered on this emitter.