@@ -4,8 +4,9 @@ import { resolve } from 'path'
44import { Command } from 'commander'
55import { outputFileSync } from 'fs-extra'
66import { format } from 'prettier'
7- import { parseOpenApiSpec , parsePaths } from './parser'
8- import { generateModels , generateRouter } from './schema-compiler'
7+ import { parseOpenApiSpec , parsePaths } from './path_parser'
8+ import { generateRouter } from './router_generator'
9+ import { SchemaGenerator } from './schema_generator'
910
1011const program = new Command ( )
1112
@@ -25,15 +26,20 @@ program
2526
2627 const spec = parseOpenApiSpec ( absoluteInputPath )
2728
29+ const schemaGenerator = new SchemaGenerator ( spec )
30+
2831 // Generate and write models
29- const modelsFileContent = await format ( generateModels ( spec ) , {
30- parser : 'typescript' ,
31- tabWidth : 4 ,
32- trailingComma : 'es5' ,
33- useTabs : false ,
34- semi : false ,
35- singleQuote : true ,
36- } )
32+ const modelsFileContent = await format (
33+ schemaGenerator . generateModels ( ) ,
34+ {
35+ parser : 'typescript' ,
36+ tabWidth : 4 ,
37+ trailingComma : 'es5' ,
38+ useTabs : false ,
39+ semi : false ,
40+ singleQuote : true ,
41+ }
42+ )
3743 outputFileSync (
3844 resolve ( absoluteOutputPath , 'models.ts' ) ,
3945 modelsFileContent
@@ -43,7 +49,14 @@ program
4349 const parsedPaths = parsePaths ( spec )
4450 const routerFileContent = await format (
4551 generateRouter ( parsedPaths , spec ) ,
46- { parser : 'typescript' }
52+ {
53+ parser : 'typescript' ,
54+ tabWidth : 4 ,
55+ trailingComma : 'es5' ,
56+ useTabs : false ,
57+ semi : false ,
58+ singleQuote : true ,
59+ }
4760 )
4861 outputFileSync ( resolve ( absoluteOutputPath , 'api.ts' ) , routerFileContent )
4962
0 commit comments