@@ -209,12 +209,7 @@ export class DefinitionGenerator {
209
209
} ,
210
210
} ;
211
211
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 ) ;
218
213
219
214
const reqBodyConfig : { content : object , description ?: string } = {
220
215
content : {
@@ -234,6 +229,14 @@ export class DefinitionGenerator {
234
229
return requestBodies ;
235
230
}
236
231
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
+
237
240
/**
238
241
* Gets response bodies from documentation config
239
242
* @param documentationConfig
@@ -274,21 +277,21 @@ export class DefinitionGenerator {
274
277
275
278
private getResponseContent ( response ) {
276
279
const content = { } ;
280
+
277
281
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
+
281
286
if ( responseModel ) {
282
287
const resModelConfig = {
283
288
schema : {
284
289
$ref : `#/components/schemas/${ response [ responseKey ] } ` ,
285
290
} ,
286
291
} ;
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
+
292
295
merge ( content , { [ responseKey ] : resModelConfig } ) ;
293
296
}
294
297
}
0 commit comments