Current File : /home/exataengenharia/public_html/node_modules/collect.js/src/methods/undot.js |
'use strict';
module.exports = function undot() {
if (Array.isArray(this.items)) {
return this;
}
let collection = {};
Object.keys(this.items).forEach((key) => {
if (key.indexOf('.') !== -1) {
const obj = collection;
key.split('.').reduce((acc, current, index, array) => {
if (!acc[current]) {
acc[current] = {};
}
if ((index === array.length - 1)) {
acc[current] = this.items[key];
}
return acc[current];
}, obj);
collection = { ...collection, ...obj };
} else {
collection[key] = this.items[key];
}
});
return new this.constructor(collection);
};