Skip to content

Commit 7322128

Browse files
committed
fix
1 parent 0983978 commit 7322128

File tree

4 files changed

+14
-5
lines changed

4 files changed

+14
-5
lines changed

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

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import {
1414
} from '../../../../constants.js';
1515
import { dev } from '../../../state.js';
1616
import { get_value } from './visitors/shared/declarations.js';
17+
import { walk } from 'zimmerframe';
1718

1819
/**
1920
* @param {Binding} binding
@@ -361,6 +362,17 @@ export function trace(node, expression, state) {
361362
const loc = node.loc;
362363
const source = state.source;
363364
let code = '';
365+
let bailout = false;
366+
367+
walk(expression, null, {
368+
AwaitExpression() {
369+
bailout = true;
370+
}
371+
})
372+
373+
if (bailout) {
374+
return expression;
375+
}
364376

365377
if (loc) {
366378
const start = loc.start;

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

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,7 @@ export function CallExpression(node, context) {
6262
);
6363
}
6464

65-
const parent = context.path.at(-1);
66-
67-
if (dev && parent?.type !== 'AwaitExpression') {
65+
if (dev) {
6866
return trace(
6967
node,
7068
{

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ export function Identifier(node, context) {
4343
}
4444
}
4545

46-
if (dev && transformed && transformed !== node && parent.type !== 'AwaitExpression') {
46+
if (transformed && transformed !== node && dev) {
4747
return trace(node, transformed, context.state);
4848
}
4949

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ export function MemberExpression(node, context) {
2828
parent?.type !== 'AssignmentExpression' &&
2929
parent?.type !== 'UpdateExpression' &&
3030
parent?.type !== 'Component' &&
31-
parent?.type !== 'AwaitExpression' &&
3231
!node.optional
3332
) {
3433
return trace(

0 commit comments

Comments
 (0)