UNPKG

@tacky/store

Version:

State management framework based on react

74 lines (57 loc) 2.37 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _interfaces = require("../interfaces"); function createEffectMiddleware() { return function (_ref) { var dispatch = _ref.dispatch; return function (next) { return /*#__PURE__*/function () { var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(action) { var name, payload, type, domain, original, effect; return _regenerator["default"].wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: name = action.name, payload = action.payload, type = action.type, domain = action.domain, original = action.original; if (!(type === _interfaces.EMaterialType.EFFECT)) { _context.next = 12; break; } effect = original; _context.prev = 3; _context.next = 6; return effect.apply(void 0, (0, _toConsumableArray2["default"])(payload)); case 6: _context.next = 11; break; case 8: _context.prev = 8; _context.t0 = _context["catch"](3); return _context.abrupt("return", _context.t0); case 11: return _context.abrupt("return"); case 12: return _context.abrupt("return", next(action)); case 13: case "end": return _context.stop(); } } }, _callee, null, [[3, 8]]); })); return function (_x) { return _ref2.apply(this, arguments); }; }(); }; }; } var _default = createEffectMiddleware(); exports["default"] = _default;