UNPKG

@vuepress-reco/style-default

Version:
29 lines (28 loc) 1.08 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useResolveRouteWithRedirect = void 0; const vue_router_1 = require("vue-router"); const shared_1 = require("@vuepress/shared"); /** * Resolve a route with redirection */ const useResolveRouteWithRedirect = (...args) => { const router = vue_router_1.useRouter(); const route = router.resolve(...args); const lastMatched = route.matched[route.matched.length - 1]; if (!(lastMatched === null || lastMatched === void 0 ? void 0 : lastMatched.redirect)) { return route; } const { redirect } = lastMatched; const resolvedRedirect = shared_1.isFunction(redirect) ? redirect(route) : redirect; const resolvedRedirectObj = shared_1.isString(resolvedRedirect) ? { path: resolvedRedirect } : resolvedRedirect; return exports.useResolveRouteWithRedirect({ hash: route.hash, query: route.query, params: route.params, ...resolvedRedirectObj, }); }; exports.useResolveRouteWithRedirect = useResolveRouteWithRedirect;