UNPKG

w3-redux

Version:

redux and redux thunk tools

40 lines (39 loc) 1.76 kB
"use strict"; 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); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.generateReducer = void 0; var storeHandler_1 = require("./storeHandler"); var generateReducer = function (items, reducer) { if (reducer === void 0) { reducer = ""; } var reducers = {}; Object.keys(items).map(function (item) { reducers[item] = function (state, action) { if (state === void 0) { state = items[item]; } switch (action.type) { //set case "".concat(reducer ? "".concat(reducer.toUpperCase(), "/") : "").concat(item.toUpperCase(), "/SET"): return storeHandler_1.StoreHandler.setState(state, __assign({}, action.payload)); //clear case "".concat(reducer ? "".concat(reducer.toUpperCase(), "/") : "").concat(item.toUpperCase(), "/CLEAR"): return storeHandler_1.StoreHandler.clearState(state, items[item], __assign({}, action.payload)); //custom case "".concat(reducer ? "".concat(reducer.toUpperCase(), "/") : "").concat(item.toUpperCase(), "/CUSTOM"): return __assign({}, action.payload); default: return state; } }; }); return reducers; }; exports.generateReducer = generateReducer;