@kpi4me/golden-layout
Version:
A multi-screen javascript Layout manager https://golden-layout.com
32 lines (24 loc) • 762 B
JavaScript
function EmitterWrapper(emitter) {
this.listeners = {};
this.emitter = emitter;
}
EmitterWrapper.prototype.addListener = EmitterWrapper.prototype.on = function(event, listener) {
this.emitter.addListener(event, listener);
if (!this.listeners.hasOwnProperty(event)) {
this.listeners[event] = [];
}
this.listeners[event].push(listener);
return this;
};
EmitterWrapper.prototype.removeAllListeners = function(event) {
var events = event ? [event] : Object.keys(this.listeners);
var self = this;
events.forEach(function(event) {
self.listeners[event].forEach(function(listener) {
self.emitter.removeListener(event, listener);
});
delete self.listeners[event];
});
return this;
};
module.exports = EmitterWrapper;