mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-05-12 17:04:57 +00:00
* remove unused scripts * remove unused scripts * remove unused scripts * remove unused libs * remove unused code * remove unused code and libs, fix linting issues * code cleanup * linting fixes * linting fixes
56 lines
1.6 KiB
JavaScript
56 lines
1.6 KiB
JavaScript
module.exports = {
|
|
ngNameToDisplayName: ngNameToDisplayName,
|
|
ngNameToClassName: ngNameToClassName,
|
|
dekebabifyName: dekebabifyName,
|
|
kebabifyClassName: kebabifyClassName,
|
|
classTypes: ['component', 'dialog', 'directive', 'model', 'pipe', 'service', 'widget']
|
|
};
|
|
|
|
function ngNameToDisplayName(ngName) {
|
|
const mainSections = ngName.split('.');
|
|
mainSections[0] = dekebabifyName(mainSections[0]);
|
|
return mainSections.join(' ');
|
|
}
|
|
|
|
function initialCap(str) {
|
|
return str[0].toUpperCase() + str.substr(1);
|
|
}
|
|
|
|
function ngNameToClassName(rawName, nameExceptions) {
|
|
if (nameExceptions[rawName]) return nameExceptions[rawName];
|
|
|
|
const name = rawName.replace(/\]|\(|\)/g, '');
|
|
|
|
const fileNameSections = name.split('.');
|
|
const compNameSections = fileNameSections[0].split('-');
|
|
|
|
let outCompName = '';
|
|
|
|
for (let i = 0; i < compNameSections.length; i++) {
|
|
outCompName = outCompName + initialCap(compNameSections[i]);
|
|
}
|
|
|
|
let itemTypeIndicator = '';
|
|
|
|
if (fileNameSections.length > 1) {
|
|
itemTypeIndicator = initialCap(fileNameSections[1]);
|
|
}
|
|
|
|
return outCompName + itemTypeIndicator;
|
|
}
|
|
|
|
function dekebabifyName(name) {
|
|
let result = name.replace(/-/g, ' ');
|
|
result = result.substr(0, 1).toUpperCase() + result.substr(1);
|
|
return result;
|
|
}
|
|
|
|
function kebabifyClassName(name) {
|
|
let result = name.replace(/(Component|Directive|Interface|Model|Pipe|Service|Widget)$/, (match) => {
|
|
return '.' + match.toLowerCase();
|
|
});
|
|
|
|
result = result.replace(/([A-Z])/g, '-$1');
|
|
return result.substr(1).toLowerCase();
|
|
}
|