UNPKG

2.08 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
5Object.defineProperty(exports, "__esModule", {
6 value: true
7});
8exports["default"] = parseExtra;
9
10var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
12var _flattenDeep = _interopRequireDefault(require("lodash/flattenDeep"));
13
14var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
15
16var parseButton = function parseButton(button) {
17 var text = button.text,
18 callbackData = button.callback_data,
19 url = button.url;
20
21 if (url) {
22 return {
23 type: 'sender',
24 text: text
25 };
26 }
27
28 var _URL = new URL("www://test.ru".concat(callbackData)),
29 pathname = _URL.pathname,
30 _URL$searchParams = _URL.searchParams,
31 searchParams = _URL$searchParams === void 0 ? {} : _URL$searchParams;
32
33 var params = {};
34 new URLSearchParams(searchParams).forEach(function (value, key) {
35 params[key] = value;
36 });
37
38 if (pathname === '/portal_answer') {
39 return {
40 type: 'answer',
41 text: text
42 };
43 }
44
45 if (pathname === '/portal_sender') {
46 return {
47 type: 'sender',
48 text: text
49 };
50 }
51
52 if (pathname === '/portal_like') {
53 var type = params.type;
54 return (0, _defineProperty2["default"])({}, type, {
55 title: text.replace(/ \d*$/, ''),
56 value: text.match(/\d*$/)
57 });
58 }
59
60 return {};
61};
62
63function parseExtra(keyboard) {
64 var parsedButtons = [];
65 var likes = {
66 type: 'like',
67 buttons: {}
68 };
69 (0, _flattenDeep["default"])(keyboard).forEach(function (button) {
70 var parsedButton = parseButton(button);
71 var disslike = parsedButton.disslike,
72 like = parsedButton.like,
73 type = parsedButton.type;
74 if (like) likes.buttons.like = parsedButton.like;
75 if (disslike) likes.buttons.disslike = parsedButton.disslike;
76 if (type) parsedButtons.push(parsedButton);
77 });
78 if (!(0, _isEmpty["default"])(likes.buttons)) parsedButtons.unshift(likes);
79 return parsedButtons;
80}
81//# sourceMappingURL=parseExtra.js.map
\No newline at end of file