2017-02-20 18:15:36 +02:00
|
|
|
import createLogger from 'redux-logger';
|
|
|
|
import { enableBatching } from 'redux-batched-actions';
|
|
|
|
import promiseMiddleware from 'redux-promise-middleware';
|
|
|
|
import { createStore, compose, applyMiddleware } from 'redux';
|
|
|
|
import thunk from 'redux-thunk';
|
2016-10-20 04:14:26 +03:00
|
|
|
|
2017-02-20 18:15:36 +02:00
|
|
|
import createReducer from '@state/reducers';
|
2016-10-20 04:14:26 +03:00
|
|
|
|
2017-01-04 14:00:14 +02:00
|
|
|
const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;
|
|
|
|
|
2017-02-20 18:15:36 +02:00
|
|
|
export default (state = Object.freeze({})) => {
|
2016-10-20 04:14:26 +03:00
|
|
|
return createStore(
|
|
|
|
enableBatching(createReducer()),
|
|
|
|
state,
|
2017-01-04 14:00:14 +02:00
|
|
|
composeEnhancers(
|
2016-10-20 04:14:26 +03:00
|
|
|
applyMiddleware(
|
|
|
|
createLogger(),
|
|
|
|
promiseMiddleware(),
|
|
|
|
thunk
|
|
|
|
)
|
|
|
|
)
|
|
|
|
);
|
|
|
|
};
|