Skip to content

Commit 2b9dac1

Browse files
committed
Fix parenthesized NonNullAssert convert in member chain
1 parent fc266ec commit 2b9dac1

File tree

2 files changed

+2
-1
lines changed

2 files changed

+2
-1
lines changed

src/transform-node.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ function getOuterEnd(node: NGNode): number {
2222
}
2323

2424
function isOptionalObjectOrCallee(node: NGNode): boolean {
25-
if (node.type === 'TSNonNullExpression') {
25+
if (node.type === 'TSNonNullExpression' && !isParenthesized(node)) {
2626
return isOptionalObjectOrCallee(node.expression);
2727
}
2828

tests/transform.test.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ describe.each`
9090
${'PropertyRead'} | ${'OptionalMemberExpression'} | ${' a ?. b ( ) . c '} | ${true} | ${true} | ${true} | ${true}
9191
${'PropertyRead'} | ${'OptionalMemberExpression'} | ${' foo?.bar!.bam '} | ${true} | ${true} | ${true} | ${true}
9292
${'PropertyRead'} | ${'MemberExpression'} | ${' (foo?.bar)!.bam '} | ${true} | ${true} | ${true} | ${true}
93+
${'PropertyRead'} | ${'MemberExpression'} | ${' (foo?.bar!).bam '} | ${true} | ${true} | ${true} | ${true}
9394
${'Binary'} | ${'AssignmentExpression'} | ${' a . b = 1 '} | ${true} | ${false} | ${false} | ${false}
9495
${'Binary'} | ${'AssignmentExpression'} | ${' a = 1 '} | ${true} | ${false} | ${false} | ${false}
9596
${'Call'} | ${'OptionalCallExpression'} | ${' a ?. b ( ) '} | ${true} | ${true} | ${true} | ${true}

0 commit comments

Comments
 (0)