@vizydrop/logger
Version:
Vizydrop predefined logger based on winston v3
46 lines (39 loc) • 1.39 kB
JavaScript
/*********************************************************************
* © Copyright IBM Corp. 2025
*********************************************************************/
const fieldsToString = [`errno`];
function convertErrors(params) {
return params.map((param) => {
if (param instanceof Error) {
const filteredData = Object.entries(param)
.filter(([key, value]) => {
if (key === `details`) {
return true;
}
if (key === `message`) {
return false;
}
return (
typeof value === `string` ||
typeof value === `number` ||
typeof value === `boolean`
);
})
.reduce((acc, [key, value]) => {
if (fieldsToString.includes(key)) {
acc[key] = String(value);
} else {
acc[key] = value;
}
return acc;
}, {});
return {
stack: param.stack,
__errorMessage: param.message,
...filteredData,
};
}
return param;
});
}
module.exports = {convertErrors};