cuz
Version:
Front-end modular development kit.
42 lines (25 loc) • 1.31 kB
JavaScript
var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default'];
exports.__esModule = true;
exports['default'] = configureStore;
var _redux = require('redux');
var _reduxDevtools = require('redux-devtools');
var _reduxThunk = require('redux-thunk');
var _reduxThunk2 = _interopRequireDefault(_reduxThunk);
var _reduxLogger = require('redux-logger');
var _reduxLogger2 = _interopRequireDefault(_reduxLogger);
// import diffMiddleware from 'redux-diff-logger';
var _reduxRequest = require('redux-request');
var _reduxRequest2 = _interopRequireDefault(_reduxRequest);
function configureStore(reducers, _ref) {
var apiRoot = _ref.apiRoot;
var finalCreateStore = undefined;
var request = _reduxRequest2['default'](apiRoot);
if (process.env.NODE_ENV === 'development') {
finalCreateStore = _redux.compose(_redux.applyMiddleware(_reduxThunk2['default'], request, /* diffMiddleware, */_reduxLogger2['default']), _reduxDevtools.devTools(), _reduxDevtools.persistState(window.location.href.match(/[?&]debug=([^&]+)\b/)))(_redux.createStore);
} else {
finalCreateStore = _redux.compose(_redux.applyMiddleware(_reduxThunk2['default'], request))(_redux.createStore);
}
return finalCreateStore(reducers);
}
module.exports = exports['default'];
;