@@ -68,12 +68,23 @@ const loadConfig = (endpointsFile) => {
68
68
}
69
69
} ;
70
70
71
+ const lang2extension = ( lang ) => {
72
+ switch ( lang ) {
73
+ case 'js' :
74
+ case 'go' :
75
+ return lang
76
+ default :
77
+ throw new Error ( `Unsupported language: ${ lang } ` )
78
+ }
79
+ }
80
+
71
81
const createApp = async ( destDir , lang ) => {
72
- const fileName = `app.${ lang } `
82
+ const ext = lang2extension ( lang )
83
+ const fileName = `app.${ ext } `
73
84
console . log ( 'Generate' , fileName ) ;
74
85
const resultFile = path . join ( destDir , fileName ) ;
75
86
76
- fs . copyFileSync ( `${ __dirname } /templates/app.${ lang } ` , resultFile )
87
+ fs . copyFileSync ( `${ __dirname } /templates/app.${ ext } ` , resultFile )
77
88
} ;
78
89
79
90
// "SELECT *\n FROM foo" => "SELECT * FROM foo"
@@ -104,7 +115,8 @@ const lengthOfLongestString = (arr) => arr
104
115
) ;
105
116
106
117
const createEndpoints = async ( destDir , lang , config ) => {
107
- const fileName = `routes.${ lang } `
118
+ const ext = lang2extension ( lang )
119
+ const fileName = `routes.${ ext } `
108
120
console . log ( 'Generate' , fileName ) ;
109
121
const resultFile = path . join ( destDir , fileName ) ;
110
122
@@ -139,7 +151,7 @@ const createEndpoints = async (destDir, lang, config) => {
139
151
const parser = new Parser ( ) ;
140
152
141
153
const resultedCode = await ejs . renderFile (
142
- `${ __dirname } /templates/routes.${ lang } .ejs` ,
154
+ `${ __dirname } /templates/routes.${ ext } .ejs` ,
143
155
{
144
156
"endpoints" : config ,
145
157
0 commit comments