Skip to content

Commit 49d433b

Browse files
authored
fix: correctly handle parenthesised FunctionExpressions (#49)
fixes sveltejs/svelte#14595
1 parent 4b2ed6b commit 49d433b

File tree

5 files changed

+29
-1
lines changed

5 files changed

+29
-1
lines changed

.changeset/fresh-dolphins-grow.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'esrap': patch
3+
---
4+
5+
fix: correctly handle parenthesised FunctionExpressions

src/handlers.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1054,7 +1054,8 @@ const handlers = {
10541054
if (
10551055
node.expression.type === 'ObjectExpression' ||
10561056
(node.expression.type === 'AssignmentExpression' &&
1057-
node.expression.left.type === 'ObjectPattern')
1057+
node.expression.left.type === 'ObjectPattern') ||
1058+
node.expression.type === 'FunctionExpression'
10581059
) {
10591060
// is an AssignmentExpression to an ObjectPattern
10601061
state.commands.push('(');
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
(function () {});
2+
3+
let object = { foo() {} };

test/samples/function-expression/expected.js.map

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
(function(){
2+
3+
})
4+
let object = {
5+
foo() {
6+
7+
}
8+
}

0 commit comments

Comments
 (0)