Remove unnecessary parentheses around class expression (#14409)

This commit is contained in:
fisker Cheung authored and GitHub committed 2023-03-09 15:22:27 +08:00
1 parent dbd5e3fe26
commit 80419fa69e
4 files changed
+57 -61

No files matched your search

+23
View File
@@ -0,0 +1,23 @@
#### Remove unnecessary parentheses around class expression (#14409 by @fisker)
<!-- prettier-ignore -->
```jsx
// Input
call(
@dec class {}
);
// Prettier stable
call(
(
@dec
class {}
)
);
// Prettier main
call(
@dec
class {},
);
```
+2 -5
View File
@@ -155,7 +155,8 @@ function needsParens(path, options) {
node.type === "UnaryExpression" ||
node.type === "UpdateExpression" ||
node.type === "YieldExpression" ||
node.type === "TSNonNullExpression")
node.type === "TSNonNullExpression" ||
(node.type === "ClassExpression" && isNonEmptyArray(node.decorators)))
) {
return true;
}
@@ -766,10 +767,6 @@ function needsParens(path, options) {
}
case "ClassExpression":
if (isNonEmptyArray(node.decorators)) {
return true;
}
switch (parent.type) {
case "NewExpression":
return key === "callee";
@@ -51,20 +51,16 @@ export class Bar {}
export default class Baz {}
const foo =
(
@deco
class {
//
}
);
@deco
class {
//
};
const bar =
(
@deco
class {
//
}
);
@deco
class {
//
};
================================================================================
`;
@@ -293,18 +289,14 @@ printWidth: 80
@(decorators["first"])
method() {}
},
(
@(decorators[first])
class {
method() {}
}
),
(
@(decorators[0])
class {
method() {}
}
),
@(decorators[first])
class {
method() {}
},
@(decorators[0])
class {
method() {}
},
];
================================================================================
@@ -76,16 +76,12 @@ console.log(@deco class {})
=====================================output=====================================
console.log(
(
@deco
class Foo {}
),
@deco
class Foo {},
)
console.log(
(
@deco
class {}
),
@deco
class {},
)
================================================================================
@@ -102,16 +98,12 @@ console.log(@deco class {})
=====================================output=====================================
console.log(
(
@deco
class Foo {}
),
@deco
class Foo {},
);
console.log(
(
@deco
class {}
),
@deco
class {},
);
================================================================================
@@ -213,15 +205,11 @@ const b2 = []
=====================================output=====================================
const a1 =
(
@deco
class Foo {}
)
@deco
class Foo {}
const a2 =
(
@deco
class {}
)
@deco
class {}
;(
@deco
@@ -274,15 +262,11 @@ const b2 = []
=====================================output=====================================
const a1 =
(
@deco
class Foo {}
);
@deco
class Foo {};
const a2 =
(
@deco
class {}
);
@deco
class {};
(
@deco