Skip to content

Commit 233e734

Browse files
committed
fix: handle falsy prop aliases correctly
fixes #10854
1 parent f219c79 commit 233e734

File tree

5 files changed

+21
-1
lines changed

5 files changed

+21
-1
lines changed

.changeset/strong-apricots-destroy.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: handle falsy prop aliases correctly

packages/svelte/src/compiler/phases/2-analyze/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -967,7 +967,7 @@ const runes_scope_tweaker = {
967967
const alias =
968968
property.key.type === 'Identifier'
969969
? property.key.name
970-
: /** @type {string} */ (/** @type {import('estree').Literal} */ (property.key).value);
970+
: String(/** @type {import('estree').Literal} */ (property.key).value);
971971
let initial = property.value.type === 'AssignmentPattern' ? property.value.right : null;
972972

973973
const binding = /** @type {import('#compiler').Binding} */ (state.scope.get(name));
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<script>
2+
let { 0: zero, 'ysc%%gibberish': one } = $props();
3+
</script>
4+
5+
{zero} {one}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import { test } from '../../test';
2+
3+
export default test({
4+
html: `0 1`
5+
});
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<script>
2+
import Child from './Child.svelte';
3+
</script>
4+
5+
<Child 0={0} ysc%%gibberish={1} />

0 commit comments

Comments
 (0)