deps - extracted ensnare to module

feature/default_network_editable
kumavis 8 years ago
parent 4f4c78a9fc
commit 0b660f4ac8
  1. 2
      app/scripts/lib/auto-reload.js
  2. 24
      app/scripts/lib/ensnare.js
  3. 1
      package.json

@ -1,5 +1,5 @@
const once = require('once') const once = require('once')
const ensnare = require('./ensnare.js') const ensnare = require('ensnare')
module.exports = setupDappAutoReload module.exports = setupDappAutoReload

@ -1,24 +0,0 @@
module.exports = ensnare
// creates a proxy object that calls cb everytime the obj's properties/fns are accessed
function ensnare (obj, cb) {
var proxy = {}
Object.keys(obj).forEach(function (key) {
var val = obj[key]
switch (typeof val) {
case 'function':
proxy[key] = function () {
cb()
val.apply(obj, arguments)
}
return
default:
Object.defineProperty(proxy, key, {
get: function () { cb(); return obj[key] },
set: function (val) { cb(); obj[key] = val; return val },
})
return
}
})
return proxy
}

@ -35,6 +35,7 @@
"debounce": "^1.0.0", "debounce": "^1.0.0",
"dnode": "^1.2.2", "dnode": "^1.2.2",
"end-of-stream": "^1.1.0", "end-of-stream": "^1.1.0",
"ensnare": "^1.0.0",
"eth-bin-to-ops": "^1.0.0", "eth-bin-to-ops": "^1.0.0",
"eth-lightwallet": "^2.3.3", "eth-lightwallet": "^2.3.3",
"eth-query": "^1.0.3", "eth-query": "^1.0.3",

Loading…
Cancel
Save