@@ -26,28 +26,29 @@ export class SpecGenerator {
26
26
}
27
27
return new Promise < void > ( ( resolve , reject ) => {
28
28
const swaggerDirs = _ . castArray ( this . config . outputDirectory ) ;
29
- this . debugger ( 'Saving specs to files : %j' , swaggerDirs ) ;
29
+ this . debugger ( 'Saving specs to folders : %j' , swaggerDirs ) ;
30
30
swaggerDirs . forEach ( swaggerDir => {
31
- mkdirp ( swaggerDir , ( dirErr : any ) => {
32
- if ( dirErr ) {
33
- throw dirErr ;
34
- }
31
+ mkdirp ( swaggerDir ) . then ( ( ) => {
32
+ this . debugger ( 'Saving specs json file to folder: %j' , swaggerDir ) ;
35
33
fs . writeFile ( `${ swaggerDir } /swagger.json` , JSON . stringify ( spec , null , '\t' ) , ( err : any ) => {
36
34
if ( err ) {
37
- reject ( err ) ;
35
+ return reject ( err ) ;
38
36
}
39
37
if ( this . config . yaml ) {
38
+ this . debugger ( 'Saving specs yaml file to folder: %j' , swaggerDir ) ;
40
39
fs . writeFile ( `${ swaggerDir } /swagger.yaml` , YAML . stringify ( spec , 1000 ) , ( errYaml : any ) => {
41
40
if ( errYaml ) {
42
- reject ( errYaml ) ;
41
+ return reject ( errYaml ) ;
43
42
}
43
+ this . debugger ( 'Generated files saved to folder: %j' , swaggerDir ) ;
44
44
resolve ( ) ;
45
45
} ) ;
46
46
} else {
47
+ this . debugger ( 'Generated files saved to folder: %j' , swaggerDir ) ;
47
48
resolve ( ) ;
48
49
}
49
50
} ) ;
50
- } ) ;
51
+ } ) . catch ( reject ) ;
51
52
} ) ;
52
53
} ) ;
53
54
}
@@ -383,18 +384,18 @@ export class SpecGenerator {
383
384
}
384
385
385
386
private getSwaggerTypeForEnumType ( enumType : EnumerateType ) : Swagger . Schema {
386
- function getDerivedTypeFromValues ( values : Array < any > ) : string {
387
- return values . reduce ( ( derivedType : string , item : any ) => {
388
- const currentType = typeof item ;
389
- derivedType = derivedType && derivedType !== currentType ? 'string' : currentType ;
390
- return derivedType ;
391
- } , null ) ;
387
+ function getDerivedTypeFromValues ( values : Array < any > ) : string {
388
+ return values . reduce ( ( derivedType : string , item : any ) => {
389
+ const currentType = typeof item ;
390
+ derivedType = derivedType && derivedType !== currentType ? 'string' : currentType ;
391
+ return derivedType ;
392
+ } , null ) ;
392
393
}
393
394
394
395
const enumValues = enumType . enumMembers . map ( member => member as string ) as [ string ] ;
395
396
return {
396
- enum : enumType . enumMembers . map ( member => member as string ) as [ string ] ,
397
- type : getDerivedTypeFromValues ( enumValues ) ,
397
+ enum : enumType . enumMembers . map ( member => member as string ) as [ string ] ,
398
+ type : getDerivedTypeFromValues ( enumValues ) ,
398
399
} ;
399
400
}
400
401
0 commit comments