1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-10-22 19:26:13 +02:00

events-proxy - clean up

This commit is contained in:
kumavis 2017-10-10 17:15:14 -07:00
parent 4d273d3cea
commit e32d75965f

View File

@ -1,6 +1,5 @@
module.exports = function createEventEmitterProxy(eventEmitter, listeners) {
module.exports = function createEventEmitterProxy(eventEmitter, eventHandlers = {}) {
let target = eventEmitter
const eventHandlers = listeners || {}
const proxy = new Proxy({}, {
get: (obj, name) => {
// intercept listeners
@ -14,9 +13,12 @@ module.exports = function createEventEmitterProxy(eventEmitter, listeners) {
return true
},
})
proxy.setTarget(eventEmitter)
return proxy
function setTarget (eventEmitter) {
target = eventEmitter
// migrate listeners
// migrate eventHandlers
Object.keys(eventHandlers).forEach((name) => {
eventHandlers[name].forEach((handler) => target.on(name, handler))
})
@ -26,6 +28,4 @@ module.exports = function createEventEmitterProxy(eventEmitter, listeners) {
eventHandlers[name].push(handler)
target.on(name, handler)
}
if (listeners) proxy.setTarget(eventEmitter)
return proxy
}