From 7aac2c4e297593b2a89a2fdc3a25f8a20267b9c3 Mon Sep 17 00:00:00 2001 From: Aya Morisawa Date: Sun, 19 Aug 2018 00:31:25 +0900 Subject: [PATCH] Clean up --- src/mfm/html.ts | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/mfm/html.ts b/src/mfm/html.ts index 1544ac34f..c798ee410 100644 --- a/src/mfm/html.ts +++ b/src/mfm/html.ts @@ -5,6 +5,10 @@ import config from '../config'; import { INote } from '../models/note'; import { TextElement } from './parse'; +function intersperse(sep: T, xs: T[]): T[] { + return [].concat(...xs.map(x => [sep, x])).slice(1); +} + const handlers: { [key: string]: (window: any, token: any, mentionedRemoteUsers: INote['mentionedRemoteUsers']) => void } = { bold({ document }, { bold }) { const b = document.createElement('b'); @@ -80,12 +84,9 @@ const handlers: { [key: string]: (window: any, token: any, mentionedRemoteUsers: }, text({ document }, { content }) { - const t = content.split('\n'); - for (let i = 0; i < t.length; i++) { - document.body.appendChild(document.createTextNode(t[i])); - if (i != t.length - 1) { - document.body.appendChild(document.createElement('br')); - } + const nodes = (content as string).split('\n').map(x => document.createTextNode(x)); + for (const x of intersperse(document.createElement('br'), nodes)) { + document.body.appendChild(x); } },