Skip to content

Commit 0d931a0

Browse files
committed
refactor: introduce a method for converting language name to a file extension
1 parent 8461f96 commit 0d931a0

File tree

1 file changed

+16
-4
lines changed

1 file changed

+16
-4
lines changed

src/cli.js

+16-4
Original file line numberDiff line numberDiff line change
@@ -68,12 +68,23 @@ const loadConfig = (endpointsFile) => {
6868
}
6969
};
7070

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+
7181
const createApp = async (destDir, lang) => {
72-
const fileName = `app.${lang}`
82+
const ext = lang2extension(lang)
83+
const fileName = `app.${ext}`
7384
console.log('Generate', fileName);
7485
const resultFile = path.join(destDir, fileName);
7586

76-
fs.copyFileSync(`${__dirname}/templates/app.${lang}`, resultFile)
87+
fs.copyFileSync(`${__dirname}/templates/app.${ext}`, resultFile)
7788
};
7889

7990
// "SELECT *\n FROM foo" => "SELECT * FROM foo"
@@ -104,7 +115,8 @@ const lengthOfLongestString = (arr) => arr
104115
);
105116

106117
const createEndpoints = async (destDir, lang, config) => {
107-
const fileName = `routes.${lang}`
118+
const ext = lang2extension(lang)
119+
const fileName = `routes.${ext}`
108120
console.log('Generate', fileName);
109121
const resultFile = path.join(destDir, fileName);
110122

@@ -139,7 +151,7 @@ const createEndpoints = async (destDir, lang, config) => {
139151
const parser = new Parser();
140152

141153
const resultedCode = await ejs.renderFile(
142-
`${__dirname}/templates/routes.${lang}.ejs`,
154+
`${__dirname}/templates/routes.${ext}.ejs`,
143155
{
144156
"endpoints": config,
145157

0 commit comments

Comments
 (0)