diff options
Diffstat (limited to 'vnfmarket/src/main/webapp/vnfmarket/node_modules/karma/lib/emitter_wrapper.js')
-rw-r--r-- | vnfmarket/src/main/webapp/vnfmarket/node_modules/karma/lib/emitter_wrapper.js | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/vnfmarket/src/main/webapp/vnfmarket/node_modules/karma/lib/emitter_wrapper.js b/vnfmarket/src/main/webapp/vnfmarket/node_modules/karma/lib/emitter_wrapper.js new file mode 100644 index 00000000..7dd15d57 --- /dev/null +++ b/vnfmarket/src/main/webapp/vnfmarket/node_modules/karma/lib/emitter_wrapper.js @@ -0,0 +1,31 @@ +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 |