| import { AST_NODE_TYPES, AST_TOKEN_TYPES } from './ast-node-types'; |
| export interface LineAndColumnData { |
| /** |
| * Line number (1-indexed) |
| */ |
| line: number; |
| /** |
| * Column number on the line (0-indexed) |
| */ |
| column: number; |
| } |
| export interface SourceLocation { |
| /** |
| * The position of the first character of the parsed source region |
| */ |
| start: LineAndColumnData; |
| /** |
| * The position of the first character after the parsed source region |
| */ |
| end: LineAndColumnData; |
| } |
| export declare type Range = [number, number]; |
| export interface BaseNode { |
| /** |
| * The source location information of the node. |
| */ |
| loc: SourceLocation; |
| /** |
| * An array of two numbers. |
| * Both numbers are a 0-based index which is the position in the array of source code characters. |
| * The first is the start position of the node, the second is the end position of the node. |
| */ |
| range: Range; |
| /** |
| * The parent node of the current node |
| */ |
| parent?: Node; |
| } |
| export interface Token extends BaseNode { |
| type: AST_TOKEN_TYPES; |
| value: string; |
| regex?: { |
| pattern: string; |
| flags: string; |
| }; |
| } |
| export interface Comment extends BaseNode { |
| type: 'Line' | 'Block'; |
| value: string; |
| } |
| export declare type OptionalRangeAndLoc<T> = Pick<T, Exclude<keyof T, 'range' | 'loc'>> & { |
| range?: Range; |
| loc?: SourceLocation; |
| }; |
| export declare type Node = ArrayExpression | ArrayPattern | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BigIntLiteral | BinaryExpression | BlockStatement | BreakStatement | CallExpression | CatchClause | ClassBody | ClassDeclaration | ClassExpression | ClassProperty | ConditionalExpression | ContinueStatement | DebuggerStatement | Decorator | DoWhileStatement | EmptyStatement | ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration | ExportSpecifier | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | FunctionDeclaration | FunctionExpression | Identifier | IfStatement | Import | ImportDeclaration | ImportDefaultSpecifier | ImportNamespaceSpecifier | ImportSpecifier | JSXAttribute | JSXClosingElement | JSXClosingFragment | JSXElement | JSXEmptyExpression | JSXExpressionContainer | JSXFragment | JSXIdentifier | JSXOpeningElement | JSXOpeningFragment | JSXSpreadAttribute | JSXSpreadChild | JSXMemberExpression | JSXText | LabeledStatement | Literal | LogicalExpression | MemberExpression | MetaProperty | MethodDefinition | NewExpression | ObjectExpression | ObjectPattern | Program | Property | RestElement | ReturnStatement | SequenceExpression | SpreadElement | Super | SwitchCase | SwitchStatement | TaggedTemplateExpression | TemplateElement | TemplateLiteral | ThisExpression | ThrowStatement | TryStatement | TSAbstractClassProperty | TSAbstractKeyword | TSAbstractMethodDefinition | TSAnyKeyword | TSArrayType | TSAsExpression | TSAsyncKeyword | TSBigIntKeyword | TSBooleanKeyword | TSCallSignatureDeclaration | TSClassImplements | TSConditionalType | TSConstructorType | TSConstructSignatureDeclaration | TSDeclareFunction | TSDeclareKeyword | TSEmptyBodyFunctionExpression | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSExportKeyword | TSExternalModuleReference | TSFunctionType | TSImportEqualsDeclaration | TSImportType | TSIndexedAccessType | TSIndexSignature | TSInferType | TSInterfaceDeclaration | TSInterfaceBody | TSInterfaceHeritage | TSIntersectionType | TSLiteralType | TSMappedType | TSMethodSignature | TSModuleBlock | TSModuleDeclaration | TSNamespaceExportDeclaration | TSNeverKeyword | TSNonNullExpression | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSOptionalType | TSParameterProperty | TSParenthesizedType | TSPropertySignature | TSPublicKeyword | TSPrivateKeyword | TSProtectedKeyword | TSQualifiedName | TSReadonlyKeyword | TSRestType | TSStaticKeyword | TSStringKeyword | TSSymbolKeyword | TSThisType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeLiteral | TSTypeOperator | TSTypeParameter | TSTypeParameterDeclaration | TSTypeParameterInstantiation | TSTypePredicate | TSTypeQuery | TSTypeReference | TSUndefinedKeyword | TSUnionType | TSUnknownKeyword | TSVoidKeyword | UpdateExpression | UnaryExpression | VariableDeclaration | VariableDeclarator | WhileStatement | WithStatement | YieldExpression; |
| export declare type Accessibility = 'public' | 'protected' | 'private'; |
| export declare type BindingPattern = ArrayPattern | ObjectPattern; |
| export declare type BindingName = BindingPattern | Identifier; |
| export declare type ClassElement = ClassProperty | FunctionExpression | MethodDefinition | TSAbstractClassProperty | TSAbstractMethodDefinition | TSEmptyBodyFunctionExpression | TSIndexSignature; |
| export declare type DeclarationStatement = ClassDeclaration | ClassExpression | ExportDefaultDeclaration | ExportAllDeclaration | ExportNamedDeclaration | FunctionDeclaration | TSDeclareFunction | TSImportEqualsDeclaration | TSInterfaceDeclaration | TSModuleDeclaration | TSNamespaceExportDeclaration | TSTypeAliasDeclaration | TSEnumDeclaration; |
| export declare type EntityName = Identifier | TSQualifiedName; |
| export declare type ExportDeclaration = ClassDeclaration | ClassExpression | FunctionDeclaration | TSDeclareFunction | TSEnumDeclaration | TSInterfaceDeclaration | TSModuleDeclaration | TSTypeAliasDeclaration | VariableDeclaration; |
| export declare type Expression = ArrowFunctionExpression | AssignmentExpression | BinaryExpression | ConditionalExpression | JSXClosingElement | JSXClosingFragment | JSXExpressionContainer | JSXOpeningElement | JSXOpeningFragment | JSXSpreadChild | LogicalExpression | NewExpression | RestElement | SequenceExpression | SpreadElement | TSAsExpression | TSUnaryExpression | YieldExpression; |
| export declare type ExpressionWithTypeArguments = TSClassImplements | TSInterfaceHeritage; |
| export declare type ForInitialiser = Expression | VariableDeclaration; |
| export declare type ImportClause = ImportDefaultSpecifier | ImportNamespaceSpecifier | ImportSpecifier; |
| export declare type IterationStatement = DoWhileStatement | ForInStatement | ForOfStatement | ForStatement | WhileStatement; |
| export declare type JSXChild = JSXElement | JSXExpression | JSXFragment | JSXText; |
| export declare type JSXExpression = JSXEmptyExpression | JSXSpreadChild | JSXExpressionContainer; |
| export declare type JSXTagNameExpression = JSXIdentifier | JSXMemberExpression; |
| export declare type LeftHandSideExpression = CallExpression | ClassExpression | ClassDeclaration | FunctionExpression | LiteralExpression | MemberExpression | PrimaryExpression | TaggedTemplateExpression | TSNonNullExpression | TSAsExpression; |
| export declare type LiteralExpression = BigIntLiteral | Literal | TemplateLiteral; |
| export declare type Modifier = TSAbstractKeyword | TSAsyncKeyword | TSDeclareKeyword | TSExportKeyword | TSPublicKeyword | TSPrivateKeyword | TSProtectedKeyword | TSReadonlyKeyword | TSStaticKeyword; |
| export declare type ObjectLiteralElementLike = MethodDefinition | Property | RestElement | SpreadElement | TSAbstractMethodDefinition; |
| export declare type Parameter = AssignmentPattern | RestElement | ArrayPattern | ObjectPattern | Identifier | TSParameterProperty; |
| export declare type PrimaryExpression = ArrayExpression | ArrayPattern | ClassExpression | FunctionExpression | Identifier | Import | JSXElement | JSXFragment | JSXOpeningElement | Literal | LiteralExpression | MetaProperty | ObjectExpression | ObjectPattern | Super | TemplateLiteral | ThisExpression | TSNullKeyword; |
| export declare type PropertyName = Identifier | Literal; |
| export declare type Statement = BlockStatement | BreakStatement | ContinueStatement | DebuggerStatement | DeclarationStatement | EmptyStatement | ExpressionStatement | IfStatement | IterationStatement | ImportDeclaration | LabeledStatement | TSModuleBlock | ReturnStatement | SwitchStatement | ThrowStatement | TryStatement | VariableDeclaration | WithStatement; |
| export declare type TypeElement = TSCallSignatureDeclaration | TSConstructSignatureDeclaration | TSIndexSignature | TSMethodSignature | TSPropertySignature; |
| export declare type TypeNode = ThisExpression | TSAnyKeyword | TSArrayType | TSBigIntKeyword | TSBooleanKeyword | TSClassImplements | TSConditionalType | TSConstructorType | TSFunctionType | TSImportType | TSIndexedAccessType | TSInferType | TSInterfaceHeritage | TSIntersectionType | TSLiteralType | TSMappedType | TSNeverKeyword | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSOptionalType | TSParenthesizedType | TSRestType | TSStringKeyword | TSSymbolKeyword | TSThisType | TSTupleType | TSTypeLiteral | TSTypeOperator | TSTypeReference | TSTypePredicate | TSTypeQuery | TSUndefinedKeyword | TSUnionType | TSUnknownKeyword | TSVoidKeyword; |
| export declare type TSUnaryExpression = AwaitExpression | LeftHandSideExpression | TSTypeAssertion | UnaryExpression | UpdateExpression; |
| interface BinaryExpressionBase extends BaseNode { |
| operator: string; |
| left: Expression; |
| right: Expression; |
| } |
| interface ClassDeclarationBase extends BaseNode { |
| typeParameters?: TSTypeParameterDeclaration; |
| superTypeParameters?: TSTypeParameterInstantiation; |
| id?: Identifier; |
| body: ClassBody; |
| superClass?: LeftHandSideExpression; |
| implements?: ExpressionWithTypeArguments[]; |
| abstract?: boolean; |
| declare?: boolean; |
| decorators?: Decorator[]; |
| } |
| interface ClassPropertyBase extends BaseNode { |
| key: PropertyName; |
| value: Expression; |
| computed: boolean; |
| static: boolean; |
| readonly?: boolean; |
| decorators?: Decorator[]; |
| accessibility?: Accessibility; |
| optional?: boolean; |
| definite?: boolean; |
| typeAnnotation?: TSTypeAnnotation; |
| } |
| interface FunctionDeclarationBase extends BaseNode { |
| id: Identifier | null; |
| generator: boolean; |
| expression: boolean; |
| async: boolean; |
| params: Parameter[]; |
| body?: BlockStatement | null; |
| returnType?: TSTypeAnnotation; |
| typeParameters?: TSTypeParameterDeclaration; |
| declare?: boolean; |
| } |
| interface FunctionSignatureBase extends BaseNode { |
| params: Parameter[]; |
| returnType?: TSTypeAnnotation; |
| typeParameters?: TSTypeParameterDeclaration; |
| } |
| interface LiteralBase extends BaseNode { |
| raw: string; |
| value: boolean | number | RegExp | string | null; |
| regex?: { |
| pattern: string; |
| flags: string; |
| }; |
| } |
| interface MethodDefinitionBase extends BaseNode { |
| key: Expression; |
| value: FunctionExpression | TSEmptyBodyFunctionExpression; |
| computed: boolean; |
| static: boolean; |
| kind: 'method' | 'get' | 'set' | 'constructor'; |
| decorators?: Decorator[]; |
| accessibility?: Accessibility; |
| typeParameters?: TSTypeParameterDeclaration; |
| } |
| interface TSHeritageBase extends BaseNode { |
| expression: Expression; |
| typeParameters?: TSTypeParameterInstantiation; |
| } |
| interface UnaryExpressionBase extends BaseNode { |
| operator: string; |
| prefix: boolean; |
| argument: LeftHandSideExpression | Literal | UnaryExpression; |
| } |
| export interface ArrayExpression extends BaseNode { |
| type: AST_NODE_TYPES.ArrayExpression; |
| elements: Expression[]; |
| } |
| export interface ArrayPattern extends BaseNode { |
| type: AST_NODE_TYPES.ArrayPattern; |
| elements: Expression[]; |
| typeAnnotation?: TSTypeAnnotation; |
| optional?: boolean; |
| decorators?: Decorator[]; |
| } |
| export interface ArrowFunctionExpression extends BaseNode { |
| type: AST_NODE_TYPES.ArrowFunctionExpression; |
| generator: boolean; |
| id: null; |
| params: Parameter[]; |
| body: Expression | BlockStatement; |
| async: boolean; |
| expression: boolean; |
| returnType?: TSTypeAnnotation; |
| typeParameters?: TSTypeParameterDeclaration; |
| } |
| export interface AssignmentExpression extends BinaryExpressionBase { |
| type: AST_NODE_TYPES.AssignmentExpression; |
| } |
| export interface AssignmentPattern extends BaseNode { |
| type: AST_NODE_TYPES.AssignmentPattern; |
| left: BindingName; |
| right?: Expression; |
| typeAnnotation?: TSTypeAnnotation; |
| optional?: boolean; |
| decorators?: Decorator[]; |
| } |
| export interface AwaitExpression extends BaseNode { |
| type: AST_NODE_TYPES.AwaitExpression; |
| argument: TSUnaryExpression; |
| } |
| export interface BigIntLiteral extends LiteralBase { |
| type: AST_NODE_TYPES.BigIntLiteral; |
| } |
| export interface BinaryExpression extends BinaryExpressionBase { |
| type: AST_NODE_TYPES.BinaryExpression; |
| } |
| export interface BlockStatement extends BaseNode { |
| type: AST_NODE_TYPES.BlockStatement; |
| body: Statement[]; |
| } |
| export interface BreakStatement extends BaseNode { |
| type: AST_NODE_TYPES.BreakStatement; |
| label: Identifier | null; |
| } |
| export interface CallExpression extends BaseNode { |
| type: AST_NODE_TYPES.CallExpression; |
| callee: LeftHandSideExpression; |
| arguments: Expression[]; |
| typeParameters?: TSTypeParameterInstantiation; |
| } |
| export interface CatchClause extends BaseNode { |
| type: AST_NODE_TYPES.CatchClause; |
| param: BindingName | null; |
| body: BlockStatement; |
| } |
| export interface ClassBody extends BaseNode { |
| type: AST_NODE_TYPES.ClassBody; |
| body: ClassElement[]; |
| } |
| export interface ClassDeclaration extends ClassDeclarationBase { |
| type: AST_NODE_TYPES.ClassDeclaration; |
| } |
| export interface ClassExpression extends ClassDeclarationBase { |
| type: AST_NODE_TYPES.ClassExpression; |
| } |
| export interface ClassProperty extends ClassPropertyBase { |
| type: AST_NODE_TYPES.ClassProperty; |
| } |
| export interface ConditionalExpression extends BaseNode { |
| type: AST_NODE_TYPES.ConditionalExpression; |
| test: Expression; |
| consequent: Expression; |
| alternate: Expression; |
| } |
| export interface ContinueStatement extends BaseNode { |
| type: AST_NODE_TYPES.ContinueStatement; |
| label: Identifier | null; |
| } |
| export interface DebuggerStatement extends BaseNode { |
| type: AST_NODE_TYPES.DebuggerStatement; |
| } |
| export interface Decorator extends BaseNode { |
| type: AST_NODE_TYPES.Decorator; |
| expression: LeftHandSideExpression; |
| } |
| export interface DoWhileStatement extends BaseNode { |
| type: AST_NODE_TYPES.DoWhileStatement; |
| test: Expression; |
| body: Statement; |
| } |
| export interface EmptyStatement extends BaseNode { |
| type: AST_NODE_TYPES.EmptyStatement; |
| } |
| export interface ExportAllDeclaration extends BaseNode { |
| type: AST_NODE_TYPES.ExportAllDeclaration; |
| source: Expression | null; |
| } |
| export interface ExportDefaultDeclaration extends BaseNode { |
| type: AST_NODE_TYPES.ExportDefaultDeclaration; |
| declaration: ExportDeclaration | Expression; |
| } |
| export interface ExportNamedDeclaration extends BaseNode { |
| type: AST_NODE_TYPES.ExportNamedDeclaration; |
| declaration: ExportDeclaration | null; |
| specifiers: ExportSpecifier[]; |
| source: Expression | null; |
| } |
| export interface ExportSpecifier extends BaseNode { |
| type: AST_NODE_TYPES.ExportSpecifier; |
| local: Identifier; |
| exported: Identifier; |
| } |
| export interface ExpressionStatement extends BaseNode { |
| type: AST_NODE_TYPES.ExpressionStatement; |
| expression: Expression; |
| } |
| export interface ForInStatement extends BaseNode { |
| type: AST_NODE_TYPES.ForInStatement; |
| left: ForInitialiser; |
| right: Expression; |
| body: Statement; |
| } |
| export interface ForOfStatement extends BaseNode { |
| type: AST_NODE_TYPES.ForOfStatement; |
| left: ForInitialiser; |
| right: Expression; |
| body: Statement; |
| await: boolean; |
| } |
| export interface ForStatement extends BaseNode { |
| type: AST_NODE_TYPES.ForStatement; |
| init: Expression | ForInitialiser | null; |
| test: Expression | null; |
| update: Expression | null; |
| body: Statement; |
| } |
| export interface FunctionDeclaration extends FunctionDeclarationBase { |
| type: AST_NODE_TYPES.FunctionDeclaration; |
| } |
| export interface FunctionExpression extends FunctionDeclarationBase { |
| type: AST_NODE_TYPES.FunctionExpression; |
| } |
| export interface Identifier extends BaseNode { |
| type: AST_NODE_TYPES.Identifier; |
| name: string; |
| typeAnnotation?: TSTypeAnnotation; |
| optional?: boolean; |
| decorators?: Decorator[]; |
| } |
| export interface IfStatement extends BaseNode { |
| type: AST_NODE_TYPES.IfStatement; |
| test: Expression; |
| consequent: Statement; |
| alternate: Statement | null; |
| } |
| export interface Import extends BaseNode { |
| type: AST_NODE_TYPES.Import; |
| } |
| export interface ImportDeclaration extends BaseNode { |
| type: AST_NODE_TYPES.ImportDeclaration; |
| source: Expression; |
| specifiers: ImportClause[]; |
| } |
| export interface ImportDefaultSpecifier extends BaseNode { |
| type: AST_NODE_TYPES.ImportDefaultSpecifier; |
| local: Identifier; |
| } |
| export interface ImportNamespaceSpecifier extends BaseNode { |
| type: AST_NODE_TYPES.ImportNamespaceSpecifier; |
| local: Identifier; |
| } |
| export interface ImportSpecifier extends BaseNode { |
| type: AST_NODE_TYPES.ImportSpecifier; |
| local: Identifier; |
| imported: Identifier; |
| } |
| export interface JSXAttribute extends BaseNode { |
| type: AST_NODE_TYPES.JSXAttribute; |
| name: JSXIdentifier; |
| value: Literal | JSXExpression | null; |
| } |
| export interface JSXClosingElement extends BaseNode { |
| type: AST_NODE_TYPES.JSXClosingElement; |
| name: JSXTagNameExpression; |
| } |
| export interface JSXClosingFragment extends BaseNode { |
| type: AST_NODE_TYPES.JSXClosingFragment; |
| } |
| export interface JSXElement extends BaseNode { |
| type: AST_NODE_TYPES.JSXElement; |
| openingElement: JSXOpeningElement; |
| closingElement: JSXClosingElement | null; |
| children: JSXChild[]; |
| } |
| export interface JSXEmptyExpression extends BaseNode { |
| type: AST_NODE_TYPES.JSXEmptyExpression; |
| } |
| export interface JSXExpressionContainer extends BaseNode { |
| type: AST_NODE_TYPES.JSXExpressionContainer; |
| expression: Expression | JSXEmptyExpression; |
| } |
| export interface JSXFragment extends BaseNode { |
| type: AST_NODE_TYPES.JSXFragment; |
| openingFragment: JSXOpeningFragment; |
| closingFragment: JSXClosingFragment; |
| children: JSXChild[]; |
| } |
| export interface JSXIdentifier extends BaseNode { |
| type: AST_NODE_TYPES.JSXIdentifier; |
| name: string; |
| } |
| export interface JSXMemberExpression extends BaseNode { |
| type: AST_NODE_TYPES.JSXMemberExpression; |
| object: JSXTagNameExpression; |
| property: JSXIdentifier; |
| } |
| export interface JSXOpeningElement extends BaseNode { |
| type: AST_NODE_TYPES.JSXOpeningElement; |
| typeParameters?: TSTypeParameterInstantiation; |
| selfClosing: boolean; |
| name: JSXTagNameExpression; |
| attributes: JSXAttribute[]; |
| } |
| export interface JSXOpeningFragment extends BaseNode { |
| type: AST_NODE_TYPES.JSXOpeningFragment; |
| } |
| export interface JSXSpreadAttribute extends BaseNode { |
| type: AST_NODE_TYPES.JSXSpreadAttribute; |
| argument: Expression; |
| } |
| export interface JSXSpreadChild extends BaseNode { |
| type: AST_NODE_TYPES.JSXSpreadChild; |
| expression: Expression | JSXEmptyExpression; |
| } |
| export interface JSXText extends BaseNode { |
| type: AST_NODE_TYPES.JSXText; |
| value: string; |
| raw: string; |
| } |
| export interface LabeledStatement extends BaseNode { |
| type: AST_NODE_TYPES.LabeledStatement; |
| label: Identifier; |
| body: Statement; |
| } |
| export interface Literal extends LiteralBase { |
| type: AST_NODE_TYPES.Literal; |
| } |
| export interface LogicalExpression extends BinaryExpressionBase { |
| type: AST_NODE_TYPES.LogicalExpression; |
| } |
| export interface MemberExpression extends BaseNode { |
| type: AST_NODE_TYPES.MemberExpression; |
| object: LeftHandSideExpression; |
| property: Expression | Identifier; |
| computed?: boolean; |
| } |
| export interface MetaProperty extends BaseNode { |
| type: AST_NODE_TYPES.MetaProperty; |
| meta: Identifier; |
| property: Identifier; |
| } |
| export interface MethodDefinition extends MethodDefinitionBase { |
| type: AST_NODE_TYPES.MethodDefinition; |
| } |
| export interface NewExpression extends BaseNode { |
| type: AST_NODE_TYPES.NewExpression; |
| callee: LeftHandSideExpression; |
| arguments: Expression[]; |
| typeParameters?: TSTypeParameterInstantiation; |
| } |
| export interface ObjectExpression extends BaseNode { |
| type: AST_NODE_TYPES.ObjectExpression; |
| properties: ObjectLiteralElementLike[]; |
| } |
| export interface ObjectPattern extends BaseNode { |
| type: AST_NODE_TYPES.ObjectPattern; |
| properties: ObjectLiteralElementLike[]; |
| typeAnnotation?: TSTypeAnnotation; |
| optional?: boolean; |
| decorators?: Decorator[]; |
| } |
| export interface Program extends BaseNode { |
| type: AST_NODE_TYPES.Program; |
| body: Statement[]; |
| sourceType: 'module' | 'script'; |
| comments?: Comment[]; |
| tokens?: Token[]; |
| } |
| export interface Property extends BaseNode { |
| type: AST_NODE_TYPES.Property; |
| key: PropertyName; |
| value: Expression | AssignmentPattern | BindingName; |
| computed: boolean; |
| method: boolean; |
| shorthand: boolean; |
| kind: 'init' | 'get' | 'set'; |
| } |
| export interface RestElement extends BaseNode { |
| type: AST_NODE_TYPES.RestElement; |
| argument: BindingName | Expression | PropertyName; |
| typeAnnotation?: TSTypeAnnotation; |
| optional?: boolean; |
| value?: AssignmentPattern; |
| decorators?: Decorator[]; |
| } |
| export interface ReturnStatement extends BaseNode { |
| type: AST_NODE_TYPES.ReturnStatement; |
| argument: Expression | null; |
| } |
| export interface SequenceExpression extends BaseNode { |
| type: AST_NODE_TYPES.SequenceExpression; |
| expressions: Expression[]; |
| } |
| export interface SpreadElement extends BaseNode { |
| type: AST_NODE_TYPES.SpreadElement; |
| argument: BindingName | Expression | PropertyName; |
| } |
| export interface Super extends BaseNode { |
| type: AST_NODE_TYPES.Super; |
| } |
| export interface SwitchCase extends BaseNode { |
| type: AST_NODE_TYPES.SwitchCase; |
| test: Expression | null; |
| consequent: Statement[]; |
| } |
| export interface SwitchStatement extends BaseNode { |
| type: AST_NODE_TYPES.SwitchStatement; |
| discriminant: Expression; |
| cases: SwitchCase[]; |
| } |
| export interface TaggedTemplateExpression extends BaseNode { |
| type: AST_NODE_TYPES.TaggedTemplateExpression; |
| typeParameters?: TSTypeParameterInstantiation; |
| tag: LeftHandSideExpression; |
| quasi: TemplateLiteral; |
| } |
| export interface TemplateElement extends BaseNode { |
| type: AST_NODE_TYPES.TemplateElement; |
| value: { |
| raw: string; |
| cooked: string; |
| }; |
| tail: boolean; |
| } |
| export interface TemplateLiteral extends BaseNode { |
| type: AST_NODE_TYPES.TemplateLiteral; |
| quasis: TemplateElement[]; |
| expressions: Expression[]; |
| } |
| export interface ThisExpression extends BaseNode { |
| type: AST_NODE_TYPES.ThisExpression; |
| } |
| export interface ThrowStatement extends BaseNode { |
| type: AST_NODE_TYPES.ThrowStatement; |
| argument: Statement | TSAsExpression | null; |
| } |
| export interface TryStatement extends BaseNode { |
| type: AST_NODE_TYPES.TryStatement; |
| block: BlockStatement; |
| handler: CatchClause | null; |
| finalizer: BlockStatement; |
| } |
| export interface TSAbstractClassProperty extends ClassPropertyBase { |
| type: AST_NODE_TYPES.TSAbstractClassProperty; |
| } |
| export interface TSAbstractKeyword extends BaseNode { |
| type: AST_NODE_TYPES.TSAbstractKeyword; |
| } |
| export interface TSAbstractMethodDefinition extends MethodDefinitionBase { |
| type: AST_NODE_TYPES.TSAbstractMethodDefinition; |
| } |
| export interface TSAnyKeyword extends BaseNode { |
| type: AST_NODE_TYPES.TSAnyKeyword; |
| } |
| export interface TSArrayType extends BaseNode { |
| type: AST_NODE_TYPES.TSArrayType; |
| elementType: TypeNode; |
| } |
| export interface TSAsExpression extends BaseNode { |
| type: AST_NODE_TYPES.TSAsExpression; |
| expression: Expression; |
| typeAnnotation: TypeNode; |
| } |
| export interface TSAsyncKeyword extends BaseNode { |
| type: AST_NODE_TYPES.TSAsyncKeyword; |
| } |
| export interface TSBigIntKeyword extends BaseNode { |
| type: AST_NODE_TYPES.TSBigIntKeyword; |
| } |
| export interface TSBooleanKeyword extends BaseNode { |
| type: AST_NODE_TYPES.TSBooleanKeyword; |
| } |
| export interface TSCallSignatureDeclaration extends FunctionSignatureBase { |
| type: AST_NODE_TYPES.TSCallSignatureDeclaration; |
| } |
| export interface TSClassImplements extends TSHeritageBase { |
| type: AST_NODE_TYPES.TSClassImplements; |
| } |
| export interface TSConditionalType extends BaseNode { |
| type: AST_NODE_TYPES.TSConditionalType; |
| checkType: TypeNode; |
| extendsType: TypeNode; |
| trueType: TypeNode; |
| falseType: TypeNode; |
| } |
| export interface TSConstructorType extends FunctionSignatureBase { |
| type: AST_NODE_TYPES.TSConstructorType; |
| } |
| export interface TSConstructSignatureDeclaration extends FunctionSignatureBase { |
| type: AST_NODE_TYPES.TSConstructSignatureDeclaration; |
| } |
| export interface TSDeclareFunction extends FunctionDeclarationBase { |
| type: AST_NODE_TYPES.TSDeclareFunction; |
| } |
| export interface TSDeclareKeyword extends BaseNode { |
| type: AST_NODE_TYPES.TSDeclareKeyword; |
| } |
| export interface TSEmptyBodyFunctionExpression extends FunctionDeclarationBase { |
| type: AST_NODE_TYPES.TSEmptyBodyFunctionExpression; |
| body: null; |
| } |
| export interface TSEnumDeclaration extends BaseNode { |
| type: AST_NODE_TYPES.TSEnumDeclaration; |
| id: Identifier; |
| members: TSEnumMember[]; |
| const?: boolean; |
| declare?: boolean; |
| modifiers?: Modifier[]; |
| decorators?: Decorator[]; |
| } |
| export interface TSEnumMember extends BaseNode { |
| type: AST_NODE_TYPES.TSEnumMember; |
| id: PropertyName; |
| initializer?: Expression; |
| } |
| export interface TSExportAssignment extends BaseNode { |
| type: AST_NODE_TYPES.TSExportAssignment; |
| expression: Expression; |
| } |
| export interface TSExportKeyword extends BaseNode { |
| type: AST_NODE_TYPES.TSExportKeyword; |
| } |
| export interface TSExternalModuleReference extends BaseNode { |
| type: AST_NODE_TYPES.TSExternalModuleReference; |
| expression: Expression; |
| } |
| export interface TSFunctionType extends FunctionSignatureBase { |
| type: AST_NODE_TYPES.TSFunctionType; |
| } |
| export interface TSImportEqualsDeclaration extends BaseNode { |
| type: AST_NODE_TYPES.TSImportEqualsDeclaration; |
| id: Identifier; |
| moduleReference: EntityName | TSExternalModuleReference; |
| isExport: boolean; |
| } |
| export interface TSImportType extends BaseNode { |
| type: AST_NODE_TYPES.TSImportType; |
| isTypeOf: boolean; |
| parameter: TypeNode; |
| qualifier: EntityName | null; |
| typeParameters: TSTypeParameterInstantiation | null; |
| } |
| export interface TSIndexedAccessType extends BaseNode { |
| type: AST_NODE_TYPES.TSIndexedAccessType; |
| objectType: TypeNode; |
| indexType: TypeNode; |
| } |
| export interface TSIndexSignature extends BaseNode { |
| type: AST_NODE_TYPES.TSIndexSignature; |
| parameters: Parameter[]; |
| typeAnnotation?: TSTypeAnnotation; |
| readonly?: boolean; |
| accessibility?: Accessibility; |
| export?: boolean; |
| static?: boolean; |
| } |
| export interface TSInferType extends BaseNode { |
| type: AST_NODE_TYPES.TSInferType; |
| typeParameter: TSTypeParameterDeclaration; |
| } |
| export interface TSInterfaceDeclaration extends BaseNode { |
| type: AST_NODE_TYPES.TSInterfaceDeclaration; |
| body: TSInterfaceBody; |
| id: Identifier; |
| typeParameters?: TSTypeParameterDeclaration; |
| extends?: ExpressionWithTypeArguments[]; |
| implements?: ExpressionWithTypeArguments[]; |
| decorators?: Decorator[]; |
| abstract?: boolean; |
| declare?: boolean; |
| } |
| export interface TSInterfaceBody extends BaseNode { |
| type: AST_NODE_TYPES.TSInterfaceBody; |
| body: TypeElement[]; |
| } |
| export interface TSInterfaceHeritage extends TSHeritageBase { |
| type: AST_NODE_TYPES.TSInterfaceHeritage; |
| } |
| export interface TSIntersectionType extends BaseNode { |
| type: AST_NODE_TYPES.TSIntersectionType; |
| types: TypeNode[]; |
| } |
| export interface TSLiteralType extends BaseNode { |
| type: AST_NODE_TYPES.TSLiteralType; |
| literal: LiteralExpression | UnaryExpression | UpdateExpression; |
| } |
| export interface TSMappedType extends BaseNode { |
| type: AST_NODE_TYPES.TSMappedType; |
| typeParameter: TSTypeParameterDeclaration; |
| readonly?: boolean | '-' | '+'; |
| optional?: boolean | '-' | '+'; |
| typeAnnotation?: TypeNode; |
| } |
| export interface TSMethodSignature extends BaseNode { |
| type: AST_NODE_TYPES.TSMethodSignature; |
| computed: boolean; |
| key: PropertyName; |
| params: Parameter[]; |
| optional?: boolean; |
| returnType?: TSTypeAnnotation; |
| readonly?: boolean; |
| typeParameters?: TSTypeParameterDeclaration; |
| accessibility?: Accessibility; |
| export?: boolean; |
| static?: boolean; |
| } |
| export interface TSModuleBlock extends BaseNode { |
| type: AST_NODE_TYPES.TSModuleBlock; |
| body: Statement[]; |
| } |
| export interface TSModuleDeclaration extends BaseNode { |
| type: AST_NODE_TYPES.TSModuleDeclaration; |
| id: Identifier | Literal; |
| body?: TSModuleBlock | TSModuleDeclaration; |
| global?: boolean; |
| declare?: boolean; |
| modifiers?: Modifier[]; |
| } |
| export interface TSNamespaceExportDeclaration extends BaseNode { |
| type: AST_NODE_TYPES.TSNamespaceExportDeclaration; |
| id: Identifier; |
| } |
| export interface TSNeverKeyword extends BaseNode { |
| type: AST_NODE_TYPES.TSNeverKeyword; |
| } |
| export interface TSNonNullExpression extends BaseNode { |
| type: AST_NODE_TYPES.TSNonNullExpression; |
| expression: Expression; |
| } |
| export interface TSNullKeyword extends BaseNode { |
| type: AST_NODE_TYPES.TSNullKeyword; |
| } |
| export interface TSNumberKeyword extends BaseNode { |
| type: AST_NODE_TYPES.TSNumberKeyword; |
| } |
| export interface TSObjectKeyword extends BaseNode { |
| type: AST_NODE_TYPES.TSObjectKeyword; |
| } |
| export interface TSOptionalType extends BaseNode { |
| type: AST_NODE_TYPES.TSOptionalType; |
| typeAnnotation: TypeNode; |
| } |
| export interface TSParameterProperty extends BaseNode { |
| type: AST_NODE_TYPES.TSParameterProperty; |
| accessibility?: Accessibility; |
| readonly?: boolean; |
| static?: boolean; |
| export?: boolean; |
| parameter: AssignmentPattern | BindingName | RestElement; |
| decorators?: Decorator[]; |
| } |
| export interface TSParenthesizedType extends BaseNode { |
| type: AST_NODE_TYPES.TSParenthesizedType; |
| typeAnnotation: TypeNode; |
| } |
| export interface TSPropertySignature extends BaseNode { |
| type: AST_NODE_TYPES.TSPropertySignature; |
| optional?: boolean; |
| computed: boolean; |
| key: PropertyName; |
| typeAnnotation?: TSTypeAnnotation; |
| initializer?: Expression; |
| readonly?: boolean; |
| static?: boolean; |
| export?: boolean; |
| accessibility?: Accessibility; |
| } |
| export interface TSPublicKeyword extends BaseNode { |
| type: AST_NODE_TYPES.TSPublicKeyword; |
| } |
| export interface TSPrivateKeyword extends BaseNode { |
| type: AST_NODE_TYPES.TSPrivateKeyword; |
| } |
| export interface TSProtectedKeyword extends BaseNode { |
| type: AST_NODE_TYPES.TSProtectedKeyword; |
| } |
| export interface TSQualifiedName extends BaseNode { |
| type: AST_NODE_TYPES.TSQualifiedName; |
| left: EntityName; |
| right: Identifier; |
| } |
| export interface TSReadonlyKeyword extends BaseNode { |
| type: AST_NODE_TYPES.TSReadonlyKeyword; |
| } |
| export interface TSRestType extends BaseNode { |
| type: AST_NODE_TYPES.TSRestType; |
| typeAnnotation: TypeNode; |
| } |
| export interface TSStaticKeyword extends BaseNode { |
| type: AST_NODE_TYPES.TSStaticKeyword; |
| } |
| export interface TSStringKeyword extends BaseNode { |
| type: AST_NODE_TYPES.TSStringKeyword; |
| } |
| export interface TSSymbolKeyword extends BaseNode { |
| type: AST_NODE_TYPES.TSSymbolKeyword; |
| } |
| export interface TSThisType extends BaseNode { |
| type: AST_NODE_TYPES.TSThisType; |
| } |
| export interface TSTupleType extends BaseNode { |
| type: AST_NODE_TYPES.TSTupleType; |
| elementTypes: TypeNode[]; |
| } |
| export interface TSTypeAliasDeclaration extends BaseNode { |
| type: AST_NODE_TYPES.TSTypeAliasDeclaration; |
| id: Identifier; |
| typeAnnotation: TypeNode; |
| declare?: boolean; |
| typeParameters?: TSTypeParameterDeclaration; |
| } |
| export interface TSTypeAnnotation extends BaseNode { |
| type: AST_NODE_TYPES.TSTypeAnnotation; |
| typeAnnotation: TypeNode; |
| } |
| export interface TSTypeAssertion extends BaseNode { |
| type: AST_NODE_TYPES.TSTypeAssertion; |
| typeAnnotation: TypeNode; |
| expression: UnaryExpression; |
| } |
| export interface TSTypeLiteral extends BaseNode { |
| type: AST_NODE_TYPES.TSTypeLiteral; |
| members: TypeElement[]; |
| } |
| export interface TSTypeOperator extends BaseNode { |
| type: AST_NODE_TYPES.TSTypeOperator; |
| operator: 'keyof' | 'unique' | 'readonly'; |
| typeAnnotation?: TSTypeAnnotation; |
| } |
| export interface TSTypeParameter extends BaseNode { |
| type: AST_NODE_TYPES.TSTypeParameter; |
| name: Identifier; |
| constraint?: TypeNode; |
| default?: TypeNode; |
| } |
| export interface TSTypeParameterDeclaration extends BaseNode { |
| type: AST_NODE_TYPES.TSTypeParameterDeclaration; |
| params: TSTypeParameter[]; |
| } |
| export interface TSTypeParameterInstantiation extends BaseNode { |
| type: AST_NODE_TYPES.TSTypeParameterInstantiation; |
| params: TypeNode[]; |
| } |
| export interface TSTypePredicate extends BaseNode { |
| type: AST_NODE_TYPES.TSTypePredicate; |
| parameterName: Identifier | TSThisType; |
| typeAnnotation: TSTypeAnnotation; |
| } |
| export interface TSTypeQuery extends BaseNode { |
| type: AST_NODE_TYPES.TSTypeQuery; |
| exprName: EntityName; |
| } |
| export interface TSTypeReference extends BaseNode { |
| type: AST_NODE_TYPES.TSTypeReference; |
| typeName: EntityName; |
| typeParameters?: TSTypeParameterInstantiation; |
| } |
| export interface TSUndefinedKeyword extends BaseNode { |
| type: AST_NODE_TYPES.TSUndefinedKeyword; |
| } |
| export interface TSUnionType extends BaseNode { |
| type: AST_NODE_TYPES.TSUnionType; |
| types: TypeNode[]; |
| } |
| export interface TSUnknownKeyword extends BaseNode { |
| type: AST_NODE_TYPES.TSUnknownKeyword; |
| } |
| export interface TSVoidKeyword extends BaseNode { |
| type: AST_NODE_TYPES.TSVoidKeyword; |
| } |
| export interface UpdateExpression extends UnaryExpressionBase { |
| type: AST_NODE_TYPES.UpdateExpression; |
| } |
| export interface UnaryExpression extends UnaryExpressionBase { |
| type: AST_NODE_TYPES.UnaryExpression; |
| } |
| export interface VariableDeclaration extends BaseNode { |
| type: AST_NODE_TYPES.VariableDeclaration; |
| declarations: VariableDeclarator[]; |
| kind: 'let' | 'const' | 'var'; |
| declare?: boolean; |
| } |
| export interface VariableDeclarator extends BaseNode { |
| type: AST_NODE_TYPES.VariableDeclarator; |
| id: BindingName; |
| init: Expression | null; |
| definite?: boolean; |
| } |
| export interface WhileStatement extends BaseNode { |
| type: AST_NODE_TYPES.WhileStatement; |
| test: Expression; |
| body: Statement; |
| } |
| export interface WithStatement extends BaseNode { |
| type: AST_NODE_TYPES.WithStatement; |
| object: Expression; |
| body: Statement; |
| } |
| export interface YieldExpression extends BaseNode { |
| type: AST_NODE_TYPES.YieldExpression; |
| delegate: boolean; |
| argument?: Expression; |
| } |
| export {}; |
| //# sourceMappingURL=ts-estree.d.ts.map |