function unliftStore(liftedStore, liftReducer, options) {
  var _extends3;

  var lastDefinedState = void 0;
  var trace = options.trace || options.shouldIncludeCallstack;
  var traceLimit = options.traceLimit || 10;

  function getState() {
    var state = unliftState(liftedStore.getState());

    if (state !== undefined) {
      lastDefinedState = state;
    }

    return lastDefinedState;
  }

  function dispatch(action) {
    liftedStore.dispatch(liftAction(action, trace, traceLimit, dispatch));
    return action;
  }

  return _extends({}, liftedStore, (_extends3 = {
    liftedStore: liftedStore,
    dispatch: dispatch,
    getState: getState,
    replaceReducer: function replaceReducer(nextReducer) {
      liftedStore.replaceReducer(liftReducer(nextReducer));
    }
  }, _extends3[_symbolObservable2.default] = function () {
    return _extends({}, liftedStore[_symbolObservable2.default](), {
      subscribe: function subscribe(observer) {
        if ((typeof observer === 'undefined' ? 'undefined' : _typeof(observer)) !== 'object') {
          throw new TypeError('Expected the observer to be an object.');
        }

        function observeState() {
          if (observer.next) {
            observer.next(getState());
          }
        }

        observeState();
        var unsubscribe = liftedStore.subscribe(observeState);
        return {
          unsubscribe: unsubscribe
        };
      }
    });
  }, _extends3));
}
/**
 * Provides an app's view into the lifted store.
 */
Provides an app's view into the lifted store.
Provides an app ' s view into the lifted store .
function unliftStore(liftedStore, liftReducer, options) {
  var _extends3;
  var lastDefinedState = void 0;
  var trace = options.trace || options.shouldIncludeCallstack;
  var traceLimit = options.traceLimit || 10;
  function getState() {
    var state = unliftState(liftedStore.getState());
    if (state !== undefined) {
      lastDefinedState = state;
    }
    return lastDefinedState;
  }
  function dispatch(action) {
    liftedStore.dispatch(liftAction(action, trace, traceLimit, dispatch));
    return action;
  }
  return _extends({}, liftedStore, (_extends3 = {
    liftedStore: liftedStore,
    dispatch: dispatch,
    getState: getState,
    replaceReducer: function replaceReducer(nextReducer) {
      liftedStore.replaceReducer(liftReducer(nextReducer));
    }
  }, _extends3[_symbolObservable2.default] = function () {
    return _extends({}, liftedStore[_symbolObservable2.default](), {
      subscribe: function subscribe(observer) {
        if ((typeof observer === 'undefined' ? 'undefined' : _typeof(observer)) !== 'object') {
          throw new TypeError('Expected the observer to be an object.');
        }
        function observeState() {
          if (observer.next) {
            observer.next(getState());
          }
        }
        observeState();
        var unsubscribe = liftedStore.subscribe(observeState);
        return {
          unsubscribe: unsubscribe
        };
      }
    });
  }, _extends3));
}
function unliftStore ( liftedStore , liftReducer , options ) { var _extends3 ; var lastDefinedState = void 0 ; var trace = options . trace || options . shouldIncludeCallstack ; var traceLimit = options . traceLimit || 10 ; function getState ( ) { var state = unliftState ( liftedStore . getState ( ) ) ; if ( state !== undefined ) { lastDefinedState = state ; } return lastDefinedState ; } function dispatch ( action ) { liftedStore . dispatch ( liftAction ( action , trace , traceLimit , dispatch ) ) ; return action ; } return _extends ( { } , liftedStore , ( _extends3 = { liftedStore : liftedStore , dispatch : dispatch , getState : getState , replaceReducer : function replaceReducer ( nextReducer ) { liftedStore . replaceReducer ( liftReducer ( nextReducer ) ) ; } } , _extends3 [ _symbolObservable2 . default ] = function ( ) { return _extends ( { } , liftedStore [ _symbolObservable2 . default ] ( ) , { subscribe : function subscribe ( observer ) { if ( ( typeof observer === 'undefined' ? 'undefined' : _typeof ( observer ) ) !== 'object' ) { throw new TypeError ( 'Expected the observer to be an object.' ) ; } function observeState ( ) { if ( observer . next ) { observer . next ( getState ( ) ) ; } } observeState ( ) ; var unsubscribe = liftedStore . subscribe ( observeState ) ; return { unsubscribe : unsubscribe } ; } } ) ; } , _extends3 ) ) ; }
Provides an app's view into the lifted store.
Provides an app ' s view into the lifted store .