Skip to content

Commit 509ba56

Browse files
authored
fix: create fewer deriveds for concatenated strings (#15041)
* fix: create fewer deriveds for concatenated strings * stringified_text -> expression
1 parent 2aefc54 commit 509ba56

File tree

3 files changed

+10
-5
lines changed

3 files changed

+10
-5
lines changed

.changeset/rich-donkeys-wink.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'svelte': patch
3+
---
4+
5+
fix: create fewer deriveds for concatenated strings

packages/svelte/src/compiler/phases/3-transform/client/visitors/shared/utils.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ export function build_template_chunk(values, visit, state) {
4747
quasi.value.cooked += node.expression.value + '';
4848
}
4949
} else {
50-
if (contains_multiple_call_expression) {
51-
const id = b.id(state.scope.generate('stringified_text'));
50+
if (node.metadata.expression.has_call && contains_multiple_call_expression) {
51+
const id = b.id(state.scope.generate('expression'));
5252
state.init.push(
5353
b.const(
5454
id,

packages/svelte/tests/snapshot/samples/text-nodes-deriveds/_expected/client/index.svelte.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@ export default function Text_nodes_deriveds($$anchor) {
1616
}
1717

1818
var p = root();
19-
const stringified_text = $.derived(() => text1() ?? '');
20-
const stringified_text_1 = $.derived(() => text2() ?? '');
19+
const expression = $.derived(() => text1() ?? '');
20+
const expression_1 = $.derived(() => text2() ?? '');
2121
var text = $.child(p);
2222

23-
$.template_effect(() => $.set_text(text, `${$.get(stringified_text)}${$.get(stringified_text_1)}`));
23+
$.template_effect(() => $.set_text(text, `${$.get(expression)}${$.get(expression_1)}`));
2424
$.reset(p);
2525
$.append($$anchor, p);
2626
}

0 commit comments

Comments
 (0)