Fix missing parens when function expressions is tag (#5193)

This commit is contained in:
Brian Ng 2017-01-23 10:45:57 -06:00 committed by Logan Smyth
parent c638985aca
commit b69dc51be0
3 changed files with 16 additions and 10 deletions

View File

@ -170,16 +170,14 @@ export function FunctionExpression(node: Object, parent: Object, printStack: Arr
}
export function ArrowFunctionExpression(node: Object, parent: Object): boolean {
// export default (function () {});
if (t.isExportDeclaration(parent)) {
return true;
}
if (t.isBinaryExpression(parent) || t.isLogicalExpression(parent)) {
return true;
}
if (t.isUnaryExpression(parent)) {
if (
// export default (function () {});
t.isExportDeclaration(parent) ||
t.isBinaryExpression(parent) ||
t.isLogicalExpression(parent) ||
t.isUnaryExpression(parent) ||
t.isTaggedTemplateExpression(parent)
) {
return true;
}
@ -225,6 +223,10 @@ function isFirstInStatement(printStack: Array<Object>, {
return true;
}
if (t.isTaggedTemplateExpression(parent)) {
return true;
}
if (considerDefaultExports && t.isExportDefaultDeclaration(parent, { declaration: node })) {
return true;
}

View File

@ -0,0 +1,2 @@
(() => {})``;
(function(){}``);

View File

@ -0,0 +1,2 @@
(() => {})``;
(function () {})``;