import * as plugins from './smartuniverse.plugins.js'; import * as interfaces from './interfaces/index.js'; export class ClientUniverseMessage implements interfaces.IUniverseMessage { // ====== // STATIC // ====== public static createMessageFromMessageDescriptor(messageDescriptor: interfaces.IUniverseMessage) { const clientuniverseMessage = new ClientUniverseMessage(messageDescriptor); return clientuniverseMessage; } // ======== // INSTANCE // ======== // properties public id: string; public timestamp: number; public smartTimestamp: plugins.smarttime.TimeStamp; public messageText: string; public passphrase: string; public payload: T; public targetChannelName: string; constructor(messageArg: interfaces.IUniverseMessage) { this.id = messageArg.id; this.timestamp = messageArg.timestamp; this.smartTimestamp = new plugins.smarttime.TimeStamp(this.timestamp); this.messageText = messageArg.messageText; this.passphrase = messageArg.passphrase; this.payload = messageArg.payload as T; this.targetChannelName = messageArg.targetChannelName; } /** * gets json for payload */ getAsJsonForPayload() {} }