Skip to content

Commit 8aa8e69

Browse files
authored
fix: handle TypeScript parameter properties (#11928)
1 parent 7714c93 commit 8aa8e69

File tree

2 files changed

+13
-4
lines changed

2 files changed

+13
-4
lines changed

packages/svelte/src/compiler/phases/1-parse/remove_typescript_nodes.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,9 @@ const visitors = {
7474
TSEnumDeclaration() {
7575
return b.empty;
7676
},
77+
TSParameterProperty(node) {
78+
return node.parameter;
79+
},
7780
Identifier(node) {
7881
if (node.typeAnnotation) {
7982
return {

packages/svelte/tests/runtime-runes/samples/typescript/main.svelte

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,17 @@
11
<script context="module" lang="ts">
2-
interface Hello { message: 'hello' }
2+
interface Hello {
3+
message: 'hello';
4+
}
35
type Goodbye = { message: 'goodbye' };
46
57
function this_fn(this: any) {
68
console.log(this);
79
}
810
11+
class Foo {
12+
constructor(public readonly name: string) {}
13+
}
14+
915
export type { Hello };
1016
</script>
1117

@@ -19,9 +25,9 @@
1925
} satisfies Goodbye;
2026
</script>
2127

22-
<button
23-
on:click={(e: MouseEvent) => {
28+
<button on:click={(e: MouseEvent) => {
2429
const next: number = count + 1;
2530
count = next! as number;
2631
}}
27-
>clicks: {count}</button>
32+
>clicks: {count}</button
33+
>

0 commit comments

Comments
 (0)