@opengis/fastify-table
Version:
core-plugins
15 lines (14 loc) • 513 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;
}, {});
}