fb-test-module
Version:
How to use: ``` import {store, getStore} from 'fb-test-module'; conf.DialogramApi = "API_BASE_URL"; conf.Platform = "mobile"; //use "web" if you are on webApp getStore(); //Inject store in your provider ``` and you'r readyt to go. # Base ## Act
41 lines (40 loc) • 1.81 kB
JavaScript
//https://github.com/nearform/react-redux-typescript-saga-immutable/blob/master/src/store.ts
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const redux_1 = require("redux");
const redux_persist_1 = require("redux-persist");
const storage_1 = __importDefault(require("redux-persist/lib/storage"));
const redux_persist_transform_immutable_1 = __importDefault(require("redux-persist-transform-immutable"));
const redux_saga_1 = __importDefault(require("redux-saga"));
const saga_1 = require("./saga");
const Reducer_1 = require("./Session/Reducer");
const Reducer_2 = require("./Videos/Reducer");
const Reducer_3 = require("./User/Reducer");
function nativeStore() {
const sagaMiddleware = redux_saga_1.default();
const reducer = redux_1.combineReducers({
session: Reducer_1.sessionReducer,
videos: Reducer_2.videoReducer,
user: Reducer_3.userReducer,
});
const persistConfig = {
key: 'root',
storage: storage_1.default,
transforms: [redux_persist_transform_immutable_1.default()],
whitelist: [
'session',
'user'
],
};
const persistedReducer = redux_persist_1.persistReducer(persistConfig, reducer);
const middlewares = [sagaMiddleware];
const composeEnhancers = window['__REDUX_DEVTOOLS_EXTENSION_COMPOSE__'] || redux_1.compose;
const nativeStore = redux_1.createStore(persistedReducer, composeEnhancers(redux_1.applyMiddleware(...middlewares)));
sagaMiddleware.run(saga_1.rootSaga);
console.log("native");
return nativeStore;
}
exports.nativeStore = nativeStore;
;