@opengis/fastify-table
Version:
core-plugins
11 lines • 489 B
JavaScript
export default function flattenObject(obj = {}, keys, parent = '') {
return Object.keys(obj).reduce((acc, key) => {
const newKey = parent ? `${parent}.${key}` : key;
if (typeof obj[key] === 'object' && obj[key] !== null && !Array.isArray(obj[key])) {
Object.assign(acc, flattenObject(obj[key], keys, newKey));
} else if (keys ? keys.includes(newKey) : true) {
acc[newKey] = obj[key];
}
return acc;
}, {});
}