forked from enviPath/enviPy
Current Dev State
This commit is contained in:
37
static/js/ketcher2/node_modules/redux/src/applyMiddleware.js
generated
vendored
Normal file
37
static/js/ketcher2/node_modules/redux/src/applyMiddleware.js
generated
vendored
Normal file
@ -0,0 +1,37 @@
|
||||
import compose from './compose'
|
||||
|
||||
/**
|
||||
* 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.
|
||||
*/
|
||||
export default function applyMiddleware(...middlewares) {
|
||||
return (createStore) => (reducer, preloadedState, enhancer) => {
|
||||
var store = createStore(reducer, preloadedState, enhancer)
|
||||
var dispatch = store.dispatch
|
||||
var chain = []
|
||||
|
||||
var middlewareAPI = {
|
||||
getState: store.getState,
|
||||
dispatch: (action) => dispatch(action)
|
||||
}
|
||||
chain = middlewares.map(middleware => middleware(middlewareAPI))
|
||||
dispatch = compose(...chain)(store.dispatch)
|
||||
|
||||
return {
|
||||
...store,
|
||||
dispatch
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user