@@ -209,12 +209,7 @@ export class DefinitionGenerator {
209209 } ,
210210 } ;
211211
212- // Add examples if any can be found
213- if ( requestModel . examples && Array . isArray ( requestModel . examples ) ) {
214- merge ( reqModelConfig , { examples : clone ( requestModel . examples ) } ) ;
215- } else if ( requestModel . example ) {
216- merge ( reqModelConfig , { example : clone ( requestModel . example ) } ) ;
217- }
212+ this . applyExamples ( requestModel , reqModelConfig ) ;
218213
219214 const reqBodyConfig : { content : object , description ?: string } = {
220215 content : {
@@ -234,6 +229,14 @@ export class DefinitionGenerator {
234229 return requestBodies ;
235230 }
236231
232+ private applyExamples ( target , config ) {
233+ if ( target . examples && Array . isArray ( target . examples ) ) {
234+ merge ( config , { examples : clone ( target . examples ) } ) ;
235+ } else if ( target . example ) {
236+ merge ( config , { example : clone ( target . example ) } ) ;
237+ }
238+ }
239+
237240 /**
238241 * Gets response bodies from documentation config
239242 * @param documentationConfig
@@ -274,21 +277,21 @@ export class DefinitionGenerator {
274277
275278 private getResponseContent ( response ) {
276279 const content = { } ;
280+
277281 for ( const responseKey of Object . keys ( response ) ) {
278- const responseModel = this . config . models . filter (
279- ( model ) => model . name === response [ responseKey ] ,
280- ) . pop ( ) ;
282+ const responseModel = this . config . models . find ( ( model ) =>
283+ model . name === response [ responseKey ] ,
284+ ) ;
285+
281286 if ( responseModel ) {
282287 const resModelConfig = {
283288 schema : {
284289 $ref : `#/components/schemas/${ response [ responseKey ] } ` ,
285290 } ,
286291 } ;
287- if ( responseModel . examples && Array . isArray ( responseModel . examples ) ) {
288- merge ( resModelConfig , { examples : clone ( responseModel . examples ) } ) ;
289- } else if ( responseModel . example ) {
290- merge ( resModelConfig , { example : clone ( responseModel . example ) } ) ;
291- }
292+
293+ this . applyExamples ( responseModel , resModelConfig ) ;
294+
292295 merge ( content , { [ responseKey ] : resModelConfig } ) ;
293296 }
294297 }
0 commit comments