<!--
Before making a PR please make sure to read our contributing guidelines
https://github.com/babel/babel/blob/master/CONTRIBUTING.md
For issue references: Add a comma-separated list of a [closing word](https://help.github.com/articles/closing-issues-via-commit-messages/) followed by the ticket number fixed by the PR. It should be underlined in the preview if done correctly.
-->
| Q | A <!--(Can use an emoji 👍) -->
| ------------------------ | ---
| Fixed Issues? | <!-- remove the (`) quotes to link the issues -->
| Patch: Bug Fix? |
| Major: Breaking Change? | No
| Minor: New Feature? | Yes
| Tests Added + Pass? | Yes
| Documentation PR | <!-- If so, add `[skip ci]` to your commit message to skip CI -->
| Any Dependency Changes? |
| License | MIT
See eb815be907 for more information about this feature.
The proto modifier indicates that a property declared using `x: T` syntax is actually present on the prototype object of the class, rather than an own property.
The proto and static modifiers are mutually exclusive, as class declarations don't simultaneously define the static prototype object, as they do the instance prototype.
This syntax is only supported on declared classes, not object types, interfaces, or runtime class declarations, and as such should only appear in library definitions.
@babel/types
This module contains methods for building ASTs manually and for checking the types of AST nodes.
Install
npm install --save-dev @babel/types
API
anyTypeAnnotation
t.anyTypeAnnotation()
See also t.isAnyTypeAnnotation(node, opts) and t.assertAnyTypeAnnotation(node, opts).
Aliases: Flow, FlowType, FlowBaseAnnotation
arrayExpression
t.arrayExpression(elements)
See also t.isArrayExpression(node, opts) and t.assertArrayExpression(node, opts).
Aliases: Expression
elements:Array<null | Expression | SpreadElement>(default:[])
arrayPattern
t.arrayPattern(elements)
See also t.isArrayPattern(node, opts) and t.assertArrayPattern(node, opts).
Aliases: Pattern, PatternLike, LVal
elements:Array<PatternLike>(required)decorators:Array<Decorator>(default:null)typeAnnotation:TypeAnnotation | TSTypeAnnotation | Noop(default:null)
arrayTypeAnnotation
t.arrayTypeAnnotation(elementType)
See also t.isArrayTypeAnnotation(node, opts) and t.assertArrayTypeAnnotation(node, opts).
Aliases: Flow, FlowType
elementType:FlowType(required)
arrowFunctionExpression
t.arrowFunctionExpression(params, body, async)
See also t.isArrowFunctionExpression(node, opts) and t.assertArrowFunctionExpression(node, opts).
Aliases: Scopable, Function, BlockParent, FunctionParent, Expression, Pureish
params:Array<LVal>(required)body:BlockStatement | Expression(required)async:boolean(default:false)expression:boolean(default:null)generator:boolean(default:false)returnType:TypeAnnotation | TSTypeAnnotation | Noop(default:null)typeParameters:TypeParameterDeclaration | TSTypeParameterDeclaration | Noop(default:null)
assignmentExpression
t.assignmentExpression(operator, left, right)
See also t.isAssignmentExpression(node, opts) and t.assertAssignmentExpression(node, opts).
Aliases: Expression
operator:string(required)left:LVal(required)right:Expression(required)
assignmentPattern
t.assignmentPattern(left, right)
See also t.isAssignmentPattern(node, opts) and t.assertAssignmentPattern(node, opts).
Aliases: Pattern, PatternLike, LVal
left:Identifier | ObjectPattern | ArrayPattern(required)right:Expression(required)decorators:Array<Decorator>(default:null)typeAnnotation:TypeAnnotation | TSTypeAnnotation | Noop(default:null)
awaitExpression
t.awaitExpression(argument)
See also t.isAwaitExpression(node, opts) and t.assertAwaitExpression(node, opts).
Aliases: Expression, Terminatorless
argument:Expression(required)
bigIntLiteral
t.bigIntLiteral(value)
See also t.isBigIntLiteral(node, opts) and t.assertBigIntLiteral(node, opts).
Aliases: Expression, Pureish, Literal, Immutable
value:string(required)
binaryExpression
t.binaryExpression(operator, left, right)
See also t.isBinaryExpression(node, opts) and t.assertBinaryExpression(node, opts).
Aliases: Binary, Expression
operator:"+" | "-" | "/" | "%" | "*" | "**" | "&" | "|" | ">>" | ">>>" | "<<" | "^" | "==" | "===" | "!=" | "!==" | "in" | "instanceof" | ">" | "<" | ">=" | "<="(required)left:Expression(required)right:Expression(required)
bindExpression
t.bindExpression(object, callee)
See also t.isBindExpression(node, opts) and t.assertBindExpression(node, opts).
Aliases: Expression
object(required)callee(required)
blockStatement
t.blockStatement(body, directives)
See also t.isBlockStatement(node, opts) and t.assertBlockStatement(node, opts).
Aliases: Scopable, BlockParent, Block, Statement
body:Array<Statement>(required)directives:Array<Directive>(default:[])
booleanLiteral
t.booleanLiteral(value)
See also t.isBooleanLiteral(node, opts) and t.assertBooleanLiteral(node, opts).
Aliases: Expression, Pureish, Literal, Immutable
value:boolean(required)
booleanLiteralTypeAnnotation
t.booleanLiteralTypeAnnotation(value)
See also t.isBooleanLiteralTypeAnnotation(node, opts) and t.assertBooleanLiteralTypeAnnotation(node, opts).
Aliases: Flow, FlowType
value:boolean(required)
booleanTypeAnnotation
t.booleanTypeAnnotation()
See also t.isBooleanTypeAnnotation(node, opts) and t.assertBooleanTypeAnnotation(node, opts).
Aliases: Flow, FlowType, FlowBaseAnnotation
breakStatement
t.breakStatement(label)
See also t.isBreakStatement(node, opts) and t.assertBreakStatement(node, opts).
Aliases: Statement, Terminatorless, CompletionStatement
label:Identifier(default:null)
callExpression
t.callExpression(callee, arguments)
See also t.isCallExpression(node, opts) and t.assertCallExpression(node, opts).
Aliases: Expression
callee:Expression(required)arguments:Array<Expression | SpreadElement | JSXNamespacedName>(required)optional:true | false(default:null)typeArguments:TypeParameterInstantiation(default:null)typeParameters:TSTypeParameterInstantiation(default:null)
catchClause
t.catchClause(param, body)
See also t.isCatchClause(node, opts) and t.assertCatchClause(node, opts).
Aliases: Scopable, BlockParent
param:Identifier(default:null)body:BlockStatement(required)
classBody
t.classBody(body)
See also t.isClassBody(node, opts) and t.assertClassBody(node, opts).
body:Array<ClassMethod | ClassProperty | ClassPrivateProperty | TSDeclareMethod | TSIndexSignature>(required)
classDeclaration
t.classDeclaration(id, superClass, body, decorators)
See also t.isClassDeclaration(node, opts) and t.assertClassDeclaration(node, opts).
Aliases: Scopable, Class, Statement, Declaration, Pureish
id:Identifier(default:null)superClass:Expression(default:null)body:ClassBody(required)decorators:Array<Decorator>(default:null)abstract:boolean(default:null)declare:boolean(default:null)implements:Array<TSExpressionWithTypeArguments | ClassImplements>(default:null)mixins(default:null)superTypeParameters:TypeParameterInstantiation | TSTypeParameterInstantiation(default:null)typeParameters:TypeParameterDeclaration | TSTypeParameterDeclaration | Noop(default:null)
classExpression
t.classExpression(id, superClass, body, decorators)
See also t.isClassExpression(node, opts) and t.assertClassExpression(node, opts).
Aliases: Scopable, Class, Expression, Pureish
id:Identifier(default:null)superClass:Expression(default:null)body:ClassBody(required)decorators:Array<Decorator>(default:null)implements:Array<TSExpressionWithTypeArguments | ClassImplements>(default:null)mixins(default:null)superTypeParameters:TypeParameterInstantiation | TSTypeParameterInstantiation(default:null)typeParameters:TypeParameterDeclaration | TSTypeParameterDeclaration | Noop(default:null)
classImplements
t.classImplements(id, typeParameters)
See also t.isClassImplements(node, opts) and t.assertClassImplements(node, opts).
Aliases: Flow
id:Identifier(required)typeParameters:TypeParameterInstantiation(default:null)
classMethod
t.classMethod(kind, key, params, body, computed, static)
See also t.isClassMethod(node, opts) and t.assertClassMethod(node, opts).
Aliases: Function, Scopable, BlockParent, FunctionParent, Method
kind:"get" | "set" | "method" | "constructor"(default:'method')key: if computed thenExpressionelseIdentifier | Literal(required)params:Array<LVal>(required)body:BlockStatement(required)computed:boolean(default:false)static:boolean(default:null)abstract:boolean(default:null)access:"public" | "private" | "protected"(default:null)accessibility:"public" | "private" | "protected"(default:null)async:boolean(default:false)decorators:Array<Decorator>(default:null)generator:boolean(default:false)optional:boolean(default:null)returnType:TypeAnnotation | TSTypeAnnotation | Noop(default:null)typeParameters:TypeParameterDeclaration | TSTypeParameterDeclaration | Noop(default:null)
classPrivateProperty
t.classPrivateProperty(key, value)
See also t.isClassPrivateProperty(node, opts) and t.assertClassPrivateProperty(node, opts).
Aliases: Property, Private
key:PrivateName(required)value:Expression(default:null)
classProperty
t.classProperty(key, value, typeAnnotation, decorators, computed)
See also t.isClassProperty(node, opts) and t.assertClassProperty(node, opts).
Aliases: Property
key:Identifier | StringLiteral | NumericLiteral | Expression(required)value:Expression(default:null)typeAnnotation:TypeAnnotation | TSTypeAnnotation | Noop(default:null)decorators:Array<Decorator>(default:null)computed:boolean(default:false)abstract:boolean(default:null)accessibility:"public" | "private" | "protected"(default:null)definite:boolean(default:null)optional:boolean(default:null)readonly:boolean(default:null)static:boolean(default:null)
conditionalExpression
t.conditionalExpression(test, consequent, alternate)
See also t.isConditionalExpression(node, opts) and t.assertConditionalExpression(node, opts).
Aliases: Expression, Conditional
test:Expression(required)consequent:Expression(required)alternate:Expression(required)
continueStatement
t.continueStatement(label)
See also t.isContinueStatement(node, opts) and t.assertContinueStatement(node, opts).
Aliases: Statement, Terminatorless, CompletionStatement
label:Identifier(default:null)
debuggerStatement
t.debuggerStatement()
See also t.isDebuggerStatement(node, opts) and t.assertDebuggerStatement(node, opts).
Aliases: Statement
declareClass
t.declareClass(id, typeParameters, extends, body)
See also t.isDeclareClass(node, opts) and t.assertDeclareClass(node, opts).
Aliases: Flow, FlowDeclaration, Statement, Declaration
id:Identifier(required)typeParameters:TypeParameterInstantiation(default:null)extends:Array<InterfaceExtends>(default:null)body:ObjectTypeAnnotation(required)implements:Array<ClassImplements>(default:null)mixins:Array<InterfaceExtends>(default:null)
declareExportAllDeclaration
t.declareExportAllDeclaration(source)
See also t.isDeclareExportAllDeclaration(node, opts) and t.assertDeclareExportAllDeclaration(node, opts).
Aliases: Flow, FlowDeclaration, Statement, Declaration
source:StringLiteral(required)exportKind:["type","value"](default:null)
declareExportDeclaration
t.declareExportDeclaration(declaration, specifiers, source)
See also t.isDeclareExportDeclaration(node, opts) and t.assertDeclareExportDeclaration(node, opts).
Aliases: Flow, FlowDeclaration, Statement, Declaration
declaration:Flow(default:null)specifiers:Array<ExportSpecifier | ExportNamespaceSpecifier>(default:null)source:StringLiteral(default:null)default:boolean(default:null)
declareFunction
t.declareFunction(id)
See also t.isDeclareFunction(node, opts) and t.assertDeclareFunction(node, opts).
Aliases: Flow, FlowDeclaration, Statement, Declaration
id:Identifier(required)predicate:DeclaredPredicate(default:null)
declareInterface
t.declareInterface(id, typeParameters, extends, body)
See also t.isDeclareInterface(node, opts) and t.assertDeclareInterface(node, opts).
Aliases: Flow, FlowDeclaration, Statement, Declaration
id:Identifier(required)typeParameters:TypeParameterDeclaration(default:null)extends:Array<InterfaceExtends>(default:null)body:ObjectTypeAnnotation(required)implements:Array<ClassImplements>(default:null)mixins:Array<InterfaceExtends>(default:null)
declareModule
t.declareModule(id, body, kind)
See also t.isDeclareModule(node, opts) and t.assertDeclareModule(node, opts).
Aliases: Flow, FlowDeclaration, Statement, Declaration
id:Identifier | StringLiteral(required)body:BlockStatement(required)kind:"CommonJS" | "ES"(default:null)
declareModuleExports
t.declareModuleExports(typeAnnotation)
See also t.isDeclareModuleExports(node, opts) and t.assertDeclareModuleExports(node, opts).
Aliases: Flow, FlowDeclaration, Statement, Declaration
typeAnnotation:TypeAnnotation(required)
declareOpaqueType
t.declareOpaqueType(id, typeParameters, supertype)
See also t.isDeclareOpaqueType(node, opts) and t.assertDeclareOpaqueType(node, opts).
Aliases: Flow, FlowDeclaration, Statement, Declaration
id:Identifier(required)typeParameters:TypeParameterDeclaration(default:null)supertype:FlowType(default:null)
declareTypeAlias
t.declareTypeAlias(id, typeParameters, right)
See also t.isDeclareTypeAlias(node, opts) and t.assertDeclareTypeAlias(node, opts).
Aliases: Flow, FlowDeclaration, Statement, Declaration
id:Identifier(required)typeParameters:TypeParameterDeclaration(default:null)right:FlowType(required)
declareVariable
t.declareVariable(id)
See also t.isDeclareVariable(node, opts) and t.assertDeclareVariable(node, opts).
Aliases: Flow, FlowDeclaration, Statement, Declaration
id:Identifier(required)
declaredPredicate
t.declaredPredicate(value)
See also t.isDeclaredPredicate(node, opts) and t.assertDeclaredPredicate(node, opts).
Aliases: Flow, FlowPredicate
value:Flow(required)
decorator
t.decorator(callee, arguments)
See also t.isDecorator(node, opts) and t.assertDecorator(node, opts).
callee:Expression(required)arguments:Array<Expression | SpreadElement>(default:null)
directive
t.directive(value)
See also t.isDirective(node, opts) and t.assertDirective(node, opts).
value:DirectiveLiteral(required)
directiveLiteral
t.directiveLiteral(value)
See also t.isDirectiveLiteral(node, opts) and t.assertDirectiveLiteral(node, opts).
value:string(required)
doExpression
t.doExpression(body)
See also t.isDoExpression(node, opts) and t.assertDoExpression(node, opts).
Aliases: Expression
body:BlockStatement(required)
doWhileStatement
t.doWhileStatement(test, body)
See also t.isDoWhileStatement(node, opts) and t.assertDoWhileStatement(node, opts).
Aliases: Statement, BlockParent, Loop, While, Scopable
test:Expression(required)body:Statement(required)
emptyStatement
t.emptyStatement()
See also t.isEmptyStatement(node, opts) and t.assertEmptyStatement(node, opts).
Aliases: Statement
emptyTypeAnnotation
t.emptyTypeAnnotation()
See also t.isEmptyTypeAnnotation(node, opts) and t.assertEmptyTypeAnnotation(node, opts).
Aliases: Flow, FlowType, FlowBaseAnnotation
existsTypeAnnotation
t.existsTypeAnnotation()
See also t.isExistsTypeAnnotation(node, opts) and t.assertExistsTypeAnnotation(node, opts).
Aliases: Flow, FlowType
exportAllDeclaration
t.exportAllDeclaration(source)
See also t.isExportAllDeclaration(node, opts) and t.assertExportAllDeclaration(node, opts).
Aliases: Statement, Declaration, ModuleDeclaration, ExportDeclaration
source:StringLiteral(required)
exportDefaultDeclaration
t.exportDefaultDeclaration(declaration)
See also t.isExportDefaultDeclaration(node, opts) and t.assertExportDefaultDeclaration(node, opts).
Aliases: Statement, Declaration, ModuleDeclaration, ExportDeclaration
declaration:FunctionDeclaration | TSDeclareFunction | ClassDeclaration | Expression(required)
exportDefaultSpecifier
t.exportDefaultSpecifier(exported)
See also t.isExportDefaultSpecifier(node, opts) and t.assertExportDefaultSpecifier(node, opts).
Aliases: ModuleSpecifier
exported:Identifier(required)
exportNamedDeclaration
t.exportNamedDeclaration(declaration, specifiers, source)
See also t.isExportNamedDeclaration(node, opts) and t.assertExportNamedDeclaration(node, opts).
Aliases: Statement, Declaration, ModuleDeclaration, ExportDeclaration
declaration:Declaration(default:null)specifiers:Array<ExportSpecifier | ExportDefaultSpecifier | ExportNamespaceSpecifier>(required)source:StringLiteral(default:null)
exportNamespaceSpecifier
t.exportNamespaceSpecifier(exported)
See also t.isExportNamespaceSpecifier(node, opts) and t.assertExportNamespaceSpecifier(node, opts).
Aliases: ModuleSpecifier
exported:Identifier(required)
exportSpecifier
t.exportSpecifier(local, exported)
See also t.isExportSpecifier(node, opts) and t.assertExportSpecifier(node, opts).
Aliases: ModuleSpecifier
local:Identifier(required)exported:Identifier(required)
expressionStatement
t.expressionStatement(expression)
See also t.isExpressionStatement(node, opts) and t.assertExpressionStatement(node, opts).
Aliases: Statement, ExpressionWrapper
expression:Expression(required)
file
t.file(program, comments, tokens)
See also t.isFile(node, opts) and t.assertFile(node, opts).
program:Program(required)comments(required)tokens(required)
forInStatement
t.forInStatement(left, right, body)
See also t.isForInStatement(node, opts) and t.assertForInStatement(node, opts).
Aliases: Scopable, Statement, For, BlockParent, Loop, ForXStatement
left:VariableDeclaration | LVal(required)right:Expression(required)body:Statement(required)
forOfStatement
t.forOfStatement(left, right, body)
See also t.isForOfStatement(node, opts) and t.assertForOfStatement(node, opts).
Aliases: Scopable, Statement, For, BlockParent, Loop, ForXStatement
left:VariableDeclaration | LVal(required)right:Expression(required)body:Statement(required)await:boolean(default:false)
forStatement
t.forStatement(init, test, update, body)
See also t.isForStatement(node, opts) and t.assertForStatement(node, opts).
Aliases: Scopable, Statement, For, BlockParent, Loop
init:VariableDeclaration | Expression(default:null)test:Expression(default:null)update:Expression(default:null)body:Statement(required)
functionDeclaration
t.functionDeclaration(id, params, body, generator, async)
See also t.isFunctionDeclaration(node, opts) and t.assertFunctionDeclaration(node, opts).
Aliases: Scopable, Function, BlockParent, FunctionParent, Statement, Pureish, Declaration
id:Identifier(default:null)params:Array<LVal>(required)body:BlockStatement(required)generator:boolean(default:false)async:boolean(default:false)declare:boolean(default:null)returnType:TypeAnnotation | TSTypeAnnotation | Noop(default:null)typeParameters:TypeParameterDeclaration | TSTypeParameterDeclaration | Noop(default:null)
functionExpression
t.functionExpression(id, params, body, generator, async)
See also t.isFunctionExpression(node, opts) and t.assertFunctionExpression(node, opts).
Aliases: Scopable, Function, BlockParent, FunctionParent, Expression, Pureish
id:Identifier(default:null)params:Array<LVal>(required)body:BlockStatement(required)generator:boolean(default:false)async:boolean(default:false)returnType:TypeAnnotation | TSTypeAnnotation | Noop(default:null)typeParameters:TypeParameterDeclaration | TSTypeParameterDeclaration | Noop(default:null)
functionTypeAnnotation
t.functionTypeAnnotation(typeParameters, params, rest, returnType)
See also t.isFunctionTypeAnnotation(node, opts) and t.assertFunctionTypeAnnotation(node, opts).
Aliases: Flow, FlowType
typeParameters:TypeParameterDeclaration(default:null)params:Array<FunctionTypeParam>(required)rest:FunctionTypeParam(default:null)returnType:FlowType(required)
functionTypeParam
t.functionTypeParam(name, typeAnnotation)
See also t.isFunctionTypeParam(node, opts) and t.assertFunctionTypeParam(node, opts).
Aliases: Flow
name:Identifier(default:null)typeAnnotation:FlowType(required)optional:boolean(default:null)
genericTypeAnnotation
t.genericTypeAnnotation(id, typeParameters)
See also t.isGenericTypeAnnotation(node, opts) and t.assertGenericTypeAnnotation(node, opts).
Aliases: Flow, FlowType
id:Identifier(required)typeParameters:TypeParameterInstantiation(default:null)
identifier
t.identifier(name)
See also t.isIdentifier(node, opts) and t.assertIdentifier(node, opts).
Aliases: Expression, PatternLike, LVal, TSEntityName
name:string(required)decorators:Array<Decorator>(default:null)optional:boolean(default:null)typeAnnotation:TypeAnnotation | TSTypeAnnotation | Noop(default:null)
ifStatement
t.ifStatement(test, consequent, alternate)
See also t.isIfStatement(node, opts) and t.assertIfStatement(node, opts).
Aliases: Statement, Conditional
test:Expression(required)consequent:Statement(required)alternate:Statement(default:null)
import
t.import()
See also t.isImport(node, opts) and t.assertImport(node, opts).
Aliases: Expression
importDeclaration
t.importDeclaration(specifiers, source)
See also t.isImportDeclaration(node, opts) and t.assertImportDeclaration(node, opts).
Aliases: Statement, Declaration, ModuleDeclaration
specifiers:Array<ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier>(required)source:StringLiteral(required)
importDefaultSpecifier
t.importDefaultSpecifier(local)
See also t.isImportDefaultSpecifier(node, opts) and t.assertImportDefaultSpecifier(node, opts).
Aliases: ModuleSpecifier
local:Identifier(required)
importNamespaceSpecifier
t.importNamespaceSpecifier(local)
See also t.isImportNamespaceSpecifier(node, opts) and t.assertImportNamespaceSpecifier(node, opts).
Aliases: ModuleSpecifier
local:Identifier(required)
importSpecifier
t.importSpecifier(local, imported)
See also t.isImportSpecifier(node, opts) and t.assertImportSpecifier(node, opts).
Aliases: ModuleSpecifier
local:Identifier(required)imported:Identifier(required)importKind:null | "type" | "typeof"(default:null)
inferredPredicate
t.inferredPredicate()
See also t.isInferredPredicate(node, opts) and t.assertInferredPredicate(node, opts).
Aliases: Flow, FlowPredicate
interfaceDeclaration
t.interfaceDeclaration(id, typeParameters, extends, body)
See also t.isInterfaceDeclaration(node, opts) and t.assertInterfaceDeclaration(node, opts).
Aliases: Flow, FlowDeclaration, Statement, Declaration
id:Identifier(required)typeParameters:TypeParameterDeclaration(default:null)extends:Array<InterfaceExtends>(default:null)body:ObjectTypeAnnotation(required)implements:Array<ClassImplements>(default:null)mixins:Array<InterfaceExtends>(default:null)
interfaceExtends
t.interfaceExtends(id, typeParameters)
See also t.isInterfaceExtends(node, opts) and t.assertInterfaceExtends(node, opts).
Aliases: Flow
id:Identifier(required)typeParameters:TypeParameterInstantiation(default:null)
interfaceTypeAnnotation
t.interfaceTypeAnnotation(extends, body)
See also t.isInterfaceTypeAnnotation(node, opts) and t.assertInterfaceTypeAnnotation(node, opts).
Aliases: Flow, FlowType
extends:Array<InterfaceExtends>(default:null)body:ObjectTypeAnnotation(required)
interpreterDirective
t.interpreterDirective(value)
See also t.isInterpreterDirective(node, opts) and t.assertInterpreterDirective(node, opts).
value:string(required)
intersectionTypeAnnotation
t.intersectionTypeAnnotation(types)
See also t.isIntersectionTypeAnnotation(node, opts) and t.assertIntersectionTypeAnnotation(node, opts).
Aliases: Flow, FlowType
types:Array<FlowType>(required)
jSXAttribute
t.jsxAttribute(name, value)
See also t.isJSXAttribute(node, opts) and t.assertJSXAttribute(node, opts).
Aliases: JSX, Immutable
name:JSXIdentifier | JSXNamespacedName(required)value:JSXElement | JSXFragment | StringLiteral | JSXExpressionContainer(default:null)
jSXClosingElement
t.jsxClosingElement(name)
See also t.isJSXClosingElement(node, opts) and t.assertJSXClosingElement(node, opts).
Aliases: JSX, Immutable
name:JSXIdentifier | JSXMemberExpression(required)
jSXClosingFragment
t.jsxClosingFragment()
See also t.isJSXClosingFragment(node, opts) and t.assertJSXClosingFragment(node, opts).
Aliases: JSX, Immutable
jSXElement
t.jsxElement(openingElement, closingElement, children, selfClosing)
See also t.isJSXElement(node, opts) and t.assertJSXElement(node, opts).
Aliases: JSX, Immutable, Expression
openingElement:JSXOpeningElement(required)closingElement:JSXClosingElement(default:null)children:Array<JSXText | JSXExpressionContainer | JSXSpreadChild | JSXElement | JSXFragment>(required)selfClosing(required)
jSXEmptyExpression
t.jsxEmptyExpression()
See also t.isJSXEmptyExpression(node, opts) and t.assertJSXEmptyExpression(node, opts).
Aliases: JSX
jSXExpressionContainer
t.jsxExpressionContainer(expression)
See also t.isJSXExpressionContainer(node, opts) and t.assertJSXExpressionContainer(node, opts).
Aliases: JSX, Immutable
expression:Expression(required)
jSXFragment
t.jsxFragment(openingFragment, closingFragment, children)
See also t.isJSXFragment(node, opts) and t.assertJSXFragment(node, opts).
Aliases: JSX, Immutable, Expression
openingFragment:JSXOpeningFragment(required)closingFragment:JSXClosingFragment(required)children:Array<JSXText | JSXExpressionContainer | JSXSpreadChild | JSXElement | JSXFragment>(required)
jSXIdentifier
t.jsxIdentifier(name)
See also t.isJSXIdentifier(node, opts) and t.assertJSXIdentifier(node, opts).
Aliases: JSX
name:string(required)
jSXMemberExpression
t.jsxMemberExpression(object, property)
See also t.isJSXMemberExpression(node, opts) and t.assertJSXMemberExpression(node, opts).
Aliases: JSX
object:JSXMemberExpression | JSXIdentifier(required)property:JSXIdentifier(required)
jSXNamespacedName
t.jsxNamespacedName(namespace, name)
See also t.isJSXNamespacedName(node, opts) and t.assertJSXNamespacedName(node, opts).
Aliases: JSX
namespace:JSXIdentifier(required)name:JSXIdentifier(required)
jSXOpeningElement
t.jsxOpeningElement(name, attributes, selfClosing)
See also t.isJSXOpeningElement(node, opts) and t.assertJSXOpeningElement(node, opts).
Aliases: JSX, Immutable
name:JSXIdentifier | JSXMemberExpression(required)attributes:Array<JSXAttribute | JSXSpreadAttribute>(required)selfClosing:boolean(default:false)
jSXOpeningFragment
t.jsxOpeningFragment()
See also t.isJSXOpeningFragment(node, opts) and t.assertJSXOpeningFragment(node, opts).
Aliases: JSX, Immutable
jSXSpreadAttribute
t.jsxSpreadAttribute(argument)
See also t.isJSXSpreadAttribute(node, opts) and t.assertJSXSpreadAttribute(node, opts).
Aliases: JSX
argument:Expression(required)
jSXSpreadChild
t.jsxSpreadChild(expression)
See also t.isJSXSpreadChild(node, opts) and t.assertJSXSpreadChild(node, opts).
Aliases: JSX, Immutable
expression:Expression(required)
jSXText
t.jsxText(value)
See also t.isJSXText(node, opts) and t.assertJSXText(node, opts).
Aliases: JSX, Immutable
value:string(required)
labeledStatement
t.labeledStatement(label, body)
See also t.isLabeledStatement(node, opts) and t.assertLabeledStatement(node, opts).
Aliases: Statement
label:Identifier(required)body:Statement(required)
logicalExpression
t.logicalExpression(operator, left, right)
See also t.isLogicalExpression(node, opts) and t.assertLogicalExpression(node, opts).
Aliases: Binary, Expression
operator:"||" | "&&" | "??"(required)left:Expression(required)right:Expression(required)
memberExpression
t.memberExpression(object, property, computed, optional)
See also t.isMemberExpression(node, opts) and t.assertMemberExpression(node, opts).
Aliases: Expression, LVal
object:Expression(required)property: if computed thenExpressionelseIdentifier(required)computed:boolean(default:false)optional:true | false(default:null)
metaProperty
t.metaProperty(meta, property)
See also t.isMetaProperty(node, opts) and t.assertMetaProperty(node, opts).
Aliases: Expression
meta:Identifier(required)property:Identifier(required)
mixedTypeAnnotation
t.mixedTypeAnnotation()
See also t.isMixedTypeAnnotation(node, opts) and t.assertMixedTypeAnnotation(node, opts).
Aliases: Flow, FlowType, FlowBaseAnnotation
newExpression
t.newExpression(callee, arguments)
See also t.isNewExpression(node, opts) and t.assertNewExpression(node, opts).
Aliases: Expression
callee:Expression(required)arguments:Array<Expression | SpreadElement | JSXNamespacedName>(required)optional:true | false(default:null)typeArguments:TypeParameterInstantiation(default:null)typeParameters:TSTypeParameterInstantiation(default:null)
noop
t.noop()
See also t.isNoop(node, opts) and t.assertNoop(node, opts).
nullLiteral
t.nullLiteral()
See also t.isNullLiteral(node, opts) and t.assertNullLiteral(node, opts).
Aliases: Expression, Pureish, Literal, Immutable
nullLiteralTypeAnnotation
t.nullLiteralTypeAnnotation()
See also t.isNullLiteralTypeAnnotation(node, opts) and t.assertNullLiteralTypeAnnotation(node, opts).
Aliases: Flow, FlowType, FlowBaseAnnotation
nullableTypeAnnotation
t.nullableTypeAnnotation(typeAnnotation)
See also t.isNullableTypeAnnotation(node, opts) and t.assertNullableTypeAnnotation(node, opts).
Aliases: Flow, FlowType
typeAnnotation:FlowType(required)
numberLiteralTypeAnnotation
t.numberLiteralTypeAnnotation(value)
See also t.isNumberLiteralTypeAnnotation(node, opts) and t.assertNumberLiteralTypeAnnotation(node, opts).
Aliases: Flow, FlowType
value:number(required)
numberTypeAnnotation
t.numberTypeAnnotation()
See also t.isNumberTypeAnnotation(node, opts) and t.assertNumberTypeAnnotation(node, opts).
Aliases: Flow, FlowType, FlowBaseAnnotation
numericLiteral
t.numericLiteral(value)
See also t.isNumericLiteral(node, opts) and t.assertNumericLiteral(node, opts).
Aliases: Expression, Pureish, Literal, Immutable
value:number(required)
objectExpression
t.objectExpression(properties)
See also t.isObjectExpression(node, opts) and t.assertObjectExpression(node, opts).
Aliases: Expression
properties:Array<ObjectMethod | ObjectProperty | SpreadElement>(required)
objectMethod
t.objectMethod(kind, key, params, body, computed)
See also t.isObjectMethod(node, opts) and t.assertObjectMethod(node, opts).
Aliases: UserWhitespacable, Function, Scopable, BlockParent, FunctionParent, Method, ObjectMember
kind:"method" | "get" | "set"(default:'method')key: if computed thenExpressionelseIdentifier | Literal(required)params:Array<LVal>(required)body:BlockStatement(required)computed:boolean(default:false)async:boolean(default:false)decorators:Array<Decorator>(default:null)generator:boolean(default:false)returnType:TypeAnnotation | TSTypeAnnotation | Noop(default:null)typeParameters:TypeParameterDeclaration | TSTypeParameterDeclaration | Noop(default:null)
objectPattern
t.objectPattern(properties)
See also t.isObjectPattern(node, opts) and t.assertObjectPattern(node, opts).
Aliases: Pattern, PatternLike, LVal
properties:Array<RestElement | ObjectProperty>(required)decorators:Array<Decorator>(default:null)typeAnnotation:TypeAnnotation | TSTypeAnnotation | Noop(default:null)
objectProperty
t.objectProperty(key, value, computed, shorthand, decorators)
See also t.isObjectProperty(node, opts) and t.assertObjectProperty(node, opts).
Aliases: UserWhitespacable, Property, ObjectMember
key: if computed thenExpressionelseIdentifier | Literal(required)value:Expression | PatternLike(required)computed:boolean(default:false)shorthand:boolean(default:false)decorators:Array<Decorator>(default:null)
objectTypeAnnotation
t.objectTypeAnnotation(properties, indexers, callProperties, internalSlots, exact)
See also t.isObjectTypeAnnotation(node, opts) and t.assertObjectTypeAnnotation(node, opts).
Aliases: Flow, FlowType
properties:Array<ObjectTypeProperty | ObjectTypeSpreadProperty>(required)indexers:Array<ObjectTypeIndexer>(default:null)callProperties:Array<ObjectTypeCallProperty>(default:null)internalSlots:Array<ObjectTypeInternalSlot>(default:null)exact:boolean(default:false)
objectTypeCallProperty
t.objectTypeCallProperty(value)
See also t.isObjectTypeCallProperty(node, opts) and t.assertObjectTypeCallProperty(node, opts).
Aliases: Flow, UserWhitespacable
value:FlowType(required)static:boolean(default:null)
objectTypeIndexer
t.objectTypeIndexer(id, key, value, variance)
See also t.isObjectTypeIndexer(node, opts) and t.assertObjectTypeIndexer(node, opts).
Aliases: Flow, UserWhitespacable
id:Identifier(default:null)key:FlowType(required)value:FlowType(required)variance:Variance(default:null)static:boolean(default:null)
objectTypeInternalSlot
t.objectTypeInternalSlot(id, value, optional, static, method)
See also t.isObjectTypeInternalSlot(node, opts) and t.assertObjectTypeInternalSlot(node, opts).
Aliases: Flow, UserWhitespacable
id:Identifier(required)value:FlowType(required)optional:boolean(required)static:boolean(required)method:boolean(required)
objectTypeProperty
t.objectTypeProperty(key, value, variance)
See also t.isObjectTypeProperty(node, opts) and t.assertObjectTypeProperty(node, opts).
Aliases: Flow, UserWhitespacable
key:Identifier | StringLiteral(required)value:FlowType(required)variance:Variance(default:null)kind:"init" | "get" | "set"(default:null)optional:boolean(default:null)proto:boolean(default:null)static:boolean(default:null)
objectTypeSpreadProperty
t.objectTypeSpreadProperty(argument)
See also t.isObjectTypeSpreadProperty(node, opts) and t.assertObjectTypeSpreadProperty(node, opts).
Aliases: Flow, UserWhitespacable
argument:FlowType(required)
opaqueType
t.opaqueType(id, typeParameters, supertype, impltype)
See also t.isOpaqueType(node, opts) and t.assertOpaqueType(node, opts).
Aliases: Flow, FlowDeclaration, Statement, Declaration
id:Identifier(required)typeParameters:TypeParameterDeclaration(default:null)supertype:FlowType(default:null)impltype:FlowType(required)
optionalCallExpression
t.optionalCallExpression(callee, arguments, optional)
See also t.isOptionalCallExpression(node, opts) and t.assertOptionalCallExpression(node, opts).
Aliases: Expression
callee:Expression(required)arguments:Array<Expression | SpreadElement | JSXNamespacedName>(required)optional:boolean(required)typeArguments:TypeParameterInstantiation(default:null)typeParameters:TSTypeParameterInstantiation(default:null)
optionalMemberExpression
t.optionalMemberExpression(object, property, computed, optional)
See also t.isOptionalMemberExpression(node, opts) and t.assertOptionalMemberExpression(node, opts).
Aliases: Expression
object:Expression(required)property:any(required)computed:boolean(default:false)optional:boolean(required)
parenthesizedExpression
t.parenthesizedExpression(expression)
See also t.isParenthesizedExpression(node, opts) and t.assertParenthesizedExpression(node, opts).
Aliases: Expression, ExpressionWrapper
expression:Expression(required)
privateName
t.privateName(id)
See also t.isPrivateName(node, opts) and t.assertPrivateName(node, opts).
Aliases: Private
id:Identifier(required)
program
t.program(body, directives, sourceType, interpreter)
See also t.isProgram(node, opts) and t.assertProgram(node, opts).
Aliases: Scopable, BlockParent, Block
body:Array<Statement>(required)directives:Array<Directive>(default:[])sourceType:"script" | "module"(default:'script')interpreter:InterpreterDirective(default:null)sourceFile:string(default:null)
qualifiedTypeIdentifier
t.qualifiedTypeIdentifier(id, qualification)
See also t.isQualifiedTypeIdentifier(node, opts) and t.assertQualifiedTypeIdentifier(node, opts).
Aliases: Flow
id:Identifier(required)qualification:Identifier | QualifiedTypeIdentifier(required)
regExpLiteral
t.regExpLiteral(pattern, flags)
See also t.isRegExpLiteral(node, opts) and t.assertRegExpLiteral(node, opts).
Aliases: Expression, Literal
pattern:string(required)flags:string(default:'')
restElement
t.restElement(argument)
See also t.isRestElement(node, opts) and t.assertRestElement(node, opts).
Aliases: LVal, PatternLike
argument:LVal(required)decorators:Array<Decorator>(default:null)typeAnnotation:TypeAnnotation | TSTypeAnnotation | Noop(default:null)
returnStatement
t.returnStatement(argument)
See also t.isReturnStatement(node, opts) and t.assertReturnStatement(node, opts).
Aliases: Statement, Terminatorless, CompletionStatement
argument:Expression(default:null)
sequenceExpression
t.sequenceExpression(expressions)
See also t.isSequenceExpression(node, opts) and t.assertSequenceExpression(node, opts).
Aliases: Expression
expressions:Array<Expression>(required)
spreadElement
t.spreadElement(argument)
See also t.isSpreadElement(node, opts) and t.assertSpreadElement(node, opts).
Aliases: UnaryLike
argument:Expression(required)
stringLiteral
t.stringLiteral(value)
See also t.isStringLiteral(node, opts) and t.assertStringLiteral(node, opts).
Aliases: Expression, Pureish, Literal, Immutable
value:string(required)
stringLiteralTypeAnnotation
t.stringLiteralTypeAnnotation(value)
See also t.isStringLiteralTypeAnnotation(node, opts) and t.assertStringLiteralTypeAnnotation(node, opts).
Aliases: Flow, FlowType
value:string(required)
stringTypeAnnotation
t.stringTypeAnnotation()
See also t.isStringTypeAnnotation(node, opts) and t.assertStringTypeAnnotation(node, opts).
Aliases: Flow, FlowType, FlowBaseAnnotation
super
t.super()
See also t.isSuper(node, opts) and t.assertSuper(node, opts).
Aliases: Expression
switchCase
t.switchCase(test, consequent)
See also t.isSwitchCase(node, opts) and t.assertSwitchCase(node, opts).
test:Expression(default:null)consequent:Array<Statement>(required)
switchStatement
t.switchStatement(discriminant, cases)
See also t.isSwitchStatement(node, opts) and t.assertSwitchStatement(node, opts).
Aliases: Statement, BlockParent, Scopable
discriminant:Expression(required)cases:Array<SwitchCase>(required)
tSAnyKeyword
t.tsAnyKeyword()
See also t.isTSAnyKeyword(node, opts) and t.assertTSAnyKeyword(node, opts).
Aliases: TSType
tSArrayType
t.tsArrayType(elementType)
See also t.isTSArrayType(node, opts) and t.assertTSArrayType(node, opts).
Aliases: TSType
elementType:TSType(required)
tSAsExpression
t.tsAsExpression(expression, typeAnnotation)
See also t.isTSAsExpression(node, opts) and t.assertTSAsExpression(node, opts).
Aliases: Expression
expression:Expression(required)typeAnnotation:TSType(required)
tSBooleanKeyword
t.tsBooleanKeyword()
See also t.isTSBooleanKeyword(node, opts) and t.assertTSBooleanKeyword(node, opts).
Aliases: TSType
tSCallSignatureDeclaration
t.tsCallSignatureDeclaration(typeParameters, parameters, typeAnnotation)
See also t.isTSCallSignatureDeclaration(node, opts) and t.assertTSCallSignatureDeclaration(node, opts).
Aliases: TSTypeElement
typeParameters:TSTypeParameterDeclaration(default:null)parameters:Array<Identifier | RestElement>(default:null)typeAnnotation:TSTypeAnnotation(default:null)
tSConditionalType
t.tsConditionalType(checkType, extendsType, trueType, falseType)
See also t.isTSConditionalType(node, opts) and t.assertTSConditionalType(node, opts).
Aliases: TSType
checkType:TSType(required)extendsType:TSType(required)trueType:TSType(required)falseType:TSType(required)
tSConstructSignatureDeclaration
t.tsConstructSignatureDeclaration(typeParameters, parameters, typeAnnotation)
See also t.isTSConstructSignatureDeclaration(node, opts) and t.assertTSConstructSignatureDeclaration(node, opts).
Aliases: TSTypeElement
typeParameters:TSTypeParameterDeclaration(default:null)parameters:Array<Identifier | RestElement>(default:null)typeAnnotation:TSTypeAnnotation(default:null)
tSConstructorType
t.tsConstructorType(typeParameters, typeAnnotation)
See also t.isTSConstructorType(node, opts) and t.assertTSConstructorType(node, opts).
Aliases: TSType
typeParameters:TSTypeParameterDeclaration(default:null)typeAnnotation:TSTypeAnnotation(default:null)parameters:Array<Identifier | RestElement>(default:null)
tSDeclareFunction
t.tsDeclareFunction(id, typeParameters, params, returnType)
See also t.isTSDeclareFunction(node, opts) and t.assertTSDeclareFunction(node, opts).
Aliases: Statement, Declaration
id:Identifier(default:null)typeParameters:TSTypeParameterDeclaration | Noop(default:null)params:Array<LVal>(required)returnType:TSTypeAnnotation | Noop(default:null)async:boolean(default:false)declare:boolean(default:null)generator:boolean(default:false)
tSDeclareMethod
t.tsDeclareMethod(decorators, key, typeParameters, params, returnType)
See also t.isTSDeclareMethod(node, opts) and t.assertTSDeclareMethod(node, opts).
decorators:Array<Decorator>(default:null)key:Identifier | StringLiteral | NumericLiteral | Expression(required)typeParameters:TSTypeParameterDeclaration | Noop(default:null)params:Array<LVal>(required)returnType:TSTypeAnnotation | Noop(default:null)abstract:boolean(default:null)access:"public" | "private" | "protected"(default:null)accessibility:"public" | "private" | "protected"(default:null)async:boolean(default:false)computed:boolean(default:false)generator:boolean(default:false)kind:"get" | "set" | "method" | "constructor"(default:'method')optional:boolean(default:null)static:boolean(default:null)
tSEnumDeclaration
t.tsEnumDeclaration(id, members)
See also t.isTSEnumDeclaration(node, opts) and t.assertTSEnumDeclaration(node, opts).
Aliases: Statement, Declaration
id:Identifier(required)members:Array<TSEnumMember>(required)const:boolean(default:null)declare:boolean(default:null)initializer:Expression(default:null)
tSEnumMember
t.tsEnumMember(id, initializer)
See also t.isTSEnumMember(node, opts) and t.assertTSEnumMember(node, opts).
id:Identifier | StringLiteral(required)initializer:Expression(default:null)
tSExportAssignment
t.tsExportAssignment(expression)
See also t.isTSExportAssignment(node, opts) and t.assertTSExportAssignment(node, opts).
Aliases: Statement
expression:Expression(required)
tSExpressionWithTypeArguments
t.tsExpressionWithTypeArguments(expression, typeParameters)
See also t.isTSExpressionWithTypeArguments(node, opts) and t.assertTSExpressionWithTypeArguments(node, opts).
Aliases: TSType
expression:TSEntityName(required)typeParameters:TSTypeParameterInstantiation(default:null)
tSExternalModuleReference
t.tsExternalModuleReference(expression)
See also t.isTSExternalModuleReference(node, opts) and t.assertTSExternalModuleReference(node, opts).
expression:StringLiteral(required)
tSFunctionType
t.tsFunctionType(typeParameters, typeAnnotation)
See also t.isTSFunctionType(node, opts) and t.assertTSFunctionType(node, opts).
Aliases: TSType
typeParameters:TSTypeParameterDeclaration(default:null)typeAnnotation:TSTypeAnnotation(default:null)parameters:Array<Identifier | RestElement>(default:null)
tSImportEqualsDeclaration
t.tsImportEqualsDeclaration(id, moduleReference)
See also t.isTSImportEqualsDeclaration(node, opts) and t.assertTSImportEqualsDeclaration(node, opts).
Aliases: Statement
id:Identifier(required)moduleReference:TSEntityName | TSExternalModuleReference(required)isExport:boolean(default:null)
tSIndexSignature
t.tsIndexSignature(parameters, typeAnnotation)
See also t.isTSIndexSignature(node, opts) and t.assertTSIndexSignature(node, opts).
Aliases: TSTypeElement
parameters:Array<Identifier>(required)typeAnnotation:TSTypeAnnotation(default:null)readonly:boolean(default:null)
tSIndexedAccessType
t.tsIndexedAccessType(objectType, indexType)
See also t.isTSIndexedAccessType(node, opts) and t.assertTSIndexedAccessType(node, opts).
Aliases: TSType
objectType:TSType(required)indexType:TSType(required)
tSInferType
t.tsInferType(typeParameter)
See also t.isTSInferType(node, opts) and t.assertTSInferType(node, opts).
Aliases: TSType
typeParameter:TSTypeParameter(required)
tSInterfaceBody
t.tsInterfaceBody(body)
See also t.isTSInterfaceBody(node, opts) and t.assertTSInterfaceBody(node, opts).
body:Array<TSTypeElement>(required)
tSInterfaceDeclaration
t.tsInterfaceDeclaration(id, typeParameters, extends, body)
See also t.isTSInterfaceDeclaration(node, opts) and t.assertTSInterfaceDeclaration(node, opts).
Aliases: Statement, Declaration
id:Identifier(required)typeParameters:TSTypeParameterDeclaration(default:null)extends:Array<TSExpressionWithTypeArguments>(default:null)body:TSInterfaceBody(required)declare:boolean(default:null)
tSIntersectionType
t.tsIntersectionType(types)
See also t.isTSIntersectionType(node, opts) and t.assertTSIntersectionType(node, opts).
Aliases: TSType
types:Array<TSType>(required)
tSLiteralType
t.tsLiteralType(literal)
See also t.isTSLiteralType(node, opts) and t.assertTSLiteralType(node, opts).
Aliases: TSType
literal:NumericLiteral | StringLiteral | BooleanLiteral(required)
tSMappedType
t.tsMappedType(typeParameter, typeAnnotation)
See also t.isTSMappedType(node, opts) and t.assertTSMappedType(node, opts).
Aliases: TSType
typeParameter:TSTypeParameter(required)typeAnnotation:TSType(default:null)optional:boolean(default:null)readonly:boolean(default:null)
tSMethodSignature
t.tsMethodSignature(key, typeParameters, parameters, typeAnnotation)
See also t.isTSMethodSignature(node, opts) and t.assertTSMethodSignature(node, opts).
Aliases: TSTypeElement
key:Expression(required)typeParameters:TSTypeParameterDeclaration(default:null)parameters:Array<Identifier | RestElement>(default:null)typeAnnotation:TSTypeAnnotation(default:null)computed:boolean(default:null)optional:boolean(default:null)
tSModuleBlock
t.tsModuleBlock(body)
See also t.isTSModuleBlock(node, opts) and t.assertTSModuleBlock(node, opts).
body:Array<Statement>(required)
tSModuleDeclaration
t.tsModuleDeclaration(id, body)
See also t.isTSModuleDeclaration(node, opts) and t.assertTSModuleDeclaration(node, opts).
Aliases: Statement, Declaration
id:Identifier | StringLiteral(required)body:TSModuleBlock | TSModuleDeclaration(required)declare:boolean(default:null)global:boolean(default:null)
tSNamespaceExportDeclaration
t.tsNamespaceExportDeclaration(id)
See also t.isTSNamespaceExportDeclaration(node, opts) and t.assertTSNamespaceExportDeclaration(node, opts).
Aliases: Statement
id:Identifier(required)
tSNeverKeyword
t.tsNeverKeyword()
See also t.isTSNeverKeyword(node, opts) and t.assertTSNeverKeyword(node, opts).
Aliases: TSType
tSNonNullExpression
t.tsNonNullExpression(expression)
See also t.isTSNonNullExpression(node, opts) and t.assertTSNonNullExpression(node, opts).
Aliases: Expression
expression:Expression(required)
tSNullKeyword
t.tsNullKeyword()
See also t.isTSNullKeyword(node, opts) and t.assertTSNullKeyword(node, opts).
Aliases: TSType
tSNumberKeyword
t.tsNumberKeyword()
See also t.isTSNumberKeyword(node, opts) and t.assertTSNumberKeyword(node, opts).
Aliases: TSType
tSObjectKeyword
t.tsObjectKeyword()
See also t.isTSObjectKeyword(node, opts) and t.assertTSObjectKeyword(node, opts).
Aliases: TSType
tSParameterProperty
t.tsParameterProperty(parameter)
See also t.isTSParameterProperty(node, opts) and t.assertTSParameterProperty(node, opts).
Aliases: LVal
parameter:Identifier | AssignmentPattern(required)accessibility:"public" | "private" | "protected"(default:null)readonly:boolean(default:null)
tSParenthesizedType
t.tsParenthesizedType(typeAnnotation)
See also t.isTSParenthesizedType(node, opts) and t.assertTSParenthesizedType(node, opts).
Aliases: TSType
typeAnnotation:TSType(required)
tSPropertySignature
t.tsPropertySignature(key, typeAnnotation, initializer)
See also t.isTSPropertySignature(node, opts) and t.assertTSPropertySignature(node, opts).
Aliases: TSTypeElement
key:Expression(required)typeAnnotation:TSTypeAnnotation(default:null)initializer:Expression(default:null)computed:boolean(default:null)optional:boolean(default:null)readonly:boolean(default:null)
tSQualifiedName
t.tsQualifiedName(left, right)
See also t.isTSQualifiedName(node, opts) and t.assertTSQualifiedName(node, opts).
Aliases: TSEntityName
left:TSEntityName(required)right:Identifier(required)
tSStringKeyword
t.tsStringKeyword()
See also t.isTSStringKeyword(node, opts) and t.assertTSStringKeyword(node, opts).
Aliases: TSType
tSSymbolKeyword
t.tsSymbolKeyword()
See also t.isTSSymbolKeyword(node, opts) and t.assertTSSymbolKeyword(node, opts).
Aliases: TSType
tSThisType
t.tsThisType()
See also t.isTSThisType(node, opts) and t.assertTSThisType(node, opts).
Aliases: TSType
tSTupleType
t.tsTupleType(elementTypes)
See also t.isTSTupleType(node, opts) and t.assertTSTupleType(node, opts).
Aliases: TSType
elementTypes:Array<TSType>(required)
tSTypeAliasDeclaration
t.tsTypeAliasDeclaration(id, typeParameters, typeAnnotation)
See also t.isTSTypeAliasDeclaration(node, opts) and t.assertTSTypeAliasDeclaration(node, opts).
Aliases: Statement, Declaration
id:Identifier(required)typeParameters:TSTypeParameterDeclaration(default:null)typeAnnotation:TSType(required)declare:boolean(default:null)
tSTypeAnnotation
t.tsTypeAnnotation(typeAnnotation)
See also t.isTSTypeAnnotation(node, opts) and t.assertTSTypeAnnotation(node, opts).
typeAnnotation:TSType(required)
tSTypeAssertion
t.tsTypeAssertion(typeAnnotation, expression)
See also t.isTSTypeAssertion(node, opts) and t.assertTSTypeAssertion(node, opts).
Aliases: Expression
typeAnnotation:TSType(required)expression:Expression(required)
tSTypeLiteral
t.tsTypeLiteral(members)
See also t.isTSTypeLiteral(node, opts) and t.assertTSTypeLiteral(node, opts).
Aliases: TSType
members:Array<TSTypeElement>(required)
tSTypeOperator
t.tsTypeOperator(typeAnnotation)
See also t.isTSTypeOperator(node, opts) and t.assertTSTypeOperator(node, opts).
Aliases: TSType
typeAnnotation:TSType(required)operator:string(default:null)
tSTypeParameter
t.tsTypeParameter(constraint, default)
See also t.isTSTypeParameter(node, opts) and t.assertTSTypeParameter(node, opts).
constraint:TSType(default:null)default:TSType(default:null)name:string(default:null)
tSTypeParameterDeclaration
t.tsTypeParameterDeclaration(params)
See also t.isTSTypeParameterDeclaration(node, opts) and t.assertTSTypeParameterDeclaration(node, opts).
params:Array<TSTypeParameter>(required)
tSTypeParameterInstantiation
t.tsTypeParameterInstantiation(params)
See also t.isTSTypeParameterInstantiation(node, opts) and t.assertTSTypeParameterInstantiation(node, opts).
params:Array<TSType>(required)
tSTypePredicate
t.tsTypePredicate(parameterName, typeAnnotation)
See also t.isTSTypePredicate(node, opts) and t.assertTSTypePredicate(node, opts).
Aliases: TSType
parameterName:Identifier | TSThisType(required)typeAnnotation:TSTypeAnnotation(required)
tSTypeQuery
t.tsTypeQuery(exprName)
See also t.isTSTypeQuery(node, opts) and t.assertTSTypeQuery(node, opts).
Aliases: TSType
exprName:TSEntityName(required)
tSTypeReference
t.tsTypeReference(typeName, typeParameters)
See also t.isTSTypeReference(node, opts) and t.assertTSTypeReference(node, opts).
Aliases: TSType
typeName:TSEntityName(required)typeParameters:TSTypeParameterInstantiation(default:null)
tSUndefinedKeyword
t.tsUndefinedKeyword()
See also t.isTSUndefinedKeyword(node, opts) and t.assertTSUndefinedKeyword(node, opts).
Aliases: TSType
tSUnionType
t.tsUnionType(types)
See also t.isTSUnionType(node, opts) and t.assertTSUnionType(node, opts).
Aliases: TSType
types:Array<TSType>(required)
tSVoidKeyword
t.tsVoidKeyword()
See also t.isTSVoidKeyword(node, opts) and t.assertTSVoidKeyword(node, opts).
Aliases: TSType
taggedTemplateExpression
t.taggedTemplateExpression(tag, quasi)
See also t.isTaggedTemplateExpression(node, opts) and t.assertTaggedTemplateExpression(node, opts).
Aliases: Expression
tag:Expression(required)quasi:TemplateLiteral(required)
templateElement
t.templateElement(value, tail)
See also t.isTemplateElement(node, opts) and t.assertTemplateElement(node, opts).
value(required)tail:boolean(default:false)
templateLiteral
t.templateLiteral(quasis, expressions)
See also t.isTemplateLiteral(node, opts) and t.assertTemplateLiteral(node, opts).
Aliases: Expression, Literal
quasis:Array<TemplateElement>(required)expressions:Array<Expression>(required)
thisExpression
t.thisExpression()
See also t.isThisExpression(node, opts) and t.assertThisExpression(node, opts).
Aliases: Expression
thisTypeAnnotation
t.thisTypeAnnotation()
See also t.isThisTypeAnnotation(node, opts) and t.assertThisTypeAnnotation(node, opts).
Aliases: Flow, FlowType, FlowBaseAnnotation
throwStatement
t.throwStatement(argument)
See also t.isThrowStatement(node, opts) and t.assertThrowStatement(node, opts).
Aliases: Statement, Terminatorless, CompletionStatement
argument:Expression(required)
tryStatement
t.tryStatement(block, handler, finalizer)
See also t.isTryStatement(node, opts) and t.assertTryStatement(node, opts).
Aliases: Statement
block:BlockStatement(required)handler:CatchClause(default:null)finalizer:BlockStatement(default:null)
tupleTypeAnnotation
t.tupleTypeAnnotation(types)
See also t.isTupleTypeAnnotation(node, opts) and t.assertTupleTypeAnnotation(node, opts).
Aliases: Flow, FlowType
types:Array<FlowType>(required)
typeAlias
t.typeAlias(id, typeParameters, right)
See also t.isTypeAlias(node, opts) and t.assertTypeAlias(node, opts).
Aliases: Flow, FlowDeclaration, Statement, Declaration
id:Identifier(required)typeParameters:TypeParameterDeclaration(default:null)right:FlowType(required)
typeAnnotation
t.typeAnnotation(typeAnnotation)
See also t.isTypeAnnotation(node, opts) and t.assertTypeAnnotation(node, opts).
Aliases: Flow
typeAnnotation:FlowType(required)
typeCastExpression
t.typeCastExpression(expression, typeAnnotation)
See also t.isTypeCastExpression(node, opts) and t.assertTypeCastExpression(node, opts).
Aliases: Flow, ExpressionWrapper, Expression
expression:Expression(required)typeAnnotation:TypeAnnotation(required)
typeParameter
t.typeParameter(bound, default, variance)
See also t.isTypeParameter(node, opts) and t.assertTypeParameter(node, opts).
Aliases: Flow
bound:TypeAnnotation(default:null)default:FlowType(default:null)variance:Variance(default:null)name:string(default:null)
typeParameterDeclaration
t.typeParameterDeclaration(params)
See also t.isTypeParameterDeclaration(node, opts) and t.assertTypeParameterDeclaration(node, opts).
Aliases: Flow
params:Array<TypeParameter>(required)
typeParameterInstantiation
t.typeParameterInstantiation(params)
See also t.isTypeParameterInstantiation(node, opts) and t.assertTypeParameterInstantiation(node, opts).
Aliases: Flow
params:Array<FlowType>(required)
typeofTypeAnnotation
t.typeofTypeAnnotation(argument)
See also t.isTypeofTypeAnnotation(node, opts) and t.assertTypeofTypeAnnotation(node, opts).
Aliases: Flow, FlowType
argument:FlowType(required)
unaryExpression
t.unaryExpression(operator, argument, prefix)
See also t.isUnaryExpression(node, opts) and t.assertUnaryExpression(node, opts).
Aliases: UnaryLike, Expression
operator:"void" | "throw" | "delete" | "!" | "+" | "-" | "~" | "typeof"(required)argument:Expression(required)prefix:boolean(default:true)
unionTypeAnnotation
t.unionTypeAnnotation(types)
See also t.isUnionTypeAnnotation(node, opts) and t.assertUnionTypeAnnotation(node, opts).
Aliases: Flow, FlowType
types:Array<FlowType>(required)
updateExpression
t.updateExpression(operator, argument, prefix)
See also t.isUpdateExpression(node, opts) and t.assertUpdateExpression(node, opts).
Aliases: Expression
operator:"++" | "--"(required)argument:Expression(required)prefix:boolean(default:false)
variableDeclaration
t.variableDeclaration(kind, declarations)
See also t.isVariableDeclaration(node, opts) and t.assertVariableDeclaration(node, opts).
Aliases: Statement, Declaration
kind:"var" | "let" | "const"(required)declarations:Array<VariableDeclarator>(required)declare:boolean(default:null)
variableDeclarator
t.variableDeclarator(id, init)
See also t.isVariableDeclarator(node, opts) and t.assertVariableDeclarator(node, opts).
id:LVal(required)init:Expression(default:null)definite:boolean(default:null)
variance
t.variance(kind)
See also t.isVariance(node, opts) and t.assertVariance(node, opts).
Aliases: Flow
kind:"minus" | "plus"(required)
voidTypeAnnotation
t.voidTypeAnnotation()
See also t.isVoidTypeAnnotation(node, opts) and t.assertVoidTypeAnnotation(node, opts).
Aliases: Flow, FlowType, FlowBaseAnnotation
whileStatement
t.whileStatement(test, body)
See also t.isWhileStatement(node, opts) and t.assertWhileStatement(node, opts).
Aliases: Statement, BlockParent, Loop, While, Scopable
test:Expression(required)body:BlockStatement | Statement(required)
withStatement
t.withStatement(object, body)
See also t.isWithStatement(node, opts) and t.assertWithStatement(node, opts).
Aliases: Statement
object:Expression(required)body:BlockStatement | Statement(required)
yieldExpression
t.yieldExpression(argument, delegate)
See also t.isYieldExpression(node, opts) and t.assertYieldExpression(node, opts).
Aliases: Expression, Terminatorless
argument:Expression(default:null)delegate:boolean(default:false)