remotion
Version:
Make videos programmatically
37 lines (36 loc) • 1.12 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.deleteNestedKey = void 0;
const deleteNestedKey = (obj, keysToRemove) => {
for (const key of keysToRemove) {
const parts = key.split('.');
const parents = [obj];
let current = obj;
for (let i = 0; i < parts.length - 1; i++) {
const part = parts[i];
const next = current[part];
if (next === undefined || next === null) {
current = null;
break;
}
current = next;
parents.push(current);
}
if (current === null) {
continue;
}
delete current[parts[parts.length - 1]];
for (let i = parents.length - 1; i > 0; i--) {
const parent = parents[i];
if (Object.keys(parent).length === 0) {
const parentKey = parts[i - 1];
delete parents[i - 1][parentKey];
}
else {
break;
}
}
}
return obj;
};
exports.deleteNestedKey = deleteNestedKey;