diff --git a/demo/examples/tests/allOf.yaml b/demo/examples/tests/allOf.yaml index 9b58d21d7..309a95905 100644 --- a/demo/examples/tests/allOf.yaml +++ b/demo/examples/tests/allOf.yaml @@ -367,6 +367,51 @@ paths: otherOuterProp: type: string + /allof-parent-required: + get: + tags: + - allOf + summary: allOf inherits parent required + description: | + Parent object marks the "pet" property as required while its schema is composed via allOf. + + Schema: + ```yaml + type: object + properties: + pet: + allOf: + - type: object + properties: + name: + type: string + - type: object + properties: + age: + type: integer + required: [pet] + ``` + responses: + "200": + description: Successful response + content: + application/json: + schema: + type: object + properties: + pet: + allOf: + - type: object + properties: + name: + type: string + - type: object + properties: + age: + type: integer + required: + - pet + components: schemas: # Your existing schemas are integrated here. diff --git a/packages/docusaurus-theme-openapi-docs/src/theme/Schema/index.tsx b/packages/docusaurus-theme-openapi-docs/src/theme/Schema/index.tsx index cc7bc3863..8f277100e 100644 --- a/packages/docusaurus-theme-openapi-docs/src/theme/Schema/index.tsx +++ b/packages/docusaurus-theme-openapi-docs/src/theme/Schema/index.tsx @@ -725,9 +725,7 @@ const SchemaEdge: React.FC = ({ name={name} schemaName={mergedSchemaName} required={ - Array.isArray(mergedSchemas.required) - ? mergedSchemas.required.includes(name) - : mergedSchemas.required + Array.isArray(required) ? required.includes(name) : required } nullable={mergedSchemas.nullable} schema={mergedSchemas} @@ -742,9 +740,7 @@ const SchemaEdge: React.FC = ({ name={name} schemaName={mergedSchemaName} required={ - Array.isArray(mergedSchemas.required) - ? mergedSchemas.required.includes(name) - : mergedSchemas.required + Array.isArray(required) ? required.includes(name) : required } nullable={mergedSchemas.nullable} schema={mergedSchemas} @@ -754,18 +750,18 @@ const SchemaEdge: React.FC = ({ } if (mergedSchemas.items?.properties) { - ; + return ( + + ); } return (