UNPKG

@vizydrop/logger

Version:

Vizydrop predefined logger based on winston v3

37 lines (30 loc) 981 B
/********************************************************************* * © Copyright IBM Corp. 2025 *********************************************************************/ function create(initialAdditionalFields) { let additionalFields = {...initialAdditionalFields}; function add(fields) { additionalFields = { ...additionalFields, ...fields, }; } function getCurrentValues() { if (!additionalFields) { return {}; } return Object.entries(additionalFields).reduce((acc, [key, value]) => { acc[key] = typeof value === `function` ? value() : value; return acc; }, {}); } function remove(fields) { if (fields && Array.isArray(fields)) { fields.forEach((fieldName) => { delete additionalFields[fieldName]; }); } } return {add, remove, getCurrentValues}; } module.exports = {create};