/** @jsx jsx */ import { jsx } from '@emotion/core'; import { isUndefined } from 'lodash-es'; import SchemaItem from './schema-item'; import { ObjectSchemaItem, KeyRoute } from '../model'; interface SchemaFormProps { data: ObjectSchemaItem; keyRoute: KeyRoute; } function SchemaForm({ data, keyRoute }: SchemaFormProps): JSX.Element { const { required, properties } = data; return (
{Object.keys(properties).map((field, index) => { const itemData = properties[field]; const isRequired = required && required.includes(field); const fieldKeyRoute = keyRoute.concat(field); return ( {itemData.type === 'object' && !isUndefined(itemData.properties) ? ( ) : null} ); })}
); } export default SchemaForm;