UNPKG

ts-logs

Version:

This package provide a skd for audit and manager logs in nodejs and express

34 lines 1.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MaskSubObjectKey = void 0; const MaskSubObjectKey = (path, object, callback) => { if (typeof path !== 'string') return object; if (typeof object !== 'object') return object; if (typeof callback !== 'function') return object; const keys = path.split('.'); const isArr = Array.isArray(keys); if (!isArr) return object; if (keys.length <= 1) return object; const lastKey = keys[keys.length - 1]; let value = object; for (let i = 0; i < keys.length - 1; i++) { value = value?.[keys[i]]; } ; const strOrNullA = (typeof value?.[lastKey] === 'string') ? value[lastKey] : null; const strOrNullB = (typeof value?.[lastKey] === 'number') ? value[lastKey].toString() : null; if ((!strOrNullA && !strOrNullB)) return object; const valToChange = strOrNullA ? strOrNullA : strOrNullB ?? ''; if (value?.[lastKey]) value[lastKey] = callback(valToChange); return object; }; exports.MaskSubObjectKey = MaskSubObjectKey; exports.default = exports.MaskSubObjectKey; //# sourceMappingURL=mask-sub-key.util.js.map