UNPKG

zmp-react

Version:

Build full featured iOS & Android apps using ZMP & React

39 lines (33 loc) 1.36 kB
import _extends from "@babel/runtime/helpers/extends"; import { getComponentId } from './utils'; export 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: getComponentId(), isAsync: !!initialRoute.route.asyncComponent, props: _extends({ zmproute: initialRoute, zmprouter: router }, routeProps, initialRoute.params) }; } return { initialPage: initialComponentData, initialRoute: initialRoute }; };