UNPKG

zmp-vue

Version:

Build full featured iOS & Android apps using ZMP & Vue

48 lines (37 loc) 1.77 kB
"use strict"; exports.__esModule = true; exports.getRouterInitialComponent = void 0; var _utils = require("./utils"); function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } var getRouterInitialComponent = function getRouterInitialComponent(router, initialComponent) { var initialComponentData; var _router$getInitialUrl = router.getInitialUrl(), initialUrl = _router$getInitialUrl.initialUrl; var initialRoute = router.findMatchingRoute(initialUrl); var routeProps = {}; if (initialRoute && initialRoute.route && initialRoute.route.options) { routeProps = initialRoute.route.options.props; } var isMasterRoute = function isMasterRoute(route) { if (route.master === true) return true; if (typeof route.master === 'function') return route.master(router.app); return false; }; if (initialRoute && initialRoute.route && (initialRoute.route.component || initialRoute.route.asyncComponent) && !isMasterRoute(initialRoute.route)) { initialComponentData = { component: initialRoute.route.component || initialRoute.route.asyncComponent, initialComponent: initialComponent, id: (0, _utils.getComponentId)(), isAsync: !!initialRoute.route.asyncComponent, props: _extends({ zmproute: initialRoute, zmprouter: router }, routeProps, initialRoute.params) }; } return { initialPage: initialComponentData, initialRoute: initialRoute }; }; exports.getRouterInitialComponent = getRouterInitialComponent;