/
index.js
69 lines (63 loc) 路 1.66 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
// @flow
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 LOGICAL_OPERATORS = ["||", "&&", "??"];
export const UPDATE_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 ASSIGNMENT_OPERATORS = [
"=",
"+=",
...NUMBER_BINARY_OPERATORS.map(op => op + "="),
];
export const BOOLEAN_UNARY_OPERATORS = ["delete", "!"];
export const NUMBER_UNARY_OPERATORS = ["+", "-", "~"];
export const STRING_UNARY_OPERATORS = ["typeof"];
export const UNARY_OPERATORS = [
"void",
"throw",
...BOOLEAN_UNARY_OPERATORS,
...NUMBER_UNARY_OPERATORS,
...STRING_UNARY_OPERATORS,
];
export const INHERIT_KEYS = {
optional: ["typeAnnotation", "typeParameters", "returnType"],
force: ["start", "loc", "end"],
};
export const BLOCK_SCOPED_SYMBOL = Symbol.for("var used to be block scoped");
export const NOT_LOCAL_BINDING = Symbol.for(
"should not be considered a local binding",
);