UNPKG

rcs-data

Version:

RCS消息数据结构

52 lines 1.61 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.RcsConversation = void 0; const debug = require('debug')('conversation'); class RcsConversation { constructor() { this._messages = []; } static build(viewer, latestMessage) { const ins = new RcsConversation(); let { conversationId, from, to } = latestMessage; if (viewer.uri.toString() === from.uri.toString()) { ins._viewer = from; ins._peer = to; } else if (viewer.uri.toString() === to.uri.toString()) { ins._viewer = to; ins._peer = from; } else { debug(`消息的用户[${from.toString()}][${to.toString()}]与指定的用户[${viewer.toString()}]无关,无法构造会话对象`); throw Error('消息与指定的用户无关,无法构造会话对象'); } ins._id = conversationId; ins._messages.push(latestMessage); return ins; } static create(conversationId, viewer, peer) { const ins = new RcsConversation(); ins._id = conversationId; ins._viewer = viewer; ins._peer = peer; return ins; } get id() { return this._id; } get viewer() { return this._viewer; } get peer() { return this._peer; } get messages() { return this._messages; } get content() { return this.messages.length ? this.messages[0].content : null; } } exports.RcsConversation = RcsConversation; //# sourceMappingURL=RcsConversation.js.map