UNPKG

redux-data-structures

Version:
39 lines (38 loc) 1.84 kB
export default (function (_ref) { var _ref$initialState = _ref.initialState, initialState = _ref$initialState === undefined ? [] : _ref$initialState, _ref$enqueueActionTyp = _ref.enqueueActionTypes, enqueueActionTypes = _ref$enqueueActionTyp === undefined ? [] : _ref$enqueueActionTyp, _ref$dequeueActionTyp = _ref.dequeueActionTypes, dequeueActionTypes = _ref$dequeueActionTyp === undefined ? [] : _ref$dequeueActionTyp, _ref$pushActionTypes = _ref.pushActionTypes, pushActionTypes = _ref$pushActionTypes === undefined ? [] : _ref$pushActionTypes, _ref$popActionTypes = _ref.popActionTypes, popActionTypes = _ref$popActionTypes === undefined ? [] : _ref$popActionTypes, _ref$itemGetter = _ref.itemGetter, itemGetter = _ref$itemGetter === undefined ? function (action) { return action.payload; } : _ref$itemGetter, _ref$resetActionTypes = _ref.resetActionTypes, resetActionTypes = _ref$resetActionTypes === undefined ? [] : _ref$resetActionTypes, _ref$emptyActionTypes = _ref.emptyActionTypes, emptyActionTypes = _ref$emptyActionTypes === undefined ? [] : _ref$emptyActionTypes; return function () { var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState; var action = arguments[1]; var type = action.type; if (enqueueActionTypes.includes(type) || pushActionTypes.includes(type)) { return state.concat(itemGetter(action)); } else if (dequeueActionTypes.includes(type)) { return state.slice(1); } else if (popActionTypes.includes(type)) { return state.slice(0, -1); } else if (resetActionTypes.includes(type)) { return initialState; } else if (emptyActionTypes.includes(type)) { return []; } else { return state; } }; });