Run prettier
This commit is contained in:
@@ -7,15 +7,16 @@ function expandAliases(obj) {
|
||||
|
||||
function add(type, func) {
|
||||
const fn = newObj[type];
|
||||
newObj[type] = fn ? function(node, parent, stack) {
|
||||
const result = fn(node, parent, stack);
|
||||
newObj[type] = fn
|
||||
? function(node, parent, stack) {
|
||||
const result = fn(node, parent, stack);
|
||||
|
||||
return result == null ? func(node, parent, stack) : result;
|
||||
} : func;
|
||||
return result == null ? func(node, parent, stack) : result;
|
||||
}
|
||||
: func;
|
||||
}
|
||||
|
||||
for (const type of Object.keys(obj)) {
|
||||
|
||||
const aliases = t.FLIPPED_ALIAS_KEYS[type];
|
||||
if (aliases) {
|
||||
for (const alias of aliases) {
|
||||
@@ -46,8 +47,10 @@ function isOrHasCallExpression(node) {
|
||||
}
|
||||
|
||||
if (t.isMemberExpression(node)) {
|
||||
return isOrHasCallExpression(node.object) ||
|
||||
(!node.computed && isOrHasCallExpression(node.property));
|
||||
return (
|
||||
isOrHasCallExpression(node.object) ||
|
||||
(!node.computed && isOrHasCallExpression(node.property))
|
||||
);
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -38,11 +38,19 @@ export function UpdateExpression(node: Object, parent: Object): boolean {
|
||||
return t.isMemberExpression(parent) && parent.object === node;
|
||||
}
|
||||
|
||||
export function ObjectExpression(node: Object, parent: Object, printStack: Array<Object>): boolean {
|
||||
export function ObjectExpression(
|
||||
node: Object,
|
||||
parent: Object,
|
||||
printStack: Array<Object>,
|
||||
): boolean {
|
||||
return isFirstInStatement(printStack, { considerArrow: true });
|
||||
}
|
||||
|
||||
export function DoExpression(node: Object, parent: Object, printStack: Array<Object>): boolean {
|
||||
export function DoExpression(
|
||||
node: Object,
|
||||
parent: Object,
|
||||
printStack: Array<Object>,
|
||||
): boolean {
|
||||
return isFirstInStatement(printStack);
|
||||
}
|
||||
|
||||
@@ -55,7 +63,8 @@ export function Binary(node: Object, parent: Object): boolean {
|
||||
}
|
||||
|
||||
if (
|
||||
((t.isCallExpression(parent) || t.isNewExpression(parent)) && parent.callee === node) ||
|
||||
((t.isCallExpression(parent) || t.isNewExpression(parent)) &&
|
||||
parent.callee === node) ||
|
||||
t.isUnaryLike(parent) ||
|
||||
(t.isMemberExpression(parent) && parent.object === node) ||
|
||||
t.isAwaitExpression(parent)
|
||||
@@ -72,7 +81,9 @@ export function Binary(node: Object, parent: Object): boolean {
|
||||
|
||||
if (
|
||||
// Logical expressions with the same precedence don't need parens.
|
||||
(parentPos === nodePos && parent.right === node && !t.isLogicalExpression(parent)) ||
|
||||
(parentPos === nodePos &&
|
||||
parent.right === node &&
|
||||
!t.isLogicalExpression(parent)) ||
|
||||
parentPos > nodePos
|
||||
) {
|
||||
return true;
|
||||
@@ -85,11 +96,13 @@ export function Binary(node: Object, parent: Object): boolean {
|
||||
export function BinaryExpression(node: Object, parent: Object): boolean {
|
||||
// let i = (1 in []);
|
||||
// for ((1 in []);;);
|
||||
return node.operator === "in" && (t.isVariableDeclarator(parent) || t.isFor(parent));
|
||||
return (
|
||||
node.operator === "in" &&
|
||||
(t.isVariableDeclarator(parent) || t.isFor(parent))
|
||||
);
|
||||
}
|
||||
|
||||
export function SequenceExpression(node: Object, parent: Object): boolean {
|
||||
|
||||
if (
|
||||
// Although parentheses wouldn"t hurt around sequence
|
||||
// expressions in the head of for loops, traditional style
|
||||
@@ -113,29 +126,40 @@ export function SequenceExpression(node: Object, parent: Object): boolean {
|
||||
}
|
||||
|
||||
export function YieldExpression(node: Object, parent: Object): boolean {
|
||||
return t.isBinary(parent) ||
|
||||
t.isUnaryLike(parent) ||
|
||||
t.isCallExpression(parent) ||
|
||||
t.isMemberExpression(parent) ||
|
||||
t.isNewExpression(parent) ||
|
||||
(t.isConditionalExpression(parent) && node === parent.test);
|
||||
|
||||
return (
|
||||
t.isBinary(parent) ||
|
||||
t.isUnaryLike(parent) ||
|
||||
t.isCallExpression(parent) ||
|
||||
t.isMemberExpression(parent) ||
|
||||
t.isNewExpression(parent) ||
|
||||
(t.isConditionalExpression(parent) && node === parent.test)
|
||||
);
|
||||
}
|
||||
|
||||
export { YieldExpression as AwaitExpression };
|
||||
|
||||
export function ClassExpression(node: Object, parent: Object, printStack: Array<Object>): boolean {
|
||||
export function ClassExpression(
|
||||
node: Object,
|
||||
parent: Object,
|
||||
printStack: Array<Object>,
|
||||
): boolean {
|
||||
return isFirstInStatement(printStack, { considerDefaultExports: true });
|
||||
}
|
||||
|
||||
export function UnaryLike(node: Object, parent: Object): boolean {
|
||||
return t.isMemberExpression(parent, { object: node }) ||
|
||||
t.isCallExpression(parent, { callee: node }) ||
|
||||
t.isNewExpression(parent, { callee: node }) ||
|
||||
t.isBinaryExpression(parent, { operator: "**", left: node });
|
||||
return (
|
||||
t.isMemberExpression(parent, { object: node }) ||
|
||||
t.isCallExpression(parent, { callee: node }) ||
|
||||
t.isNewExpression(parent, { callee: node }) ||
|
||||
t.isBinaryExpression(parent, { operator: "**", left: node })
|
||||
);
|
||||
}
|
||||
|
||||
export function FunctionExpression(node: Object, parent: Object, printStack: Array<Object>): boolean {
|
||||
export function FunctionExpression(
|
||||
node: Object,
|
||||
parent: Object,
|
||||
printStack: Array<Object>,
|
||||
): boolean {
|
||||
return isFirstInStatement(printStack, { considerDefaultExports: true });
|
||||
}
|
||||
|
||||
@@ -167,10 +191,10 @@ export function AssignmentExpression(node: Object): boolean {
|
||||
|
||||
// Walk up the print stack to deterimine if our node can come first
|
||||
// in statement.
|
||||
function isFirstInStatement(printStack: Array<Object>, {
|
||||
considerArrow = false,
|
||||
considerDefaultExports = false,
|
||||
} = {}): boolean {
|
||||
function isFirstInStatement(
|
||||
printStack: Array<Object>,
|
||||
{ considerArrow = false, considerDefaultExports = false } = {},
|
||||
): boolean {
|
||||
let i = printStack.length - 1;
|
||||
let node = printStack[i];
|
||||
i--;
|
||||
@@ -179,8 +203,9 @@ function isFirstInStatement(printStack: Array<Object>, {
|
||||
if (
|
||||
t.isExpressionStatement(parent, { expression: node }) ||
|
||||
t.isTaggedTemplateExpression(parent) ||
|
||||
considerDefaultExports && t.isExportDefaultDeclaration(parent, { declaration: node }) ||
|
||||
considerArrow && t.isArrowFunctionExpression(parent, { body: node })
|
||||
(considerDefaultExports &&
|
||||
t.isExportDefaultDeclaration(parent, { declaration: node })) ||
|
||||
(considerArrow && t.isArrowFunctionExpression(parent, { body: node }))
|
||||
) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ import * as t from "babel-types";
|
||||
|
||||
type WhitespaceObject = {
|
||||
before?: boolean,
|
||||
after?: boolean
|
||||
after?: boolean,
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -45,15 +45,22 @@ function isHelper(node) {
|
||||
} else if (t.isCallExpression(node)) {
|
||||
return isHelper(node.callee);
|
||||
} else if (t.isBinary(node) || t.isAssignmentExpression(node)) {
|
||||
return (t.isIdentifier(node.left) && isHelper(node.left)) || isHelper(node.right);
|
||||
return (
|
||||
(t.isIdentifier(node.left) && isHelper(node.left)) || isHelper(node.right)
|
||||
);
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function isType(node) {
|
||||
return t.isLiteral(node) || t.isObjectExpression(node) || t.isArrayExpression(node) ||
|
||||
t.isIdentifier(node) || t.isMemberExpression(node);
|
||||
return (
|
||||
t.isLiteral(node) ||
|
||||
t.isObjectExpression(node) ||
|
||||
t.isArrayExpression(node) ||
|
||||
t.isIdentifier(node) ||
|
||||
t.isMemberExpression(node)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -61,7 +68,6 @@ function isType(node) {
|
||||
*/
|
||||
|
||||
export const nodes = {
|
||||
|
||||
/**
|
||||
* Test if AssignmentExpression needs whitespace.
|
||||
*/
|
||||
@@ -164,9 +170,10 @@ export const nodes = {
|
||||
* Test if Property needs whitespace.
|
||||
*/
|
||||
|
||||
nodes.ObjectProperty =
|
||||
nodes.ObjectTypeProperty =
|
||||
nodes.ObjectMethod = function (node: Object, parent): ?WhitespaceObject {
|
||||
nodes.ObjectProperty = nodes.ObjectTypeProperty = nodes.ObjectMethod = function(
|
||||
node: Object,
|
||||
parent,
|
||||
): ?WhitespaceObject {
|
||||
if (parent.properties[0] === node) {
|
||||
return {
|
||||
before: true,
|
||||
@@ -179,7 +186,6 @@ nodes.ObjectMethod = function (node: Object, parent): ?WhitespaceObject {
|
||||
*/
|
||||
|
||||
export const list = {
|
||||
|
||||
/**
|
||||
* Return VariableDeclaration declarations init properties.
|
||||
*/
|
||||
@@ -216,12 +222,12 @@ export const list = {
|
||||
["LabeledStatement", true],
|
||||
["SwitchStatement", true],
|
||||
["TryStatement", true],
|
||||
].forEach(function ([type, amounts]) {
|
||||
].forEach(function([type, amounts]) {
|
||||
if (typeof amounts === "boolean") {
|
||||
amounts = { after: amounts, before: amounts };
|
||||
}
|
||||
[type].concat(t.FLIPPED_ALIAS_KEYS[type] || []).forEach(function (type) {
|
||||
nodes[type] = function () {
|
||||
[type].concat(t.FLIPPED_ALIAS_KEYS[type] || []).forEach(function(type) {
|
||||
nodes[type] = function() {
|
||||
return amounts;
|
||||
};
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user