import { combineReducers, createStore } from "redux" export class StoreWrapper { constructor() { this._store = null this._reducers = {} this._initialState = {} } addReducer(name, reducer, initialState) { this._reducers[name] = reducer this._initialState[name] = initialState } init() { this._store = createStore( combineReducers(this._reducers), this._initialState ) } getStore() { return this._store } // Store API getState() { return this._store.getState() } dispatch(action) { return this._store.dispatch(action) } } export default new StoreWrapper()