io-syncify
Version:
跨进程、跨服务器之间通信同步化
41 lines (37 loc) • 815 B
text/typescript
/**
* 消息
*/
export class Message {
/**
* 消息ID
*/
id: string;
/**
* 内容
*/
text: string;
/**
* 消息创建时间戳
*/
timestamp: number;
constructor(id: string, text: string, timestamp?: number) {
this.id = id;
this.text = text;
this.timestamp = timestamp ? timestamp : Date.now();
}
/**
* JSON数组格式字符串
*/
toJsonArrayString(): string {
return JSON.stringify([this.id, this.text, this.timestamp]);
}
/**
*
* @param {string} jsonArrayString
* @return {Message}
*/
static fromJsonArrayString(jsonArrayString: string) : Message {
let array = JSON.parse(jsonArrayString);
return new Message(array[0], array[1], array[2]);
}
}