1 | ;
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 | exports.reduxLeaves = void 0;
|
7 |
|
8 | var _leafReducer = require("./leafReducer");
|
9 |
|
10 | var _standardise = _interopRequireDefault(require("./reducersDict/standardise"));
|
11 |
|
12 | var _utils = require("./utils");
|
13 |
|
14 | var _proxy = _interopRequireDefault(require("./actions/proxy"));
|
15 |
|
16 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
17 |
|
18 | var reduxLeaves = function reduxLeaves(initialState) {
|
19 | var reducersDict = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
20 | var leafReducersDict = (0, _standardise["default"])(reducersDict);
|
21 |
|
22 | var reducer = function reducer() {
|
23 | var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;
|
24 | var action = arguments.length > 1 ? arguments[1] : undefined;
|
25 | if (!isLeafAction(action)) return state;
|
26 | if (isLCA(action)) return action.payload.reduce(reducer, state);
|
27 | var leaf = action.leaf;
|
28 | var path = leaf.path; // const prevLeafState = getState(draftState, path)
|
29 |
|
30 | var prevLeafState = (0, _utils.getState)(state, path);
|
31 | var newLeafState = (0, _leafReducer.leafReducer)(prevLeafState, action, state, initialState, leafReducersDict);
|
32 | return (0, _utils.updateState)(state, path, newLeafState);
|
33 | };
|
34 |
|
35 | var actions = new _proxy["default"](initialState, leafReducersDict);
|
36 | return [reducer, actions];
|
37 | };
|
38 |
|
39 | exports.reduxLeaves = reduxLeaves;
|
40 |
|
41 | function isLeafAction(action) {
|
42 | // @ts-ignore
|
43 | return action.leaf;
|
44 | }
|
45 |
|
46 | function isLCA(action) {
|
47 | return isLeafAction(action) && action.leaf.compound;
|
48 | }
|
49 |
|
50 | function isLSA(action) {
|
51 | return isLeafAction(action) && !isLCA(action);
|
52 | }
|
53 | //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9yZWR1eExlYXZlcy50cyJdLCJuYW1lcyI6WyJyZWR1eExlYXZlcyIsImluaXRpYWxTdGF0ZSIsInJlZHVjZXJzRGljdCIsImxlYWZSZWR1Y2Vyc0RpY3QiLCJyZWR1Y2VyIiwic3RhdGUiLCJhY3Rpb24iLCJpc0xlYWZBY3Rpb24iLCJpc0xDQSIsInBheWxvYWQiLCJyZWR1Y2UiLCJsZWFmIiwicGF0aCIsInByZXZMZWFmU3RhdGUiLCJuZXdMZWFmU3RhdGUiLCJhY3Rpb25zIiwiQWN0aW9uc1Byb3h5IiwiY29tcG91bmQiLCJpc0xTQSJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUlBOzs7O0FBSU8sSUFBTUEsV0FBVyxHQUFHLFNBQWRBLFdBQWMsQ0FBZ0JDLFlBQWhCLEVBQW1KO0FBQUEsTUFBbEhDLFlBQWtILHVFQUFuRyxFQUFtRztBQUM1SyxNQUFNQyxnQkFBZ0IsR0FBRyw2QkFBd0JELFlBQXhCLENBQXpCOztBQUVBLE1BQU1FLE9BQW1GLEdBQUcsU0FBdEZBLE9BQXNGLEdBQXFHO0FBQUEsUUFBNUZDLEtBQTRGLHVFQUFwRkosWUFBb0Y7QUFBQSxRQUF0RUssTUFBc0U7QUFFL0wsUUFBSSxDQUFDQyxZQUFZLENBQUNELE1BQUQsQ0FBakIsRUFBMkIsT0FBT0QsS0FBUDtBQUUzQixRQUFJRyxLQUFLLENBQUNGLE1BQUQsQ0FBVCxFQUFtQixPQUFPQSxNQUFNLENBQUNHLE9BQVAsQ0FBZUMsTUFBZixDQUN4Qk4sT0FEd0IsRUFFeEJDLEtBRndCLENBQVA7QUFKNEssUUFTdkxNLElBVHVMLEdBUzlLTCxNQVQ4SyxDQVN2TEssSUFUdUw7QUFBQSxRQVV2TEMsSUFWdUwsR0FVOUtELElBVjhLLENBVXZMQyxJQVZ1TCxFQVkvTDs7QUFDQSxRQUFNQyxhQUFhLEdBQUcscUJBQVNSLEtBQVQsRUFBZ0JPLElBQWhCLENBQXRCO0FBRUEsUUFBTUUsWUFBWSxHQUFHLDhCQUNuQkQsYUFEbUIsRUFFbkJQLE1BRm1CLEVBR25CRCxLQUhtQixFQUluQkosWUFKbUIsRUFLbkJFLGdCQUxtQixDQUFyQjtBQVFBLFdBQU8sd0JBQVlFLEtBQVosRUFBbUJPLElBQW5CLEVBQXlCRSxZQUF6QixDQUFQO0FBQ0QsR0F4QkQ7O0FBMEJBLE1BQU1DLE9BQU8sR0FBRyxJQUFJQyxpQkFBSixDQUFpQmYsWUFBakIsRUFBK0JFLGdCQUEvQixDQUFoQjtBQUVBLFNBQU8sQ0FBQ0MsT0FBRCxFQUFVVyxPQUFWLENBQVA7QUFDRCxDQWhDTTs7OztBQWtDUCxTQUFTUixZQUFULENBQXNCRCxNQUF0QixFQUErSTtBQUM3STtBQUNBLFNBQU9BLE1BQU0sQ0FBQ0ssSUFBZDtBQUNEOztBQUVELFNBQVNILEtBQVQsQ0FBZUYsTUFBZixFQUFtSDtBQUNqSCxTQUFPQyxZQUFZLENBQUNELE1BQUQsQ0FBWixJQUF3QkEsTUFBTSxDQUFDSyxJQUFQLENBQVlNLFFBQTNDO0FBQ0Q7O0FBRUQsU0FBU0MsS0FBVCxDQUFlWixNQUFmLEVBQW1IO0FBQ2pILFNBQU9DLFlBQVksQ0FBQ0QsTUFBRCxDQUFaLElBQXdCLENBQUNFLEtBQUssQ0FBQ0YsTUFBRCxDQUFyQztBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbGVhZlJlZHVjZXIgfSBmcm9tICcuL2xlYWZSZWR1Y2VyJztcbmltcG9ydCBzdGFuZGFyZGlzZVJlZHVjZXJzRGljdCBmcm9tICcuL3JlZHVjZXJzRGljdC9zdGFuZGFyZGlzZSc7XG5pbXBvcnQgeyBnZXRTdGF0ZSwgdXBkYXRlU3RhdGUgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCBMZWFmU3RhbmRhcmRBY3Rpb24gZnJvbSAnLi90eXBlcy9BY3Rpb25zL0xTQSc7XG5pbXBvcnQgRGljdCBmcm9tICcuL3R5cGVzL0RpY3QnO1xuaW1wb3J0IHsgUmVkdWNlciB9IGZyb20gJ3JlZHV4JztcbmltcG9ydCBBY3Rpb25zUHJveHkgZnJvbSAnLi9hY3Rpb25zL3Byb3h5JztcbmltcG9ydCBMZWFmQ29tcG91bmRBY3Rpb24gZnJvbSAnLi90eXBlcy9BY3Rpb25zL0xDQSc7XG5pbXBvcnQgRmx1eFN0YW5kYXJkQWN0aW9uIGZyb20gJy4vdHlwZXMvQWN0aW9ucy9GU0EnO1xuXG5leHBvcnQgY29uc3QgcmVkdXhMZWF2ZXMgPSA8VCA9IERpY3Q8YW55Pj4oaW5pdGlhbFN0YXRlOiBULCByZWR1Y2Vyc0RpY3QgPSB7fSk6IFtSZWR1Y2VyPGFueSwgRmx1eFN0YW5kYXJkQWN0aW9uIHwgTGVhZlN0YW5kYXJkQWN0aW9uIHwgTGVhZkNvbXBvdW5kQWN0aW9uPiwgQWN0aW9uc1Byb3h5XSA9PiB7XG4gIGNvbnN0IGxlYWZSZWR1Y2Vyc0RpY3QgPSBzdGFuZGFyZGlzZVJlZHVjZXJzRGljdChyZWR1Y2Vyc0RpY3QpXG5cbiAgY29uc3QgcmVkdWNlcjogUmVkdWNlcjxhbnksIEZsdXhTdGFuZGFyZEFjdGlvbiB8IExlYWZTdGFuZGFyZEFjdGlvbiB8IExlYWZDb21wb3VuZEFjdGlvbj4gPSBmdW5jdGlvbihzdGF0ZSA9IGluaXRpYWxTdGF0ZSwgYWN0aW9uOiBGbHV4U3RhbmRhcmRBY3Rpb24gfCBMZWFmU3RhbmRhcmRBY3Rpb24gfCBMZWFmQ29tcG91bmRBY3Rpb24pIHtcblxuICAgIGlmICghaXNMZWFmQWN0aW9uKGFjdGlvbikpIHJldHVybiBzdGF0ZVxuXG4gICAgaWYgKGlzTENBKGFjdGlvbikpIHJldHVybiBhY3Rpb24ucGF5bG9hZC5yZWR1Y2UoXG4gICAgICByZWR1Y2VyLFxuICAgICAgc3RhdGVcbiAgICApXG5cbiAgICBjb25zdCB7IGxlYWYgfSA9IGFjdGlvbjtcbiAgICBjb25zdCB7IHBhdGggfSA9IGxlYWZcblxuICAgIC8vIGNvbnN0IHByZXZMZWFmU3RhdGUgPSBnZXRTdGF0ZShkcmFmdFN0YXRlLCBwYXRoKVxuICAgIGNvbnN0IHByZXZMZWFmU3RhdGUgPSBnZXRTdGF0ZShzdGF0ZSwgcGF0aClcblxuICAgIGNvbnN0IG5ld0xlYWZTdGF0ZSA9IGxlYWZSZWR1Y2VyKFxuICAgICAgcHJldkxlYWZTdGF0ZSxcbiAgICAgIGFjdGlvbixcbiAgICAgIHN0YXRlLFxuICAgICAgaW5pdGlhbFN0YXRlLFxuICAgICAgbGVhZlJlZHVjZXJzRGljdFxuICAgIClcblxuICAgIHJldHVybiB1cGRhdGVTdGF0ZShzdGF0ZSwgcGF0aCwgbmV3TGVhZlN0YXRlKVxuICB9XG5cbiAgY29uc3QgYWN0aW9ucyA9IG5ldyBBY3Rpb25zUHJveHkoaW5pdGlhbFN0YXRlLCBsZWFmUmVkdWNlcnNEaWN0KVxuXG4gIHJldHVybiBbcmVkdWNlciwgYWN0aW9uc11cbn1cblxuZnVuY3Rpb24gaXNMZWFmQWN0aW9uKGFjdGlvbjogRmx1eFN0YW5kYXJkQWN0aW9uIHwgTGVhZlN0YW5kYXJkQWN0aW9uIHwgTGVhZkNvbXBvdW5kQWN0aW9uKTogYWN0aW9uIGlzIExlYWZTdGFuZGFyZEFjdGlvbiB8IExlYWZDb21wb3VuZEFjdGlvbiB7XG4gIC8vIEB0cy1pZ25vcmVcbiAgcmV0dXJuIGFjdGlvbi5sZWFmXG59XG5cbmZ1bmN0aW9uIGlzTENBKGFjdGlvbjogRmx1eFN0YW5kYXJkQWN0aW9uIHwgTGVhZlN0YW5kYXJkQWN0aW9uIHwgTGVhZkNvbXBvdW5kQWN0aW9uKTogYWN0aW9uIGlzIExlYWZDb21wb3VuZEFjdGlvbiB7XG4gIHJldHVybiBpc0xlYWZBY3Rpb24oYWN0aW9uKSAmJiBhY3Rpb24ubGVhZi5jb21wb3VuZFxufVxuXG5mdW5jdGlvbiBpc0xTQShhY3Rpb246IEZsdXhTdGFuZGFyZEFjdGlvbiB8IExlYWZTdGFuZGFyZEFjdGlvbiB8IExlYWZDb21wb3VuZEFjdGlvbik6IGFjdGlvbiBpcyBMZWFmU3RhbmRhcmRBY3Rpb24ge1xuICByZXR1cm4gaXNMZWFmQWN0aW9uKGFjdGlvbikgJiYgIWlzTENBKGFjdGlvbilcbn0iXX0= |
\ | No newline at end of file |