docs/assets/app.js
function applyMiddleware() {
  for (var _len = arguments.length, middlewares = Array(_len), _key = 0; _key < _len; _key++) {
    middlewares[_key] = arguments[_key];
  }

  return function (createStore) {
    return function (reducer, preloadedState, enhancer) {
      var store = createStore(reducer, preloadedState, enhancer);
      var _dispatch = store.dispatch;
      var chain = [];

      var middlewareAPI = {
        getState: store.getState,
        dispatch: function dispatch(action) {
          return _dispatch(action);
        }
      };
      chain = middlewares.map(function (middleware) {
        return middleware(middlewareAPI);
      });
      _dispatch = _compose2.default.apply(undefined, chain)(store.dispatch);

      return _extends({}, store, {
        dispatch: _dispatch
      });
    };
  };
}
function applyMiddleware() {
  for (var _len = arguments.length, middlewares = Array(_len), _key = 0; _key < _len; _key++) {
    middlewares[_key] = arguments[_key];
  }

  return function (createStore) {
    return function (reducer, preloadedState, enhancer) {
      var store = createStore(reducer, preloadedState, enhancer);
      var _dispatch = store.dispatch;
      var chain = [];

      var middlewareAPI = {
        getState: store.getState,
        dispatch: function dispatch(action) {
          return _dispatch(action);
        }
      };
      chain = middlewares.map(function (middleware) {
        return middleware(middlewareAPI);
      });
      _dispatch = _compose2.default.apply(undefined, chain)(store.dispatch);

      return _extends({}, store, {
        dispatch: _dispatch
      });
    };
  };
}
function applyMiddleware ( ) { for ( var _len = arguments . length , middlewares = Array ( _len ) , _key = 0 ; _key < _len ; _key ++ ) { middlewares [ _key ] = arguments [ _key ] ; } return function ( createStore ) { return function ( reducer , preloadedState , enhancer ) { var store = createStore ( reducer , preloadedState , enhancer ) ; var _dispatch = store . dispatch ; var chain = [ ] ; var middlewareAPI = { getState : store . getState , dispatch : function dispatch ( action ) { return _dispatch ( action ) ; } } ; chain = middlewares . map ( function ( middleware ) { return middleware ( middlewareAPI ) ; } ) ; _dispatch = _compose2 . default . apply ( undefined , chain ) ( store . dispatch ) ; return _extends ( { } , store , { dispatch : _dispatch } ) ; } ; } ; }
Creates a store enhancer that applies middleware to the dispatch method
of the Redux store. This is handy for a variety of tasks, such as expressing
asynchronous actions in a concise manner, or logging every action payload.

See `redux-thunk` package as an example of the Redux middleware.

Because middleware is potentially asynchronous, this should be the first
store enhancer in the composition chain.

Note that each middleware will be given the `dispatch` and `getState` functions
as named arguments.

@param {...Function} middlewares The middleware chain to be applied.
@returns {Function} A store enhancer applying the middleware.
Creates a store enhancer that applies middleware to the dispatch method of the Redux store . This is handy for a variety of tasks such as expressing asynchronous actions in a concise manner or logging every action payload .