UNPKG

@trycourier/courier-react-native

Version:

Inbox, Push Notifications, and Preferences for React Native

70 lines (69 loc) 2.06 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.InboxMessage = void 0; var _ = _interopRequireDefault(require("..")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } class InboxMessage { constructor(messageId, title = null, body = null, preview = null, created = null, actions = null, data = null, read = null, opened = null, archived = null, subtitle = null, time = '', trackingIds = null) { this.messageId = messageId; this.title = title; this.body = body; this.preview = preview; this.created = created; this.actions = actions; this.data = data; this.read = read; this.opened = opened; this.archived = archived; this.subtitle = subtitle; this.time = time; this.trackingIds = trackingIds; } get isRead() { return this.read !== null; } get isOpened() { return this.opened !== null; } get isArchived() { return this.archived !== null; } static fromJson(jsonString) { try { const parsed = JSON.parse(jsonString); return new InboxMessage(parsed.messageId, parsed.title, parsed.body, parsed.preview, parsed.created, parsed.actions, parsed.data, parsed.read, parsed.opened, parsed.archived, parsed.subtitle, parsed.time, parsed.trackingIds); } catch (error) { console.log(`Error parsing message: ${error}`); throw error; } } async markAsRead() { await _.default.shared.readMessage({ messageId: this.messageId }); } async markAsUnread() { await _.default.shared.unreadMessage({ messageId: this.messageId }); } async markAsArchived() { await _.default.shared.archiveMessage({ messageId: this.messageId }); } async markAsOpened() { await _.default.shared.openMessage({ messageId: this.messageId }); } async markAsClicked() { await _.default.shared.clickMessage({ messageId: this.messageId }); } } exports.InboxMessage = InboxMessage; //# sourceMappingURL=InboxMessage.js.map