Files
freeCodeCamp/packages/learn/src/redux/store.js

31 lines
841 B
JavaScript
Raw Normal View History

2018-04-06 14:51:52 +01:00
import {
createStore as reduxCreateStore,
combineReducers,
applyMiddleware
} from 'redux';
import { combineEpics, createEpicMiddleware } from 'redux-observable';
import { routerReducer as router, routerMiddleware } from 'react-router-redux';
import { reducer as challenge, epics } from '../templates/Challenges/redux';
import { reducer as map } from '../components/Map/redux';
const rootReducer = combineReducers({
challenge,
map,
router
});
const rootEpic = combineEpics(...epics);
const epicMiddleware = createEpicMiddleware(rootEpic, {
dependencies: {
window: typeof window !== 'undefined' ? window : {},
document: typeof window !== 'undefined' ? document : {}
}
});
export const createStore = history =>
reduxCreateStore(
rootReducer,
applyMiddleware(epicMiddleware, routerMiddleware(history))
);