diff --git a/src/html.js b/src/html.js
index 326143c..1ab47cf 100644
--- a/src/html.js
+++ b/src/html.js
@@ -24,7 +24,8 @@ const html = (literals, ...expressions) => {
let accumulator = "";
for (let index = 0; index < expressions.length; ++index) {
- const expression =
+ let literal = literals.raw[index];
+ let expression =
typeof expressions[index] === "string"
? expressions[index]
: expressions[index] == null
@@ -33,16 +34,13 @@ const html = (literals, ...expressions) => {
? expressions[index].join("")
: `${expressions[index]}`;
- if (
- literals.raw[index].length &&
- literals.raw[index].charCodeAt(literals.raw[index].length - 1) === 33
- ) {
- accumulator += literals.raw[index].slice(0, -1) + expression;
- continue;
+ if (literal.length && literal.charCodeAt(literal.length - 1) === 33) {
+ literal = literal.slice(0, -1);
+ } else if (expression.length) {
+ expression = expression.replace(escapeRegExp, escapeFunction);
}
- accumulator +=
- literals.raw[index] + expression.replace(escapeRegExp, escapeFunction);
+ accumulator += literal + expression;
}
accumulator += literals.raw[expressions.length];