UNPKG

@0x/utils

Version:
26 lines 892 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.deleteNestedProperty = void 0; /* Deletes deeply nested properties from an object. MUTATES the object * @param obj the object to be operated on * @param propPath the full dot-separated path to the property to delete, e.g. 'animals.mammals.dog.name' * returns void */ const deleteNestedProperty = (obj, propPath) => { if (!obj || !propPath) { return; } const propPathParts = propPath.split('.'); let _obj = obj; for (let i = 0; i < propPathParts.length - 1; i++) { _obj = _obj[propPathParts[i]]; if (typeof _obj === 'undefined') { return; } } while (propPathParts.length > 0) { delete _obj[propPathParts.pop()]; } }; exports.deleteNestedProperty = deleteNestedProperty; //# sourceMappingURL=delete_nested_property.js.map