UNPKG

tinper-mirrorx

Version:
85 lines (58 loc) 2.15 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = Router; exports.getHistory = getHistory; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _propTypes = require('prop-types'); var _propTypes2 = _interopRequireDefault(_propTypes); var _createBrowserHistory = require('history/createBrowserHistory'); var _createBrowserHistory2 = _interopRequireDefault(_createBrowserHistory); var _createHashHistory = require('history/createHashHistory'); var _createHashHistory2 = _interopRequireDefault(_createHashHistory); var _createMemoryHistory = require('history/createMemoryHistory'); var _createMemoryHistory2 = _interopRequireDefault(_createMemoryHistory); var _reactRouterRedux = require('react-router-redux'); var _defaults = require('./defaults'); var _middleware = require('./middleware'); var _actions = require('./actions'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var history = void 0; function Router(_ref) { var _ref$history = _ref.history, history = _ref$history === undefined ? getHistory() : _ref$history, children = _ref.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; }, {}); return _react2.default.createElement( _reactRouterRedux.ConnectedRouter, { history: history }, children ); } Router.propTypes = { children: _propTypes2.default.element.isRequired, history: _propTypes2.default.object }; function getHistory() { if (history) { return history; } var historyMode = _defaults.options.historyMode; if (historyMode === 'browser') { history = (0, _createBrowserHistory2.default)(); } if (historyMode === 'hash') { history = (0, _createHashHistory2.default)(); } if (historyMode === 'memory') { history = (0, _createMemoryHistory2.default)(); } return history; }