From 72ea9ee90cb234d5ee5a5e7ec1d9b18411e1dac1 Mon Sep 17 00:00:00 2001 From: jesopo Date: Wed, 2 Feb 2022 12:05:22 +0000 Subject: [PATCH] slightly better eventContent --- src/report/ReportManager.ts | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/src/report/ReportManager.ts b/src/report/ReportManager.ts index acfd88a..cfd6be4 100644 --- a/src/report/ReportManager.ts +++ b/src/report/ReportManager.ts @@ -693,29 +693,25 @@ class DisplayManager { // Ignore. } - enum OutType { - msg, text, html - } - - let eventContent: [OutType, string]; + let eventContent: { msg: string} | { html: string } | { text: string }; try { if (event["type"] === "m.room.encrypted") { - eventContent = [OutType.msg, ""]; + eventContent = { msg: "" }; } else if ("content" in event) { const MAX_EVENT_CONTENT_LENGTH = 2048; const MAX_NEWLINES = 64; if ("formatted_body" in event.content) { - eventContent = [OutType.html, this.limitLength(event.content.formatted_body, MAX_EVENT_CONTENT_LENGTH, MAX_NEWLINES)]; + eventContent = { html: this.limitLength(event.content.formatted_body, MAX_EVENT_CONTENT_LENGTH, MAX_NEWLINES) }; } else if ("body" in event.content) { - eventContent = [OutType.text, this.limitLength(event.content.body, MAX_EVENT_CONTENT_LENGTH, MAX_NEWLINES)]; + eventContent = { text: this.limitLength(event.content.body, MAX_EVENT_CONTENT_LENGTH, MAX_NEWLINES) }; } else { - eventContent = [OutType.text, this.limitLength(JSON.stringify(event["content"], null, 2), MAX_EVENT_CONTENT_LENGTH, MAX_NEWLINES)]; + eventContent = { text: this.limitLength(JSON.stringify(event["content"], null, 2), MAX_EVENT_CONTENT_LENGTH, MAX_NEWLINES) }; } } else { - eventContent = [OutType.msg, "Malformed event, cannot read content."]; + eventContent = { msg: "Malformed event, cannot read content." }; } } catch (ex) { - eventContent = [OutType.msg, `.`]; + eventContent = { msg: `.` }; } let accusedId = event["sender"]; @@ -843,13 +839,12 @@ class DisplayManager { ]) { let node = document.getElementById(key); if (node) { - let [outType, out]: [OutType, string] = value; - if (outType === OutType.msg) { - node.textContent = out; - } else if (outType === OutType.text) { - node.textContent = out; - } else if (outType === OutType.html) { - node.innerHTML = out; + if ("msg" in value) { + node.textContent = value.msg; + } else if ("text" in value) { + node.textContent = value.text; + } else if ("html" in value) { + node.innerHTML = value.html } } }