js log call stack code example
Example 1: js trace function call
function traceMethodCalls(obj) {
const handler = {
get(target, propKey, receiver) {
const targetValue = Reflect.get(target, propKey, receiver);
if (typeof targetValue === 'function') {
return function (...args) {
console.log('CALL', propKey, args);
return targetValue.apply(this, args);
}
} else {
return targetValue;
}
}
};
return new Proxy(obj, handler);
}
const objWithFunction = {
methodA: (a) => { return a; }
}
const proxyWithTrace = traceMethodCalls(objWithFunction);
Example 2: console trace js
console.trace( [...any, ...data ]);