1 | "use strict";
|
2 |
|
3 | var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
4 |
|
5 | Object.defineProperty(exports, "__esModule", {
|
6 | value: true
|
7 | });
|
8 | exports.default = void 0;
|
9 |
|
10 | var _swit = _interopRequireDefault(require("@sharyn/util/swit"));
|
11 |
|
12 |
|
13 | var createReducer = function createReducer() {
|
14 | var cases = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
15 | var initialState = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
16 | return function () {
|
17 | var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;
|
18 |
|
19 | var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
20 | type = _ref.type,
|
21 | payload = _ref.payload;
|
22 |
|
23 | return (0, _swit.default)(type, cases.map(function (c) {
|
24 | return [c[0], function () {
|
25 | return c[1](payload)(state);
|
26 | }];
|
27 | }), state);
|
28 | };
|
29 | };
|
30 |
|
31 | var _default = createReducer;
|
32 | exports.default = _default; |
\ | No newline at end of file |