Files
NativeScript/nativescript-core/ui/builder/module-name-sanitizer.ts
Nathan Walker da3c0b973d chore: format
2020-07-11 11:01:40 -07:00

26 lines
644 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;
}