2025-04-19 15:38:48 +08:00

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