@sprucelabs/schema
Version:
Static and dynamic binding plus runtime validation and transformation to ensure your app is sound. 🤓
25 lines (24 loc) • 709 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = expandValues;
function expandValues(values = {}) {
const result = {};
for (const key in values) {
const value = values[key];
const keys = key.split('.');
let current = result;
for (let i = 0; i < keys.length; i++) {
const k = keys[i];
if (i === keys.length - 1) {
current[k] = value;
}
else {
if (!(k in current) || typeof current[k] !== 'object') {
current[k] = {};
}
current = current[k];
}
}
}
return result;
}