forked from EnterpriseDB/docs
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcreateIconNames.js
More file actions
29 lines (25 loc) · 972 Bytes
/
createIconNames.js
File metadata and controls
29 lines (25 loc) · 972 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
const { writeFileSync } = require('fs');
const defaultIcons = require('@enterprisedb/icons');
const logosIcons = require('@enterprisedb/icons/logos');
const colorIcons = require('@enterprisedb/icons/color');
const camelToUnderscore = (str) => {
const result = str.replace(/([A-Z])/g, ' $1').substring(1);
return result.split(' ').join('_').toUpperCase();
};
const icons = Object.keys(defaultIcons);
const logos = Object.keys(logosIcons);
const color = Object.keys(colorIcons);
const IconNamesContent = [
'const iconNames = {',
icons.map((icon) => ` ${camelToUnderscore(icon)}: '${icon}',`).join('\n'),
logos
.map((icon) => ` ${camelToUnderscore(icon)}: 'logos/${icon}',`)
.join('\n'),
color
.map((icon) => ` ${camelToUnderscore(icon)}: 'color/${icon}',`)
.join('\n'),
'};',
'export default iconNames;\n',
].join('\n');
writeFileSync(`src/components/icon/iconNames.js`, IconNamesContent);
console.log("Icon Names file created! ✅");