DigitalConsumer.FixMyGlass/src/router/methods/helpers/create-route.js
2025-05-07 11:44:55 -04:00

39 lines
1.2 KiB
JavaScript

import { lazyLoadComponent } from "@/router/methods/helpers/lazy-load-component";
import { routeData } from "@/router/constants/routes";
export function createRoute(routeDatum, beforeEnter = async (to, from) => undefined) {
return {
name: routeDatum.name,
path: routeDatum.path,
component: lazyLoadComponent(routeDatum.name),
beforeEnter: async (to, from) => {
try {
return await beforeEnter(to, from);
} catch {
return {
name: routeData.BAILOUT.name,
replace: true,
};
}
},
};
}
export function createVirtualRoute(routeDatum, beforeEnter = async (to, from) => undefined) {
return {
name: routeDatum.name,
path: routeDatum.path,
beforeEnter: async (to, from) => {
try {
return await beforeEnter(to, from);
} catch (error) {
console.log(error);
return {
name: routeData.BAILOUT.name,
replace: true,
};
}
},
virtual: true,
};
}