UNPKG

@opengis/fastify-table

Version:

core-plugins

29 lines (28 loc) 1.16 kB
/* eslint-disable no-param-reassign */ export default function unflattenObject(flatObj) { return Object.keys(flatObj || {}).reduce((acc, key) => { const keys = key.split('.'); keys.reduce((nestedObj, part, index) => { if (index === keys.length - 1) { // json array if (typeof flatObj[key] === 'string' && flatObj[key].startsWith('[')) { try { nestedObj[part] = JSON.parse(flatObj[key]); } catch (err) { console.error(`Error parsing JSON for key ${key}:`, err); nestedObj[part] = flatObj[key]; // fallback to original value if parsing fails } } else { nestedObj[part] = ['true', 'false'].includes(flatObj[key]) ? JSON.parse(flatObj[key]) : flatObj[key]; } } else { nestedObj[part] = nestedObj[part] || {}; } return nestedObj[part]; }, acc); return acc; }, {}); }