Skip to content

Commit 2aec7b7

Browse files
committed
simplify and fix (should use cooked, not raw)
1 parent 47851ca commit 2aec7b7

File tree

1 file changed

+12
-18
lines changed
  • packages/svelte/src/compiler/phases

1 file changed

+12
-18
lines changed

packages/svelte/src/compiler/phases/scope.js

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -471,26 +471,20 @@ class Evaluation {
471471
}
472472

473473
case 'TemplateLiteral': {
474-
const expressions = expression.expressions.map((expr) => scope.evaluate(expr));
475-
const all_are_known = expressions.every((evaluated) => evaluated.is_known);
476-
if (all_are_known) {
477-
let res = '';
478-
let quasi_index = 0;
479-
let expr_index = 0;
480-
let last_quasi = false;
481-
for (let i = 0; i < expressions.length + expression.quasis.length; i++) {
482-
if (last_quasi) {
483-
const expression = expressions[expr_index++];
484-
res += expression.value;
485-
} else {
486-
res += expression.quasis[quasi_index++].value.raw;
487-
}
488-
last_quasi = !last_quasi;
474+
let result = expression.quasis[0].value.cooked;
475+
476+
for (let i = 0; i < expression.expressions.length; i += 1) {
477+
const e = scope.evaluate(expression.expressions[i]);
478+
479+
if (e.is_known) {
480+
result += e.value + expression.quasis[i + 1].value.cooked;
481+
} else {
482+
this.values.add(STRING);
483+
break;
489484
}
490-
this.values.add(res);
491-
} else {
492-
this.values.add(STRING);
493485
}
486+
487+
this.values.add(result);
494488
break;
495489
}
496490

0 commit comments

Comments
 (0)