antd
Version:
An enterprise-class UI design language and React components implementation
16 lines • 414 B
JavaScript
/**
* Fill object structure by schema, initialize empty objects for keys with `_default` property.
*/
export const fillObjectBySchema = (obj, schema) => {
const newObj = {
...obj
};
Object.keys(schema).forEach(key => {
if (schema[key]._default) {
newObj[key] || (newObj[key] = {});
} else {
newObj[key] = fillObjectBySchema(newObj[key], schema[key]);
}
});
return newObj;
};