@wordpress/edit-post
Version:
Edit Post module for WordPress.
44 lines (38 loc) • 1.18 kB
JavaScript
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
/**
* External dependencies
*/
import { flowRight } from 'lodash';
import refx from 'refx';
/**
* Internal dependencies
*/
import effects from './effects';
/**
* Applies the custom middlewares used specifically in the editor module.
*
* @param {Object} store Store Object.
*
* @return {Object} Update Store Object.
*/
function applyMiddlewares(store) {
var middlewares = [refx(effects)];
var enhancedDispatch = function enhancedDispatch() {
throw new Error('Dispatching while constructing your middleware is not allowed. ' + 'Other middleware would not be applied to this dispatch.');
};
var chain = [];
var middlewareAPI = {
getState: store.getState,
dispatch: function dispatch() {
return enhancedDispatch.apply(void 0, arguments);
}
};
chain = middlewares.map(function (middleware) {
return middleware(middlewareAPI);
});
enhancedDispatch = flowRight.apply(void 0, _toConsumableArray(chain))(store.dispatch);
store.dispatch = enhancedDispatch;
return store;
}
export default applyMiddlewares;
//# sourceMappingURL=middlewares.js.map