UNPKG

9.77 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
5Object.defineProperty(exports, "__esModule", {
6 value: true
7});
8exports["default"] = exports.ActionChain = void 0;
9
10var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
12var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
14var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
16var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
17
18var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
19
20var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
21
22var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
23
24var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
25
26var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
27
28var _module = _interopRequireDefault(require("@lskjs/module"));
29
30var _err = _interopRequireDefault(require("@lskjs/err"));
31
32var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
33
34var _excluded = ["actionParams", "res", "data"],
35 _excluded2 = ["type", "action"];
36
37function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
38
39function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
40
41function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
42
43function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
44
45var ActionChain = /*#__PURE__*/function (_Module) {
46 (0, _inherits2["default"])(ActionChain, _Module);
47
48 var _super = _createSuper(ActionChain);
49
50 function ActionChain() {
51 (0, _classCallCheck2["default"])(this, ActionChain);
52 return _super.apply(this, arguments);
53 }
54
55 (0, _createClass2["default"])(ActionChain, [{
56 key: "getAction",
57 value: function getAction() {
58 var _this$actionModule;
59
60 return (_this$actionModule = this.actionModule).getAction.apply(_this$actionModule, arguments);
61 }
62 }, {
63 key: "nextAction",
64 value: function () {
65 var _nextAction = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(_ref) {
66 var actionParams, res, data, props, actionThen, actionElse, fault1, fault2, messageDayAgo, message2DaysAgo;
67 return _regenerator["default"].wrap(function _callee$(_context) {
68 while (1) {
69 switch (_context.prev = _context.next) {
70 case 0:
71 actionParams = _ref.actionParams, res = _ref.res, data = _ref.data, props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
72 actionThen = actionParams.then, actionElse = actionParams["else"], fault1 = actionParams.fault1, fault2 = actionParams.fault2;
73 messageDayAgo = props.messageDayAgo, message2DaysAgo = props.message2DaysAgo;
74
75 if (!(actionThen && !(0, _isEmpty["default"])(actionThen) && res)) {
76 _context.next = 5;
77 break;
78 }
79
80 return _context.abrupt("return", this.runAction(_objectSpread({
81 parent: data
82 }, actionThen)));
83
84 case 5:
85 if (!(actionElse && !(0, _isEmpty["default"])(actionElse) && !res)) {
86 _context.next = 7;
87 break;
88 }
89
90 return _context.abrupt("return", this.runAction(_objectSpread({
91 parent: data
92 }, actionElse)));
93
94 case 7:
95 if (!(fault2 && !(0, _isEmpty["default"])(fault2) && !res && !messageDayAgo && !message2DaysAgo)) {
96 _context.next = 9;
97 break;
98 }
99
100 return _context.abrupt("return", this.runAction(_objectSpread({
101 parent: data
102 }, fault2)));
103
104 case 9:
105 if (!(fault1 && !(0, _isEmpty["default"])(fault1) && !res && !messageDayAgo)) {
106 _context.next = 11;
107 break;
108 }
109
110 return _context.abrupt("return", this.runAction(_objectSpread({
111 parent: data
112 }, fault1)));
113
114 case 11:
115 return _context.abrupt("return", null);
116
117 case 12:
118 case "end":
119 return _context.stop();
120 }
121 }
122 }, _callee, this);
123 }));
124
125 function nextAction(_x) {
126 return _nextAction.apply(this, arguments);
127 }
128
129 return nextAction;
130 }()
131 }, {
132 key: "runAction",
133 value: function () {
134 var _runAction = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
135 var actionParams,
136 _actionParams,
137 actionType1,
138 actionType2,
139 params,
140 actionType,
141 action,
142 res,
143 data,
144 _res,
145 _args2 = arguments;
146
147 return _regenerator["default"].wrap(function _callee2$(_context2) {
148 while (1) {
149 switch (_context2.prev = _context2.next) {
150 case 0:
151 actionParams = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : {};
152
153 // , otherParams = {}
154 if (Array.isArray(actionParams)) {
155 // eslint-disable-next-line no-param-reassign
156 actionParams = {
157 type: 'each',
158 items: actionParams
159 };
160 } // eslint-disable-next-line no-param-reassign
161
162
163 actionParams = _objectSpread({}, actionParams); // action: actionType2,
164
165 _actionParams = actionParams, actionType1 = _actionParams.type, actionType2 = _actionParams.action, params = (0, _objectWithoutProperties2["default"])(_actionParams, _excluded2);
166 actionType = actionType1 || actionType2; // this.log.debug({ actionType1, actionType2, actionType });
167
168 _context2.next = 7;
169 return this.getAction(actionType);
170
171 case 7:
172 action = _context2.sent;
173
174 if (action) {
175 _context2.next = 11;
176 break;
177 }
178
179 this.log.error('!action', actionType);
180 throw new _err["default"]('!action', {
181 data: {
182 action: actionType
183 }
184 });
185
186 case 11:
187 this.log.trace('[action]', actionType);
188 _context2.prev = 12;
189 _context2.next = 15;
190 return action.bind(this)(params);
191
192 case 15:
193 res = _context2.sent;
194 data = {};
195
196 if (res instanceof Object) {
197 _res = res;
198 data = _res.data;
199 res = res.res;
200 }
201
202 _context2.next = 20;
203 return this.nextAction({
204 actionParams: actionParams,
205 res: res,
206 data: data
207 });
208
209 case 20:
210 return _context2.abrupt("return", _objectSpread({
211 type: actionType
212 }, res));
213
214 case 23:
215 _context2.prev = 23;
216 _context2.t0 = _context2["catch"](12);
217 this.log.error('[action] ', actionType, _context2.t0);
218 return _context2.abrupt("return", {
219 type: actionType,
220 errCode: _err["default"].getCode(_context2.t0)
221 });
222
223 case 27:
224 case "end":
225 return _context2.stop();
226 }
227 }
228 }, _callee2, this, [[12, 23]]);
229 }));
230
231 function runAction() {
232 return _runAction.apply(this, arguments);
233 }
234
235 return runAction;
236 }()
237 }]);
238 return ActionChain;
239}(_module["default"]);
240
241exports.ActionChain = ActionChain;
242var _default = ActionChain;
243exports["default"] = _default;
244//# sourceMappingURL=ActionChain.js.map
\No newline at end of file