UNPKG

@lskjs/bots-plugin-portal

Version:

LSK.js plugin for @lskjs/bots module for telegram, slack, discord, whatsapp, twitter, instagram and vk bots creation

68 lines (67 loc) 2.05 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = parseExtra; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _flattenDeep = _interopRequireDefault(require("lodash/flattenDeep")); var _isEmpty = _interopRequireDefault(require("lodash/isEmpty")); var parseButton = function parseButton(button) { var text = button.text, callbackData = button.callback_data, url = button.url; if (url) { return { type: 'sender', text: text }; } var _URL = new URL("www://test.ru".concat(callbackData)), pathname = _URL.pathname, _URL$searchParams = _URL.searchParams, searchParams = _URL$searchParams === void 0 ? {} : _URL$searchParams; var params = {}; new URLSearchParams(searchParams).forEach(function (value, key) { params[key] = value; }); if (pathname === '/portal_answer') { return { type: 'answer', text: text }; } if (pathname === '/portal_sender') { return { type: 'sender', text: text }; } if (pathname === '/portal_like') { var type = params.type; return (0, _defineProperty2["default"])({}, type, { title: text.replace(/ \d*$/, ''), value: text.match(/\d*$/) }); } return {}; }; function parseExtra(keyboard) { var parsedButtons = []; var likes = { type: 'like', buttons: {} }; (0, _flattenDeep["default"])(keyboard).forEach(function (button) { var parsedButton = parseButton(button); var disslike = parsedButton.disslike, like = parsedButton.like, type = parsedButton.type; if (like) likes.buttons.like = parsedButton.like; if (disslike) likes.buttons.disslike = parsedButton.disslike; if (type) parsedButtons.push(parsedButton); }); if (!(0, _isEmpty["default"])(likes.buttons)) parsedButtons.unshift(likes); return parsedButtons; } //# sourceMappingURL=parseExtra.js.map