From 7defefa8ed8a4d83ba634423fb07264840fb4e92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=BCrg=C3=BCn=20Day=C4=B1o=C4=9Flu?= Date: Fri, 5 Apr 2024 19:35:28 +0200 Subject: [PATCH] add length checks and only send non empty strings --- src/html.js | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/html.js b/src/html.js index 104e196..9b3eabe 100644 --- a/src/html.js +++ b/src/html.js @@ -74,14 +74,17 @@ const htmlGenerator = function* (literals, ...expressions) { const isRaw = literal.length > 0 && literal.charCodeAt(literal.length - 1) === 33; - yield isRaw ? literal.slice(0, -1) : literal; + if (literal.length) { + yield isRaw ? literal.slice(0, -1) : literal; + } for (const value of expressions[index]) { + expression = typeof value === "string" ? value : `${value ?? ""}`; + yield isRaw ? value : value.replace(escapeRegExp, escapeFunction); } ++index; - continue; } @@ -94,12 +97,18 @@ const htmlGenerator = function* (literals, ...expressions) { expression = expression.replace(escapeRegExp, escapeFunction); } - yield literal + expression; + literal += expression; + + if (literal.length) { + yield literal; + } ++index; } - yield literals.raw[index]; + if (literals.raw[index].length) { + yield literals.raw[index]; + } }; export { html, htmlGenerator };