UNPKG

ruddy

Version:

Modularized state-management tools for modern front-end applications. Manage dispatched messages in a clean and predictable way for either small or large scale projects

22 lines (19 loc) 585 B
import _default from 'ramda/src/curry'; import { isPromise, isAction } from '../util/is'; export var resultHandler = _default(function (dispatch, action, result) { if (isAction(result) && action.type !== result.type) { dispatch(result); } }); export default _default(function (logger, effects, dispatch, action) { var handleResult = resultHandler(dispatch, action); effects.forEach(function (effect) { var result = effect(action); if (isPromise(result)) { result.then(handleResult); } else { handleResult(result); } }); return action; });