Skip to content

Commit 67b0ad4

Browse files
return null if both properties and patternProperties are not defined or empty
1 parent 0752269 commit 67b0ad4

File tree

1 file changed

+20
-15
lines changed

1 file changed

+20
-15
lines changed

library/src/components/Schema.tsx

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -377,15 +377,22 @@ interface SchemaPropertiesProps {
377377
const SchemaProperties: React.FunctionComponent<SchemaPropertiesProps> = ({
378378
schema,
379379
}) => {
380-
const properties = schema.properties() ?? {};
381-
const patternProperties = schema.patternProperties() ?? {};
380+
const properties = Object.entries(schema.properties() ?? {});
381+
const patternProperties = Object.entries(
382+
schema.patternProperties() ?? {},
383+
);
384+
385+
if (!properties.length && !patternProperties.length) {
386+
return null;
387+
}
382388

383389
const required = schema.required() ?? [];
384390

385391
return (
386392
<>
387-
{Object.entries(properties).map(([propertyName, property]) => (
393+
{properties.map(([propertyName, property]) => (
388394
<Schema
395+
key={propertyName}
389396
schema={property}
390397
schemaName={propertyName}
391398
required={required.includes(propertyName)}
@@ -395,21 +402,19 @@ const SchemaProperties: React.FunctionComponent<SchemaPropertiesProps> = ({
395402
propertyName,
396403
schema,
397404
)}
405+
/>
406+
))}
407+
408+
{patternProperties.map(([propertyName, property]) => (
409+
<Schema
398410
key={propertyName}
411+
schema={property}
412+
schemaName={propertyName}
413+
isPatternProperty
414+
isProperty
415+
isCircular={property.isCircular()}
399416
/>
400417
))}
401-
{Object.entries(patternProperties ?? {}).map(
402-
([propertyName, property]) => (
403-
<Schema
404-
schema={property}
405-
schemaName={propertyName}
406-
isPatternProperty
407-
isProperty
408-
isCircular={property.isCircular()}
409-
key={propertyName}
410-
/>
411-
),
412-
)}
413418
</>
414419
);
415420
};

0 commit comments

Comments
 (0)