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
JavaScript
;
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