'use strict'; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); /* * Nexmo Client SDK * Text NXMEvent Object Model * * Copyright (c) Nexmo Inc. */ const nxmEvent_1 = __importDefault(require("./nxmEvent")); /** * A text event * * @class TextEvent * @extends NXMEvent */ class TextEvent extends nxmEvent_1.default { constructor(conversation, params) { super(conversation, params); this.type = 'text'; this.conversation = conversation; this.state = { seen_by: {}, delivered_to: {} }; if (params && params.body && params.body.timestamp) { this.timestamp = params.body.timestamp; } Object.assign(this, params); } /** * Set the textEvent status to 'seen' * @returns {Promise} * @example <caption>Set the textEvent status to 'seen'</caption> * textEvent.seen().then(() => { * console.log("text event status set to seen"); * }).catch((error)=>{ * console.log("error setting text event status to seen ", error); * }); */ seen() { return super.seen(); } /** * Set the textEvent status to 'delivered'. * handled by the SDK * @returns {Promise} * @example <caption>Set the textEvent status to 'delivered'</caption> * textEvent.delivered().then(() => { * console.log("text event status set to delivered"); * }).catch((error)=>{ * console.log("error setting text event status to delivered ", error); * }); */ delivered() { return super.delivered(); } /** * Delete the textEvent * @returns {Promise} * @example <caption>Delete the textEvent</caption> * textEvent.del().then(() => { * console.log("text event deleted"); * }).catch((error)=>{ * console.log("error deleting text event ", error); * }); */ del() { return super.del(); } } exports.default = TextEvent; module.exports = TextEvent;