From 80250fdac9483f7cf738632f0b315bd911527757 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Wed, 17 Apr 2024 13:23:50 +0200 Subject: [PATCH] Better treatment of invalid HtmlFragments --- packages/html2/src/html.ts | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/packages/html2/src/html.ts b/packages/html2/src/html.ts index 4bf1c81..a324512 100644 --- a/packages/html2/src/html.ts +++ b/packages/html2/src/html.ts @@ -70,7 +70,22 @@ function nodeInserter(n: number): PlaceholderAction { switch (typeof f) { case 'string': newNode = document.createTextNode(f); break; case 'number': newNode = document.createTextNode('' + f); break; - default: newNode = f; break; + case 'object': + if (f !== null && 'nodeType' in f) { + newNode = f; + break; + } + /* fall through */ + default: { + let info; + try { + info = '' + f; + } catch (_e) { + info = (f as any).toString(); + } + newNode = document.createTextNode(``); + break; + } } node.parentNode?.insertBefore(newNode, node); }