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

31 lines (24 loc) 853 B
'use strict'; exports.__esModule = true; exports.resultHandler = undefined; var _curry = require('ramda/src/curry'); var _curry2 = _interopRequireDefault(_curry); var _is = require('../util/is'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var resultHandler = exports.resultHandler = (0, _curry2.default)(function (dispatch, action, result) { if ((0, _is.isAction)(result) && action.type !== result.type) { dispatch(result); } }); exports.default = (0, _curry2.default)(function (logger, effects, dispatch, action) { var handleResult = resultHandler(dispatch, action); effects.forEach(function (effect) { var result = effect(action); if ((0, _is.isPromise)(result)) { result.then(handleResult); } else { handleResult(result); } }); return action; });