Skip to content

Commit 784d07b

Browse files
committed
only memoize function calls that can't be evaluated
1 parent 3adf47d commit 784d07b

File tree

1 file changed

+5
-4
lines changed
  • packages/svelte/src/compiler/phases/3-transform/client/visitors/shared

1 file changed

+5
-4
lines changed

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

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,13 +64,14 @@ export function build_template_chunk(
6464
node.expression.name !== 'undefined' ||
6565
state.scope.get('undefined')
6666
) {
67-
let value = memoize(
68-
/** @type {Expression} */ (visit(node.expression, state)),
69-
node.metadata.expression
70-
);
67+
let value = /** @type {Expression} */ (visit(node.expression, state));
7168

7269
const evaluated = state.scope.evaluate(value);
7370

71+
if (!evaluated.is_known) {
72+
value = memoize(value, node.metadata.expression);
73+
}
74+
7475
has_state ||= node.metadata.expression.has_state && !evaluated.is_known;
7576

7677
if (values.length === 1) {

0 commit comments

Comments
 (0)