Follow-up to https://github.com/babel/babel/pull/7404
There is no TypeParameter type in the Babylon TypeScript AST hierarchy.
Flow does have a TypeParameter type, but it should not be confused with
the TypeScript TSTypeParameter, since Flow !== TypeScript, and the types
have totally different fields. Instead, the .typeParameter.type of a
Babylon-parsed TSInferType node should be TSTypeParameter.
It would probably be fine to leave the declared type of the TSInferType
.typeParameter field as TSType instead of TSTypeParameter, but the more
specific TSTypeParameter type should be safe/correct, since the TypeScript
parseInferType function always uses SyntaxKind.TypeParameter:
66d6e5e6e0/src/compiler/parser.ts (L3006)
I noticed this typo because it has been causing ast-types test failures
lately, e.g. https://travis-ci.org/benjamn/ast-types/jobs/369634972
@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)
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)
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)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)
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')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)