Files
NativeScript/nativescript-core/ui/builder/module-name-sanitizer.ts
Nathan Walker 6336eac4b5 chore: cleanup
2020-07-11 11:03:37 -07:00

20 lines
650 B
TypeScript

export function sanitizeModuleName(moduleName: string, removeExtension: boolean = true): string {
moduleName = moduleName.trim();
if (moduleName.startsWith('~/')) {
moduleName = moduleName.substring(2);
} else if (moduleName.startsWith('~')) {
moduleName = moduleName.substring(1);
} else if (moduleName.startsWith('/')) {
moduleName = moduleName.substring(1);
}
if (removeExtension) {
const extToRemove = ['js', 'ts', 'xml', 'html', 'css', 'scss'];
const extensionRegEx = new RegExp(`(.*)\\.(?:${extToRemove.join('|')})`, 'i');
moduleName = moduleName.replace(extensionRegEx, '$1');
}
return moduleName;
}