diff --git a/src/js/proxies.js b/src/js/proxies.js index 194ea9f195409ea4b512ec15c84bdd014c21a30b..f0567fdeaf6db9b4671283b5cb7171173c234b5a 100644 --- a/src/js/proxies.js +++ b/src/js/proxies.js @@ -9,6 +9,15 @@ window.StoryProxyWritable = new Proxy({}, { deleteProperty:function(o, prop) { delete State.variables[prop]; return true; + }, + ownKeys: function(o, prop) { + return Object.keys(State.variables); + }, + has: function(o, prop) { + return prop in State.variables; + }, + getOwnPropertyDescriptor: function(o, prop) { + return Object.getOwnPropertyDescriptor(State.variables, prop); } }); window.StoryProxyReadOnly = new Proxy({}, { @@ -20,6 +29,15 @@ window.StoryProxyReadOnly = new Proxy({}, { }, deleteProperty:function(o, prop) { return false; + }, + ownKeys: function(o, prop) { + return Object.keys(State.variables); + }, + has: function(o, prop) { + return prop in State.variables; + }, + getOwnPropertyDescriptor: function(o, prop) { + return Object.getOwnPropertyDescriptor(State.variables, prop); } }); window.V = window.StoryProxyWritable;