UNPKG

mirrorx

Version:

A React framework with minimal API and zero boilerplate.

66 lines (49 loc) 1.86 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = Router; exports.history = void 0; var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _history2 = require("history"); var _reactRouterRedux = require("react-router-redux"); var _defaults = require("./defaults"); var _middleware = require("./middleware"); var _actions = require("./actions"); var history = null; exports.history = history; function Router(_ref) { var _history = _ref.history, children = _ref.children, others = (0, _objectWithoutProperties2["default"])(_ref, ["history", "children"]); _actions.actions.routing = Object.keys(_reactRouterRedux.routerActions).reduce(function (memo, action) { memo[action] = function () { (0, _middleware.dispatch)(_reactRouterRedux.routerActions[action].apply(_reactRouterRedux.routerActions, arguments)); }; return memo; }, {}); if (!_history) { _history = createHistory(others); } exports.history = history = _history; return _react["default"].createElement(_reactRouterRedux.ConnectedRouter, { history: _history }, children); } Router.propTypes = { children: _propTypes["default"].element.isRequired, history: _propTypes["default"].object }; function createHistory(props) { var historyMode = _defaults.options.historyMode; var historyModes = { browser: _history2.createBrowserHistory, hash: _history2.createHashHistory, memory: _history2.createMemoryHistory }; exports.history = history = historyModes[historyMode](props); return history; }