Skip to content

Commit 567d1b3

Browse files
authored
fix: keep parens around ts type assertion in update expr (#515)
1 parent 76707bf commit 567d1b3

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

src/generation/generate.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2742,9 +2742,9 @@ fn should_skip_paren_expr(node: &ParenExpr, context: &Context) -> bool {
27422742
}
27432743
}
27442744

2745-
// keep for `(val as number)++`
2745+
// keep for `(val as number)++` or `(<number>val)++`
27462746
let parent = node.parent();
2747-
if parent.kind() == NodeKind::UpdateExpr && node.expr.kind() == NodeKind::TsAsExpr {
2747+
if parent.kind() == NodeKind::UpdateExpr && matches!(node.expr.kind(), NodeKind::TsAsExpr | NodeKind::TsTypeAssertion) {
27482748
return false;
27492749
}
27502750

tests/specs/expressions/ParenExpr/ParenExpr_All.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,3 +223,11 @@ test = (/* 1 */ other /* 2 */);
223223

224224
[expect]
225225
test = /* 1 */ other /* 2 */;
226+
227+
== should keep for update expr with assertion ==
228+
(<number>thing)--;
229+
(thing as number)--;
230+
231+
[expect]
232+
(<number> thing)--;
233+
(thing as number)--;

0 commit comments

Comments
 (0)