node_modules/@analytics/core/lib/analytics.es.js
/**
 * 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.

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 . 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 .
function applyMiddleware() {
  for (var _len = arguments.length, middlewares = new 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 = compose.apply(void 0, toConsumableArray(chain))(store.dispatch);
      return objectSpread2(objectSpread2({}, store), {}, {
        dispatch: _dispatch
      });
    };
  };
}
function applyMiddleware ( ) { for ( var _len = arguments . length , middlewares = new 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 = compose . apply ( void 0 , toConsumableArray ( chain ) ) ( store . dispatch ) ; return objectSpread2 ( objectSpread2 ( { } , store ) , { } , { dispatch : _dispatch } ) ; } ; } ; }
Creates a store enhancer that applies middleware to the dispatch method
 of the Redux store.
Creates a store enhancer that applies middleware to the dispatch method of the Redux store .