in src/logger/index.ts [34:61]
function removeCircular(obj: any, refs: any[] = []): any {
if (typeof obj !== 'object' || !obj) {
return obj;
}
// If the object defines its own toJSON, prefer that.
if (obj.toJSON) {
return obj.toJSON();
}
if (refs.includes(obj)) {
return '[Circular]';
} else {
refs.push(obj);
}
let returnObj: any;
if (Array.isArray(obj)) {
returnObj = new Array(obj.length);
} else {
returnObj = {};
}
for (const k in obj) {
if (refs.includes(obj[k])) {
returnObj[k] = '[Circular]';
} else {
returnObj[k] = removeCircular(obj[k], refs);
}
}
return returnObj;
}