redux-modules-middleware
Version:
A collection of common redux-module action middleware.
65 lines (48 loc) • 2.44 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.swapTypes = exports.log = exports.decoratePayload = exports.decorateMeta = exports.propCheck = undefined;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _propCheck2 = require('./propCheck');
var _propCheck3 = _interopRequireDefault(_propCheck2);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
exports.propCheck = _propCheck3.default;
var decorateMeta = exports.decorateMeta = function decorateMeta(func) {
return function (_ref) {
var meta = _ref.meta,
action = _objectWithoutProperties(_ref, ['meta']);
return _extends({ meta: func(meta) }, action);
};
};
var decoratePayload = exports.decoratePayload = function decoratePayload(func) {
return function (_ref2) {
var payload = _ref2.payload,
action = _objectWithoutProperties(_ref2, ['payload']);
return _extends({ payload: func(payload) }, action);
};
};
var defaultFormatter = function defaultFormatter(_ref3) {
var type = _ref3.type,
action = _objectWithoutProperties(_ref3, ['type']);
return [type, '|', 'payload:', action.payload, 'meta:', action.meta, 'errors:', action.errors];
};
var log = exports.log = function log() {
var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var _params$formatter = params.formatter,
formatter = _params$formatter === undefined ? defaultFormatter : _params$formatter,
_params$logFunction = params.logFunction,
logFunction = _params$logFunction === undefined ? console.log : _params$logFunction;
return function (action) {
logFunction.apply(null, formatter(action));
return action;
};
};
var swapTypes = exports.swapTypes = function swapTypes(typesToSwap) {
return function (_ref4) {
var type = _ref4.type,
action = _objectWithoutProperties(_ref4, ['type']);
return _extends({ type: typesToSwap[type] || type }, action);
};
};