Skip to content

Instantly share code, notes, and snippets.

@greglockwood
Created April 18, 2017 22:56
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save greglockwood/9ac14ea2b63f94704e5e518638dcf2f5 to your computer and use it in GitHub Desktop.
Save greglockwood/9ac14ea2b63f94704e5e518638dcf2f5 to your computer and use it in GitHub Desktop.
Debug Helper Functions Snippet
const print = (param, ...args) => {
console.log(param, ...args);
return param;
};
const traceFn = (fn, context) => function () {
console.trace(`${fn.name} called with arguments: `, arguments);
return fn.apply(context || this, arguments);
};
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;
},
})
};
window.Debug = {
print,
traceFn,
traceProperty
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment