Skip to content

Instantly share code, notes, and snippets.

@trevor-atlas
Last active June 3, 2020 15:52
Show Gist options
  • Save trevor-atlas/cb34cfdc3064d1165e8c02173318d152 to your computer and use it in GitHub Desktop.
Save trevor-atlas/cb34cfdc3064d1165e8c02173318d152 to your computer and use it in GitHub Desktop.
Trace an object's property over time
const traceProperty = (object, property) => {
let value = object[property];
Object.defineProperty(object, property, {
get() {
console.trace(`${property} requested`);
return value;
},
set(newValue) {
console.trace(`setting ${property} to `, newValue);
value = newValue;
},
})
};
traceProperty(window, '_');
window._ = 3;
//>> VM2109:9 setting _ to 3
//>> set @ VM2109:9
//>> (anonymous) @ VM2213:1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment