'use strict'; function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } var reactRouter = require('react-router'); var React = _interopDefault(require('react')); function matchRoutes(routes, pathname, /*not public API*/ branch) { if (branch === void 0) { branch = []; } routes.some(function (route) { var match = route.path ? reactRouter.matchPath(pathname, route) : branch.length ? branch[branch.length - 1].match // use parent match : reactRouter.Router.computeRootMatch(pathname); // use default "root" match if (match) { branch.push({ route: route, match: match }); if (route.routes) { matchRoutes(route.routes, pathname, branch); } } return match; }); return branch; } 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); } function renderRoutes(routes, extraProps, switchProps) { if (extraProps === void 0) { extraProps = {}; } if (switchProps === void 0) { switchProps = {}; } return routes ? React.createElement(reactRouter.Switch, switchProps, routes.map(function (route, i) { return React.createElement(reactRouter.Route, { key: route.key || i, path: route.path, exact: route.exact, strict: route.strict, render: function render(props) { return route.render ? route.render(_extends({}, props, {}, extraProps, { route: route })) : React.createElement(route.component, _extends({}, props, extraProps, { route: route })); } }); })) : null; } exports.matchRoutes = matchRoutes; exports.renderRoutes = renderRoutes; //# sourceMappingURL=react-router-config.js.map