verificator
Version:
Client and server-side validation JavaScript library
37 lines (29 loc) • 1.13 kB
JavaScript
;
exports.__esModule = true;
var _types = require('../constants/types');
var initialState = {};
var reducer = function reducer() {
var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;
var action = arguments[1];
var type = action.type;
if (type === _types.ADD_ERROR) {
var _action$payload = action.payload,
key = _action$payload.key,
message = _action$payload.message;
var errors = state[key] || [];
if (errors.indexOf(message) === -1) {
var _Object$assign;
return Object.assign({}, state, (_Object$assign = {}, _Object$assign[key] = [].concat(errors, [message]), _Object$assign));
}
} else if (type === _types.REMOVE_ERROR) {
var _key = action.payload.key;
if (_key in state) {
var _Object$assign2;
return Object.assign({}, state, (_Object$assign2 = {}, _Object$assign2[_key] = [], _Object$assign2));
}
} else if (type === _types.CLEAR_ERRORS) {
return {};
}
return state;
};
exports['default'] = reducer;