-
Notifications
You must be signed in to change notification settings - Fork 482
Closed
Description
I currently have an implementation using events and util.inherit (in the browser, so the npm versions), and would like to use mitt instead, however, I can't seem to figure out what I should use instead of removeAllListeners.
I guess I could keep a map of listeners myself, but that seems like duplicating what mitt does in the first place.
So far I have:
function DerivedHelper(mainHelper, fn) {
this._emitter = mitt();
}
/**
* Invoke all handlers for the given type.
* If present, `"*"` handlers are invoked after type-matched handlers.
*
* @param {String} type The event type to invoke
* @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler
* @memberOf mitt
*/
DerivedHelper.prototype.emit = function(type, data) {
this._emitter.emit(type, data);
};
/**
* Register an event handler for the given type.
*
* @param {String} type Type of event to listen for, or `"*"` for all events
* @param {Function} handler Function to call in response to given event
*/
DerivedHelper.prototype.on = function(type, cb) {
this._emitter.on(type, cb);
};
/**
* Remove an event handler for the given type.
*
* @param {String} type Type of event to unregister `handler` from, or `"*"`
* @param {Function} handler Handler function to remove
*/
DerivedHelper.prototype.off = function(type, cb) {
this._emitter.off(type, cb);
};
/**
* Detach this helper from the main helper
* @return {undefined}
* @throws Error if the derived helper is already detached
*/
DerivedHelper.prototype.detach = function() {
// TODO: find a replacement for this
this.removeAllListeners();
};Thanks!
Metadata
Metadata
Assignees
Labels
No labels