UNPKG

recime-bot-runtime

Version:

This runtime is intended to run inside a micro-service container with platform specific integration and module interpreter.

60 lines (59 loc) 2.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var recime_bot_extension_1 = require("recime-bot-extension"); var Message = /** @class */ (function () { function Message(platform) { this.__ = recime_bot_extension_1.default[platform]; } Message.prototype.normalizeButton = function (__, content) { if (content.buttons) { return content.buttons.map(function (button) { switch (button.type) { case 'reply': { return __.postbackButton(button.title || button.reply, "reply-" + button.reply); } case 'phone_number': { button.payload = button.payload.replace(/[\s()-]+/ig, ''); return button; } case 'element_share': { return __.shareButton(button.content); } default: { return button; } } }); } return void 0; }; Message.prototype.eval = function (message) { var _this = this; var __ = this.__; switch (message.type) { case 'text': { if (message.content && message.content.text.trim()) { return __.text(message.content.text, this.normalizeButton(__, message.content)); } } case 'image': case 'audio': case 'video': case 'file': { return __[message.type](message.content.url, this.normalizeButton(__, message.content), message.content.assetId); } case 'button-template': { return __.buttonTemplate(message.content.text, this.normalizeButton(__, message.content)); } case 'card-template': case 'wechat-article': case 'generic-template': { return __.genericTemplate(message.content.elements.map(function (e) { return __.genericItem(e.title, e.digest || e.subtitle, e.imageUrl, e.contentSourceUrl || e.actionUrl, _this.normalizeButton(__, e), e.assetId, e.content, e.author); })); } } }; return Message; }()); exports.Message = Message;