From 3c46a07a1e4bc04acc752379b237852dc0be9180 Mon Sep 17 00:00:00 2001 From: RMidhunSuresh Date: Sat, 8 May 2021 19:02:44 +0530 Subject: [PATCH] Implement object format to represent chat messages Every chat text message can be split into parts such as text, newline and links. Signed-off-by: RMidhunSuresh --- src/domain/MessageObjectFormat.js | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 src/domain/MessageObjectFormat.js diff --git a/src/domain/MessageObjectFormat.js b/src/domain/MessageObjectFormat.js new file mode 100644 index 00000000..461856b4 --- /dev/null +++ b/src/domain/MessageObjectFormat.js @@ -0,0 +1,24 @@ +export class MessageObjectFormat { + + constructor(message = []) { + this._root = message; + } + + insertText(text) { + if (text.length) + this._root.push({ type: "text", text: text }); + } + + insertLink(link, displayText) { + this._root.push({ type: "link", url: link, text: displayText }); + } + + insertNewline() { + this._root.push({ type: "newline" }); + } + + [Symbol.iterator]() { + return this._root.values(); + } + +}