/
ast-node-types.ts
185 lines (182 loc) · 6.86 KB
/
ast-node-types.ts
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
export enum AST_NODE_TYPES {
ArrayExpression = 'ArrayExpression',
ArrayPattern = 'ArrayPattern',
ArrowFunctionExpression = 'ArrowFunctionExpression',
AssignmentExpression = 'AssignmentExpression',
AssignmentPattern = 'AssignmentPattern',
AwaitExpression = 'AwaitExpression',
BigIntLiteral = 'BigIntLiteral',
BinaryExpression = 'BinaryExpression',
BlockStatement = 'BlockStatement',
BreakStatement = 'BreakStatement',
CallExpression = 'CallExpression',
CatchClause = 'CatchClause',
ClassBody = 'ClassBody',
ClassDeclaration = 'ClassDeclaration',
ClassExpression = 'ClassExpression',
ClassProperty = 'ClassProperty',
ConditionalExpression = 'ConditionalExpression',
ContinueStatement = 'ContinueStatement',
DebuggerStatement = 'DebuggerStatement',
Decorator = 'Decorator',
DoWhileStatement = 'DoWhileStatement',
EmptyStatement = 'EmptyStatement',
ExportAllDeclaration = 'ExportAllDeclaration',
ExportDefaultDeclaration = 'ExportDefaultDeclaration',
ExportNamedDeclaration = 'ExportNamedDeclaration',
ExportSpecifier = 'ExportSpecifier',
ExpressionStatement = 'ExpressionStatement',
ForInStatement = 'ForInStatement',
ForOfStatement = 'ForOfStatement',
ForStatement = 'ForStatement',
FunctionDeclaration = 'FunctionDeclaration',
FunctionExpression = 'FunctionExpression',
Identifier = 'Identifier',
IfStatement = 'IfStatement',
Import = 'Import',
ImportDeclaration = 'ImportDeclaration',
ImportDefaultSpecifier = 'ImportDefaultSpecifier',
ImportNamespaceSpecifier = 'ImportNamespaceSpecifier',
ImportSpecifier = 'ImportSpecifier',
JSXAttribute = 'JSXAttribute',
JSXClosingElement = 'JSXClosingElement',
JSXClosingFragment = 'JSXClosingFragment',
JSXElement = 'JSXElement',
JSXEmptyExpression = 'JSXEmptyExpression',
JSXExpressionContainer = 'JSXExpressionContainer',
JSXFragment = 'JSXFragment',
JSXIdentifier = 'JSXIdentifier',
JSXMemberExpression = 'JSXMemberExpression',
JSXOpeningElement = 'JSXOpeningElement',
JSXOpeningFragment = 'JSXOpeningFragment',
JSXSpreadAttribute = 'JSXSpreadAttribute',
JSXSpreadChild = 'JSXSpreadChild',
JSXText = 'JSXText',
LabeledStatement = 'LabeledStatement',
Literal = 'Literal',
LogicalExpression = 'LogicalExpression',
MemberExpression = 'MemberExpression',
MetaProperty = 'MetaProperty',
MethodDefinition = 'MethodDefinition',
NewExpression = 'NewExpression',
ObjectExpression = 'ObjectExpression',
ObjectPattern = 'ObjectPattern',
OptionalCallExpression = 'OptionalCallExpression',
OptionalMemberExpression = 'OptionalMemberExpression',
Program = 'Program',
Property = 'Property',
RestElement = 'RestElement',
ReturnStatement = 'ReturnStatement',
SequenceExpression = 'SequenceExpression',
SpreadElement = 'SpreadElement',
Super = 'Super',
SwitchCase = 'SwitchCase',
SwitchStatement = 'SwitchStatement',
TaggedTemplateExpression = 'TaggedTemplateExpression',
TemplateElement = 'TemplateElement',
TemplateLiteral = 'TemplateLiteral',
ThisExpression = 'ThisExpression',
ThrowStatement = 'ThrowStatement',
TryStatement = 'TryStatement',
UnaryExpression = 'UnaryExpression',
UpdateExpression = 'UpdateExpression',
VariableDeclaration = 'VariableDeclaration',
VariableDeclarator = 'VariableDeclarator',
WhileStatement = 'WhileStatement',
WithStatement = 'WithStatement',
YieldExpression = 'YieldExpression',
/**
* TS-prefixed nodes
*/
TSAbstractClassProperty = 'TSAbstractClassProperty',
TSAbstractKeyword = 'TSAbstractKeyword',
TSAbstractMethodDefinition = 'TSAbstractMethodDefinition',
TSAnyKeyword = 'TSAnyKeyword',
TSArrayType = 'TSArrayType',
TSAsExpression = 'TSAsExpression',
TSAsyncKeyword = 'TSAsyncKeyword',
TSBooleanKeyword = 'TSBooleanKeyword',
TSBigIntKeyword = 'TSBigIntKeyword',
TSConditionalType = 'TSConditionalType',
TSConstructorType = 'TSConstructorType',
TSCallSignatureDeclaration = 'TSCallSignatureDeclaration',
TSClassImplements = 'TSClassImplements',
TSConstructSignatureDeclaration = 'TSConstructSignatureDeclaration',
TSDeclareKeyword = 'TSDeclareKeyword',
TSDeclareFunction = 'TSDeclareFunction',
TSEmptyBodyFunctionExpression = 'TSEmptyBodyFunctionExpression',
TSEnumDeclaration = 'TSEnumDeclaration',
TSEnumMember = 'TSEnumMember',
TSExportAssignment = 'TSExportAssignment',
TSExportKeyword = 'TSExportKeyword',
TSExternalModuleReference = 'TSExternalModuleReference',
TSImportType = 'TSImportType',
TSInferType = 'TSInferType',
TSLiteralType = 'TSLiteralType',
TSIndexedAccessType = 'TSIndexedAccessType',
TSIndexSignature = 'TSIndexSignature',
TSInterfaceBody = 'TSInterfaceBody',
TSInterfaceDeclaration = 'TSInterfaceDeclaration',
TSInterfaceHeritage = 'TSInterfaceHeritage',
TSImportEqualsDeclaration = 'TSImportEqualsDeclaration',
TSFunctionType = 'TSFunctionType',
TSMethodSignature = 'TSMethodSignature',
TSModuleBlock = 'TSModuleBlock',
TSModuleDeclaration = 'TSModuleDeclaration',
TSNamespaceExportDeclaration = 'TSNamespaceExportDeclaration',
TSNonNullExpression = 'TSNonNullExpression',
TSNeverKeyword = 'TSNeverKeyword',
TSNullKeyword = 'TSNullKeyword',
TSNumberKeyword = 'TSNumberKeyword',
TSMappedType = 'TSMappedType',
TSObjectKeyword = 'TSObjectKeyword',
TSParameterProperty = 'TSParameterProperty',
TSPrivateKeyword = 'TSPrivateKeyword',
TSPropertySignature = 'TSPropertySignature',
TSProtectedKeyword = 'TSProtectedKeyword',
TSPublicKeyword = 'TSPublicKeyword',
TSQualifiedName = 'TSQualifiedName',
TSReadonlyKeyword = 'TSReadonlyKeyword',
TSRestType = 'TSRestType',
TSStaticKeyword = 'TSStaticKeyword',
TSStringKeyword = 'TSStringKeyword',
TSSymbolKeyword = 'TSSymbolKeyword',
TSThisType = 'TSThisType',
TSTypeAnnotation = 'TSTypeAnnotation',
TSTypeAliasDeclaration = 'TSTypeAliasDeclaration',
TSTypeAssertion = 'TSTypeAssertion',
TSTypeLiteral = 'TSTypeLiteral',
TSTypeOperator = 'TSTypeOperator',
TSTypeParameter = 'TSTypeParameter',
TSTypeParameterDeclaration = 'TSTypeParameterDeclaration',
TSTypeParameterInstantiation = 'TSTypeParameterInstantiation',
TSTypePredicate = 'TSTypePredicate',
TSTypeReference = 'TSTypeReference',
TSTypeQuery = 'TSTypeQuery',
TSIntersectionType = 'TSIntersectionType',
TSTupleType = 'TSTupleType',
TSOptionalType = 'TSOptionalType',
TSParenthesizedType = 'TSParenthesizedType',
TSUnionType = 'TSUnionType',
TSUndefinedKeyword = 'TSUndefinedKeyword',
TSUnknownKeyword = 'TSUnknownKeyword',
TSVoidKeyword = 'TSVoidKeyword',
// Invalid jsdoc node types
TSUnknownJSDocType = 'TSUnknownJSDocType',
}
export enum AST_TOKEN_TYPES {
Boolean = 'Boolean',
Identifier = 'Identifier',
JSXIdentifier = 'JSXIdentifier',
JSXText = 'JSXText',
Keyword = 'Keyword',
Null = 'Null',
Numeric = 'Numeric',
Punctuator = 'Punctuator',
RegularExpression = 'RegularExpression',
String = 'String',
Template = 'Template',
// comment types
Block = 'Block',
Line = 'Line',
}