pricing4react
Version:
A library of components that ease the integration of feature toggling driven by pricing plans into your React application's UI.
43 lines (42 loc) • 1.65 kB
JavaScript
;
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
exports.__esModule = true;
exports.tableReducer = void 0;
function tableReducer(state, action) {
switch (action.type) {
case "add_item": {
return __assign(__assign({}, state), { data: __spreadArray(__spreadArray([], state.data, true), [action.payload], false) });
}
case "update_item": {
return __assign(__assign({}, state), { data: state.data.map(function (attribute, index) {
return index === state.index ? action.payload : attribute;
}) });
}
case "delete_item": {
return __assign(__assign({}, state), { data: state.data.filter(function (_, index) { return index !== state.index; }) });
}
case "select_item": {
return __assign(__assign({}, state), { index: action.index });
}
}
}
exports.tableReducer = tableReducer;