ts-logs
Version:
This package provide a skd for audit and manager logs in nodejs and express
34 lines • 1.21 kB
JavaScript
;
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