12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- "use strict";
- exports.__esModule = true;
- exports.route = route;
- exports.functionalRoute = functionalRoute;
- exports.routeProps = void 0;
- /**
- * Vue Router support
- */
- function isRedundantNavigation(err) {
- return err.name === 'NavigationDuplicated' || // compatible with vue-router@3.3
- err.message && err.message.indexOf('redundant navigation') !== -1;
- }
- function route(router, config) {
- var to = config.to,
- url = config.url,
- replace = config.replace;
- if (to && router) {
- var promise = router[replace ? 'replace' : 'push'](to);
- /* istanbul ignore else */
- if (promise && promise.catch) {
- promise.catch(function (err) {
- if (err && !isRedundantNavigation(err)) {
- throw err;
- }
- });
- }
- } else if (url) {
- replace ? location.replace(url) : location.href = url;
- }
- }
- function functionalRoute(context) {
- route(context.parent && context.parent.$router, context.props);
- }
- var routeProps = {
- url: String,
- replace: Boolean,
- to: [String, Object]
- };
- exports.routeProps = routeProps;
|