File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -55,7 +55,7 @@ import wellKnownHeaders from "./well-known-headers.json";
5555
5656interface ReqResCommons {
5757 makeRef : (
58- key : object ,
58+ key : object | string ,
5959 subject : SchemaObject | ReferenceObject ,
6060 name ?: string ,
6161 ) => ReferenceObject ;
@@ -406,8 +406,12 @@ const fixReferences = (
406406 if ( isReferenceObject ( entry ) && ! entry . $ref . startsWith ( "#/components" ) ) {
407407 const actualName = entry . $ref . split ( "/" ) . pop ( ) ! ;
408408 const depiction = defs [ actualName ] ;
409- if ( depiction )
410- entry . $ref = ctx . makeRef ( depiction , ensureCompliance ( depiction ) ) . $ref ;
409+ if ( depiction ) {
410+ entry . $ref = ctx . makeRef (
411+ depiction . id || JSON . stringify ( depiction ) , // id is unique, serialization here is safe
412+ ensureCompliance ( depiction ) ,
413+ ) . $ref ;
414+ }
411415 continue ;
412416 }
413417 stack . push ( ...R . values ( entry ) ) ;
Original file line number Diff line number Diff line change @@ -86,10 +86,10 @@ interface DocumentationParams {
8686export class Documentation extends OpenApiBuilder {
8787 readonly #lastSecuritySchemaIds = new Map < SecuritySchemeType , number > ( ) ;
8888 readonly #lastOperationIdSuffixes = new Map < string , number > ( ) ;
89- readonly #references = new Map < object , string > ( ) ;
89+ readonly #references = new Map < object | string , string > ( ) ;
9090
9191 #makeRef(
92- key : object ,
92+ key : object | string ,
9393 subject : SchemaObject | ReferenceObject ,
9494 name = this . #references. get ( key ) ,
9595 ) : ReferenceObject {
You can’t perform that action at this time.
0 commit comments