aboutsummaryrefslogtreecommitdiffstats
path: root/app/scripts/lib/obj-proxy.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/scripts/lib/obj-proxy.js')
-rw-r--r--app/scripts/lib/obj-proxy.js19
1 files changed, 19 insertions, 0 deletions
diff --git a/app/scripts/lib/obj-proxy.js b/app/scripts/lib/obj-proxy.js
new file mode 100644
index 000000000..29ca1269f
--- /dev/null
+++ b/app/scripts/lib/obj-proxy.js
@@ -0,0 +1,19 @@
+module.exports = function createObjectProxy(obj) {
+ let target = obj
+ const proxy = new Proxy({}, {
+ get: (obj, name) => {
+ // intercept setTarget
+ if (name === 'setTarget') return setTarget
+ return target[name]
+ },
+ set: (obj, name, value) => {
+ target[name] = value
+ return true
+ },
+ })
+ return proxy
+
+ function setTarget (obj) {
+ target = obj
+ }
+} \ No newline at end of file