UNPKG

airship-server

Version:

Airship is a framework for Node.JS & TypeScript that helps you to write big, scalable and maintainable API servers.

44 lines 1.75 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const TextContent_1 = require("./TextContent"); const ImageContent_1 = require("./ImageContent"); const VideoContent_1 = require("./VideoContent"); const AudioContent_1 = require("./AudioContent"); const DocumentContent_1 = require("./DocumentContent"); const WallContent_1 = require("./WallContent"); const StickerContent_1 = require("./StickerContent"); class BotOutputMessage { constructor(groupId, userId, content) { this.groupId = groupId; this.userId = userId; this.content = content; } serialize() { return { groupId: this.groupId, userId: this.userId, content: this.content.map(c => c.serialize()) }; } static deserialize(raw) { return new BotOutputMessage(raw['groupId'], raw['userId'], raw['content'].map((c) => { if (c['type'] == 'text') return (TextContent_1.default.deserialize(c)); if (c['type'] == 'image') return (ImageContent_1.default.deserialize(c)); if (c['type'] == 'video') return (VideoContent_1.default.deserialize(c)); if (c['type'] == 'audio') return (AudioContent_1.default.deserialize(c)); if (c['type'] == 'document') return (DocumentContent_1.default.deserialize(c)); if (c['type'] == 'wall') return (WallContent_1.default.deserialize(c)); if (c['type'] == 'sticker') return (StickerContent_1.default.deserialize(c)); return null; })); } } exports.default = BotOutputMessage; //# sourceMappingURL=BotOutputMessage.js.map