UNPKG

redux-modules

Version:

A library for defining clear, boilerplate free Redux reducers.

51 lines (35 loc) 1.57 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.createActions = undefined; var _createAction = require('./createAction'); var _createAction2 = _interopRequireDefault(_createAction); var _camelCase = require('camel-case'); var _camelCase2 = _interopRequireDefault(_camelCase); var _payloadPropchecker = require('./payloadPropchecker'); var _payloadPropchecker2 = _interopRequireDefault(_payloadPropchecker); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var parsePayloadErrors = function parsePayloadErrors(transformation, _ref) { var payload = _ref.payload; var meta = _ref.meta; return { payload: payload, meta: meta, error: payload instanceof Error }; }; var generateAction = function generateAction(generatedActions, transformation) { var action = transformation.action; var _transformation$middl = transformation.middleware; var middleware = _transformation$middl === undefined ? [] : _transformation$middl; var camelizedActionName = (0, _camelCase2.default)(action); var defaultMiddlewares = [(0, _payloadPropchecker2.default)(), parsePayloadErrors]; // eslint-disable-next-line no-param-reassign generatedActions[camelizedActionName] = (0, _createAction2.default)(transformation, middleware.concat(defaultMiddlewares)); return generatedActions; }; var createActions = exports.createActions = function createActions(transformations) { return transformations.reduce(generateAction, {}); }; exports.default = createActions;