File tree Expand file tree Collapse file tree 1 file changed +40
-8
lines changed
packages/docusaurus-plugin-openapi-docs/src/markdown Expand file tree Collapse file tree 1 file changed +40
-8
lines changed Original file line number Diff line number Diff line change @@ -783,17 +783,49 @@ export function createNodes(
783783 }
784784
785785 if ( schema . allOf !== undefined ) {
786- const mergedSchemas = mergeAllOf ( schema ) as SchemaObject ;
787-
788786 if (
789- mergedSchemas . oneOf !== undefined ||
790- mergedSchemas . anyOf !== undefined
787+ schema . allOf . length &&
788+ typeof schema . allOf [ 0 ] === "string" &&
789+ ( schema . allOf [ 0 ] as string ) . includes ( "circular" )
791790 ) {
792- nodes . push ( createAnyOneOf ( mergedSchemas ) ) ;
793- }
791+ nodes . push (
792+ create ( "div" , {
793+ style : {
794+ marginTop : ".5rem" ,
795+ marginBottom : ".5rem" ,
796+ marginLeft : "1rem" ,
797+ } ,
798+ children : createDescription ( schema . allOf [ 0 ] ) ,
799+ } )
800+ ) ;
794801
795- if ( mergedSchemas . properties !== undefined ) {
796- nodes . push ( createProperties ( mergedSchemas ) ) ;
802+ const rest = schema . allOf . slice ( 1 ) ;
803+ if ( rest . length ) {
804+ const mergedSchemas = mergeAllOf ( { allOf : rest } as SchemaObject ) ;
805+ if (
806+ mergedSchemas . oneOf !== undefined ||
807+ mergedSchemas . anyOf !== undefined
808+ ) {
809+ nodes . push ( createAnyOneOf ( mergedSchemas ) ) ;
810+ }
811+
812+ if ( mergedSchemas . properties !== undefined ) {
813+ nodes . push ( createProperties ( mergedSchemas ) ) ;
814+ }
815+ }
816+ } else {
817+ const mergedSchemas = mergeAllOf ( schema ) as SchemaObject ;
818+
819+ if (
820+ mergedSchemas . oneOf !== undefined ||
821+ mergedSchemas . anyOf !== undefined
822+ ) {
823+ nodes . push ( createAnyOneOf ( mergedSchemas ) ) ;
824+ }
825+
826+ if ( mergedSchemas . properties !== undefined ) {
827+ nodes . push ( createProperties ( mergedSchemas ) ) ;
828+ }
797829 }
798830 }
799831
You can’t perform that action at this time.
0 commit comments