gdeep-replace
Version:
deep-replace a key within a object
29 lines • 947 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
function deepReplace(o, key, replacement) {
if (Array.isArray(o)) {
// handle array first, because array is an object too
const result = [];
for (const item of o) {
result.push(deepReplace(item, key, replacement));
}
return result;
}
else if (typeof o === 'object' && o !== null) {
// handle object
let result = {};
for (const prop in o) {
if (prop === key) {
const replacementObj = replacement(key, o[prop]);
result = Object.assign({}, result, replacementObj);
}
else {
result[prop] = deepReplace(o[prop], key, replacement);
}
}
return result;
}
return o; // handle number, string, function
}
exports.deepReplace = deepReplace;
//# sourceMappingURL=index.js.map