Created
April 14, 2023 21:21
-
-
Save rmehner/8aabc75dda33dc8bed1624f68230bec7 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* @flow | |
*/ | |
'use strict'; | |
/* | |
* Flow types for the Babylon AST. | |
*/ | |
// Abstract types. Something must extend these. | |
export type Comment = { | |
type: 'CommentLine', | |
_CommentLine?: void, | |
value: string, | |
end: number, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
} | { | |
type: 'CommentBlock', | |
_CommentBlock?: void, | |
value: string, | |
end: number, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
}; | |
export type Declaration = { | |
type: 'ClassBody', | |
_ClassBody?: void, | |
body: Array<Node>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ClassDeclaration', | |
_ClassDeclaration?: void, | |
body: ClassBody, | |
id: ?Identifier, | |
superClass: ?Expression, | |
decorators: any, | |
superTypeParameters: any, | |
typeParameters: any, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'FunctionDeclaration', | |
_FunctionDeclaration?: void, | |
body: BlockStatement, | |
id: Identifier, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
async: boolean, | |
defaults: Array<?Expression>, | |
expression: boolean, | |
generator: boolean, | |
params: Array<Pattern>, | |
rest: ?Identifier, | |
returnType: ?TypeAnnotation, | |
typeParameters: ?TypeParameterDeclaration, | |
} | { | |
type: 'MethodDefinition', | |
_MethodDefinition?: void, | |
computed: boolean, | |
key: Node, | |
kind: 'constructor' | 'method' | 'get' | 'set', | |
static: boolean, | |
value: FunctionExpression, | |
decorators: ?Array<Decorator>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'VariableDeclaration', | |
_VariableDeclaration?: void, | |
declarations: Array<VariableDeclarator>, | |
kind: 'var' | 'let' | 'const', | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ClassProperty', | |
_ClassProperty?: void, | |
computed: boolean, | |
key: Node, | |
static: boolean, | |
typeAnnotation: ?TypeAnnotation, | |
value: ?Expression, | |
decorators: Array<Decorator>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type Expression = { | |
type: 'ArrayExpression', | |
_ArrayExpression?: void, | |
elements: Array<?Node>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'AssignmentExpression', | |
_AssignmentExpression?: void, | |
left: Pattern, | |
operator: AssignmentOperator, | |
right: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'AwaitExpression', | |
_AwaitExpression?: void, | |
all: boolean, | |
argument: ?Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'BinaryExpression', | |
_BinaryExpression?: void, | |
left: Expression, | |
operator: BinaryOperator, | |
right: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'BindExpression', | |
_BindExpression?: void, | |
callee: Node, | |
object: Node, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'CallExpression', | |
_CallExpression?: void, | |
arguments: Array<Node>, | |
callee: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ClassExpression', | |
_ClassExpression?: void, | |
body: ClassBody, | |
id: ?Identifier, | |
superClass: ?Expression, | |
decorators: any, | |
superTypeParameters: any, | |
typeParameters: any, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ComprehensionExpression', | |
_ComprehensionExpression?: void, | |
body: Expression, | |
blocks: Array<ComprehensionBlock>, | |
filter: ?Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ConditionalExpression', | |
_ConditionalExpression?: void, | |
alternate: Expression, | |
consequent: Expression, | |
test: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'DoExpression', | |
_DoExpression?: void, | |
body: Statement, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'FunctionExpression', | |
_FunctionExpression?: void, | |
body: BlockStatement, | |
id: ?Identifier, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
async: boolean, | |
defaults: Array<?Expression>, | |
expression: boolean, | |
generator: boolean, | |
params: Array<Pattern>, | |
rest: ?Identifier, | |
returnType: ?TypeAnnotation, | |
typeParameters: ?TypeParameterDeclaration, | |
} | { | |
type: 'Identifier', | |
_Identifier?: void, | |
name: string, | |
typeAnnotation: ?TypeAnnotation, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'Literal', | |
_Literal?: void, | |
raw: string, | |
regex: ?{pattern: string, flags: string}, | |
value: ?(string | boolean | number | RegExp), | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'LogicalExpression', | |
_LogicalExpression?: void, | |
left: Expression, | |
operator: LogicalOperator, | |
right: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'MemberExpression', | |
_MemberExpression?: void, | |
computed: boolean, | |
object: Expression, | |
property: Node, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'NewExpression', | |
_NewExpression?: void, | |
arguments: Array<Node>, | |
callee: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ObjectExpression', | |
_ObjectExpression?: void, | |
properties: Array<Node>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'SequenceExpression', | |
_SequenceExpression?: void, | |
expression: Array<Expression>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'TaggedTemplateExpression', | |
_TaggedTemplateExpression?: void, | |
quasi: TemplateLiteral, | |
tag: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'TemplateLiteral', | |
_TemplateLiteral?: void, | |
expressions: Array<Expression>, | |
quasis: Array<TemplateElement>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ThisExpression', | |
_ThisExpression?: void, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'UnaryExpression', | |
_UnaryExpression?: void, | |
argument: Expression, | |
operator: UnaryOperator, | |
prefix: true, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'UpdateExpression', | |
_UpdateExpression?: void, | |
argument: Expression, | |
operator: UpdateOperator, | |
prefix: boolean, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'YieldExpression', | |
_YieldExpression?: void, | |
argument: ?Expression, | |
delegate: boolean, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'TypeCastExpression', | |
_TypeCastExpression?: void, | |
expression: Expression, | |
typeAnnotation: TypeAnnotation, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'JSXElement', | |
_JSXElement?: void, | |
children: Array<Node>, | |
closingElement: ?JSXClosingElement, | |
openingElement: JSXOpeningElement, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'JSXEmptyExpression', | |
_JSXEmptyExpression?: void, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'JSXExpressionContainer', | |
_JSXExpressionContainer?: void, | |
expression: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'JSXMemberExpression', | |
_JSXMemberExpression?: void, | |
computed: boolean, | |
object: Node, | |
property: JSXIdentifier, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type Function = { | |
type: 'ArrowFunctionExpression', | |
_ArrowFunctionExpression?: void, | |
body: Node, | |
id: ?Identifier, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
async: boolean, | |
defaults: Array<?Expression>, | |
expression: boolean, | |
generator: boolean, | |
params: Array<Pattern>, | |
rest: ?Identifier, | |
returnType: ?TypeAnnotation, | |
typeParameters: ?TypeParameterDeclaration, | |
} | { | |
type: 'FunctionDeclaration', | |
_FunctionDeclaration?: void, | |
body: BlockStatement, | |
id: Identifier, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
async: boolean, | |
defaults: Array<?Expression>, | |
expression: boolean, | |
generator: boolean, | |
params: Array<Pattern>, | |
rest: ?Identifier, | |
returnType: ?TypeAnnotation, | |
typeParameters: ?TypeParameterDeclaration, | |
} | { | |
type: 'FunctionExpression', | |
_FunctionExpression?: void, | |
body: BlockStatement, | |
id: ?Identifier, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
async: boolean, | |
defaults: Array<?Expression>, | |
expression: boolean, | |
generator: boolean, | |
params: Array<Pattern>, | |
rest: ?Identifier, | |
returnType: ?TypeAnnotation, | |
typeParameters: ?TypeParameterDeclaration, | |
}; | |
export type Node = { | |
type: 'ArrayExpression', | |
_ArrayExpression?: void, | |
elements: Array<?Node>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ArrayPattern', | |
_ArrayPattern?: void, | |
elements: Array<?Node>, | |
typeAnnotation: ?TypeAnnotation, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ArrowFunctionExpression', | |
_ArrowFunctionExpression?: void, | |
body: Node, | |
id: ?Identifier, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
async: boolean, | |
defaults: Array<?Expression>, | |
expression: boolean, | |
generator: boolean, | |
params: Array<Pattern>, | |
rest: ?Identifier, | |
returnType: ?TypeAnnotation, | |
typeParameters: ?TypeParameterDeclaration, | |
} | { | |
type: 'AssignmentExpression', | |
_AssignmentExpression?: void, | |
left: Pattern, | |
operator: AssignmentOperator, | |
right: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'AssignmentPattern', | |
_AssignmentPattern?: void, | |
left: Pattern, | |
right: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'AwaitExpression', | |
_AwaitExpression?: void, | |
all: boolean, | |
argument: ?Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'BinaryExpression', | |
_BinaryExpression?: void, | |
left: Expression, | |
operator: BinaryOperator, | |
right: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'BindExpression', | |
_BindExpression?: void, | |
callee: Node, | |
object: Node, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'BlockStatement', | |
_BlockStatement?: void, | |
body: Array<Statement>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'BreakStatement', | |
_BreakStatement?: void, | |
label: ?Identifier, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'CallExpression', | |
_CallExpression?: void, | |
arguments: Array<Node>, | |
callee: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'CatchClause', | |
_CatchClause?: void, | |
body: BlockStatement, | |
param: Pattern, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ClassBody', | |
_ClassBody?: void, | |
body: Array<Node>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ClassDeclaration', | |
_ClassDeclaration?: void, | |
body: ClassBody, | |
id: ?Identifier, | |
superClass: ?Expression, | |
decorators: any, | |
superTypeParameters: any, | |
typeParameters: any, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ClassExpression', | |
_ClassExpression?: void, | |
body: ClassBody, | |
id: ?Identifier, | |
superClass: ?Expression, | |
decorators: any, | |
superTypeParameters: any, | |
typeParameters: any, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ComprehensionBlock', | |
_ComprehensionBlock?: void, | |
each: boolean, | |
left: Pattern, | |
right: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ComprehensionExpression', | |
_ComprehensionExpression?: void, | |
body: Expression, | |
blocks: Array<ComprehensionBlock>, | |
filter: ?Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ConditionalExpression', | |
_ConditionalExpression?: void, | |
alternate: Expression, | |
consequent: Expression, | |
test: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ContinueStatement', | |
_ContinueStatement?: void, | |
label: ?Identifier, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'Decorator', | |
_Decorator?: void, | |
expression: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'DebuggerStatement', | |
_DebuggerStatement?: void, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'DoWhileStatement', | |
_DoWhileStatement?: void, | |
body: Statement, | |
test: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'DoExpression', | |
_DoExpression?: void, | |
body: Statement, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'EmptyStatement', | |
_EmptyStatement?: void, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ExpressionStatement', | |
_ExpressionStatement?: void, | |
expression: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'File', | |
_File?: void, | |
program: Program, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ForInStatement', | |
_ForInStatement?: void, | |
body: Statement, | |
left: Node, | |
right: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ForOfStatement', | |
_ForOfStatement?: void, | |
body: Statement, | |
left: Node, | |
right: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ForStatement', | |
_ForStatement?: void, | |
init: ?Node, | |
test: ?Expression, | |
update: ?Expression, | |
body: Statement, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'FunctionDeclaration', | |
_FunctionDeclaration?: void, | |
body: BlockStatement, | |
id: Identifier, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
async: boolean, | |
defaults: Array<?Expression>, | |
expression: boolean, | |
generator: boolean, | |
params: Array<Pattern>, | |
rest: ?Identifier, | |
returnType: ?TypeAnnotation, | |
typeParameters: ?TypeParameterDeclaration, | |
} | { | |
type: 'FunctionExpression', | |
_FunctionExpression?: void, | |
body: BlockStatement, | |
id: ?Identifier, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
async: boolean, | |
defaults: Array<?Expression>, | |
expression: boolean, | |
generator: boolean, | |
params: Array<Pattern>, | |
rest: ?Identifier, | |
returnType: ?TypeAnnotation, | |
typeParameters: ?TypeParameterDeclaration, | |
} | { | |
type: 'Identifier', | |
_Identifier?: void, | |
name: string, | |
typeAnnotation: ?TypeAnnotation, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'IfStatement', | |
_IfStatement?: void, | |
alternate: ?Statement, | |
consequent: Statement, | |
test: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ImportDefaultSpecifier', | |
_ImportDefaultSpecifier?: void, | |
local: Node, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ImportNamespaceSpecifier', | |
_ImportNamespaceSpecifier?: void, | |
local: Node, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ImportDeclaration', | |
_ImportDeclaration?: void, | |
specifiers: Array<Node>, | |
source: Literal, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ImportSpecifier', | |
_ImportSpecifier?: void, | |
imported: Node, | |
local: Node, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'LabeledStatement', | |
_LabeledStatement?: void, | |
body: Statement, | |
label: Identifier, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'Literal', | |
_Literal?: void, | |
raw: string, | |
regex: ?{pattern: string, flags: string}, | |
value: ?(string | boolean | number | RegExp), | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'LogicalExpression', | |
_LogicalExpression?: void, | |
left: Expression, | |
operator: LogicalOperator, | |
right: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'MemberExpression', | |
_MemberExpression?: void, | |
computed: boolean, | |
object: Expression, | |
property: Node, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'MetaProperty', | |
_MetaProperty?: void, | |
meta: Node, | |
property: Node, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'MethodDefinition', | |
_MethodDefinition?: void, | |
computed: boolean, | |
key: Node, | |
kind: 'constructor' | 'method' | 'get' | 'set', | |
static: boolean, | |
value: FunctionExpression, | |
decorators: ?Array<Decorator>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'NewExpression', | |
_NewExpression?: void, | |
arguments: Array<Node>, | |
callee: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'Noop', | |
_Noop?: void, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ObjectExpression', | |
_ObjectExpression?: void, | |
properties: Array<Node>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ObjectPattern', | |
_ObjectPattern?: void, | |
properties: Array<Node>, | |
typeAnnotation: ?TypeAnnotation, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'Program', | |
_Program?: void, | |
body: Array<Statement>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'Property', | |
_Property?: void, | |
computed: boolean, | |
key: Node, | |
kind: 'init' | 'get' | 'set', | |
method: boolean, | |
shorthand: boolean, | |
value: Node, | |
decorators: ?Array<Decorator>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'RestElement', | |
_RestElement?: void, | |
argument: Pattern, | |
typeAnnotation: ?TypeAnnotation, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ReturnStatement', | |
_ReturnStatement?: void, | |
argument: ?Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'SequenceExpression', | |
_SequenceExpression?: void, | |
expression: Array<Expression>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'SpreadElement', | |
_SpreadElement?: void, | |
argument: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'SpreadProperty', | |
_SpreadProperty?: void, | |
argument: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'Super', | |
_Super?: void, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'SwitchCase', | |
_SwitchCase?: void, | |
consequent: Array<Statement>, | |
test: ?Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'SwitchStatement', | |
_SwitchStatement?: void, | |
cases: Array<SwitchCase>, | |
discriminant: Expression, | |
lexical: boolean, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'TaggedTemplateExpression', | |
_TaggedTemplateExpression?: void, | |
quasi: TemplateLiteral, | |
tag: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'TemplateElement', | |
_TemplateElement?: void, | |
tail: boolean, | |
value: {cooked: string, raw: string}, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'TemplateLiteral', | |
_TemplateLiteral?: void, | |
expressions: Array<Expression>, | |
quasis: Array<TemplateElement>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ThisExpression', | |
_ThisExpression?: void, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ThrowStatement', | |
_ThrowStatement?: void, | |
argument: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'TryStatement', | |
_TryStatement?: void, | |
block: BlockStatement, | |
finalizer: ?BlockStatement, | |
guardedHandlers: Array<CatchClause>, | |
handler: ?CatchClause, | |
handlers: ?Array<CatchClause>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'UnaryExpression', | |
_UnaryExpression?: void, | |
argument: Expression, | |
operator: UnaryOperator, | |
prefix: true, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'UpdateExpression', | |
_UpdateExpression?: void, | |
argument: Expression, | |
operator: UpdateOperator, | |
prefix: boolean, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'VariableDeclaration', | |
_VariableDeclaration?: void, | |
declarations: Array<VariableDeclarator>, | |
kind: 'var' | 'let' | 'const', | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'VariableDeclarator', | |
_VariableDeclarator?: void, | |
id: Pattern, | |
init: ?Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'WhileStatement', | |
_WhileStatement?: void, | |
body: Statement, | |
test: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'WithStatement', | |
_WithStatement?: void, | |
body: Statement, | |
object: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'YieldExpression', | |
_YieldExpression?: void, | |
argument: ?Expression, | |
delegate: boolean, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ExportAllDeclaration', | |
_ExportAllDeclaration?: void, | |
exported: Node, | |
source: Node, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ExportDefaultDeclaration', | |
_ExportDefaultDeclaration?: void, | |
declaration: Node, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ExportNamedDeclaration', | |
_ExportNamedDeclaration?: void, | |
declaration: Node, | |
source: Literal, | |
specifiers: Array<Node>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ExportDefaultSpecifier', | |
_ExportDefaultSpecifier?: void, | |
exported: Node, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ExportNamespaceSpecifier', | |
_ExportNamespaceSpecifier?: void, | |
exported: Node, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ExportSpecifier', | |
_ExportSpecifier?: void, | |
local: Node, | |
exported: Node, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'AnyTypeAnnotation', | |
_AnyTypeAnnotation?: void, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ArrayTypeAnnotation', | |
_ArrayTypeAnnotation?: void, | |
elementType: Type, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'BooleanLiteralTypeAnnotation', | |
_BooleanLiteralTypeAnnotation?: void, | |
raw: string, | |
value: boolean, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'BooleanTypeAnnotation', | |
_BooleanTypeAnnotation?: void, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ClassImplements', | |
_ClassImplements?: void, | |
id: Identifier, | |
typeParameters: ?TypeParameterInstantiation, | |
superClass: ?Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ClassProperty', | |
_ClassProperty?: void, | |
computed: boolean, | |
key: Node, | |
static: boolean, | |
typeAnnotation: ?TypeAnnotation, | |
value: ?Expression, | |
decorators: Array<Decorator>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'DeclareClass', | |
_DeclareClass?: void, | |
body: ObjectTypeAnnotation, | |
extends: Array<InterfaceExtends>, | |
id: Identifier, | |
typeParameters: ?TypeParameterDeclaration, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'DeclareFunction', | |
_DeclareFunction?: void, | |
id: Identifier, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'DeclareModule', | |
_DeclareModule?: void, | |
body: BlockStatement, | |
id: Node, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'DeclareVariable', | |
_DeclareVariable?: void, | |
id: Identifier, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'FunctionTypeAnnotation', | |
_FunctionTypeAnnotation?: void, | |
params: Array<FunctionTypeParam>, | |
rest: ?FunctionTypeParam, | |
returnType: Type, | |
typeParameters: ?TypeParameterDeclaration, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'FunctionTypeParam', | |
_FunctionTypeParam?: void, | |
name: Identifier, | |
optional: boolean, | |
typeAnnotation: Type, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'GenericTypeAnnotation', | |
_GenericTypeAnnotation?: void, | |
id: Node, | |
typeParameters: ?TypeParameterInstantiation, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'InterfaceExtends', | |
_InterfaceExtends?: void, | |
id: Identifier, | |
typeParameters: ?TypeParameterInstantiation, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'InterfaceDeclaration', | |
_InterfaceDeclaration?: void, | |
body: ObjectTypeAnnotation, | |
extends: Array<InterfaceExtends>, | |
id: Identifier, | |
typeParameters: ?TypeParameterDeclaration, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'IntersectionTypeAnnotation', | |
_IntersectionTypeAnnotation?: void, | |
types: Array<Type>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'MixedTypeAnnotation', | |
_MixedTypeAnnotation?: void, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'NullableTypeAnnotation', | |
_NullableTypeAnnotation?: void, | |
typeAnnotation: Type, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'NumberLiteralTypeAnnotation', | |
_NumberLiteralTypeAnnotation?: void, | |
raw: string, | |
value: number, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'NumberTypeAnnotation', | |
_NumberTypeAnnotation?: void, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'StringLiteralTypeAnnotation', | |
_StringLiteralTypeAnnotation?: void, | |
raw: string, | |
value: string, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'StringTypeAnnotation', | |
_StringTypeAnnotation?: void, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'TupleTypeAnnotation', | |
_TupleTypeAnnotation?: void, | |
types: Array<Type>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'TypeofTypeAnnotation', | |
_TypeofTypeAnnotation?: void, | |
argument: Type, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'TypeAlias', | |
_TypeAlias?: void, | |
id: Identifier, | |
right: Type, | |
typeParameters: ?TypeParameterDeclaration, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'TypeAnnotation', | |
_TypeAnnotation?: void, | |
typeAnnotation: Type, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'TypeCastExpression', | |
_TypeCastExpression?: void, | |
expression: Expression, | |
typeAnnotation: TypeAnnotation, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'TypeParameterDeclaration', | |
_TypeParameterDeclaration?: void, | |
params: Array<Identifier>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'TypeParameterInstantiation', | |
_TypeParameterInstantiation?: void, | |
params: Array<Type>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ObjectTypeAnnotation', | |
_ObjectTypeAnnotation?: void, | |
callProperties: Array<ObjectTypeCallProperty>, | |
indexers: Array<ObjectTypeIndexer>, | |
properties: Array<ObjectTypeProperty>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ObjectTypeCallProperty', | |
_ObjectTypeCallProperty?: void, | |
static: boolean, | |
value: FunctionTypeAnnotation, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ObjectTypeIndexer', | |
_ObjectTypeIndexer?: void, | |
id: Identifier, | |
key: Type, | |
value: Type, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ObjectTypeProperty', | |
_ObjectTypeProperty?: void, | |
key: Node, | |
optional: boolean, | |
value: Type, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'QualifiedTypeIdentifier', | |
_QualifiedTypeIdentifier?: void, | |
id: Identifier, | |
qualification: Node, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'UnionTypeAnnotation', | |
_UnionTypeAnnotation?: void, | |
types: Array<Type>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'VoidTypeAnnotation', | |
_VoidTypeAnnotation?: void, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'JSXAttribute', | |
_JSXAttribute?: void, | |
name: Node, | |
value: ?Node, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'JSXClosingElement', | |
_JSXClosingElement?: void, | |
name: Node, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'JSXElement', | |
_JSXElement?: void, | |
children: Array<Node>, | |
closingElement: ?JSXClosingElement, | |
openingElement: JSXOpeningElement, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'JSXEmptyExpression', | |
_JSXEmptyExpression?: void, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'JSXExpressionContainer', | |
_JSXExpressionContainer?: void, | |
expression: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'JSXIdentifier', | |
_JSXIdentifier?: void, | |
name: string, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'JSXMemberExpression', | |
_JSXMemberExpression?: void, | |
computed: boolean, | |
object: Node, | |
property: JSXIdentifier, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'JSXNamespacedName', | |
_JSXNamespacedName?: void, | |
name: JSXIdentifier, | |
namespace: JSXIdentifier, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'JSXOpeningElement', | |
_JSXOpeningElement?: void, | |
attributes: Array<Node>, | |
name: Array<Node>, | |
selfClosing: boolean, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'JSXSpreadAttribute', | |
_JSXSpreadAttribute?: void, | |
argument: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type Pattern = { | |
type: 'ArrayPattern', | |
_ArrayPattern?: void, | |
elements: Array<?Node>, | |
typeAnnotation: ?TypeAnnotation, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'AssignmentPattern', | |
_AssignmentPattern?: void, | |
left: Pattern, | |
right: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'Identifier', | |
_Identifier?: void, | |
name: string, | |
typeAnnotation: ?TypeAnnotation, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ObjectPattern', | |
_ObjectPattern?: void, | |
properties: Array<Node>, | |
typeAnnotation: ?TypeAnnotation, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'RestElement', | |
_RestElement?: void, | |
argument: Pattern, | |
typeAnnotation: ?TypeAnnotation, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type Statement = { | |
type: 'BlockStatement', | |
_BlockStatement?: void, | |
body: Array<Statement>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'BreakStatement', | |
_BreakStatement?: void, | |
label: ?Identifier, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ContinueStatement', | |
_ContinueStatement?: void, | |
label: ?Identifier, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'DoWhileStatement', | |
_DoWhileStatement?: void, | |
body: Statement, | |
test: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'EmptyStatement', | |
_EmptyStatement?: void, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ExpressionStatement', | |
_ExpressionStatement?: void, | |
expression: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ForInStatement', | |
_ForInStatement?: void, | |
body: Statement, | |
left: Node, | |
right: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ForOfStatement', | |
_ForOfStatement?: void, | |
body: Statement, | |
left: Node, | |
right: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ForStatement', | |
_ForStatement?: void, | |
init: ?Node, | |
test: ?Expression, | |
update: ?Expression, | |
body: Statement, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'IfStatement', | |
_IfStatement?: void, | |
alternate: ?Statement, | |
consequent: Statement, | |
test: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'LabeledStatement', | |
_LabeledStatement?: void, | |
body: Statement, | |
label: Identifier, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ReturnStatement', | |
_ReturnStatement?: void, | |
argument: ?Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'SwitchStatement', | |
_SwitchStatement?: void, | |
cases: Array<SwitchCase>, | |
discriminant: Expression, | |
lexical: boolean, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ThrowStatement', | |
_ThrowStatement?: void, | |
argument: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'TryStatement', | |
_TryStatement?: void, | |
block: BlockStatement, | |
finalizer: ?BlockStatement, | |
guardedHandlers: Array<CatchClause>, | |
handler: ?CatchClause, | |
handlers: ?Array<CatchClause>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'WhileStatement', | |
_WhileStatement?: void, | |
body: Statement, | |
test: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'WithStatement', | |
_WithStatement?: void, | |
body: Statement, | |
object: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'DeclareClass', | |
_DeclareClass?: void, | |
body: ObjectTypeAnnotation, | |
extends: Array<InterfaceExtends>, | |
id: Identifier, | |
typeParameters: ?TypeParameterDeclaration, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'DeclareFunction', | |
_DeclareFunction?: void, | |
id: Identifier, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'DeclareModule', | |
_DeclareModule?: void, | |
body: BlockStatement, | |
id: Node, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'DeclareVariable', | |
_DeclareVariable?: void, | |
id: Identifier, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'InterfaceDeclaration', | |
_InterfaceDeclaration?: void, | |
body: ObjectTypeAnnotation, | |
extends: Array<InterfaceExtends>, | |
id: Identifier, | |
typeParameters: ?TypeParameterDeclaration, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'TypeAlias', | |
_TypeAlias?: void, | |
id: Identifier, | |
right: Type, | |
typeParameters: ?TypeParameterDeclaration, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type Type = { | |
type: 'AnyTypeAnnotation', | |
_AnyTypeAnnotation?: void, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ArrayTypeAnnotation', | |
_ArrayTypeAnnotation?: void, | |
elementType: Type, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'BooleanLiteralTypeAnnotation', | |
_BooleanLiteralTypeAnnotation?: void, | |
raw: string, | |
value: boolean, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'BooleanTypeAnnotation', | |
_BooleanTypeAnnotation?: void, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'FunctionTypeAnnotation', | |
_FunctionTypeAnnotation?: void, | |
params: Array<FunctionTypeParam>, | |
rest: ?FunctionTypeParam, | |
returnType: Type, | |
typeParameters: ?TypeParameterDeclaration, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'GenericTypeAnnotation', | |
_GenericTypeAnnotation?: void, | |
id: Node, | |
typeParameters: ?TypeParameterInstantiation, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'IntersectionTypeAnnotation', | |
_IntersectionTypeAnnotation?: void, | |
types: Array<Type>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'MixedTypeAnnotation', | |
_MixedTypeAnnotation?: void, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'NullableTypeAnnotation', | |
_NullableTypeAnnotation?: void, | |
typeAnnotation: Type, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'NumberLiteralTypeAnnotation', | |
_NumberLiteralTypeAnnotation?: void, | |
raw: string, | |
value: number, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'NumberTypeAnnotation', | |
_NumberTypeAnnotation?: void, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'StringLiteralTypeAnnotation', | |
_StringLiteralTypeAnnotation?: void, | |
raw: string, | |
value: string, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'StringTypeAnnotation', | |
_StringTypeAnnotation?: void, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'TupleTypeAnnotation', | |
_TupleTypeAnnotation?: void, | |
types: Array<Type>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'ObjectTypeAnnotation', | |
_ObjectTypeAnnotation?: void, | |
callProperties: Array<ObjectTypeCallProperty>, | |
indexers: Array<ObjectTypeIndexer>, | |
properties: Array<ObjectTypeProperty>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'UnionTypeAnnotation', | |
_UnionTypeAnnotation?: void, | |
types: Array<Type>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
} | { | |
type: 'VoidTypeAnnotation', | |
_VoidTypeAnnotation?: void, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
// Concrete Types. Nothing can extend these. | |
export type CommentLine = { | |
type: 'CommentLine', | |
_CommentLine?: void, | |
value: string, | |
end: number, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
}; | |
export type CommentBlock = { | |
type: 'CommentBlock', | |
_CommentBlock?: void, | |
value: string, | |
end: number, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
}; | |
// Babel concrete types. | |
export type ArrayExpression = { | |
type: 'ArrayExpression', | |
_ArrayExpression?: void, | |
elements: Array<?Node>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type ArrayPattern = { | |
type: 'ArrayPattern', | |
_ArrayPattern?: void, | |
elements: Array<?Node>, | |
typeAnnotation: ?TypeAnnotation, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type ArrowFunctionExpression = { | |
type: 'ArrowFunctionExpression', | |
_ArrowFunctionExpression?: void, | |
body: Node, | |
id: ?Identifier, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
async: boolean, | |
defaults: Array<?Expression>, | |
expression: boolean, | |
generator: boolean, | |
params: Array<Pattern>, | |
rest: ?Identifier, | |
returnType: ?TypeAnnotation, | |
typeParameters: ?TypeParameterDeclaration, | |
}; | |
type AssignmentOperator = | |
'=' | | |
'+=' | | |
'-=' | | |
'*=' | | |
'/=' | | |
'%=' | | |
'<<=' | | |
'>>=' | | |
'>>>=' | | |
'|=' | | |
'^=' | | |
'&='; | |
export type AssignmentExpression = { | |
type: 'AssignmentExpression', | |
_AssignmentExpression?: void, | |
left: Pattern, | |
operator: AssignmentOperator, | |
right: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type AssignmentPattern = { | |
type: 'AssignmentPattern', | |
_AssignmentPattern?: void, | |
left: Pattern, | |
right: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type AwaitExpression = { | |
type: 'AwaitExpression', | |
_AwaitExpression?: void, | |
all: boolean, | |
argument: ?Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
type BinaryOperator = | |
'==' | | |
'!=' | | |
'===' | | |
'!==' | | |
'<' | | |
'<=' | | |
'>' | | |
'>=' | | |
'<<' | | |
'>>' | | |
'>>>' | | |
'+' | | |
'-' | | |
'*' | | |
'/' | | |
'%' | | |
'&' | | |
'|' | | |
'^' | | |
'in' | | |
'instanceof' | | |
'..'; | |
export type BinaryExpression = { | |
type: 'BinaryExpression', | |
_BinaryExpression?: void, | |
left: Expression, | |
operator: BinaryOperator, | |
right: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
// TODO: What is this? | |
export type BindExpression = { | |
type: 'BindExpression', | |
_BindExpression?: void, | |
callee: Node, | |
object: Node, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type BlockStatement = { | |
type: 'BlockStatement', | |
_BlockStatement?: void, | |
body: Array<Statement>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type BreakStatement = { | |
type: 'BreakStatement', | |
_BreakStatement?: void, | |
label: ?Identifier, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type CallExpression = { | |
type: 'CallExpression', | |
_CallExpression?: void, | |
arguments: Array<Node>, | |
callee: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type CatchClause = { | |
type: 'CatchClause', | |
_CatchClause?: void, | |
body: BlockStatement, | |
param: Pattern, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type ClassBody = { | |
type: 'ClassBody', | |
_ClassBody?: void, | |
body: Array<Node>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type ClassDeclaration = { | |
type: 'ClassDeclaration', | |
_ClassDeclaration?: void, | |
body: ClassBody, | |
id: ?Identifier, | |
superClass: ?Expression, | |
decorators: any, | |
superTypeParameters: any, | |
typeParameters: any, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type ClassExpression = { | |
type: 'ClassExpression', | |
_ClassExpression?: void, | |
body: ClassBody, | |
id: ?Identifier, | |
superClass: ?Expression, | |
decorators: any, | |
superTypeParameters: any, | |
typeParameters: any, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type ComprehensionBlock = { | |
type: 'ComprehensionBlock', | |
_ComprehensionBlock?: void, | |
each: boolean, | |
left: Pattern, | |
right: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type ComprehensionExpression = { | |
type: 'ComprehensionExpression', | |
_ComprehensionExpression?: void, | |
body: Expression, | |
blocks: Array<ComprehensionBlock>, | |
filter: ?Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type ConditionalExpression = { | |
type: 'ConditionalExpression', | |
_ConditionalExpression?: void, | |
alternate: Expression, | |
consequent: Expression, | |
test: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type ContinueStatement = { | |
type: 'ContinueStatement', | |
_ContinueStatement?: void, | |
label: ?Identifier, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
// TODO: Make this correct. | |
export type Decorator = { | |
type: 'Decorator', | |
_Decorator?: void, | |
expression: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type DebuggerStatement = { | |
type: 'DebuggerStatement', | |
_DebuggerStatement?: void, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type DoWhileStatement = { | |
type: 'DoWhileStatement', | |
_DoWhileStatement?: void, | |
body: Statement, | |
test: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
// TODO: Make this correct. | |
export type DoExpression = { | |
type: 'DoExpression', | |
_DoExpression?: void, | |
body: Statement, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type EmptyStatement = { | |
type: 'EmptyStatement', | |
_EmptyStatement?: void, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type ExpressionStatement = { | |
type: 'ExpressionStatement', | |
_ExpressionStatement?: void, | |
expression: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type File = { | |
type: 'File', | |
_File?: void, | |
program: Program, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type ForInStatement = { | |
type: 'ForInStatement', | |
_ForInStatement?: void, | |
body: Statement, | |
left: Node, | |
right: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
// TODO: Make this correct. | |
export type ForOfStatement = { | |
type: 'ForOfStatement', | |
_ForOfStatement?: void, | |
body: Statement, | |
left: Node, | |
right: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type ForStatement = { | |
type: 'ForStatement', | |
_ForStatement?: void, | |
init: ?Node, | |
test: ?Expression, | |
update: ?Expression, | |
body: Statement, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type FunctionDeclaration = { | |
type: 'FunctionDeclaration', | |
_FunctionDeclaration?: void, | |
body: BlockStatement, | |
id: Identifier, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
async: boolean, | |
defaults: Array<?Expression>, | |
expression: boolean, | |
generator: boolean, | |
params: Array<Pattern>, | |
rest: ?Identifier, | |
returnType: ?TypeAnnotation, | |
typeParameters: ?TypeParameterDeclaration, | |
}; | |
export type FunctionExpression = { | |
type: 'FunctionExpression', | |
_FunctionExpression?: void, | |
body: BlockStatement, | |
id: ?Identifier, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
async: boolean, | |
defaults: Array<?Expression>, | |
expression: boolean, | |
generator: boolean, | |
params: Array<Pattern>, | |
rest: ?Identifier, | |
returnType: ?TypeAnnotation, | |
typeParameters: ?TypeParameterDeclaration, | |
}; | |
export type Identifier = { | |
type: 'Identifier', | |
_Identifier?: void, | |
name: string, | |
typeAnnotation: ?TypeAnnotation, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type IfStatement = { | |
type: 'IfStatement', | |
_IfStatement?: void, | |
alternate: ?Statement, | |
consequent: Statement, | |
test: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
// TODO: Make this correct. | |
export type ImportDefaultSpecifier = { | |
type: 'ImportDefaultSpecifier', | |
_ImportDefaultSpecifier?: void, | |
local: Node, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
// TODO: Make this correct. | |
export type ImportNamespaceSpecifier = { | |
type: 'ImportNamespaceSpecifier', | |
_ImportNamespaceSpecifier?: void, | |
local: Node, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
// TODO: Make this correct. | |
export type ImportDeclaration = { | |
type: 'ImportDeclaration', | |
_ImportDeclaration?: void, | |
specifiers: Array<Node>, | |
source: Literal, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
// TODO: Make this correct. | |
export type ImportSpecifier = { | |
type: 'ImportSpecifier', | |
_ImportSpecifier?: void, | |
imported: Node, | |
local: Node, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type LabeledStatement = { | |
type: 'LabeledStatement', | |
_LabeledStatement?: void, | |
body: Statement, | |
label: Identifier, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type Literal = { | |
type: 'Literal', | |
_Literal?: void, | |
raw: string, | |
regex: ?{pattern: string, flags: string}, | |
value: ?(string | boolean | number | RegExp), | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
type LogicalOperator = '||' | '&&'; | |
export type LogicalExpression = { | |
type: 'LogicalExpression', | |
_LogicalExpression?: void, | |
left: Expression, | |
operator: LogicalOperator, | |
right: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type MemberExpression = { | |
type: 'MemberExpression', | |
_MemberExpression?: void, | |
computed: boolean, | |
object: Expression, | |
property: Node, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
// TODO: Make this correct. | |
export type MetaProperty = { | |
type: 'MetaProperty', | |
_MetaProperty?: void, | |
meta: Node, | |
property: Node, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type MethodDefinition = { | |
type: 'MethodDefinition', | |
_MethodDefinition?: void, | |
computed: boolean, | |
key: Node, | |
kind: 'constructor' | 'method' | 'get' | 'set', | |
static: boolean, | |
value: FunctionExpression, | |
decorators: ?Array<Decorator>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type NewExpression = { | |
type: 'NewExpression', | |
_NewExpression?: void, | |
arguments: Array<Node>, | |
callee: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type Noop = { | |
type: 'Noop', | |
_Noop?: void, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type ObjectExpression = { | |
type: 'ObjectExpression', | |
_ObjectExpression?: void, | |
properties: Array<Node>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type ObjectPattern = { | |
type: 'ObjectPattern', | |
_ObjectPattern?: void, | |
properties: Array<Node>, | |
typeAnnotation: ?TypeAnnotation, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type Program = { | |
type: 'Program', | |
_Program?: void, | |
body: Array<Statement>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type Property = { | |
type: 'Property', | |
_Property?: void, | |
computed: boolean, | |
key: Node, | |
kind: 'init' | 'get' | 'set', | |
method: boolean, | |
shorthand: boolean, | |
value: Node, | |
decorators: ?Array<Decorator>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type RestElement = { | |
type: 'RestElement', | |
_RestElement?: void, | |
argument: Pattern, | |
typeAnnotation: ?TypeAnnotation, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type ReturnStatement = { | |
type: 'ReturnStatement', | |
_ReturnStatement?: void, | |
argument: ?Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type SequenceExpression = { | |
type: 'SequenceExpression', | |
_SequenceExpression?: void, | |
expression: Array<Expression>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type SpreadElement = { | |
type: 'SpreadElement', | |
_SpreadElement?: void, | |
argument: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type SpreadProperty = { | |
type: 'SpreadProperty', | |
_SpreadProperty?: void, | |
argument: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type Super = { | |
type: 'Super', | |
_Super?: void, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type SwitchCase = { | |
type: 'SwitchCase', | |
_SwitchCase?: void, | |
consequent: Array<Statement>, | |
test: ?Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type SwitchStatement = { | |
type: 'SwitchStatement', | |
_SwitchStatement?: void, | |
cases: Array<SwitchCase>, | |
discriminant: Expression, | |
lexical: boolean, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type TaggedTemplateExpression = { | |
type: 'TaggedTemplateExpression', | |
_TaggedTemplateExpression?: void, | |
quasi: TemplateLiteral, | |
tag: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type TemplateElement = { | |
type: 'TemplateElement', | |
_TemplateElement?: void, | |
tail: boolean, | |
value: {cooked: string, raw: string}, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type TemplateLiteral = { | |
type: 'TemplateLiteral', | |
_TemplateLiteral?: void, | |
expressions: Array<Expression>, | |
quasis: Array<TemplateElement>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type ThisExpression = { | |
type: 'ThisExpression', | |
_ThisExpression?: void, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type ThrowStatement = { | |
type: 'ThrowStatement', | |
_ThrowStatement?: void, | |
argument: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type TryStatement = { | |
type: 'TryStatement', | |
_TryStatement?: void, | |
block: BlockStatement, | |
finalizer: ?BlockStatement, | |
guardedHandlers: Array<CatchClause>, | |
handler: ?CatchClause, | |
handlers: ?Array<CatchClause>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
type UnaryOperator = '-' | '+' | '!' | '~' | 'typeof' | 'void' | 'delete'; | |
export type UnaryExpression = { | |
type: 'UnaryExpression', | |
_UnaryExpression?: void, | |
argument: Expression, | |
operator: UnaryOperator, | |
prefix: true, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
type UpdateOperator = '++' | '--'; | |
export type UpdateExpression = { | |
type: 'UpdateExpression', | |
_UpdateExpression?: void, | |
argument: Expression, | |
operator: UpdateOperator, | |
prefix: boolean, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type VariableDeclaration = { | |
type: 'VariableDeclaration', | |
_VariableDeclaration?: void, | |
declarations: Array<VariableDeclarator>, | |
kind: 'var' | 'let' | 'const', | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type VariableDeclarator = { | |
type: 'VariableDeclarator', | |
_VariableDeclarator?: void, | |
id: Pattern, | |
init: ?Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type WhileStatement = { | |
type: 'WhileStatement', | |
_WhileStatement?: void, | |
body: Statement, | |
test: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type WithStatement = { | |
type: 'WithStatement', | |
_WithStatement?: void, | |
body: Statement, | |
object: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type YieldExpression = { | |
type: 'YieldExpression', | |
_YieldExpression?: void, | |
argument: ?Expression, | |
delegate: boolean, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
// TODO: Make this correct. | |
export type ExportAllDeclaration = { | |
type: 'ExportAllDeclaration', | |
_ExportAllDeclaration?: void, | |
exported: Node, | |
source: Node, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
// TODO: Make this correct. | |
export type ExportDefaultDeclaration = { | |
type: 'ExportDefaultDeclaration', | |
_ExportDefaultDeclaration?: void, | |
declaration: Node, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
// TODO: Make this correct. | |
export type ExportNamedDeclaration = { | |
type: 'ExportNamedDeclaration', | |
_ExportNamedDeclaration?: void, | |
declaration: Node, | |
source: Literal, | |
specifiers: Array<Node>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
// TODO: Make this correct. | |
export type ExportDefaultSpecifier = { | |
type: 'ExportDefaultSpecifier', | |
_ExportDefaultSpecifier?: void, | |
exported: Node, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
// TODO: Make this correct. | |
export type ExportNamespaceSpecifier = { | |
type: 'ExportNamespaceSpecifier', | |
_ExportNamespaceSpecifier?: void, | |
exported: Node, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
// TODO: Make this correct. | |
export type ExportSpecifier = { | |
type: 'ExportSpecifier', | |
_ExportSpecifier?: void, | |
local: Node, | |
exported: Node, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type AnyTypeAnnotation = { | |
type: 'AnyTypeAnnotation', | |
_AnyTypeAnnotation?: void, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type ArrayTypeAnnotation = { | |
type: 'ArrayTypeAnnotation', | |
_ArrayTypeAnnotation?: void, | |
elementType: Type, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type BooleanLiteralTypeAnnotation = { | |
type: 'BooleanLiteralTypeAnnotation', | |
_BooleanLiteralTypeAnnotation?: void, | |
raw: string, | |
value: boolean, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type BooleanTypeAnnotation = { | |
type: 'BooleanTypeAnnotation', | |
_BooleanTypeAnnotation?: void, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type ClassImplements = { | |
type: 'ClassImplements', | |
_ClassImplements?: void, | |
id: Identifier, | |
typeParameters: ?TypeParameterInstantiation, | |
superClass: ?Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type ClassProperty = { | |
type: 'ClassProperty', | |
_ClassProperty?: void, | |
computed: boolean, | |
key: Node, | |
static: boolean, | |
typeAnnotation: ?TypeAnnotation, | |
value: ?Expression, | |
decorators: Array<Decorator>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type DeclareClass = { | |
type: 'DeclareClass', | |
_DeclareClass?: void, | |
body: ObjectTypeAnnotation, | |
extends: Array<InterfaceExtends>, | |
id: Identifier, | |
typeParameters: ?TypeParameterDeclaration, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
// TODO: Make this correct. | |
export type DeclareFunction = { | |
type: 'DeclareFunction', | |
_DeclareFunction?: void, | |
id: Identifier, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type DeclareModule = { | |
type: 'DeclareModule', | |
_DeclareModule?: void, | |
body: BlockStatement, | |
id: Node, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
// TODO: Make this correct. | |
export type DeclareVariable = { | |
type: 'DeclareVariable', | |
_DeclareVariable?: void, | |
id: Identifier, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type FunctionTypeAnnotation = { | |
type: 'FunctionTypeAnnotation', | |
_FunctionTypeAnnotation?: void, | |
params: Array<FunctionTypeParam>, | |
rest: ?FunctionTypeParam, | |
returnType: Type, | |
typeParameters: ?TypeParameterDeclaration, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type FunctionTypeParam = { | |
type: 'FunctionTypeParam', | |
_FunctionTypeParam?: void, | |
name: Identifier, | |
optional: boolean, | |
typeAnnotation: Type, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type GenericTypeAnnotation = { | |
type: 'GenericTypeAnnotation', | |
_GenericTypeAnnotation?: void, | |
id: Node, | |
typeParameters: ?TypeParameterInstantiation, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type InterfaceExtends = { | |
type: 'InterfaceExtends', | |
_InterfaceExtends?: void, | |
id: Identifier, | |
typeParameters: ?TypeParameterInstantiation, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type InterfaceDeclaration = { | |
type: 'InterfaceDeclaration', | |
_InterfaceDeclaration?: void, | |
body: ObjectTypeAnnotation, | |
extends: Array<InterfaceExtends>, | |
id: Identifier, | |
typeParameters: ?TypeParameterDeclaration, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type IntersectionTypeAnnotation = { | |
type: 'IntersectionTypeAnnotation', | |
_IntersectionTypeAnnotation?: void, | |
types: Array<Type>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type MixedTypeAnnotation = { | |
type: 'MixedTypeAnnotation', | |
_MixedTypeAnnotation?: void, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type NullableTypeAnnotation = { | |
type: 'NullableTypeAnnotation', | |
_NullableTypeAnnotation?: void, | |
typeAnnotation: Type, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type NumberLiteralTypeAnnotation = { | |
type: 'NumberLiteralTypeAnnotation', | |
_NumberLiteralTypeAnnotation?: void, | |
raw: string, | |
value: number, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type NumberTypeAnnotation = { | |
type: 'NumberTypeAnnotation', | |
_NumberTypeAnnotation?: void, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type StringLiteralTypeAnnotation = { | |
type: 'StringLiteralTypeAnnotation', | |
_StringLiteralTypeAnnotation?: void, | |
raw: string, | |
value: string, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type StringTypeAnnotation = { | |
type: 'StringTypeAnnotation', | |
_StringTypeAnnotation?: void, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type TupleTypeAnnotation = { | |
type: 'TupleTypeAnnotation', | |
_TupleTypeAnnotation?: void, | |
types: Array<Type>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type TypeofTypeAnnotation = { | |
type: 'TypeofTypeAnnotation', | |
_TypeofTypeAnnotation?: void, | |
argument: Type, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type TypeAlias = { | |
type: 'TypeAlias', | |
_TypeAlias?: void, | |
id: Identifier, | |
right: Type, | |
typeParameters: ?TypeParameterDeclaration, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type TypeAnnotation = { | |
type: 'TypeAnnotation', | |
_TypeAnnotation?: void, | |
typeAnnotation: Type, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type TypeCastExpression = { | |
type: 'TypeCastExpression', | |
_TypeCastExpression?: void, | |
expression: Expression, | |
typeAnnotation: TypeAnnotation, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type TypeParameterDeclaration = { | |
type: 'TypeParameterDeclaration', | |
_TypeParameterDeclaration?: void, | |
params: Array<Identifier>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type TypeParameterInstantiation = { | |
type: 'TypeParameterInstantiation', | |
_TypeParameterInstantiation?: void, | |
params: Array<Type>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type ObjectTypeAnnotation = { | |
type: 'ObjectTypeAnnotation', | |
_ObjectTypeAnnotation?: void, | |
callProperties: Array<ObjectTypeCallProperty>, | |
indexers: Array<ObjectTypeIndexer>, | |
properties: Array<ObjectTypeProperty>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type ObjectTypeCallProperty = { | |
type: 'ObjectTypeCallProperty', | |
_ObjectTypeCallProperty?: void, | |
static: boolean, | |
value: FunctionTypeAnnotation, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type ObjectTypeIndexer = { | |
type: 'ObjectTypeIndexer', | |
_ObjectTypeIndexer?: void, | |
id: Identifier, | |
key: Type, | |
value: Type, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type ObjectTypeProperty = { | |
type: 'ObjectTypeProperty', | |
_ObjectTypeProperty?: void, | |
key: Node, | |
optional: boolean, | |
value: Type, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type QualifiedTypeIdentifier = { | |
type: 'QualifiedTypeIdentifier', | |
_QualifiedTypeIdentifier?: void, | |
id: Identifier, | |
qualification: Node, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type UnionTypeAnnotation = { | |
type: 'UnionTypeAnnotation', | |
_UnionTypeAnnotation?: void, | |
types: Array<Type>, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type VoidTypeAnnotation = { | |
type: 'VoidTypeAnnotation', | |
_VoidTypeAnnotation?: void, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type JSXAttribute = { | |
type: 'JSXAttribute', | |
_JSXAttribute?: void, | |
name: Node, | |
value: ?Node, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type JSXClosingElement = { | |
type: 'JSXClosingElement', | |
_JSXClosingElement?: void, | |
name: Node, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type JSXElement = { | |
type: 'JSXElement', | |
_JSXElement?: void, | |
children: Array<Node>, | |
closingElement: ?JSXClosingElement, | |
openingElement: JSXOpeningElement, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type JSXEmptyExpression = { | |
type: 'JSXEmptyExpression', | |
_JSXEmptyExpression?: void, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type JSXExpressionContainer = { | |
type: 'JSXExpressionContainer', | |
_JSXExpressionContainer?: void, | |
expression: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type JSXIdentifier = { | |
type: 'JSXIdentifier', | |
_JSXIdentifier?: void, | |
name: string, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type JSXMemberExpression = { | |
type: 'JSXMemberExpression', | |
_JSXMemberExpression?: void, | |
computed: boolean, | |
object: Node, | |
property: JSXIdentifier, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type JSXNamespacedName = { | |
type: 'JSXNamespacedName', | |
_JSXNamespacedName?: void, | |
name: JSXIdentifier, | |
namespace: JSXIdentifier, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type JSXOpeningElement = { | |
type: 'JSXOpeningElement', | |
_JSXOpeningElement?: void, | |
attributes: Array<Node>, | |
name: Array<Node>, | |
selfClosing: boolean, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; | |
export type JSXSpreadAttribute = { | |
type: 'JSXSpreadAttribute', | |
_JSXSpreadAttribute?: void, | |
argument: Expression, | |
end: number, | |
innerComments: ?Array<Comment>, | |
leadingComments: ?Array<Comment>, | |
loc: { | |
end: {column: number, line: number}, | |
start: {column: number, line: number}, | |
}, | |
start: number, | |
trailingComments: ?Array<Comment>, | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment