Skip to content

Instantly share code, notes, and snippets.

@jorendorff
Created December 13, 2012 19:42
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save jorendorff/4279162 to your computer and use it in GitHub Desktop.
// A retargetable proxy
function retargetableProxy(target) {
function setTarget(obj) {
target = obj;
}
var handler = {
get: function (_, name) {
return target[name];
},
set: function (_, name, value) {
target[name] = value;
},
getOwnPropertyDescriptor: function (_, name) {
var desc = Object.getOwnPropertyDescriptor(target, name);
if (desc)
desc.configurable = true;
return desc;
},
isExtensible: function (_) {
return true;
}
// ...
};
return [new Proxy({}, handler), setTarget];
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment