();
if (typeof schema.additionalProperties === 'boolean') {
if (schema.additionalProperties) {
additionalProperties.push(
);
}
} else if (schema.additionalProperties !== undefined) {
const additionalPropertiesResult = lookup.getSchema(
schema.additionalProperties
);
if (additionalPropertiesResult !== undefined) {
const resolvedReference =
additionalPropertiesResult.baseReference ||
`${reference}/additionalProperties`;
additionalProperties.push(
);
}
}
const patternProperties = schema.patternProperties || {};
const renderedPatternProperties = Object.keys(patternProperties).map(
(pattern, i) => {
const lookupResult = lookup.getSchema(patternProperties[pattern]);
const currentSchema =
getSchemaFromResult(lookupResult) || patternProperties[pattern];
return (
);
}
);
const hasProperties =
renderedProps.length > 0 ||
renderedPatternProperties.length > 0 ||
additionalProperties.length > 0;
const { anyOf, allOf, oneOf, not } = schema;
const compositeOnlyType: JsonSchema1 = { anyOf, allOf, oneOf, not };
let mixinProps = <>>;
if (
Object.keys(compositeOnlyType).some(
(key) => compositeOnlyType[key] !== undefined
)
) {
mixinProps = (
<>
Mixins
{hasProperties ? (
This type has all of the properties below, but must also match this
type:
) : (
This object must match the following conditions:
)}
>
);
}
let allRenderedProperties = <>>;
if (hasProperties) {
allRenderedProperties = (
<>
{renderedProps}
{renderedPatternProperties}
{additionalProperties}
>
);
}
return (
{mixinProps}
{allRenderedProperties}
);
}