redux-data-structures
Version:
Creator functions for common reducers
25 lines (24 loc) • 985 B
JavaScript
export default (function (_ref) {
var _ref$initialState = _ref.initialState,
initialState = _ref$initialState === undefined ? null : _ref$initialState,
_ref$setActionTypes = _ref.setActionTypes,
setActionTypes = _ref$setActionTypes === undefined ? [] : _ref$setActionTypes,
_ref$valueGetter = _ref.valueGetter,
valueGetter = _ref$valueGetter === undefined ? function (action) {
return action.payload;
} : _ref$valueGetter,
_ref$resetActionTypes = _ref.resetActionTypes,
resetActionTypes = _ref$resetActionTypes === undefined ? [] : _ref$resetActionTypes;
return function () {
var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;
var action = arguments[1];
var type = action.type;
if (setActionTypes.includes(type)) {
return valueGetter(action);
} else if (resetActionTypes.includes(type)) {
return initialState;
} else {
return state;
}
};
});