AST Specification
The following auto-generated documentation describes the Abstract Syntax Tree (AST) generated by @typescript-eslint/typescript-estree
for parsers such as @typescript-eslint/parser
.
Enumerations
AST_NODE_TYPES
Enumeration Members
Enumeration Member | Value |
---|
AccessorProperty | "AccessorProperty" |
ArrayExpression | "ArrayExpression" |
ArrayPattern | "ArrayPattern" |
ArrowFunctionExpression | "ArrowFunctionExpression" |
AssignmentExpression | "AssignmentExpression" |
AssignmentPattern | "AssignmentPattern" |
AwaitExpression | "AwaitExpression" |
BinaryExpression | "BinaryExpression" |
BlockStatement | "BlockStatement" |
BreakStatement | "BreakStatement" |
CallExpression | "CallExpression" |
CatchClause | "CatchClause" |
ChainExpression | "ChainExpression" |
ClassBody | "ClassBody" |
ClassDeclaration | "ClassDeclaration" |
ClassExpression | "ClassExpression" |
ConditionalExpression | "ConditionalExpression" |
ContinueStatement | "ContinueStatement" |
DebuggerStatement | "DebuggerStatement" |
Decorator | "Decorator" |
DoWhileStatement | "DoWhileStatement" |
EmptyStatement | "EmptyStatement" |
ExportAllDeclaration | "ExportAllDeclaration" |
ExportDefaultDeclaration | "ExportDefaultDeclaration" |
ExportNamedDeclaration | "ExportNamedDeclaration" |
ExportSpecifier | "ExportSpecifier" |
ExpressionStatement | "ExpressionStatement" |
ForInStatement | "ForInStatement" |
ForOfStatement | "ForOfStatement" |
ForStatement | "ForStatement" |
FunctionDeclaration | "FunctionDeclaration" |
FunctionExpression | "FunctionExpression" |
Identifier | "Identifier" |
IfStatement | "IfStatement" |
ImportAttribute | "ImportAttribute" |
ImportDeclaration | "ImportDeclaration" |
ImportDefaultSpecifier | "ImportDefaultSpecifier" |
ImportExpression | "ImportExpression" |
ImportNamespaceSpecifier | "ImportNamespaceSpecifier" |
ImportSpecifier | "ImportSpecifier" |
JSXAttribute | "JSXAttribute" |
JSXClosingElement | "JSXClosingElement" |
JSXClosingFragment | "JSXClosingFragment" |
JSXElement | "JSXElement" |
JSXEmptyExpression | "JSXEmptyExpression" |
JSXExpressionContainer | "JSXExpressionContainer" |
JSXFragment | "JSXFragment" |
JSXIdentifier | "JSXIdentifier" |
JSXMemberExpression | "JSXMemberExpression" |
JSXNamespacedName | "JSXNamespacedName" |
JSXOpeningElement | "JSXOpeningElement" |
JSXOpeningFragment | "JSXOpeningFragment" |
JSXSpreadAttribute | "JSXSpreadAttribute" |
JSXSpreadChild | "JSXSpreadChild" |
JSXText | "JSXText" |
LabeledStatement | "LabeledStatement" |
Literal | "Literal" |
LogicalExpression | "LogicalExpression" |
MemberExpression | "MemberExpression" |
MetaProperty | "MetaProperty" |
MethodDefinition | "MethodDefinition" |
NewExpression | "NewExpression" |
ObjectExpression | "ObjectExpression" |
ObjectPattern | "ObjectPattern" |
PrivateIdentifier | "PrivateIdentifier" |
Program | "Program" |
Property | "Property" |
PropertyDefinition | "PropertyDefinition" |
RestElement | "RestElement" |
ReturnStatement | "ReturnStatement" |
SequenceExpression | "SequenceExpression" |
SpreadElement | "SpreadElement" |
StaticBlock | "StaticBlock" |
Super | "Super" |
SwitchCase | "SwitchCase" |
SwitchStatement | "SwitchStatement" |
TSAbstractAccessorProperty | "TSAbstractAccessorProperty" |
TSAbstractKeyword | "TSAbstractKeyword" |
TSAbstractMethodDefinition | "TSAbstractMethodDefinition" |
TSAbstractPropertyDefinition | "TSAbstractPropertyDefinition" |
TSAnyKeyword | "TSAnyKeyword" |
TSArrayType | "TSArrayType" |
TSAsExpression | "TSAsExpression" |
TSAsyncKeyword | "TSAsyncKeyword" |
TSBigIntKeyword | "TSBigIntKeyword" |
TSBooleanKeyword | "TSBooleanKeyword" |
TSCallSignatureDeclaration | "TSCallSignatureDeclaration" |
TSClassImplements | "TSClassImplements" |
TSConditionalType | "TSConditionalType" |
TSConstructSignatureDeclaration | "TSConstructSignatureDeclaration" |
TSConstructorType | "TSConstructorType" |
TSDeclareFunction | "TSDeclareFunction" |
TSDeclareKeyword | "TSDeclareKeyword" |
TSEmptyBodyFunctionExpression | "TSEmptyBodyFunctionExpression" |
TSEnumBody | "TSEnumBody" |
TSEnumDeclaration | "TSEnumDeclaration" |
TSEnumMember | "TSEnumMember" |
TSExportAssignment | "TSExportAssignment" |
TSExportKeyword | "TSExportKeyword" |
TSExternalModuleReference | "TSExternalModuleReference" |
TSFunctionType | "TSFunctionType" |
TSImportEqualsDeclaration | "TSImportEqualsDeclaration" |
TSImportType | "TSImportType" |
TSIndexSignature | "TSIndexSignature" |
TSIndexedAccessType | "TSIndexedAccessType" |
TSInferType | "TSInferType" |
TSInstantiationExpression | "TSInstantiationExpression" |
TSInterfaceBody | "TSInterfaceBody" |
TSInterfaceDeclaration | "TSInterfaceDeclaration" |
TSInterfaceHeritage | "TSInterfaceHeritage" |
TSIntersectionType | "TSIntersectionType" |
TSIntrinsicKeyword | "TSIntrinsicKeyword" |
TSLiteralType | "TSLiteralType" |
TSMappedType | "TSMappedType" |
TSMethodSignature | "TSMethodSignature" |
TSModuleBlock | "TSModuleBlock" |
TSModuleDeclaration | "TSModuleDeclaration" |
TSNamedTupleMember | "TSNamedTupleMember" |
TSNamespaceExportDeclaration | "TSNamespaceExportDeclaration" |
TSNeverKeyword | "TSNeverKeyword" |
TSNonNullExpression | "TSNonNullExpression" |
TSNullKeyword | "TSNullKeyword" |
TSNumberKeyword | "TSNumberKeyword" |
TSObjectKeyword | "TSObjectKeyword" |
TSOptionalType | "TSOptionalType" |
TSParameterProperty | "TSParameterProperty" |
TSPrivateKeyword | "TSPrivateKeyword" |
TSPropertySignature | "TSPropertySignature" |
TSProtectedKeyword | "TSProtectedKeyword" |
TSPublicKeyword | "TSPublicKeyword" |
TSQualifiedName | "TSQualifiedName" |
TSReadonlyKeyword | "TSReadonlyKeyword" |
TSRestType | "TSRestType" |
TSSatisfiesExpression | "TSSatisfiesExpression" |
TSStaticKeyword | "TSStaticKeyword" |
TSStringKeyword | "TSStringKeyword" |
TSSymbolKeyword | "TSSymbolKeyword" |
TSTemplateLiteralType | "TSTemplateLiteralType" |
TSThisType | "TSThisType" |
TSTupleType | "TSTupleType" |
TSTypeAliasDeclaration | "TSTypeAliasDeclaration" |
TSTypeAnnotation | "TSTypeAnnotation" |
TSTypeAssertion | "TSTypeAssertion" |
TSTypeLiteral | "TSTypeLiteral" |
TSTypeOperator | "TSTypeOperator" |
TSTypeParameter | "TSTypeParameter" |
TSTypeParameterDeclaration | "TSTypeParameterDeclaration" |
TSTypeParameterInstantiation | "TSTypeParameterInstantiation" |
TSTypePredicate | "TSTypePredicate" |
TSTypeQuery | "TSTypeQuery" |
TSTypeReference | "TSTypeReference" |
TSUndefinedKeyword | "TSUndefinedKeyword" |
TSUnionType | "TSUnionType" |
TSUnknownKeyword | "TSUnknownKeyword" |
TSVoidKeyword | "TSVoidKeyword" |
TaggedTemplateExpression | "TaggedTemplateExpression" |
TemplateElement | "TemplateElement" |
TemplateLiteral | "TemplateLiteral" |
ThisExpression | "ThisExpression" |
ThrowStatement | "ThrowStatement" |
TryStatement | "TryStatement" |
UnaryExpression | "UnaryExpression" |
UpdateExpression | "UpdateExpression" |
VariableDeclaration | "VariableDeclaration" |
VariableDeclarator | "VariableDeclarator" |
WhileStatement | "WhileStatement" |
WithStatement | "WithStatement" |
YieldExpression | "YieldExpression" |
AST_TOKEN_TYPES
Enumeration Members
Enumeration Member | Value |
---|
Block | "Block" |
Boolean | "Boolean" |
Identifier | "Identifier" |
JSXIdentifier | "JSXIdentifier" |
JSXText | "JSXText" |
Keyword | "Keyword" |
Line | "Line" |
Null | "Null" |
Numeric | "Numeric" |
Punctuator | "Punctuator" |
RegularExpression | "RegularExpression" |
String | "String" |
Template | "Template" |
Interfaces
AccessorPropertyComputedName
Extends
PropertyDefinitionComputedNameBase
Properties
Property | Type | Overrides |
---|
type | AccessorProperty | PropertyDefinitionComputedNameBase.type |
AccessorPropertyNonComputedName
Extends
PropertyDefinitionNonComputedNameBase
Properties
Property | Type | Overrides |
---|
type | AccessorProperty | PropertyDefinitionNonComputedNameBase.type |
ArrayExpression
Extends
Properties
Property | Type | Description | Overrides |
---|
elements | (null | Expression | SpreadElement )[] | an element will be null in the case of a sparse array: [1, ,3] | - |
type | ArrayExpression | - | BaseNode .type |
ArrayPattern
Extends
Properties
ArrowFunctionExpression
Extends
Properties
AssignmentExpression
Extends
Properties
AssignmentOperatorToText
Extended by
Properties
Property | Type |
---|
64 | "=" |
65 | "+=" |
66 | "-=" |
67 | "*=" |
68 | "**=" |
69 | "/=" |
70 | "%=" |
71 | "<<=" |
72 | ">>=" |
73 | ">>>=" |
74 | "&=" |
75 | "|=" |
76 | "||=" |
77 | "&&=" |
78 | "??=" |
79 | "^=" |
AssignmentPattern
Extends
Properties
AwaitExpression
Extends
Properties
BaseNode
Extends
Extended by
Properties
BigIntLiteral
Extends
Properties
Property | Type | Overrides |
---|
bigint | string | - |
value | null | bigint | LiteralBase.value |
BinaryExpression
Extends
Properties
BinaryOperatorToText
Properties
Property | Type |
---|
103 | "in" |
104 | "instanceof" |
30 | "<" |
32 | ">" |
33 | "<=" |
34 | ">=" |
35 | "==" |
36 | "!=" |
37 | "===" |
38 | "!==" |
40 | "+" |
41 | "-" |
42 | "*" |
43 | "**" |
44 | "/" |
45 | "%" |
48 | "<<" |
49 | ">>" |
50 | ">>>" |
51 | "&" |
52 | "|" |
53 | "^" |
56 | "&&" |
57 | "||" |
Extends
Properties
Property | Type | Overrides |
---|
type | Block | BaseToken.type |
BlockStatement
Extends
Properties
BooleanLiteral
Extends
Properties
Property | Type | Overrides |
---|
raw | "false" | "true" | LiteralBase.raw |
value | boolean | LiteralBase.value |
BooleanToken
Extends
Properties
Property | Type | Overrides |
---|
type | Boolean | BaseToken.type |
BreakStatement
Extends
Properties
CallExpression
Extends
Properties
CatchClause
Extends
Properties
ChainExpression
Extends
Properties
ClassBody
Extends
Properties
ClassDeclarationWithName
A normal class declaration:
Extends
Properties
Property | Type | Overrides |
---|
id | Identifier | ClassDeclarationBase.id |
ClassDeclarationWithOptionalName
Default-exported class declarations have optional names:
Extends
Properties
Property | Type | Overrides |
---|
id | null | Identifier | ClassDeclarationBase.id |
ClassExpression
Extends
Properties
Property | Type | Overrides |
---|
abstract | false | ClassBase.abstract |
declare | false | ClassBase.declare |
type | ClassExpression | ClassBase.type |
ConditionalExpression
Extends
Properties
ContinueStatement
Extends
Properties
DebuggerStatement
Extends
Properties
Property | Type | Overrides |
---|
type | DebuggerStatement | BaseNode .type |
Decorator
Extends
Properties
DoWhileStatement
Extends
Properties
EmptyStatement
Extends
Properties
Property | Type | Overrides |
---|
type | EmptyStatement | BaseNode .type |
ExportAllDeclaration
Extends
Properties
Property | Type | Description | Overrides |
---|
assertions | ImportAttribute [] | The assertions declared for the export. Example export * from 'mod' assert { type: 'json' }; Deprecated Replaced with attributes . | - |
attributes | ImportAttribute [] | The attributes declared for the export. Example export * from 'mod' with { type: 'json' }; | - |
exportKind | ExportAndImportKind | The kind of the export. | - |
exported | null | Identifier | The name for the exported items (as X ). null if no name is assigned. | - |
source | StringLiteral | The source module being exported from. | - |
type | ExportAllDeclaration | - | BaseNode .type |
ExportDefaultDeclaration
Extends
Properties
Property | Type | Description | Overrides |
---|
declaration | DefaultExportDeclarations | The declaration being exported. | - |
exportKind | "value" | The kind of the export. Always value for default exports. | - |
type | ExportDefaultDeclaration | - | BaseNode .type |
ExportNamedDeclarationWithSource
Export names from another module.
export { a, b } from 'mod';
Extends
ExportNamedDeclarationBase
Properties
Property | Type | Overrides |
---|
declaration | null | ExportNamedDeclarationBase.declaration |
source | StringLiteral | ExportNamedDeclarationBase.source |
ExportNamedDeclarationWithoutSourceWithMultiple
Exporting names from the current module.
export {};
export { a, b };
Extends
ExportNamedDeclarationBase
Properties
Property | Type | Description | Overrides |
---|
assertions | ImportAttribute [] | This will always be an empty array. Deprecated Replaced with attributes . | ExportNamedDeclarationBase.assertions |
attributes | ImportAttribute [] | This will always be an empty array. | ExportNamedDeclarationBase.attributes |
declaration | null | - | ExportNamedDeclarationBase.declaration |
source | null | - | ExportNamedDeclarationBase.source |
ExportNamedDeclarationWithoutSourceWithSingle
Exporting a single named declaration.
Extends
ExportNamedDeclarationBase
Properties
Property | Type | Description | Overrides |
---|
assertions | ImportAttribute [] | This will always be an empty array. Deprecated Replaced with attributes . | ExportNamedDeclarationBase.assertions |
attributes | ImportAttribute [] | This will always be an empty array. | ExportNamedDeclarationBase.attributes |
declaration | NamedExportDeclarations | - | ExportNamedDeclarationBase.declaration |
source | null | - | ExportNamedDeclarationBase.source |
specifiers | ExportSpecifier [] | This will always be an empty array. | ExportNamedDeclarationBase.specifiers |
ExportSpecifier
Extends
Properties
ExpressionStatement
Extends
Properties
Property | Type | Overrides |
---|
directive | undefined | string | - |
expression | Expression | - |
type | ExpressionStatement | BaseNode .type |
ForInStatement
Extends
Properties
ForOfStatement
Extends
Properties
ForStatement
Extends
Properties
FunctionDeclarationWithName
A normal function declaration:
Extends
Properties
Property | Type | Overrides |
---|
id | Identifier | FunctionDeclarationBase.id |
FunctionDeclarationWithOptionalName
Default-exported function declarations have optional names:
export default function () {}
Extends
Properties
Property | Type | Overrides |
---|
id | null | Identifier | FunctionDeclarationBase.id |
FunctionExpression
Extends
Properties
Property | Type | Overrides |
---|
body | BlockStatement | FunctionBase.body |
expression | false | FunctionBase.expression |
type | FunctionExpression | FunctionBase.type |
Identifier
Extends
Properties
IdentifierToken
Extends
Properties
Property | Type | Overrides |
---|
type | Identifier | BaseToken.type |
IfStatement
Extends
Properties
ImportAttribute
Extends
Properties
ImportDeclaration
Extends
Properties
Property | Type | Description | Overrides |
---|
assertions | ImportAttribute [] | The assertions declared for the export. Example import * from 'mod' assert { type: 'json' }; Deprecated Replaced with attributes . | - |
attributes | ImportAttribute [] | The attributes declared for the export. Example import * from 'mod' with { type: 'json' }; | - |
importKind | ExportAndImportKind | The kind of the import. | - |
source | StringLiteral | The source module being imported from. | - |
specifiers | ImportClause [] | The specifiers being imported. If this is an empty array then either there are no specifiers: import from 'mod'; Or it is a side-effect import: import 'mod'; | - |
type | ImportDeclaration | - | BaseNode .type |
ImportDefaultSpecifier
Extends
Properties
ImportExpression
Extends
Properties
ImportNamespaceSpecifier
Extends
Properties
ImportSpecifier
Extends
Properties
JSXAttribute
Extends
Properties
JSXClosingElement
Extends
Properties
JSXClosingFragment
Extends
Properties
Property | Type | Overrides |
---|
type | JSXClosingFragment | BaseNode .type |
JSXElement
Extends
Properties
JSXEmptyExpression
Extends
Properties
Property | Type | Overrides |
---|
type | JSXEmptyExpression | BaseNode .type |
JSXExpressionContainer
Extends
Properties
JSXFragment
Extends
Properties
JSXIdentifier
Extends
Properties
Property | Type | Overrides |
---|
name | string | - |
type | JSXIdentifier | BaseNode .type |
JSXIdentifierToken
Extends
Properties
Property | Type | Overrides |
---|
type | JSXIdentifier | BaseToken.type |
JSXMemberExpression
Extends
Properties
JSXNamespacedName
Extends
Properties
JSXOpeningElement
Extends
Properties
JSXOpeningFragment
Extends
Properties
Property | Type | Overrides |
---|
type | JSXOpeningFragment | BaseNode .type |
JSXSpreadAttribute
Extends
Properties
JSXSpreadChild
Extends
Properties
JSXText
Extends
Properties
Property | Type | Overrides |
---|
raw | string | - |
type | JSXText | BaseNode .type |
value | string | - |
JSXTextToken
Extends
Properties
Property | Type | Overrides |
---|
type | JSXText | BaseToken.type |
KeywordToken
Extends
Properties
Property | Type | Overrides |
---|
type | Keyword | BaseToken.type |
LabeledStatement
Extends
Properties
LetOrConstOrVarDeclaration
Extends
Properties
Property | Type | Description | Overrides |
---|
declarations | LetOrConstOrVarDeclarator [] | The variables declared by this declaration. Note that there may be 0 declarations (i.e. const; ). Example let x;let y, z; | - |
declare | boolean | Whether the declaration is declare d Example declare const x = 1; | - |
kind | "const" | "let" | "var" | The keyword used to declare the variable(s) Example const x = 1;let y = 2; var z = 3; | - |
type | VariableDeclaration | - | BaseNode .type |
LetOrConstOrVarDeclarator
Extends
Properties
Extends
Properties
Property | Type | Overrides |
---|
type | Line | BaseToken.type |
LogicalExpression
Extends
Properties
MemberExpressionComputedName
Extends
Properties
Property | Type | Overrides |
---|
computed | true | MemberExpressionBase.computed |
property | Expression | MemberExpressionBase.property |
type | MemberExpression | MemberExpressionBase.type |
MemberExpressionNonComputedName
Extends
Properties
Property | Type | Overrides |
---|
computed | false | MemberExpressionBase.computed |
property | Identifier | PrivateIdentifier | MemberExpressionBase.property |
type | MemberExpression | MemberExpressionBase.type |
Extends
Properties
MethodDefinitionComputedName
Extends
MethodDefinitionComputedNameBase
Properties
Property | Type | Overrides |
---|
type | MethodDefinition | MethodDefinitionComputedNameBase.type |
MethodDefinitionNonComputedName
Extends
ClassMethodDefinitionNonComputedNameBase
Properties
Property | Type | Overrides |
---|
type | MethodDefinition | ClassMethodDefinitionNonComputedNameBase.type |
NewExpression
Extends
Properties
NodeOrTokenData
Extended by
Properties
Property | Type | Description |
---|
loc | SourceLocation | The source location information of the node. The loc property is defined as nullable by ESTree, but ESLint requires this property. |
range | Range | - |
type | string | - |
NullLiteral
Extends
Properties
Property | Type | Overrides |
---|
raw | "null" | LiteralBase.raw |
value | null | LiteralBase.value |
NullToken
Extends
Properties
Property | Type | Overrides |
---|
type | Null | BaseToken.type |
NumberLiteral
Extends
Properties
Property | Type | Overrides |
---|
value | number | LiteralBase.value |
NumericToken
Extends
Properties
Property | Type | Overrides |
---|
type | Numeric | BaseToken.type |
ObjectExpression
Extends
Properties
ObjectPattern
Extends
Properties
Position
Properties
Property | Type | Description |
---|
column | number | Column number on the line (0-indexed) |
line | number | Line number (1-indexed) |
PrivateIdentifier
Extends
Properties
Property | Type | Overrides |
---|
name | string | - |
type | PrivateIdentifier | BaseNode .type |
Program
Extends
Properties
PropertyComputedName
Extends
Properties
Property | Type | Overrides |
---|
computed | true | PropertyBase.computed |
key | Expression | PropertyBase.key |
PropertyDefinitionComputedName
Extends
PropertyDefinitionComputedNameBase
Properties
Property | Type | Overrides |
---|
type | PropertyDefinition | PropertyDefinitionComputedNameBase.type |
PropertyDefinitionNonComputedName
Extends
ClassPropertyDefinitionNonComputedNameBase
Properties
Property | Type | Overrides |
---|
type | PropertyDefinition | ClassPropertyDefinitionNonComputedNameBase.type |
PropertyNonComputedName
Extends
Properties
PunctuatorToken
Extends
Properties
PunctuatorTokenToText
Extends
Properties
Property | Type |
---|
19 | "{" |
20 | "}" |
21 | "(" |
22 | ")" |
23 | "[" |
24 | "]" |
25 | "." |
26 | "..." |
27 | ";" |
28 | "," |
29 | "?." |
30 | "<" |
31 | "</" |
32 | ">" |
33 | "<=" |
34 | ">=" |
35 | "==" |
36 | "!=" |
37 | "===" |
38 | "!==" |
39 | "=>" |
40 | "+" |
41 | "-" |
42 | "*" |
43 | "**" |
44 | "/" |
45 | "%" |
46 | "++" |
47 | "--" |
48 | "<<" |
49 | ">>" |
50 | ">>>" |
51 | "&" |
52 | "|" |
53 | "^" |
54 | "!" |
55 | "~" |
56 | "&&" |
57 | "||" |
58 | "?" |
59 | ":" |
60 | "@" |
61 | "??" |
62 | "`" |
63 | "#" |
RegExpLiteral
Extends
Properties
Property | Type | Overrides |
---|
regex | object | - |
regex.flags | string | - |
regex.pattern | string | - |
value | null | RegExp | LiteralBase.value |
RegularExpressionToken
Extends
Properties
Property | Type | Overrides |
---|
regex | object | - |
regex.flags | string | - |
regex.pattern | string | - |
type | RegularExpression | BaseToken.type |
RestElement
Extends
Properties
ReturnStatement
Extends
Properties
SequenceExpression
Extends
Properties
SourceLocation
Properties
Property | Type | Description |
---|
end | Position | The position of the first character after the parsed source region |
start | Position | The position of the first character of the parsed source region |
SpreadElement
Extends
Properties
StaticBlock
Extends
Properties
StringLiteral
Extends
Properties
Property | Type | Overrides |
---|
value | string | LiteralBase.value |
StringToken
Extends
Properties
Property | Type | Overrides |
---|
type | String | BaseToken.type |
Super
Extends
Properties
Property | Type | Overrides |
---|
type | Super | BaseNode .type |
SwitchCase
Extends
Properties
SwitchStatement
Extends
Properties
TSAbstractAccessorPropertyComputedName
Extends
PropertyDefinitionComputedNameBase
Properties
Property | Type | Overrides |
---|
type | TSAbstractAccessorProperty | PropertyDefinitionComputedNameBase.type |
value | null | PropertyDefinitionComputedNameBase.value |
TSAbstractAccessorPropertyNonComputedName
Extends
PropertyDefinitionNonComputedNameBase
Properties
Property | Type | Overrides |
---|
type | TSAbstractAccessorProperty | PropertyDefinitionNonComputedNameBase.type |
value | null | PropertyDefinitionNonComputedNameBase.value |
TSAbstractKeyword
Extends
Properties
Property | Type | Overrides |
---|
type | TSAbstractKeyword | BaseNode .type |
TSAbstractMethodDefinitionComputedName
Extends
MethodDefinitionComputedNameBase
Properties
Property | Type | Overrides |
---|
type | TSAbstractMethodDefinition | MethodDefinitionComputedNameBase.type |
TSAbstractMethodDefinitionNonComputedName
Extends
MethodDefinitionNonComputedNameBase
Properties
Property | Type | Overrides |
---|
type | TSAbstractMethodDefinition | MethodDefinitionNonComputedNameBase.type |
TSAbstractPropertyDefinitionComputedName
Extends
PropertyDefinitionComputedNameBase
Properties
Property | Type | Overrides |
---|
type | TSAbstractPropertyDefinition | PropertyDefinitionComputedNameBase.type |
value | null | PropertyDefinitionComputedNameBase.value |
TSAbstractPropertyDefinitionNonComputedName
Extends
PropertyDefinitionNonComputedNameBase
Properties
Property | Type | Overrides |
---|
type | TSAbstractPropertyDefinition | PropertyDefinitionNonComputedNameBase.type |
value | null | PropertyDefinitionNonComputedNameBase.value |
TSAnyKeyword
Extends
Properties
Property | Type | Overrides |
---|
type | TSAnyKeyword | BaseNode .type |
TSArrayType
Extends
Properties
TSAsExpression
Extends
Properties
TSAsyncKeyword
Extends
Properties
Property | Type | Overrides |
---|
type | TSAsyncKeyword | BaseNode .type |
TSBigIntKeyword
Extends
Properties
Property | Type | Overrides |
---|
type | TSBigIntKeyword | BaseNode .type |
TSBooleanKeyword
Extends
Properties
Property | Type | Overrides |
---|
type | TSBooleanKeyword | BaseNode .type |
TSCallSignatureDeclaration
Extends
Properties
Property | Type | Overrides |
---|
type | TSCallSignatureDeclaration | TSFunctionSignatureBase.type |
TSClassImplements
Extends
Properties
Property | Type | Overrides |
---|
type | TSClassImplements | TSHeritageBase.type |
TSConditionalType
Extends
Properties
TSConstructSignatureDeclaration
Extends
Properties
Property | Type | Overrides |
---|
type | TSConstructSignatureDeclaration | TSFunctionSignatureBase.type |
TSConstructorType
Extends
Properties
Property | Type | Overrides |
---|
abstract | boolean | - |
type | TSConstructorType | TSFunctionSignatureBase.type |
TSDeclareFunctionNoDeclare
Function declaration without the declare
keyword:
This can either be an overload signature or a declaration in an ambient context
(e.g. declare module
)
Extends
Properties
Property | Type | Description | Overrides |
---|
declare | false | - | TSDeclareFunctionBase.declare |
generator | false | - TS1221: Generators are not allowed in an ambient context.
- TS1222: An overload signature cannot be declared as a generator.
| TSDeclareFunctionBase.generator |
TSDeclareFunctionWithDeclare
Function declaration with the declare
keyword:
declare function foo(): void;
Extends
Properties
Property | Type | Description | Overrides |
---|
async | false | TS1040: 'async' modifier cannot be used in an ambient context. | TSDeclareFunctionBase.async |
declare | true | - | TSDeclareFunctionBase.declare |
generator | false | TS1221: Generators are not allowed in an ambient context. | TSDeclareFunctionBase.generator |
TSDeclareKeyword
Extends
Properties
Property | Type | Overrides |
---|
type | TSDeclareKeyword | BaseNode .type |
TSEmptyBodyFunctionExpression
Extends
Properties
Property | Type | Overrides |
---|
body | null | FunctionBase.body |
id | null | FunctionBase.id |
type | TSEmptyBodyFunctionExpression | FunctionBase.type |
TSEnumBody
Extends
Properties
TSEnumDeclaration
Extends
Properties
Property | Type | Description | Overrides |
---|
body | TSEnumBody | The body of the enum. | - |
const | boolean | Whether this is a const enum. Example const enum Foo | - |
declare | boolean | Whether this is a declare d enum. Example declare enum Foo | - |
id | Identifier | The enum name. | - |
members | TSEnumMember [] | The enum members. Deprecated Use body instead. | - |
type | TSEnumDeclaration | - | BaseNode .type |
TSEnumMemberComputedName
this should only really happen in semantically invalid code (errors 1164 and 2452)
Example
enum Foo { ['a'] }
const x = 'a';
enum Foo { [x] }
enum Bar { ['a' + 'b'] }
Extends
Properties
Property | Type | Overrides |
---|
computed | true | TSEnumMemberBase.computed |
id | Expression | TSEnumMemberBase.id |
TSEnumMemberNonComputedName
Extends
Properties
TSExportAssignment
Extends
Properties
TSExportKeyword
Extends
Properties
Property | Type | Overrides |
---|
type | TSExportKeyword | BaseNode .type |
TSExternalModuleReference
Extends
Properties
TSFunctionType
Extends
Properties
Property | Type | Overrides |
---|
type | TSFunctionType | TSFunctionSignatureBase.type |
TSImportEqualsNamespaceDeclaration
Extends
TSImportEqualsDeclarationBase
Properties
Property | Type | Description | Overrides |
---|
importKind | "value" | The kind of the import. | TSImportEqualsDeclarationBase.importKind |
moduleReference | TSQualifiedName | Identifier | The value being aliased. import F1 = A;import F2 = A.B.C; | TSImportEqualsDeclarationBase.moduleReference |
TSImportEqualsRequireDeclaration
Extends
TSImportEqualsDeclarationBase
Properties
Property | Type | Description | Overrides |
---|
importKind | ExportAndImportKind | The kind of the import. | TSImportEqualsDeclarationBase.importKind |
moduleReference | TSExternalModuleReference | The value being aliased. import F3 = require('mod'); | TSImportEqualsDeclarationBase.moduleReference |
TSImportType
Extends
Properties
TSIndexSignature
Extends
Properties
TSIndexedAccessType
Extends
Properties
TSInferType
Extends
Properties
TSInstantiationExpression
Extends
Properties
TSInterfaceBody
Extends
Properties
TSInterfaceDeclaration
Extends
Properties
Property | Type | Description | Overrides |
---|
body | TSInterfaceBody | The body of the interface | - |
declare | boolean | Whether the interface was declare d | - |
extends | TSInterfaceHeritage [] | The types this interface extends | - |
id | Identifier | The name of this interface | - |
type | TSInterfaceDeclaration | - | BaseNode .type |
typeParameters | undefined | TSTypeParameterDeclaration | The generic type parameters declared for the interface. Empty declaration (<> ) is different from no declaration. | - |
TSInterfaceHeritage
Extends
Properties
Property | Type | Overrides |
---|
type | TSInterfaceHeritage | TSHeritageBase.type |
TSIntersectionType
Extends
Properties
TSIntrinsicKeyword
Extends
Properties
Property | Type | Overrides |
---|
type | TSIntrinsicKeyword | BaseNode .type |
TSLiteralType
Extends
Properties
TSMappedType
Extends
Properties
Property | Type | Description | Overrides |
---|
constraint | TypeNode | - | - |
key | Identifier | - | - |
nameType | null | TypeNode | - | - |
optional | undefined | boolean | "-" | "+" | - | - |
readonly | undefined | boolean | "-" | "+" | - | - |
type | TSMappedType | - | BaseNode .type |
typeAnnotation | undefined | TypeNode | - | - |
typeParameter | TSTypeParameter | Deprecated Use constraint and key instead. | - |
TSMethodSignatureComputedName
Extends
Properties
Property | Type | Overrides |
---|
computed | true | TSMethodSignatureBase.computed |
key | Expression | TSMethodSignatureBase.key |
TSMethodSignatureNonComputedName
Extends
Properties
Property | Type | Overrides |
---|
computed | false | TSMethodSignatureBase.computed |
key | PropertyNameNonComputed | TSMethodSignatureBase.key |
TSModuleBlock
Extends
Properties
TSModuleDeclarationGlobal
Extends
Properties
Property | Type | Description | Overrides |
---|
body | TSModuleBlock | - | TSModuleDeclarationBase.body |
id | Identifier | This will always be an Identifier with name global | TSModuleDeclarationBase.id |
kind | "global" | - | TSModuleDeclarationBase.kind |
TSModuleDeclarationModuleWithIdentifierId
The legacy module declaration, replaced with namespace declarations.
Extends
TSModuleDeclarationModuleBase
Properties
Property | Type | Overrides |
---|
body | TSModuleBlock | TSModuleDeclarationModuleBase.body |
id | Identifier | TSModuleDeclarationModuleBase.id |
kind | "module" | TSModuleDeclarationModuleBase.kind |
TSModuleDeclarationModuleWithStringIdDeclared
A string module declaration that is declared:
declare module 'foo' {}
declare module 'foo';
Extends
TSModuleDeclarationModuleBase
Properties
Property | Type | Overrides |
---|
body? | TSModuleBlock | TSModuleDeclarationModuleBase.body |
declare | true | TSModuleDeclarationModuleBase.declare |
id | StringLiteral | TSModuleDeclarationModuleBase.id |
kind | "module" | TSModuleDeclarationModuleBase.kind |
TSModuleDeclarationModuleWithStringIdNotDeclared
A string module declaration that is not declared:
Extends
TSModuleDeclarationModuleBase
Properties
Property | Type | Overrides |
---|
body | TSModuleBlock | TSModuleDeclarationModuleBase.body |
declare | false | TSModuleDeclarationModuleBase.declare |
id | StringLiteral | TSModuleDeclarationModuleBase.id |
kind | "module" | TSModuleDeclarationModuleBase.kind |
TSModuleDeclarationNamespace
Extends
Properties
TSNamedTupleMember
Extends
Properties
TSNamespaceExportDeclaration
For the following declaration:
Extends
Properties
Property | Type | Description | Overrides |
---|
id | Identifier | The name of the global variable that's exported as namespace | - |
type | TSNamespaceExportDeclaration | - | BaseNode .type |
TSNeverKeyword
Extends
Properties
Property | Type | Overrides |
---|
type | TSNeverKeyword | BaseNode .type |
TSNonNullExpression
Extends
Properties
TSNullKeyword
Extends
Properties
Property | Type | Overrides |
---|
type | TSNullKeyword | BaseNode .type |
TSNumberKeyword
Extends
Properties
Property | Type | Overrides |
---|
type | TSNumberKeyword | BaseNode .type |
TSObjectKeyword
Extends
Properties
Property | Type | Overrides |
---|
type | TSObjectKeyword | BaseNode .type |
TSOptionalType
Extends
Properties
TSParameterProperty
Extends
Properties
TSPrivateKeyword
Extends
Properties
Property | Type | Overrides |
---|
type | TSPrivateKeyword | BaseNode .type |
TSPropertySignatureComputedName
Extends
Properties
Property | Type | Overrides |
---|
computed | true | TSPropertySignatureBase.computed |
key | Expression | TSPropertySignatureBase.key |
TSPropertySignatureNonComputedName
Extends
Properties