google-spreadsheet-translation-sync
Version:
A plugin to read and write i18n translationsfrom and to google spreadsheets
27 lines (22 loc) • 728 B
JavaScript
module.exports.resolveStructureToTree = (originalTree, potentialTreeUpdates) => {
Object.keys(potentialTreeUpdates).forEach((key) => {
const parts = key.split('.');
let tree = originalTree;
// remove the full key, if present
if (originalTree[key]) {
delete originalTree[key];
}
// add it again in a clean fassion
while (parts.length > 0) {
const part = parts.shift();
if (parts.length === 0) {
tree[part] = potentialTreeUpdates[key];
} else {
if (!tree[part]) {
tree[part] = {}
}
tree = tree[part];
}
}
})
}