UNPKG

12.5 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.BaseBotPlugin = void 0;
9
10var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
12var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
14var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
16var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
17
18var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
19
20var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
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 _asyncMapValues = _interopRequireDefault(require("@lskjs/utils/asyncMapValues"));
31
32function 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; }
33
34function _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; }
35
36function _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); }; }
37
38function _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; } }
39
40var BaseBotPlugin = /*#__PURE__*/function (_Module) {
41 (0, _inherits2["default"])(BaseBotPlugin, _Module);
42
43 var _super = _createSuper(BaseBotPlugin);
44
45 function BaseBotPlugin() {
46 var _this;
47
48 (0, _classCallCheck2["default"])(this, BaseBotPlugin);
49
50 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
51 args[_key] = arguments[_key];
52 }
53
54 _this = _super.call.apply(_super, [this].concat(args));
55 _this.botsModule = void 0;
56 _this.providers = [];
57 _this.bots = {};
58 return _this;
59 }
60
61 (0, _createClass2["default"])(BaseBotPlugin, [{
62 key: "getConfig",
63 value: function () {
64 var _getConfig = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
65 return _regenerator["default"].wrap(function _callee$(_context) {
66 while (1) {
67 switch (_context.prev = _context.next) {
68 case 0:
69 _context.t0 = _objectSpread;
70 _context.t1 = {
71 enable: true
72 };
73 _context.next = 4;
74 return (0, _get2["default"])((0, _getPrototypeOf2["default"])(BaseBotPlugin.prototype), "getConfig", this).call(this);
75
76 case 4:
77 _context.t2 = _context.sent;
78 return _context.abrupt("return", (0, _context.t0)(_context.t1, _context.t2));
79
80 case 6:
81 case "end":
82 return _context.stop();
83 }
84 }
85 }, _callee, this);
86 }));
87
88 function getConfig() {
89 return _getConfig.apply(this, arguments);
90 }
91
92 return getConfig;
93 }() // abstract
94
95 }, {
96 key: "canRunBot",
97 value: function canRunBot(bot) {
98 if (!Array.isArray(this.providers) || !this.providers.length) return true;
99 return this.providers.includes(bot.provider);
100 }
101 }, {
102 key: "initBot",
103 value: function () {
104 var _initBot = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(bot, name) {
105 return _regenerator["default"].wrap(function _callee2$(_context2) {
106 while (1) {
107 switch (_context2.prev = _context2.next) {
108 case 0:
109 case "end":
110 return _context2.stop();
111 }
112 }
113 }, _callee2);
114 }));
115
116 function initBot(_x, _x2) {
117 return _initBot.apply(this, arguments);
118 }
119
120 return initBot;
121 }()
122 }, {
123 key: "initBots",
124 value: function () {
125 var _initBots = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
126 var _this2 = this;
127
128 return _regenerator["default"].wrap(function _callee4$(_context4) {
129 while (1) {
130 switch (_context4.prev = _context4.next) {
131 case 0:
132 _context4.next = 2;
133 return (0, _asyncMapValues["default"])(this.bots, /*#__PURE__*/function () {
134 var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(bot, name) {
135 return _regenerator["default"].wrap(function _callee3$(_context3) {
136 while (1) {
137 switch (_context3.prev = _context3.next) {
138 case 0:
139 if (_this2.canRunBot(bot)) {
140 _context3.next = 2;
141 break;
142 }
143
144 return _context3.abrupt("return");
145
146 case 2:
147 _context3.next = 4;
148 return _this2.initBot(bot, name);
149
150 case 4:
151 _context3.next = 6;
152 return bot.initPlugin(_this2, name);
153
154 case 6:
155 case "end":
156 return _context3.stop();
157 }
158 }
159 }, _callee3);
160 }));
161
162 return function (_x3, _x4) {
163 return _ref.apply(this, arguments);
164 };
165 }());
166
167 case 2:
168 case "end":
169 return _context4.stop();
170 }
171 }
172 }, _callee4, this);
173 }));
174
175 function initBots() {
176 return _initBots.apply(this, arguments);
177 }
178
179 return initBots;
180 }()
181 }, {
182 key: "init",
183 value: function () {
184 var _init = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
185 return _regenerator["default"].wrap(function _callee5$(_context5) {
186 while (1) {
187 switch (_context5.prev = _context5.next) {
188 case 0:
189 _context5.next = 2;
190 return (0, _get2["default"])((0, _getPrototypeOf2["default"])(BaseBotPlugin.prototype), "init", this).call(this);
191
192 case 2:
193 _context5.next = 4;
194 return this.initBots();
195
196 case 4:
197 case "end":
198 return _context5.stop();
199 }
200 }
201 }, _callee5, this);
202 }));
203
204 function init() {
205 return _init.apply(this, arguments);
206 }
207
208 return init;
209 }()
210 }, {
211 key: "runBot",
212 value: function () {
213 var _runBot = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6(bot, name) {
214 return _regenerator["default"].wrap(function _callee6$(_context6) {
215 while (1) {
216 switch (_context6.prev = _context6.next) {
217 case 0:
218 case "end":
219 return _context6.stop();
220 }
221 }
222 }, _callee6);
223 }));
224
225 function runBot(_x5, _x6) {
226 return _runBot.apply(this, arguments);
227 }
228
229 return runBot;
230 }()
231 }, {
232 key: "runBots",
233 value: function () {
234 var _runBots = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8() {
235 var _this3 = this;
236
237 return _regenerator["default"].wrap(function _callee8$(_context8) {
238 while (1) {
239 switch (_context8.prev = _context8.next) {
240 case 0:
241 if (this.debug) this.log.trace('runBots', Object.keys(this.bots));
242 _context8.next = 3;
243 return (0, _asyncMapValues["default"])(this.bots, /*#__PURE__*/function () {
244 var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7(bot, name) {
245 return _regenerator["default"].wrap(function _callee7$(_context7) {
246 while (1) {
247 switch (_context7.prev = _context7.next) {
248 case 0:
249 if (_this3.debug) _this3.log.trace('this.canRunBot(bot)', name, _this3.canRunBot(bot));
250
251 if (_this3.canRunBot(bot)) {
252 _context7.next = 3;
253 break;
254 }
255
256 return _context7.abrupt("return");
257
258 case 3:
259 _context7.next = 5;
260 return _this3.runBot(bot, name);
261
262 case 5:
263 _context7.next = 7;
264 return bot.runPlugin(_this3, name);
265
266 case 7:
267 case "end":
268 return _context7.stop();
269 }
270 }
271 }, _callee7);
272 }));
273
274 return function (_x7, _x8) {
275 return _ref2.apply(this, arguments);
276 };
277 }());
278
279 case 3:
280 case "end":
281 return _context8.stop();
282 }
283 }
284 }, _callee8, this);
285 }));
286
287 function runBots() {
288 return _runBots.apply(this, arguments);
289 }
290
291 return runBots;
292 }()
293 }, {
294 key: "run",
295 value: function () {
296 var _run = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee9() {
297 return _regenerator["default"].wrap(function _callee9$(_context9) {
298 while (1) {
299 switch (_context9.prev = _context9.next) {
300 case 0:
301 _context9.next = 2;
302 return (0, _get2["default"])((0, _getPrototypeOf2["default"])(BaseBotPlugin.prototype), "run", this).call(this);
303
304 case 2:
305 if (this.config && this.config.enable) {
306 _context9.next = 5;
307 break;
308 }
309
310 this.log.warn("".concat(this.name, " is not enabled"));
311 return _context9.abrupt("return");
312
313 case 5:
314 _context9.next = 7;
315 return this.runBots();
316
317 case 7:
318 case "end":
319 return _context9.stop();
320 }
321 }
322 }, _callee9, this);
323 }));
324
325 function run() {
326 return _run.apply(this, arguments);
327 }
328
329 return run;
330 }()
331 }]);
332 return BaseBotPlugin;
333}(_module["default"]);
334
335exports.BaseBotPlugin = BaseBotPlugin;
336var _default = BaseBotPlugin;
337exports["default"] = _default;
338//# sourceMappingURL=BaseBotPlugin.js.map
\No newline at end of file