Yield expression parens (#16194)
Co-authored-by: fisker Cheung <lionkay@gmail.com>
This commit is contained in:
1 parent
7982771bd6
commit
48c9bc4aea
4 files changed
+37
-1
No files matched your search
@@ -0,0 +1,21 @@
|
||||
#### Add necessary parentheses to yield expressions (#16194 by @kirkwaiblinger)
|
||||
|
||||
Add parentheses around yield expressions if parent is an angle-bracket type assertion.
|
||||
|
||||
<!-- prettier-ignore -->
|
||||
```ts
|
||||
// Input
|
||||
function* g() {
|
||||
const y = <T>(yield x);
|
||||
}
|
||||
|
||||
// Prettier stable
|
||||
function* g() {
|
||||
const y = <T>yield x;
|
||||
}
|
||||
|
||||
// Prettier main
|
||||
function* g() {
|
||||
const y = <T>(yield x);
|
||||
}
|
||||
```
|
||||
@@ -472,7 +472,10 @@ function needsParens(path, options) {
|
||||
}
|
||||
|
||||
case "YieldExpression":
|
||||
if (parent.type === "AwaitExpression") {
|
||||
if (
|
||||
parent.type === "AwaitExpression" ||
|
||||
parent.type === "TSTypeAssertion"
|
||||
) {
|
||||
return true;
|
||||
}
|
||||
// else fallthrough
|
||||
|
||||
@@ -355,6 +355,10 @@ true || <x>a;
|
||||
<x>a + <x>b;
|
||||
(<x>a) = 1;
|
||||
|
||||
function * g() {
|
||||
const a = <T>(yield b);
|
||||
}
|
||||
|
||||
=====================================output=====================================
|
||||
<DocumentHighlightKind>(a ? b : c);
|
||||
<any>(() => {});
|
||||
@@ -365,6 +369,10 @@ true || <x>a;
|
||||
<x>a + <x>b;
|
||||
(<x>a) = 1;
|
||||
|
||||
function* g() {
|
||||
const a = <T>(yield b);
|
||||
}
|
||||
|
||||
================================================================================
|
||||
`;
|
||||
|
||||
|
||||
@@ -6,3 +6,7 @@
|
||||
true || <x>a;
|
||||
<x>a + <x>b;
|
||||
(<x>a) = 1;
|
||||
|
||||
function * g() {
|
||||
const a = <T>(yield b);
|
||||
}
|
||||
Reference in new issue
Block a user