1 | "use strict";
|
2 |
|
3 | var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4 |
|
5 | Object.defineProperty(exports, "__esModule", {
|
6 | value: true
|
7 | });
|
8 | exports["default"] = runAction;
|
9 |
|
10 | var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
11 |
|
12 | var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
13 |
|
14 | var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
15 |
|
16 | var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
17 |
|
18 | var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
19 |
|
20 | var _bluebird = _interopRequireDefault(require("bluebird"));
|
21 |
|
22 | var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
|
23 |
|
24 | var _isObjectLike = _interopRequireDefault(require("lodash/isObjectLike"));
|
25 |
|
26 | var _actions = _interopRequireDefault(require("../actions"));
|
27 |
|
28 | var _excluded = ["event", "ctx", "bot"];
|
29 |
|
30 | function 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; }
|
31 |
|
32 | function _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; }
|
33 |
|
34 | function runAction(_x) {
|
35 | return _runAction.apply(this, arguments);
|
36 | }
|
37 |
|
38 | function _runAction() {
|
39 | _runAction = (0, _asyncToGenerator2["default"])( _regenerator["default"].mark(function _callee2(_ref) {
|
40 | var _this = this;
|
41 |
|
42 | var event, ctx, bot, props, actions;
|
43 | return _regenerator["default"].wrap(function _callee2$(_context2) {
|
44 | while (1) {
|
45 | switch (_context2.prev = _context2.next) {
|
46 | case 0:
|
47 | event = _ref.event, ctx = _ref.ctx, bot = _ref.bot, props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
|
48 | actions = props.action;
|
49 |
|
50 | if (actions) {
|
51 | _context2.next = 4;
|
52 | break;
|
53 | }
|
54 |
|
55 | return _context2.abrupt("return", null);
|
56 |
|
57 | case 4:
|
58 | if (!Array.isArray(actions)) actions = [actions];
|
59 |
|
60 | if (!(0, _isEmpty["default"])(actions)) {
|
61 | _context2.next = 7;
|
62 | break;
|
63 | }
|
64 |
|
65 | return _context2.abrupt("return", null);
|
66 |
|
67 | case 7:
|
68 | return _context2.abrupt("return", _bluebird["default"].each(actions, function () {
|
69 | var _ref2 = (0, _asyncToGenerator2["default"])( _regenerator["default"].mark(function _callee(action) {
|
70 | var type, result, isNotNull;
|
71 | return _regenerator["default"].wrap(function _callee$(_context) {
|
72 | while (1) {
|
73 | switch (_context.prev = _context.next) {
|
74 | case 0:
|
75 | type = action.type;
|
76 | result = null;
|
77 |
|
78 | if (!_actions["default"][action]) {
|
79 | _context.next = 6;
|
80 | break;
|
81 | }
|
82 |
|
83 | _context.next = 5;
|
84 | return _actions["default"][action].call(_this, _objectSpread({
|
85 | event: event,
|
86 | ctx: ctx,
|
87 | bot: bot
|
88 | }, action));
|
89 |
|
90 | case 5:
|
91 | result = _context.sent;
|
92 |
|
93 | case 6:
|
94 | if (!_actions["default"][type]) {
|
95 | _context.next = 10;
|
96 | break;
|
97 | }
|
98 |
|
99 | _context.next = 9;
|
100 | return _actions["default"][type].call(_this, _objectSpread({
|
101 | event: event,
|
102 | ctx: ctx,
|
103 | bot: bot
|
104 | }, action));
|
105 |
|
106 | case 9:
|
107 | result = _context.sent;
|
108 |
|
109 | case 10:
|
110 | isNotNull = ['number', 'string', 'boolean'].includes((0, _typeof2["default"])(result)) && !!result || (0, _isObjectLike["default"])(result) && !(0, _isEmpty["default"])(result);
|
111 |
|
112 | if (!(action.then && !(0, _isEmpty["default"])(action.then) && isNotNull)) {
|
113 | _context.next = 14;
|
114 | break;
|
115 | }
|
116 |
|
117 | _context.next = 14;
|
118 | return _this.runAction({
|
119 | event: event,
|
120 | ctx: ctx,
|
121 | bot: bot,
|
122 | action: action.then
|
123 | });
|
124 |
|
125 | case 14:
|
126 | if (!(action["else"] && !(0, _isEmpty["default"])(action["else"]) && !isNotNull)) {
|
127 | _context.next = 17;
|
128 | break;
|
129 | }
|
130 |
|
131 | _context.next = 17;
|
132 | return _this.runAction({
|
133 | event: event,
|
134 | ctx: ctx,
|
135 | bot: bot,
|
136 | action: action["else"]
|
137 | });
|
138 |
|
139 | case 17:
|
140 | _context.next = 19;
|
141 | return _bluebird["default"].delay(10);
|
142 |
|
143 | case 19:
|
144 | return _context.abrupt("return", result);
|
145 |
|
146 | case 20:
|
147 | case "end":
|
148 | return _context.stop();
|
149 | }
|
150 | }
|
151 | }, _callee);
|
152 | }));
|
153 |
|
154 | return function (_x2) {
|
155 | return _ref2.apply(this, arguments);
|
156 | };
|
157 | }()));
|
158 |
|
159 | case 8:
|
160 | case "end":
|
161 | return _context2.stop();
|
162 | }
|
163 | }
|
164 | }, _callee2);
|
165 | }));
|
166 | return _runAction.apply(this, arguments);
|
167 | }
|
168 |
|
\ | No newline at end of file |