Skip to content

Commit 28aab79

Browse files
fix: do not omit patternProperties when properties is undefined
1 parent 031431b commit 28aab79

File tree

1 file changed

+16
-16
lines changed

1 file changed

+16
-16
lines changed

library/src/components/Schema.tsx

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -377,18 +377,20 @@ interface SchemaPropertiesProps {
377377
const SchemaProperties: React.FunctionComponent<SchemaPropertiesProps> = ({
378378
schema,
379379
}) => {
380-
const properties = schema.properties();
381-
if (properties === undefined || !Object.keys(properties)) {
380+
const properties = Object.entries(schema.properties() ?? {});
381+
const patternProperties = Object.entries(schema.patternProperties() ?? {});
382+
383+
if (!properties.length && !patternProperties.length) {
382384
return null;
383385
}
384386

385387
const required = schema.required() ?? [];
386-
const patternProperties = schema.patternProperties();
387388

388389
return (
389390
<>
390-
{Object.entries(properties).map(([propertyName, property]) => (
391+
{properties.map(([propertyName, property]) => (
391392
<Schema
393+
key={propertyName}
392394
schema={property}
393395
schemaName={propertyName}
394396
required={required.includes(propertyName)}
@@ -398,21 +400,19 @@ const SchemaProperties: React.FunctionComponent<SchemaPropertiesProps> = ({
398400
propertyName,
399401
schema,
400402
)}
403+
/>
404+
))}
405+
406+
{patternProperties.map(([propertyName, property]) => (
407+
<Schema
401408
key={propertyName}
409+
schema={property}
410+
schemaName={propertyName}
411+
isPatternProperty
412+
isProperty
413+
isCircular={property.isCircular()}
402414
/>
403415
))}
404-
{Object.entries(patternProperties ?? {}).map(
405-
([propertyName, property]) => (
406-
<Schema
407-
schema={property}
408-
schemaName={propertyName}
409-
isPatternProperty
410-
isProperty
411-
isCircular={property.isCircular()}
412-
key={propertyName}
413-
/>
414-
),
415-
)}
416416
</>
417417
);
418418
};

0 commit comments

Comments
 (0)