UNPKG

751 BJavaScriptView Raw
1function EmitterWrapper (emitter) {
2 this.listeners = {}
3 this.emitter = emitter
4}
5
6EmitterWrapper.prototype.addListener = EmitterWrapper.prototype.on = function (event, listener) {
7 this.emitter.addListener(event, listener)
8
9 if (!this.listeners.hasOwnProperty(event)) {
10 this.listeners[event] = []
11 }
12
13 this.listeners[event].push(listener)
14
15 return this
16}
17
18EmitterWrapper.prototype.removeAllListeners = function (event) {
19 var events = event ? [event] : Object.keys(this.listeners)
20 var self = this
21 events.forEach(function (event) {
22 self.listeners[event].forEach(function (listener) {
23 self.emitter.removeListener(event, listener)
24 })
25 delete self.listeners[event]
26 })
27
28 return this
29}
30
31module.exports = EmitterWrapper