diff --git a/packages/babel-generator/src/node/parentheses.js b/packages/babel-generator/src/node/parentheses.js index 809c584cc6..0f78d5276a 100644 --- a/packages/babel-generator/src/node/parentheses.js +++ b/packages/babel-generator/src/node/parentheses.js @@ -203,6 +203,10 @@ export function ArrowFunctionExpression(node, parent) { return true; } + if (t.isUnaryExpression(parent)) { + return true; + } + return UnaryLike(node, parent); } diff --git a/packages/babel-generator/test/fixtures/parentheses/unary-arrow-function/actual.js b/packages/babel-generator/test/fixtures/parentheses/unary-arrow-function/actual.js new file mode 100644 index 0000000000..a527c3b975 --- /dev/null +++ b/packages/babel-generator/test/fixtures/parentheses/unary-arrow-function/actual.js @@ -0,0 +1,3 @@ +void (() => {}); +typeof (() => {}); +!(() => {}); diff --git a/packages/babel-generator/test/fixtures/parentheses/unary-arrow-function/expected.js b/packages/babel-generator/test/fixtures/parentheses/unary-arrow-function/expected.js new file mode 100644 index 0000000000..a527c3b975 --- /dev/null +++ b/packages/babel-generator/test/fixtures/parentheses/unary-arrow-function/expected.js @@ -0,0 +1,3 @@ +void (() => {}); +typeof (() => {}); +!(() => {});