fix cyclic dependency issue in babel-types
This commit is contained in:
parent
d96ccd9763
commit
a59e5eecc8
@ -1,18 +1,20 @@
|
||||
/* @flow */
|
||||
|
||||
import * as t from "../index";
|
||||
|
||||
import {
|
||||
BINARY_OPERATORS,
|
||||
LOGICAL_OPERATORS,
|
||||
UNARY_OPERATORS,
|
||||
UPDATE_OPERATORS
|
||||
} from "../index";
|
||||
UPDATE_OPERATORS,
|
||||
} from "../constants";
|
||||
|
||||
import defineType, {
|
||||
assertValueType,
|
||||
assertNodeType,
|
||||
assertEach,
|
||||
chain,
|
||||
assertOneOf
|
||||
assertOneOf,
|
||||
} from "./index";
|
||||
|
||||
defineType("ArrayExpression", {
|
||||
@ -46,7 +48,7 @@ defineType("BinaryExpression", {
|
||||
builder: ["operator", "left", "right"],
|
||||
fields: {
|
||||
operator: {
|
||||
validate: assertOneOf(BINARY_OPERATORS)
|
||||
validate: assertOneOf(...BINARY_OPERATORS)
|
||||
},
|
||||
left: {
|
||||
validate: assertNodeType("Expression")
|
||||
@ -394,7 +396,7 @@ defineType("LogicalExpression", {
|
||||
aliases: ["Binary", "Expression"],
|
||||
fields: {
|
||||
operator: {
|
||||
validate: assertOneOf(LOGICAL_OPERATORS)
|
||||
validate: assertOneOf(...LOGICAL_OPERATORS)
|
||||
},
|
||||
left: {
|
||||
validate: assertNodeType("Expression")
|
||||
@ -626,7 +628,7 @@ defineType("UnaryExpression", {
|
||||
validate: assertNodeType("Expression")
|
||||
},
|
||||
operator: {
|
||||
validate: assertOneOf(UNARY_OPERATORS)
|
||||
validate: assertOneOf(...UNARY_OPERATORS)
|
||||
}
|
||||
},
|
||||
visitor: ["argument"],
|
||||
@ -643,7 +645,7 @@ defineType("UpdateExpression", {
|
||||
validate: assertNodeType("Expression")
|
||||
},
|
||||
operator: {
|
||||
validate: assertOneOf(UPDATE_OPERATORS)
|
||||
validate: assertOneOf(...UPDATE_OPERATORS)
|
||||
}
|
||||
},
|
||||
visitor: ["argument"],
|
||||
|
||||
@ -26,30 +26,9 @@ function registerType(type: string) {
|
||||
};
|
||||
}
|
||||
|
||||
export const STATEMENT_OR_BLOCK_KEYS = ["consequent", "body", "alternate"];
|
||||
export const FLATTENABLE_KEYS = ["body", "expressions"];
|
||||
export const FOR_INIT_KEYS = ["left", "init"];
|
||||
export const COMMENT_KEYS = ["leadingComments", "trailingComments", "innerComments"];
|
||||
//
|
||||
|
||||
export const INHERIT_KEYS = {
|
||||
optional: ["typeAnnotation", "typeParameters", "returnType"],
|
||||
force: ["start", "loc", "end"]
|
||||
};
|
||||
|
||||
export const UPDATE_OPERATORS = ["++", "--"];
|
||||
export const LOGICAL_OPERATORS = ["||", "&&"];
|
||||
|
||||
export const BOOLEAN_NUMBER_BINARY_OPERATORS = [">", "<", ">=", "<="];
|
||||
export const EQUALITY_BINARY_OPERATORS = ["==", "===", "!=", "!=="];
|
||||
export const COMPARISON_BINARY_OPERATORS = [...EQUALITY_BINARY_OPERATORS, "in", "instanceof"];
|
||||
export const BOOLEAN_BINARY_OPERATORS = [...COMPARISON_BINARY_OPERATORS, ...BOOLEAN_NUMBER_BINARY_OPERATORS];
|
||||
export const NUMBER_BINARY_OPERATORS = ["-", "/", "*", "**", "&", "|", ">>", ">>>", "<<", "^"];
|
||||
export const BINARY_OPERATORS = ["+", ...NUMBER_BINARY_OPERATORS, ...BOOLEAN_BINARY_OPERATORS];
|
||||
|
||||
export const BOOLEAN_UNARY_OPERATORS = ["delete", "!"];
|
||||
export const NUMBER_UNARY_OPERATORS = ["+", "-", "++", "--", "~"];
|
||||
export const STRING_UNARY_OPERATORS = ["typeof"];
|
||||
export const UNARY_OPERATORS = ["void", ...BOOLEAN_UNARY_OPERATORS, ...NUMBER_UNARY_OPERATORS, ...STRING_UNARY_OPERATORS];
|
||||
export * from "./constants";
|
||||
|
||||
import "./definitions/init";
|
||||
import { VISITOR_KEYS, ALIAS_KEYS, NODE_FIELDS, BUILDER_KEYS, DEPRECATED_KEYS } from "./definitions";
|
||||
@ -347,7 +326,7 @@ export function buildMatchMemberExpression(match:string, allowPartial?: boolean)
|
||||
*/
|
||||
|
||||
export function removeComments(node: Object): Object {
|
||||
for (let key of COMMENT_KEYS) {
|
||||
for (let key of t.COMMENT_KEYS) {
|
||||
delete node[key];
|
||||
}
|
||||
return node;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user