UNPKG

redux-devshare

Version:

[![NPM version][npm-image]][npm-url] [![NPM downloads][npm-downloads-image]][npm-url] [![Build Status][travis-image]][travis-url] [![Dependency Status][daviddm-image]][daviddm-url] [![Code Climate][climate-image]][climate-url] [![Code Coverage][coverage-i

28 lines (27 loc) 696 B
/** * @description Wrap method call in dispatched actions * @param {Function} dispatch - Action dispatch function * @param {Object} opts - Options object * @param {Function} opts.method - Method to call * @param {Array} opts.args - Arguments to call method with * @param {Array} opts.types - Action types array ([BEFORE, SUCCESS, FAILURE]) * @private */ export const wrapInDispatch = (dispatch, { method, args, types }) => { dispatch({ type: types[0] }) return method(...args) .then((val) => { dispatch({ type: types[1], payload: val }) }) .catch((err) => { dispatch({ type: types[2], payload: err }) }) }