2021-05-24 11:11:55 +00:00
|
|
|
import {AsyncStorage} from "react-native";
|
|
|
|
import {persistReducer, persistStore} from "redux-persist";
|
|
|
|
import {createStore, applyMiddleware, compose} from "redux";
|
2020-04-17 22:03:04 +00:00
|
|
|
import thunk from 'redux-thunk';
|
2021-05-24 11:11:55 +00:00
|
|
|
import {createLogger} from 'redux-logger';
|
2020-04-17 22:03:04 +00:00
|
|
|
import rootReducer from "./reducers";
|
2021-10-26 18:19:13 +00:00
|
|
|
import ApiMiddleware from "../middlewares/ApiMiddleware";
|
2020-04-17 22:03:04 +00:00
|
|
|
|
|
|
|
|
2020-04-18 19:59:05 +00:00
|
|
|
/* const persistConfig = {
|
2020-04-17 22:03:04 +00:00
|
|
|
key: 'root',
|
|
|
|
storage: AsyncStorage,
|
2020-04-18 19:59:05 +00:00
|
|
|
whitelist: ['authKeyReducer'],
|
2020-04-17 22:03:04 +00:00
|
|
|
blacklist: []
|
2020-04-18 19:59:05 +00:00
|
|
|
}; */
|
|
|
|
const middlewares = [];
|
|
|
|
middlewares.push(thunk);
|
2021-10-26 18:19:13 +00:00
|
|
|
middlewares.push(ApiMiddleware);
|
2020-04-17 22:03:04 +00:00
|
|
|
|
2020-04-18 19:59:05 +00:00
|
|
|
const loggerMiddleware = createLogger({
|
2021-05-24 11:11:55 +00:00
|
|
|
predicate: () => process.env.NODE_ENV === 'development'
|
2020-04-18 19:59:05 +00:00
|
|
|
})
|
|
|
|
middlewares.push(loggerMiddleware);
|
|
|
|
|
|
|
|
const store = createStore(rootReducer, compose(applyMiddleware(...middlewares)));
|
2020-04-17 22:03:04 +00:00
|
|
|
let persistor = persistStore(store);
|
|
|
|
|
2021-05-24 11:11:55 +00:00
|
|
|
export {store, persistor};
|