@@ -154,10 +154,16 @@ class DefinitionGenerator {
154154 Object . assign ( info , { license : licenseObj } ) ;
155155 }
156156
157- for ( const key of Object . keys ( documentation ) ) {
158- if ( / ^ [ x \- ] / i. test ( key ) ) {
159- Object . assign ( info , { [ key ] : documentation [ key ] } ) ;
160- }
157+ // for (const key of Object.keys(documentation)) {
158+ // if (/^[x\-]/i.test(key)) {
159+ // Object.assign(info, { [key]: documentation[key] });
160+ // }
161+ // }
162+
163+ const extendedSpec = this . extendSpecification ( documentation ) ;
164+
165+ if ( Object . keys ( extendedSpec ) . length ) {
166+ Object . assign ( info , extendedSpec ) ;
161167 }
162168
163169 Object . assign ( this . openAPI , { info } ) ;
@@ -419,6 +425,12 @@ class DefinitionGenerator {
419425 obj . servers = servers ;
420426 }
421427
428+ const extendedSpec = this . extendSpecification ( documentation ) ;
429+
430+ if ( Object . keys ( extendedSpec ) . length ) {
431+ Object . assign ( obj , extendedSpec ) ;
432+ }
433+
422434 return { [ method . toLowerCase ( ) ] : obj } ;
423435 }
424436
@@ -937,6 +949,17 @@ class DefinitionGenerator {
937949 }
938950 }
939951
952+ extendSpecification ( spec ) {
953+ const obj = { } ;
954+ for ( const key of Object . keys ( spec ) ) {
955+ if ( / ^ [ x \- ] / i. test ( key ) ) {
956+ Object . assign ( obj , { [ key ] : spec [ key ] } ) ;
957+ }
958+ }
959+
960+ return obj ;
961+ }
962+
940963 getHTTPFunctions ( ) {
941964 const isHttpFunction = ( funcType ) => {
942965 const keys = Object . keys ( funcType ) ;
0 commit comments