UNPKG

@bfehub/vuepress-theme-vmi

Version:

Vmi theme of VuePress

25 lines (24 loc) 811 B
import { isFunction, isString } from '@vuepress/shared'; import { useRouter } from 'vue-router'; /** * Resolve a route with redirection */ export const useResolveRouteWithRedirect = (...args) => { const router = useRouter(); const route = router.resolve(...args); const lastMatched = route.matched[route.matched.length - 1]; if (!lastMatched?.redirect) { return route; } const { redirect } = lastMatched; const resolvedRedirect = isFunction(redirect) ? redirect(route) : redirect; const resolvedRedirectObj = isString(resolvedRedirect) ? { path: resolvedRedirect } : resolvedRedirect; return useResolveRouteWithRedirect({ hash: route.hash, query: route.query, params: route.params, ...resolvedRedirectObj, }); };