34 lines
975 B
JavaScript
34 lines
975 B
JavaScript
export function isValidRoute(route) {
|
|
if (route.includes("*")) {
|
|
return isValidWildcardRoute(route);
|
|
}
|
|
if (/\W/g.test(route)) {
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
export function isValidDefaultRoute(route) {
|
|
return route === "*";
|
|
}
|
|
export function isValidWildcardRoute(route) {
|
|
if (isValidDefaultRoute(route)) {
|
|
return true;
|
|
}
|
|
if (!route.includes("*")) {
|
|
return false;
|
|
}
|
|
if (route.split("*").length !== 2) {
|
|
return false;
|
|
}
|
|
if (route.split("*").filter(x => x.trim() === "").length !== 1) {
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
export function isValidLeadingWildcardRoute(route) {
|
|
return !isValidDefaultRoute(route) && isValidWildcardRoute(route) && !route.split("*")[0].trim();
|
|
}
|
|
export function isValidTrailingWildcardRoute(route) {
|
|
return !isValidDefaultRoute(route) && isValidWildcardRoute(route) && !route.split("*")[1].trim();
|
|
}
|
|
//# sourceMappingURL=routing.js.map
|