Remove "Node" class from generator, just use module
The Node class was unused as a class
This commit is contained in:
parent
6bb7eb0c78
commit
8fd329a2f4
@ -3,7 +3,7 @@
|
||||
import isInteger from "is-integer";
|
||||
import isNumber from "lodash/lang/isNumber";
|
||||
import * as t from "babel-types";
|
||||
import n from "../node";
|
||||
import * as n from "../node";
|
||||
|
||||
const SCIENTIFIC_NOTATION = /e/i;
|
||||
const ZERO_DECIMAL_INTEGER = /\.0+$/;
|
||||
|
||||
@ -2,7 +2,6 @@
|
||||
|
||||
import whitespace from "./whitespace";
|
||||
import * as parens from "./parentheses";
|
||||
import each from "lodash/collection/each";
|
||||
import * as t from "babel-types";
|
||||
|
||||
function find(obj, node, parent, printStack) {
|
||||
@ -36,20 +35,12 @@ function isOrHasCallExpression(node) {
|
||||
}
|
||||
}
|
||||
|
||||
export default class Node {
|
||||
constructor(node: Object, parent: Object) {
|
||||
this.parent = parent;
|
||||
this.node = node;
|
||||
}
|
||||
|
||||
parent: Object;
|
||||
node: Object;
|
||||
|
||||
static isUserWhitespacable(node) {
|
||||
export function isUserWhitespacable(node) {
|
||||
return t.isUserWhitespacable(node);
|
||||
}
|
||||
|
||||
static needsWhitespace(node, parent, type) {
|
||||
export function needsWhitespace(node, parent, type) {
|
||||
if (!node) return 0;
|
||||
|
||||
if (t.isExpressionStatement(node)) {
|
||||
@ -62,7 +53,7 @@ export default class Node {
|
||||
let items = find(whitespace.list, node, parent);
|
||||
if (items) {
|
||||
for (let i = 0; i < items.length; i++) {
|
||||
linesInfo = Node.needsWhitespace(items[i], node, type);
|
||||
linesInfo = needsWhitespace(items[i], node, type);
|
||||
if (linesInfo) break;
|
||||
}
|
||||
}
|
||||
@ -71,15 +62,15 @@ export default class Node {
|
||||
return (linesInfo && linesInfo[type]) || 0;
|
||||
}
|
||||
|
||||
static needsWhitespaceBefore(node, parent) {
|
||||
return Node.needsWhitespace(node, parent, "before");
|
||||
export function needsWhitespaceBefore(node, parent) {
|
||||
return needsWhitespace(node, parent, "before");
|
||||
}
|
||||
|
||||
static needsWhitespaceAfter(node, parent) {
|
||||
return Node.needsWhitespace(node, parent, "after");
|
||||
export function needsWhitespaceAfter(node, parent) {
|
||||
return needsWhitespace(node, parent, "after");
|
||||
}
|
||||
|
||||
static needsParens(node, parent, printStack) {
|
||||
export function needsParens(node, parent, printStack) {
|
||||
if (!parent) return false;
|
||||
|
||||
if (t.isNewExpression(parent) && parent.callee === node) {
|
||||
@ -88,20 +79,3 @@ export default class Node {
|
||||
|
||||
return find(parens, node, parent, printStack);
|
||||
}
|
||||
}
|
||||
|
||||
each(Node, function (fn, key) {
|
||||
Node.prototype[key] = function () {
|
||||
// Avoid leaking arguments to prevent deoptimization
|
||||
let args = new Array(arguments.length + 2);
|
||||
|
||||
args[0] = this.node;
|
||||
args[1] = this.parent;
|
||||
|
||||
for (let i = 0; i < args.length; i++) {
|
||||
args[i + 2] = arguments[i];
|
||||
}
|
||||
|
||||
return Node[key].apply(null, args);
|
||||
};
|
||||
});
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import repeating from "repeating";
|
||||
import Buffer from "./buffer";
|
||||
import n from "./node";
|
||||
import * as n from "./node";
|
||||
import * as t from "babel-types";
|
||||
|
||||
export default class Printer extends Buffer {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user