lib/store/combineStores.js
function _loop(i, storesLen) {
    var store = stores[i];

    var getState = store.getState,
        name = store.anew.name,
        _store$dispatch = store.dispatch,
        reducers = _store$dispatch.reducers,
        effects = _store$dispatch.effects,
        actions = _store$dispatch.actions,
        _store$dispatch$batch = _store$dispatch.batch,
        done = _store$dispatch$batch.done,
        batches = _objectWithoutProperties(_store$dispatch$batch, ['done']);

    var getStoreState = function getStoreState() {
      return reduxStore.getState()[name];
    };

    /**
     * Merge into combined store
     */
    reduxStore.dispatch.reducers[name] = reducers;
    reduxStore.dispatch.effects[name] = effects;
    reduxStore.dispatch.actions[name] = actions;
    reduxStore.dispatch.batch[name] = batches;
    reduxStore.getState[name] = getStoreState;

    /**
     * Update each store references
     */
    store.subscribe = reduxStore.subscribe;
    store.anew.getBatches = function () {
      return reduxStore.anew.getBatches();
    };
    store.dispatch = function (action) {
      return reduxStore.dispatch(action);
    };
    store.getState = getStoreState;

    /**
     * Redefine replace reducer
     */
    store.replaceReducer = function replaceReducer(nextReducer) {
      if (typeof nextReducer !== 'function') {
        throw new Error('Expected the nextReducer to be a function.');
      }

      anewStore.reducers[name] = nextReducer;
      reduxReducer = (0, _combineReducers2.default)(anewStore.reducers);

      reduxStore.dispatch({ type: '@@anew:RESET' });
    };

    /**
     * Reassign reducers, effects, and batch to maintain dispatch
     * object's shape per store.
     */
    store.dispatch.persistor = reduxStore.persistor;
    store.dispatch.reducers = reducers;
    store.dispatch.effects = effects;
    store.dispatch.actions = actions;
    store.dispatch.batch = batches;
    store.dispatch.batch.done = done;

    /**
     * Reassign selectors to maintian getState
     * object's shape per store
     */
    reduxStore.getState[name] = Object.assign(reduxStore.getState[name], getState);
    store.getState = Object.assign(store.getState, getState);

    /**
     * Assign Core
     */
    store.anew.core = reduxStore;
  }
function _loop(i, storesLen) {
    var store = stores[i];

    var getState = store.getState,
        name = store.anew.name,
        _store$dispatch = store.dispatch,
        reducers = _store$dispatch.reducers,
        effects = _store$dispatch.effects,
        actions = _store$dispatch.actions,
        _store$dispatch$batch = _store$dispatch.batch,
        done = _store$dispatch$batch.done,
        batches = _objectWithoutProperties(_store$dispatch$batch, ['done']);

    var getStoreState = function getStoreState() {
      return reduxStore.getState()[name];
    };

    /**
     * Merge into combined store
     */
    reduxStore.dispatch.reducers[name] = reducers;
    reduxStore.dispatch.effects[name] = effects;
    reduxStore.dispatch.actions[name] = actions;
    reduxStore.dispatch.batch[name] = batches;
    reduxStore.getState[name] = getStoreState;

    /**
     * Update each store references
     */
    store.subscribe = reduxStore.subscribe;
    store.anew.getBatches = function () {
      return reduxStore.anew.getBatches();
    };
    store.dispatch = function (action) {
      return reduxStore.dispatch(action);
    };
    store.getState = getStoreState;

    /**
     * Redefine replace reducer
     */
    store.replaceReducer = function replaceReducer(nextReducer) {
      if (typeof nextReducer !== 'function') {
        throw new Error('Expected the nextReducer to be a function.');
      }

      anewStore.reducers[name] = nextReducer;
      reduxReducer = (0, _combineReducers2.default)(anewStore.reducers);

      reduxStore.dispatch({ type: '@@anew:RESET' });
    };

    /**
     * Reassign reducers, effects, and batch to maintain dispatch
     * object's shape per store.
     */
    store.dispatch.persistor = reduxStore.persistor;
    store.dispatch.reducers = reducers;
    store.dispatch.effects = effects;
    store.dispatch.actions = actions;
    store.dispatch.batch = batches;
    store.dispatch.batch.done = done;

    /**
     * Reassign selectors to maintian getState
     * object's shape per store
     */
    reduxStore.getState[name] = Object.assign(reduxStore.getState[name], getState);
    store.getState = Object.assign(store.getState, getState);

    /**
     * Assign Core
     */
    store.anew.core = reduxStore;
  }
function _loop ( i , storesLen ) { var store = stores [ i ] ; var getState = store . getState , name = store . anew . name , _store$dispatch = store . dispatch , reducers = _store$dispatch . reducers , effects = _store$dispatch . effects , actions = _store$dispatch . actions , _store$dispatch$batch = _store$dispatch . batch , done = _store$dispatch$batch . done , batches = _objectWithoutProperties ( _store$dispatch$batch , [ 'done' ] ) ; var getStoreState = function getStoreState ( ) { return reduxStore . getState ( ) [ name ] ; } ; /**
     * Merge into combined store
     */ reduxStore . dispatch . reducers [ name ] = reducers ; reduxStore . dispatch . effects [ name ] = effects ; reduxStore . dispatch . actions [ name ] = actions ; reduxStore . dispatch . batch [ name ] = batches ; reduxStore . getState [ name ] = getStoreState ; /**
     * Update each store references
     */ store . subscribe = reduxStore . subscribe ; store . anew . getBatches = function ( ) { return reduxStore . anew . getBatches ( ) ; } ; store . dispatch = function ( action ) { return reduxStore . dispatch ( action ) ; } ; store . getState = getStoreState ; /**
     * Redefine replace reducer
     */ store . replaceReducer = function replaceReducer ( nextReducer ) { if ( typeof nextReducer !== 'function' ) { throw new Error ( 'Expected the nextReducer to be a function.' ) ; } anewStore . reducers [ name ] = nextReducer ; reduxReducer = ( 0 , _combineReducers2 . default ) ( anewStore . reducers ) ; reduxStore . dispatch ( { type : '@@anew:RESET' } ) ; } ; /**
     * Reassign reducers, effects, and batch to maintain dispatch
     * object's shape per store.
     */ store . dispatch . persistor = reduxStore . persistor ; store . dispatch . reducers = reducers ; store . dispatch . effects = effects ; store . dispatch . actions = actions ; store . dispatch . batch = batches ; store . dispatch . batch . done = done ; /**
     * Reassign selectors to maintian getState
     * object's shape per store
     */ reduxStore . getState [ name ] = Object . assign ( reduxStore . getState [ name ] , getState ) ; store . getState = Object . assign ( store . getState , getState ) ; /**
     * Assign Core
     */ store . anew . core = reduxStore ; }
Populate dispatch reducers and effects
and update redux dispatch reference
Populate dispatch reducers and effects and update redux dispatch reference