Skip to content

Commit ac33cf7

Browse files
committed
use reduce method to process filenames
1 parent 2c27e19 commit ac33cf7

File tree

1 file changed

+16
-13
lines changed

1 file changed

+16
-13
lines changed

src/files.js

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -47,20 +47,23 @@ function readFile(path, fileName) {
4747
* @param {string} templateFileName
4848
*/
4949
function generateFileName(newFileName, templateFileName) {
50-
let generatedFileName = templateFileName
51-
if (templateFileName.includes('COMPONENT_NAME')) {
52-
generatedFileName = templateFileName.replace(/COMPONENT_NAME/g, newFileName)
50+
const replacementKeys = {
51+
COMPONENT_NAME: newFileName,
52+
component_name: newFileName.toLowerCase(),
53+
COMPONENT_CAP_NAME: newFileName.toUpperCase(),
54+
cOMPONENT_NAME: newFileName[0].toLowerCase() + newFileName.substr(1),
5355
}
54-
if (templateFileName.includes('component_name')) {
55-
generatedFileName = templateFileName.replace(/component_name/g, newFileName.toLowerCase())
56-
}
57-
if (templateFileName.includes('COMPONENT_CAP_NAME')) {
58-
generatedFileName = templateFileName.replace(/COMPONENT_CAP_NAME/g, newFileName.toUpperCase())
59-
}
60-
if (templateFileName.includes('cOMPONENT_NAME')) {
61-
generatedFileName = templateFileName.replace(/cOMPONENT_NAME/g, newFileName[0].toLowerCase() + newFileName.substr(1))
62-
}
63-
return generatedFileName
56+
57+
return Object.keys(replacementKeys).reduce(
58+
(acc, curr) => {
59+
if (acc.includes(curr)) {
60+
const regEx = new RegExp(curr, 'g')
61+
return acc.replace(regEx, replacementKeys[curr])
62+
}
63+
return acc
64+
},
65+
templateFileName
66+
)
6467
}
6568

6669
/**

0 commit comments

Comments
 (0)