UNPKG

lux-framework

Version:

Build scalable, Node.js-powered REST APIs with almost no code.

30 lines (25 loc) 624 B
// @flow import entries from '../../../../../utils/entries'; const DELIMITER = /^(.+)\[(.+)]$/g; /** * @private */ export default function parseNestedObject(source: Object): Object { return entries(source).reduce((result, [key, value]) => { if (DELIMITER.test(key)) { const parentKey = key.replace(DELIMITER, '$1'); const parentValue = Reflect.get(result, parentKey); return { ...result, [parentKey]: { ...(parentValue || {}), [key.replace(DELIMITER, '$2')]: value } }; } return { ...result, [key]: value }; }, {}); }