66// License text available at https://opensource.org/licenses/MIT
77// Repository https://github.com/acacode/swagger-typescript-api
88
9- const program = require ( ' commander' ) ;
10- const { resolve } = require ( ' path' ) ;
11- const { generateApi } = require ( ' ./src' ) ;
12- const { version } = require ( ' ./package.json' ) ;
9+ const program = require ( " commander" ) ;
10+ const { resolve } = require ( " path" ) ;
11+ const { generateApi } = require ( " ./src" ) ;
12+ const { version } = require ( " ./package.json" ) ;
1313
1414program
15- . version ( version , ' -v, --version' , ' output the current version' )
15+ . version ( version , " -v, --version" , " output the current version" )
1616 . description ( "Generate api via swagger scheme.\nSupports OA 3.0, 2.0, JSON, yaml." )
17- . requiredOption ( '-p, --path <path>' , 'path/url to swagger scheme' )
18- . option ( '-o, --output <output>' , 'output path of typescript api file' , './' )
19- . option ( '-n, --name <name>' , 'name of output typescript api file' , 'Api.ts' )
17+ . requiredOption ( "-p, --path <path>" , "path/url to swagger scheme" )
18+ . option ( "-o, --output <output>" , "output path of typescript api file" , "./" )
19+ . option ( "-n, --name <name>" , "name of output typescript api file" , "Api.ts" )
20+ . option ( "-t, --templates <path>" , "path to folder containing templates" )
2021 . option (
21- ' -d, --default-as-success' ,
22+ " -d, --default-as-success" ,
2223 'use "default" response status code as success response too.\n' +
23- 'some swagger schemas use "default" response status code as success response type by default.' ,
24- false
24+ 'some swagger schemas use "default" response status code as success response type by default.' ,
25+ false ,
2526 )
2627 . option (
27- ' -r, --responses' ,
28- ' generate additional information about request responses\n' +
29- ' also add typings for bad responses' ,
28+ " -r, --responses" ,
29+ " generate additional information about request responses\n" +
30+ " also add typings for bad responses" ,
3031 false ,
3132 )
32- . option ( '--route-types' , 'generate type definitions for API routes' , false )
33- . option ( '--no-client' , 'do not generate an API class' , false ) ;
34-
33+ . option ( "--union-enums" , 'generate all "enum" types as union types (T1 | T2 | TN)' , false )
34+ . option ( "--route-types" , "generate type definitions for API routes" , false )
35+ . option ( "--no-client" , "do not generate an API class" , false ) ;
36+
3537program . parse ( process . argv ) ;
3638
37- const {
38- path,
39- output,
40- name,
41- routeTypes,
42- client,
43- defaultAsSuccess,
44- responses,
45- } = program ;
39+ const { path, output, name, templates, unionEnums, routeTypes, client, defaultAsSuccess, responses } = program ;
4640
4741generateApi ( {
4842 name,
4943 url : path ,
5044 generateRouteTypes : routeTypes ,
5145 generateClient : client ,
5246 defaultResponseAsSuccess : defaultAsSuccess ,
47+ generateUnionEnums : unionEnums ,
5348 generateResponses : responses ,
5449 input : resolve ( process . cwd ( ) , path ) ,
55- output : resolve ( process . cwd ( ) , output || '.' )
56- } )
50+ output : resolve ( process . cwd ( ) , output || "." ) ,
51+ templates : resolve ( templates ? process . cwd ( ) : __dirname , templates || "./src/templates" ) ,
52+ } ) ;
0 commit comments