Skip to content

Commit 4752939

Browse files
authored
Fix error in member expr on LHS of reactive statement with TS (#214)
* Fix error in member expr on LHS of reactive statement with TS * Create long-rabbits-remain.md * add comment
1 parent 7205615 commit 4752939

File tree

6 files changed

+11536
-1
lines changed

6 files changed

+11536
-1
lines changed

Diff for: .changeset/long-rabbits-remain.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"svelte-eslint-parser": patch
3+
---
4+
5+
Fix error in member expr on LHS of reactive statement with TS

Diff for: src/parser/analyze-type/index.ts

+8-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,14 @@ function appendDeclareSvelteVarsTypesFromAST(
5353
node.label.name !== "$" ||
5454
parent !== result.ast ||
5555
node.body.type !== "ExpressionStatement" ||
56-
node.body.expression.type !== "AssignmentExpression"
56+
node.body.expression.type !== "AssignmentExpression" ||
57+
// Must be a pattern that can be used in the LHS of variable declarations.
58+
// https://github.com/ota-meshi/svelte-eslint-parser/issues/213
59+
(node.body.expression.left.type !== "Identifier" &&
60+
node.body.expression.left.type !== "ArrayPattern" &&
61+
node.body.expression.left.type !== "ObjectPattern" &&
62+
node.body.expression.left.type !== "AssignmentPattern" &&
63+
node.body.expression.left.type !== "RestElement")
5764
) {
5865
return;
5966
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<script lang="ts">
2+
const num = 42
3+
const obj:{ foo?: number } = {}
4+
$: obj.foo = num
5+
</script>
6+
{obj.foo}

0 commit comments

Comments
 (0)