@babel/types

This module contains methods for building ASTs manually and for checking the types of AST nodes.

Install

  1. npm install --save-dev @babel/types

API

Node Builders

anyTypeAnnotation

  1. t.anyTypeAnnotation();

See also t.isAnyTypeAnnotation(node, opts) and t.assertAnyTypeAnnotation(node, opts).

Aliases: Flow, FlowType, FlowBaseAnnotation


argumentPlaceholder

  1. t.argumentPlaceholder();

See also t.isArgumentPlaceholder(node, opts) and t.assertArgumentPlaceholder(node, opts).

Aliases: Proposal, StandardizedOrProposal


arrayExpression

  1. t.arrayExpression(elements);

See also t.isArrayExpression(node, opts) and t.assertArrayExpression(node, opts).

AST Node ArrayExpression shape:

  • elements: Array<null | Expression | SpreadElement> (default: [])

Aliases: Standardized, StandardizedOrProposal, Expression


arrayPattern

  1. t.arrayPattern(elements);

See also t.isArrayPattern(node, opts) and t.assertArrayPattern(node, opts).

AST Node ArrayPattern shape:

  • elements: Array<null | PatternLike> (required)
  • decorators: Array<Decorator> (default: null, excluded from builder function)
  • optional: boolean (default: null, excluded from builder function)
  • typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop (default: null, excluded from builder function)

Aliases: Standardized, StandardizedOrProposal, Pattern, PatternLike, LVal


arrayTypeAnnotation

  1. t.arrayTypeAnnotation(elementType);

See also t.isArrayTypeAnnotation(node, opts) and t.assertArrayTypeAnnotation(node, opts).

AST Node ArrayTypeAnnotation shape:

  • elementType: FlowType (required)

Aliases: Flow, FlowType


arrowFunctionExpression

  1. t.arrowFunctionExpression(params, body, async);

See also t.isArrowFunctionExpression(node, opts) and t.assertArrowFunctionExpression(node, opts).

AST Node ArrowFunctionExpression shape:

  • params: Array<Identifier | Pattern | RestElement> (required)
  • body: BlockStatement | Expression (required)
  • async: boolean (default: false)
  • expression: boolean (required)
  • generator: boolean (default: false, excluded from builder function)
  • returnType: TypeAnnotation | TSTypeAnnotation | Noop (default: null, excluded from builder function)
  • typeParameters: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop (default: null, excluded from builder function)

Aliases: Standardized, StandardizedOrProposal, Scopable, Function, BlockParent, FunctionParent, Expression, Pureish


assignmentExpression

  1. t.assignmentExpression(operator, left, right);

See also t.isAssignmentExpression(node, opts) and t.assertAssignmentExpression(node, opts).

AST Node AssignmentExpression shape:

  • operator: string (required)
  • left: LVal (required)
  • right: Expression (required)

Aliases: Standardized, StandardizedOrProposal, Expression


assignmentPattern

  1. t.assignmentPattern(left, right);

See also t.isAssignmentPattern(node, opts) and t.assertAssignmentPattern(node, opts).

AST Node AssignmentPattern shape:

  • left: Identifier | ObjectPattern | ArrayPattern | MemberExpression (required)
  • right: Expression (required)
  • decorators: Array<Decorator> (default: null, excluded from builder function)
  • typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop (default: null, excluded from builder function)

Aliases: Standardized, StandardizedOrProposal, Pattern, PatternLike, LVal


awaitExpression

  1. t.awaitExpression(argument);

See also t.isAwaitExpression(node, opts) and t.assertAwaitExpression(node, opts).

AST Node AwaitExpression shape:

  • argument: Expression (required)

Aliases: Standardized, StandardizedOrProposal, Expression, Terminatorless


bigIntLiteral

  1. t.bigIntLiteral(value);

See also t.isBigIntLiteral(node, opts) and t.assertBigIntLiteral(node, opts).

AST Node BigIntLiteral shape:

  • value: string (required)

Aliases: Standardized, StandardizedOrProposal, Expression, Pureish, Literal, Immutable


binaryExpression

  1. t.binaryExpression(operator, left, right);

See also t.isBinaryExpression(node, opts) and t.assertBinaryExpression(node, opts).

AST Node BinaryExpression shape:

  • operator: "+" | "-" | "/" | "%" | "*" | "**" | "&" | "|" | ">>" | ">>>" | "<<" | "^" | "==" | "===" | "!=" | "!==" | "in" | "instanceof" | ">" | "<" | ">=" | "<=" (required)
  • left: Expression | PrivateName (required)
  • right: Expression (required)

Aliases: Standardized, StandardizedOrProposal, Binary, Expression


bindExpression

  1. t.bindExpression(object, callee);

See also t.isBindExpression(node, opts) and t.assertBindExpression(node, opts).

AST Node BindExpression shape:

  • object: Expression (required)
  • callee: Expression (required)

Aliases: Proposal, StandardizedOrProposal, Expression


blockStatement

  1. t.blockStatement(body, directives);

See also t.isBlockStatement(node, opts) and t.assertBlockStatement(node, opts).

AST Node BlockStatement shape:

  • body: Array<Statement> (required)
  • directives: Array<Directive> (default: [])

Aliases: Standardized, StandardizedOrProposal, Scopable, BlockParent, Block, Statement


booleanLiteral

  1. t.booleanLiteral(value);

See also t.isBooleanLiteral(node, opts) and t.assertBooleanLiteral(node, opts).

AST Node BooleanLiteral shape:

  • value: boolean (required)

Aliases: Standardized, StandardizedOrProposal, Expression, Pureish, Literal, Immutable


booleanLiteralTypeAnnotation

  1. t.booleanLiteralTypeAnnotation(value);

See also t.isBooleanLiteralTypeAnnotation(node, opts) and t.assertBooleanLiteralTypeAnnotation(node, opts).

AST Node BooleanLiteralTypeAnnotation shape:

  • value: boolean (required)

Aliases: Flow, FlowType


booleanTypeAnnotation

  1. t.booleanTypeAnnotation();

See also t.isBooleanTypeAnnotation(node, opts) and t.assertBooleanTypeAnnotation(node, opts).

Aliases: Flow, FlowType, FlowBaseAnnotation


breakStatement

  1. t.breakStatement(label);

See also t.isBreakStatement(node, opts) and t.assertBreakStatement(node, opts).

AST Node BreakStatement shape:

  • label: Identifier (default: null)

Aliases: Standardized, StandardizedOrProposal, Statement, Terminatorless, CompletionStatement


callExpression

  1. t.callExpression(callee, arguments);

See also t.isCallExpression(node, opts) and t.assertCallExpression(node, opts).

AST Node CallExpression shape:

  • callee: Expression | V8IntrinsicIdentifier (required)
  • arguments: Array<Expression | SpreadElement | JSXNamespacedName | ArgumentPlaceholder> (required)
  • optional: true | false (default: null, excluded from builder function)
  • typeArguments: TypeParameterInstantiation (default: null, excluded from builder function)
  • typeParameters: TSTypeParameterInstantiation (default: null, excluded from builder function)

Aliases: Standardized, StandardizedOrProposal, Expression


catchClause

  1. t.catchClause(param, body);

See also t.isCatchClause(node, opts) and t.assertCatchClause(node, opts).

AST Node CatchClause shape:

  • param: Identifier | ArrayPattern | ObjectPattern (default: null)
  • body: BlockStatement (required)

Aliases: Standardized, StandardizedOrProposal, Scopable, BlockParent


classBody

  1. t.classBody(body);

See also t.isClassBody(node, opts) and t.assertClassBody(node, opts).

AST Node ClassBody shape:

  • body: Array<ClassMethod | ClassPrivateMethod | ClassProperty | ClassPrivateProperty | TSDeclareMethod | TSIndexSignature> (required)

Aliases: Standardized, StandardizedOrProposal


classDeclaration

  1. t.classDeclaration(id, superClass, body, decorators);

See also t.isClassDeclaration(node, opts) and t.assertClassDeclaration(node, opts).

AST Node ClassDeclaration shape:

  • id: Identifier (required)
  • superClass: Expression (default: null)
  • body: ClassBody (required)
  • decorators: Array<Decorator> (default: null)
  • abstract: boolean (default: null, excluded from builder function)
  • declare: boolean (default: null, excluded from builder function)
  • implements: Array<TSExpressionWithTypeArguments | ClassImplements> (default: null, excluded from builder function)
  • mixins: InterfaceExtends (default: null, excluded from builder function)
  • superTypeParameters: TypeParameterInstantiation | TSTypeParameterInstantiation (default: null, excluded from builder function)
  • typeParameters: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop (default: null, excluded from builder function)

Aliases: Standardized, StandardizedOrProposal, Scopable, Class, Statement, Declaration


classExpression

  1. t.classExpression(id, superClass, body, decorators);

See also t.isClassExpression(node, opts) and t.assertClassExpression(node, opts).

AST Node ClassExpression shape:

  • id: Identifier (default: null)
  • superClass: Expression (default: null)
  • body: ClassBody (required)
  • decorators: Array<Decorator> (default: null)
  • implements: Array<TSExpressionWithTypeArguments | ClassImplements> (default: null, excluded from builder function)
  • mixins: InterfaceExtends (default: null, excluded from builder function)
  • superTypeParameters: TypeParameterInstantiation | TSTypeParameterInstantiation (default: null, excluded from builder function)
  • typeParameters: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop (default: null, excluded from builder function)

Aliases: Standardized, StandardizedOrProposal, Scopable, Class, Expression


classImplements

  1. t.classImplements(id, typeParameters);

See also t.isClassImplements(node, opts) and t.assertClassImplements(node, opts).

AST Node ClassImplements shape:

  • id: Identifier (required)
  • typeParameters: TypeParameterInstantiation (default: null)

Aliases: Flow


classMethod

  1. t.classMethod(kind, key, params, body, computed, static, generator, async);

See also t.isClassMethod(node, opts) and t.assertClassMethod(node, opts).

AST Node ClassMethod shape:

  • kind: "get" | "set" | "method" | "constructor" (default: 'method')
  • key: if computed then Expression else Identifier | Literal (required)
  • params: Array<Identifier | Pattern | RestElement | TSParameterProperty> (required)
  • body: BlockStatement (required)
  • computed: boolean (default: false)
  • static: boolean (default: false)
  • generator: boolean (default: false)
  • async: boolean (default: false)
  • abstract: boolean (default: null, excluded from builder function)
  • access: "public" | "private" | "protected" (default: null, excluded from builder function)
  • accessibility: "public" | "private" | "protected" (default: null, excluded from builder function)
  • decorators: Array<Decorator> (default: null, excluded from builder function)
  • optional: boolean (default: null, excluded from builder function)
  • override: boolean (default: false, excluded from builder function)
  • returnType: TypeAnnotation | TSTypeAnnotation | Noop (default: null, excluded from builder function)
  • typeParameters: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop (default: null, excluded from builder function)

Aliases: Standardized, StandardizedOrProposal, Function, Scopable, BlockParent, FunctionParent, Method


classPrivateMethod

  1. t.classPrivateMethod(kind, key, params, body, static);

See also t.isClassPrivateMethod(node, opts) and t.assertClassPrivateMethod(node, opts).

AST Node ClassPrivateMethod shape:

  • kind: "get" | "set" | "method" | "constructor" (default: 'method')
  • key: PrivateName (required)
  • params: Array<Identifier | Pattern | RestElement | TSParameterProperty> (required)
  • body: BlockStatement (required)
  • static: boolean (default: false)
  • abstract: boolean (default: null, excluded from builder function)
  • access: "public" | "private" | "protected" (default: null, excluded from builder function)
  • accessibility: "public" | "private" | "protected" (default: null, excluded from builder function)
  • async: boolean (default: false, excluded from builder function)
  • computed: ‘false’ (default: false, excluded from builder function)
  • decorators: Array<Decorator> (default: null, excluded from builder function)
  • generator: boolean (default: false, excluded from builder function)
  • optional: boolean (default: null, excluded from builder function)
  • override: boolean (default: false, excluded from builder function)
  • returnType: TypeAnnotation | TSTypeAnnotation | Noop (default: null, excluded from builder function)
  • typeParameters: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop (default: null, excluded from builder function)

Aliases: Standardized, StandardizedOrProposal, Function, Scopable, BlockParent, FunctionParent, Method, Private


classPrivateProperty

  1. t.classPrivateProperty(key, value, decorators, static);

See also t.isClassPrivateProperty(node, opts) and t.assertClassPrivateProperty(node, opts).

AST Node ClassPrivateProperty shape:

  • key: PrivateName (required)
  • value: Expression (default: null)
  • decorators: Array<Decorator> (default: null)
  • static (required)
  • definite: boolean (default: null, excluded from builder function)
  • readonly: boolean (default: null, excluded from builder function)
  • typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop (default: null, excluded from builder function)
  • variance: Variance (default: null, excluded from builder function)

Aliases: Standardized, StandardizedOrProposal, Property, Private


classProperty

  1. t.classProperty(key, value, typeAnnotation, decorators, computed, static);

History

VersionChanges
v7.6.0Supports static

See also t.isClassProperty(node, opts) and t.assertClassProperty(node, opts).

AST Node ClassProperty shape:

  • 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)
  • static: boolean (default: false)
  • abstract: boolean (default: null, excluded from builder function)
  • accessibility: "public" | "private" | "protected" (default: null, excluded from builder function)
  • declare: boolean (default: null, excluded from builder function)
  • definite: boolean (default: null, excluded from builder function)
  • optional: boolean (default: null, excluded from builder function)
  • override: boolean (default: false, excluded from builder function)
  • readonly: boolean (default: null, excluded from builder function)
  • variance: Variance (default: null, excluded from builder function)

Aliases: Standardized, StandardizedOrProposal, Property


conditionalExpression

  1. t.conditionalExpression(test, consequent, alternate);

See also t.isConditionalExpression(node, opts) and t.assertConditionalExpression(node, opts).

AST Node ConditionalExpression shape:

  • test: Expression (required)
  • consequent: Expression (required)
  • alternate: Expression (required)

Aliases: Standardized, StandardizedOrProposal, Expression, Conditional


continueStatement

  1. t.continueStatement(label);

See also t.isContinueStatement(node, opts) and t.assertContinueStatement(node, opts).

AST Node ContinueStatement shape:

  • label: Identifier (default: null)

Aliases: Standardized, StandardizedOrProposal, Statement, Terminatorless, CompletionStatement


debuggerStatement

  1. t.debuggerStatement();

See also t.isDebuggerStatement(node, opts) and t.assertDebuggerStatement(node, opts).

Aliases: Standardized, StandardizedOrProposal, Statement


decimalLiteral

  1. t.decimalLiteral(value);

See also t.isDecimalLiteral(node, opts) and t.assertDecimalLiteral(node, opts).

AST Node DecimalLiteral shape:

  • value: string (required)

Aliases: Proposal, StandardizedOrProposal, Expression, Pureish, Literal, Immutable


declareClass

  1. t.declareClass(id, typeParameters, extends, body);

See also t.isDeclareClass(node, opts) and t.assertDeclareClass(node, opts).

AST Node DeclareClass shape:

  • id: Identifier (required)
  • typeParameters: TypeParameterDeclaration (default: null)
  • extends: Array<InterfaceExtends> (default: null)
  • body: ObjectTypeAnnotation (required)
  • implements: Array<ClassImplements> (default: null, excluded from builder function)
  • mixins: Array<InterfaceExtends> (default: null, excluded from builder function)

Aliases: Flow, FlowDeclaration, Statement, Declaration


declareExportAllDeclaration

  1. t.declareExportAllDeclaration(source);

See also t.isDeclareExportAllDeclaration(node, opts) and t.assertDeclareExportAllDeclaration(node, opts).

AST Node DeclareExportAllDeclaration shape:

  • source: StringLiteral (required)
  • exportKind: "type" | "value" (default: null, excluded from builder function)

Aliases: Flow, FlowDeclaration, Statement, Declaration


declareExportDeclaration

  1. t.declareExportDeclaration(declaration, specifiers, source);

See also t.isDeclareExportDeclaration(node, opts) and t.assertDeclareExportDeclaration(node, opts).

AST Node DeclareExportDeclaration shape:

  • declaration: Flow (default: null)
  • specifiers: Array<ExportSpecifier | ExportNamespaceSpecifier> (default: null)
  • source: StringLiteral (default: null)
  • default: boolean (default: null, excluded from builder function)

Aliases: Flow, FlowDeclaration, Statement, Declaration


declareFunction

  1. t.declareFunction(id);

See also t.isDeclareFunction(node, opts) and t.assertDeclareFunction(node, opts).

AST Node DeclareFunction shape:

  • id: Identifier (required)
  • predicate: DeclaredPredicate (default: null, excluded from builder function)

Aliases: Flow, FlowDeclaration, Statement, Declaration


declareInterface

  1. t.declareInterface(id, typeParameters, extends, body);

See also t.isDeclareInterface(node, opts) and t.assertDeclareInterface(node, opts).

AST Node DeclareInterface shape:

  • id: Identifier (required)
  • typeParameters: TypeParameterDeclaration (default: null)
  • extends: Array<InterfaceExtends> (default: null)
  • body: ObjectTypeAnnotation (required)
  • implements: Array<ClassImplements> (default: null, excluded from builder function)
  • mixins: Array<InterfaceExtends> (default: null, excluded from builder function)

Aliases: Flow, FlowDeclaration, Statement, Declaration


declareModule

  1. t.declareModule(id, body, kind);

See also t.isDeclareModule(node, opts) and t.assertDeclareModule(node, opts).

AST Node DeclareModule shape:

  • id: Identifier | StringLiteral (required)
  • body: BlockStatement (required)
  • kind: "CommonJS" | "ES" (default: null)

Aliases: Flow, FlowDeclaration, Statement, Declaration


declareModuleExports

  1. t.declareModuleExports(typeAnnotation);

See also t.isDeclareModuleExports(node, opts) and t.assertDeclareModuleExports(node, opts).

AST Node DeclareModuleExports shape:

  • typeAnnotation: TypeAnnotation (required)

Aliases: Flow, FlowDeclaration, Statement, Declaration


declareOpaqueType

  1. t.declareOpaqueType(id, typeParameters, supertype);

See also t.isDeclareOpaqueType(node, opts) and t.assertDeclareOpaqueType(node, opts).

AST Node DeclareOpaqueType shape:

  • id: Identifier (required)
  • typeParameters: TypeParameterDeclaration (default: null)
  • supertype: FlowType (default: null)
  • impltype: FlowType (default: null, excluded from builder function)

Aliases: Flow, FlowDeclaration, Statement, Declaration


declareTypeAlias

  1. t.declareTypeAlias(id, typeParameters, right);

See also t.isDeclareTypeAlias(node, opts) and t.assertDeclareTypeAlias(node, opts).

AST Node DeclareTypeAlias shape:

  • id: Identifier (required)
  • typeParameters: TypeParameterDeclaration (default: null)
  • right: FlowType (required)

Aliases: Flow, FlowDeclaration, Statement, Declaration


declareVariable

  1. t.declareVariable(id);

See also t.isDeclareVariable(node, opts) and t.assertDeclareVariable(node, opts).

AST Node DeclareVariable shape:

  • id: Identifier (required)

Aliases: Flow, FlowDeclaration, Statement, Declaration


declaredPredicate

  1. t.declaredPredicate(value);

See also t.isDeclaredPredicate(node, opts) and t.assertDeclaredPredicate(node, opts).

AST Node DeclaredPredicate shape:

  • value: Flow (required)

Aliases: Flow, FlowPredicate


decorator

  1. t.decorator(expression);

See also t.isDecorator(node, opts) and t.assertDecorator(node, opts).

AST Node Decorator shape:

  • expression: Expression (required)

Aliases: Proposal, StandardizedOrProposal


directive

  1. t.directive(value);

See also t.isDirective(node, opts) and t.assertDirective(node, opts).

AST Node Directive shape:

  • value: DirectiveLiteral (required)

Aliases: Standardized, StandardizedOrProposal


directiveLiteral

  1. t.directiveLiteral(value);

See also t.isDirectiveLiteral(node, opts) and t.assertDirectiveLiteral(node, opts).

AST Node DirectiveLiteral shape:

  • value: string (required)

Aliases: Standardized, StandardizedOrProposal


doExpression

  1. t.doExpression(body, async);

See also t.isDoExpression(node, opts) and t.assertDoExpression(node, opts).

AST Node DoExpression shape:

  • body: BlockStatement (required)
  • async: boolean (default: false)

Aliases: Proposal, StandardizedOrProposal, Expression


doWhileStatement

  1. t.doWhileStatement(test, body);

See also t.isDoWhileStatement(node, opts) and t.assertDoWhileStatement(node, opts).

AST Node DoWhileStatement shape:

  • test: Expression (required)
  • body: Statement (required)

Aliases: Standardized, StandardizedOrProposal, Statement, BlockParent, Loop, While, Scopable


emptyStatement

  1. t.emptyStatement();

See also t.isEmptyStatement(node, opts) and t.assertEmptyStatement(node, opts).

Aliases: Standardized, StandardizedOrProposal, Statement


emptyTypeAnnotation

  1. t.emptyTypeAnnotation();

See also t.isEmptyTypeAnnotation(node, opts) and t.assertEmptyTypeAnnotation(node, opts).

Aliases: Flow, FlowType, FlowBaseAnnotation


enumBooleanBody

  1. t.enumBooleanBody(members);

See also t.isEnumBooleanBody(node, opts) and t.assertEnumBooleanBody(node, opts).

AST Node EnumBooleanBody shape:

  • members: Array<EnumBooleanMember> (required)
  • explicitType: boolean (required)
  • hasUnknownMembers: boolean (required)

Aliases: Flow, EnumBody


enumBooleanMember

  1. t.enumBooleanMember(id);

See also t.isEnumBooleanMember(node, opts) and t.assertEnumBooleanMember(node, opts).

AST Node EnumBooleanMember shape:

  • id: Identifier (required)
  • init: BooleanLiteral (required)

Aliases: Flow, EnumMember


enumDeclaration

  1. t.enumDeclaration(id, body);

See also t.isEnumDeclaration(node, opts) and t.assertEnumDeclaration(node, opts).

AST Node EnumDeclaration shape:

  • id: Identifier (required)
  • body: EnumBooleanBody | EnumNumberBody | EnumStringBody | EnumSymbolBody (required)

Aliases: Flow, Statement, Declaration


enumDefaultedMember

  1. t.enumDefaultedMember(id);

See also t.isEnumDefaultedMember(node, opts) and t.assertEnumDefaultedMember(node, opts).

AST Node EnumDefaultedMember shape:

  • id: Identifier (required)

Aliases: Flow, EnumMember


enumNumberBody

  1. t.enumNumberBody(members);

See also t.isEnumNumberBody(node, opts) and t.assertEnumNumberBody(node, opts).

AST Node EnumNumberBody shape:

  • members: Array<EnumNumberMember> (required)
  • explicitType: boolean (required)
  • hasUnknownMembers: boolean (required)

Aliases: Flow, EnumBody


enumNumberMember

  1. t.enumNumberMember(id, init);

See also t.isEnumNumberMember(node, opts) and t.assertEnumNumberMember(node, opts).

AST Node EnumNumberMember shape:

  • id: Identifier (required)
  • init: NumericLiteral (required)

Aliases: Flow, EnumMember


enumStringBody

  1. t.enumStringBody(members);

See also t.isEnumStringBody(node, opts) and t.assertEnumStringBody(node, opts).

AST Node EnumStringBody shape:

  • members: Array<EnumStringMember | EnumDefaultedMember> (required)
  • explicitType: boolean (required)
  • hasUnknownMembers: boolean (required)

Aliases: Flow, EnumBody


enumStringMember

  1. t.enumStringMember(id, init);

See also t.isEnumStringMember(node, opts) and t.assertEnumStringMember(node, opts).

AST Node EnumStringMember shape:

  • id: Identifier (required)
  • init: StringLiteral (required)

Aliases: Flow, EnumMember


enumSymbolBody

  1. t.enumSymbolBody(members);

See also t.isEnumSymbolBody(node, opts) and t.assertEnumSymbolBody(node, opts).

AST Node EnumSymbolBody shape:

  • members: Array<EnumDefaultedMember> (required)
  • hasUnknownMembers: boolean (required)

Aliases: Flow, EnumBody


existsTypeAnnotation

  1. t.existsTypeAnnotation();

See also t.isExistsTypeAnnotation(node, opts) and t.assertExistsTypeAnnotation(node, opts).

Aliases: Flow, FlowType


exportAllDeclaration

  1. t.exportAllDeclaration(source);

See also t.isExportAllDeclaration(node, opts) and t.assertExportAllDeclaration(node, opts).

AST Node ExportAllDeclaration shape:

  • source: StringLiteral (required)
  • assertions: Array<ImportAttribute> (default: null, excluded from builder function)
  • exportKind: "type" | "value" (default: null, excluded from builder function)

Aliases: Standardized, StandardizedOrProposal, Statement, Declaration, ModuleDeclaration, ExportDeclaration


exportDefaultDeclaration

  1. t.exportDefaultDeclaration(declaration);

See also t.isExportDefaultDeclaration(node, opts) and t.assertExportDefaultDeclaration(node, opts).

AST Node ExportDefaultDeclaration shape:

  • declaration: FunctionDeclaration | TSDeclareFunction | ClassDeclaration | Expression (required)
  • exportKind: "value" (default: null, excluded from builder function)

Aliases: Standardized, StandardizedOrProposal, Statement, Declaration, ModuleDeclaration, ExportDeclaration


exportDefaultSpecifier

  1. t.exportDefaultSpecifier(exported);

See also t.isExportDefaultSpecifier(node, opts) and t.assertExportDefaultSpecifier(node, opts).

AST Node ExportDefaultSpecifier shape:

  • exported: Identifier (required)

Aliases: Proposal, StandardizedOrProposal, ModuleSpecifier


exportNamedDeclaration

  1. t.exportNamedDeclaration(declaration, specifiers, source);

See also t.isExportNamedDeclaration(node, opts) and t.assertExportNamedDeclaration(node, opts).

AST Node ExportNamedDeclaration shape:

  • declaration: Declaration (default: null)
  • specifiers: Array<ExportSpecifier | ExportDefaultSpecifier | ExportNamespaceSpecifier> (default: [])
  • source: StringLiteral (default: null)
  • assertions: Array<ImportAttribute> (default: null, excluded from builder function)
  • exportKind: "type" | "value" (default: null, excluded from builder function)

Aliases: Standardized, StandardizedOrProposal, Statement, Declaration, ModuleDeclaration, ExportDeclaration


exportNamespaceSpecifier

  1. t.exportNamespaceSpecifier(exported);

See also t.isExportNamespaceSpecifier(node, opts) and t.assertExportNamespaceSpecifier(node, opts).

AST Node ExportNamespaceSpecifier shape:

  • exported: Identifier (required)

Aliases: Standardized, StandardizedOrProposal, ModuleSpecifier


exportSpecifier

  1. t.exportSpecifier(local, exported);

See also t.isExportSpecifier(node, opts) and t.assertExportSpecifier(node, opts).

AST Node ExportSpecifier shape:

  • local: Identifier (required)
  • exported: Identifier | StringLiteral (required)

Aliases: Standardized, StandardizedOrProposal, ModuleSpecifier


expressionStatement

  1. t.expressionStatement(expression);

See also t.isExpressionStatement(node, opts) and t.assertExpressionStatement(node, opts).

AST Node ExpressionStatement shape:

  • expression: Expression (required)

Aliases: Standardized, StandardizedOrProposal, Statement, ExpressionWrapper


file

  1. t.file(program, comments, tokens);

See also t.isFile(node, opts) and t.assertFile(node, opts).

AST Node File shape:

  • program: Program (required)
  • comments: Array<CommentBlock | CommentLine> (default: null)
  • tokens: Array<any> (default: null)

Aliases: Standardized, StandardizedOrProposal


forInStatement

  1. t.forInStatement(left, right, body);

See also t.isForInStatement(node, opts) and t.assertForInStatement(node, opts).

AST Node ForInStatement shape:

  • left: VariableDeclaration | LVal (required)
  • right: Expression (required)
  • body: Statement (required)

Aliases: Standardized, StandardizedOrProposal, Scopable, Statement, For, BlockParent, Loop, ForXStatement


forOfStatement

  1. t.forOfStatement(left, right, body, await);

See also t.isForOfStatement(node, opts) and t.assertForOfStatement(node, opts).

AST Node ForOfStatement shape:

  • left: VariableDeclaration | LVal (required)
  • right: Expression (required)
  • body: Statement (required)
  • await: boolean (default: false)

Aliases: Standardized, StandardizedOrProposal, Scopable, Statement, For, BlockParent, Loop, ForXStatement


forStatement

  1. t.forStatement(init, test, update, body);

See also t.isForStatement(node, opts) and t.assertForStatement(node, opts).

AST Node ForStatement shape:

  • init: VariableDeclaration | Expression (default: null)
  • test: Expression (default: null)
  • update: Expression (default: null)
  • body: Statement (required)

Aliases: Standardized, StandardizedOrProposal, Scopable, Statement, For, BlockParent, Loop


functionDeclaration

  1. t.functionDeclaration(id, params, body, generator, async);

See also t.isFunctionDeclaration(node, opts) and t.assertFunctionDeclaration(node, opts).

AST Node FunctionDeclaration shape:

  • id: Identifier (default: null)
  • params: Array<Identifier | Pattern | RestElement> (required)
  • body: BlockStatement (required)
  • generator: boolean (default: false)
  • async: boolean (default: false)
  • declare: boolean (default: null, excluded from builder function)
  • returnType: TypeAnnotation | TSTypeAnnotation | Noop (default: null, excluded from builder function)
  • typeParameters: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop (default: null, excluded from builder function)

Aliases: Standardized, StandardizedOrProposal, Scopable, Function, BlockParent, FunctionParent, Statement, Pureish, Declaration


functionExpression

  1. t.functionExpression(id, params, body, generator, async);

See also t.isFunctionExpression(node, opts) and t.assertFunctionExpression(node, opts).

AST Node FunctionExpression shape:

  • id: Identifier (default: null)
  • params: Array<Identifier | Pattern | RestElement> (required)
  • body: BlockStatement (required)
  • generator: boolean (default: false)
  • async: boolean (default: false)
  • returnType: TypeAnnotation | TSTypeAnnotation | Noop (default: null, excluded from builder function)
  • typeParameters: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop (default: null, excluded from builder function)

Aliases: Standardized, StandardizedOrProposal, Scopable, Function, BlockParent, FunctionParent, Expression, Pureish


functionTypeAnnotation

  1. t.functionTypeAnnotation(typeParameters, params, rest, returnType);

See also t.isFunctionTypeAnnotation(node, opts) and t.assertFunctionTypeAnnotation(node, opts).

AST Node FunctionTypeAnnotation shape:

  • typeParameters: TypeParameterDeclaration (default: null)
  • params: Array<FunctionTypeParam> (required)
  • rest: FunctionTypeParam (default: null)
  • returnType: FlowType (required)
  • this: FunctionTypeParam (default: null, excluded from builder function)

Aliases: Flow, FlowType


functionTypeParam

  1. t.functionTypeParam(name, typeAnnotation);

See also t.isFunctionTypeParam(node, opts) and t.assertFunctionTypeParam(node, opts).

AST Node FunctionTypeParam shape:

  • name: Identifier (default: null)
  • typeAnnotation: FlowType (required)
  • optional: boolean (default: null, excluded from builder function)

Aliases: Flow


genericTypeAnnotation

  1. t.genericTypeAnnotation(id, typeParameters);

See also t.isGenericTypeAnnotation(node, opts) and t.assertGenericTypeAnnotation(node, opts).

AST Node GenericTypeAnnotation shape:

  • id: Identifier | QualifiedTypeIdentifier (required)
  • typeParameters: TypeParameterInstantiation (default: null)

Aliases: Flow, FlowType


identifier

  1. t.identifier(name);

See also t.isIdentifier(node, opts) and t.assertIdentifier(node, opts).

AST Node Identifier shape:

  • name: string (required)
  • decorators: Array<Decorator> (default: null, excluded from builder function)
  • optional: boolean (default: null, excluded from builder function)
  • typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop (default: null, excluded from builder function)

Aliases: Standardized, StandardizedOrProposal, Expression, PatternLike, LVal, TSEntityName


ifStatement

  1. t.ifStatement(test, consequent, alternate);

See also t.isIfStatement(node, opts) and t.assertIfStatement(node, opts).

AST Node IfStatement shape:

  • test: Expression (required)
  • consequent: Statement (required)
  • alternate: Statement (default: null)

Aliases: Standardized, StandardizedOrProposal, Statement, Conditional


import

  1. t.import();

See also t.isImport(node, opts) and t.assertImport(node, opts).

Aliases: Standardized, StandardizedOrProposal, Expression


importAttribute

  1. t.importAttribute(key, value);

See also t.isImportAttribute(node, opts) and t.assertImportAttribute(node, opts).

AST Node ImportAttribute shape:

  • key: Identifier | StringLiteral (required)
  • value: StringLiteral (required)

Aliases: Proposal, StandardizedOrProposal


importDeclaration

  1. t.importDeclaration(specifiers, source);

See also t.isImportDeclaration(node, opts) and t.assertImportDeclaration(node, opts).

AST Node ImportDeclaration shape:

  • specifiers: Array<ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier> (required)
  • source: StringLiteral (required)
  • assertions: Array<ImportAttribute> (default: null, excluded from builder function)
  • importKind: "type" | "typeof" | "value" (default: null, excluded from builder function)

Aliases: Standardized, StandardizedOrProposal, Statement, Declaration, ModuleDeclaration


importDefaultSpecifier

  1. t.importDefaultSpecifier(local);

See also t.isImportDefaultSpecifier(node, opts) and t.assertImportDefaultSpecifier(node, opts).

AST Node ImportDefaultSpecifier shape:

  • local: Identifier (required)

Aliases: Standardized, StandardizedOrProposal, ModuleSpecifier


importNamespaceSpecifier

  1. t.importNamespaceSpecifier(local);

See also t.isImportNamespaceSpecifier(node, opts) and t.assertImportNamespaceSpecifier(node, opts).

AST Node ImportNamespaceSpecifier shape:

  • local: Identifier (required)

Aliases: Standardized, StandardizedOrProposal, ModuleSpecifier


importSpecifier

  1. t.importSpecifier(local, imported);

See also t.isImportSpecifier(node, opts) and t.assertImportSpecifier(node, opts).

AST Node ImportSpecifier shape:

  • local: Identifier (required)
  • imported: Identifier | StringLiteral (required)
  • importKind: "type" | "typeof" (default: null, excluded from builder function)

Aliases: Standardized, StandardizedOrProposal, ModuleSpecifier


indexedAccessType

  1. t.indexedAccessType(objectType, indexType);

See also t.isIndexedAccessType(node, opts) and t.assertIndexedAccessType(node, opts).

AST Node IndexedAccessType shape:

  • objectType: FlowType (required)
  • indexType: FlowType (required)

Aliases: Flow, FlowType


indexedAccessType

  1. t.indexedAccessType(objectType, indexType);

See also t.isIndexedAccessType(node, opts) and t.assertIndexedAccessType(node, opts).

AST Node IndexedAccessType shape:

  • objectType: FlowType (required)
  • indexType: FlowType (required)

Aliases: Flow, FlowType


inferredPredicate

  1. t.inferredPredicate();

See also t.isInferredPredicate(node, opts) and t.assertInferredPredicate(node, opts).

Aliases: Flow, FlowPredicate


interfaceDeclaration

  1. t.interfaceDeclaration(id, typeParameters, extends, body);

See also t.isInterfaceDeclaration(node, opts) and t.assertInterfaceDeclaration(node, opts).

AST Node InterfaceDeclaration shape:

  • id: Identifier (required)
  • typeParameters: TypeParameterDeclaration (default: null)
  • extends: Array<InterfaceExtends> (default: null)
  • body: ObjectTypeAnnotation (required)
  • implements: Array<ClassImplements> (default: null, excluded from builder function)
  • mixins: Array<InterfaceExtends> (default: null, excluded from builder function)

Aliases: Flow, FlowDeclaration, Statement, Declaration


interfaceExtends

  1. t.interfaceExtends(id, typeParameters);

See also t.isInterfaceExtends(node, opts) and t.assertInterfaceExtends(node, opts).

AST Node InterfaceExtends shape:

  • id: Identifier | QualifiedTypeIdentifier (required)
  • typeParameters: TypeParameterInstantiation (default: null)

Aliases: Flow


interfaceTypeAnnotation

  1. t.interfaceTypeAnnotation(extends, body);

See also t.isInterfaceTypeAnnotation(node, opts) and t.assertInterfaceTypeAnnotation(node, opts).

AST Node InterfaceTypeAnnotation shape:

  • extends: Array<InterfaceExtends> (default: null)
  • body: ObjectTypeAnnotation (required)

Aliases: Flow, FlowType


interpreterDirective

  1. t.interpreterDirective(value);

See also t.isInterpreterDirective(node, opts) and t.assertInterpreterDirective(node, opts).

AST Node InterpreterDirective shape:

  • value: string (required)

Aliases: Standardized, StandardizedOrProposal


intersectionTypeAnnotation

  1. t.intersectionTypeAnnotation(types);

See also t.isIntersectionTypeAnnotation(node, opts) and t.assertIntersectionTypeAnnotation(node, opts).

AST Node IntersectionTypeAnnotation shape:

  • types: Array<FlowType> (required)

Aliases: Flow, FlowType


jsxAttribute

  1. t.jsxAttribute(name, value);

See also t.isJSXAttribute(node, opts) and t.assertJSXAttribute(node, opts).

AST Node JSXAttribute shape:

  • name: JSXIdentifier | JSXNamespacedName (required)
  • value: JSXElement | JSXFragment | StringLiteral | JSXExpressionContainer (default: null)

Aliases: JSX, Immutable


jsxClosingElement

  1. t.jsxClosingElement(name);

See also t.isJSXClosingElement(node, opts) and t.assertJSXClosingElement(node, opts).

AST Node JSXClosingElement shape:

  • name: JSXIdentifier | JSXMemberExpression | JSXNamespacedName (required)

Aliases: JSX, Immutable


jsxClosingFragment

  1. t.jsxClosingFragment();

See also t.isJSXClosingFragment(node, opts) and t.assertJSXClosingFragment(node, opts).

Aliases: JSX, Immutable


jsxElement

  1. t.jsxElement(openingElement, closingElement, children, selfClosing);

See also t.isJSXElement(node, opts) and t.assertJSXElement(node, opts).

AST Node JSXElement shape:

  • openingElement: JSXOpeningElement (required)
  • closingElement: JSXClosingElement (default: null)
  • children: Array<JSXText | JSXExpressionContainer | JSXSpreadChild | JSXElement | JSXFragment> (required)
  • selfClosing: boolean (default: null)

Aliases: JSX, Immutable, Expression


jsxEmptyExpression

  1. t.jsxEmptyExpression();

See also t.isJSXEmptyExpression(node, opts) and t.assertJSXEmptyExpression(node, opts).

Aliases: JSX


jsxExpressionContainer

  1. t.jsxExpressionContainer(expression);

See also t.isJSXExpressionContainer(node, opts) and t.assertJSXExpressionContainer(node, opts).

AST Node JSXExpressionContainer shape:

  • expression: Expression | JSXEmptyExpression (required)

Aliases: JSX, Immutable


jsxFragment

  1. t.jsxFragment(openingFragment, closingFragment, children);

See also t.isJSXFragment(node, opts) and t.assertJSXFragment(node, opts).

AST Node JSXFragment shape:

  • openingFragment: JSXOpeningFragment (required)
  • closingFragment: JSXClosingFragment (required)
  • children: Array<JSXText | JSXExpressionContainer | JSXSpreadChild | JSXElement | JSXFragment> (required)

Aliases: JSX, Immutable, Expression


jsxIdentifier

  1. t.jsxIdentifier(name);

See also t.isJSXIdentifier(node, opts) and t.assertJSXIdentifier(node, opts).

AST Node JSXIdentifier shape:

  • name: string (required)

Aliases: JSX


jsxMemberExpression

  1. t.jsxMemberExpression(object, property);

See also t.isJSXMemberExpression(node, opts) and t.assertJSXMemberExpression(node, opts).

AST Node JSXMemberExpression shape:

  • object: JSXMemberExpression | JSXIdentifier (required)
  • property: JSXIdentifier (required)

Aliases: JSX


jsxNamespacedName

  1. t.jsxNamespacedName(namespace, name);

See also t.isJSXNamespacedName(node, opts) and t.assertJSXNamespacedName(node, opts).

AST Node JSXNamespacedName shape:

  • namespace: JSXIdentifier (required)
  • name: JSXIdentifier (required)

Aliases: JSX


jsxOpeningElement

  1. t.jsxOpeningElement(name, attributes, selfClosing);

See also t.isJSXOpeningElement(node, opts) and t.assertJSXOpeningElement(node, opts).

AST Node JSXOpeningElement shape:

  • name: JSXIdentifier | JSXMemberExpression | JSXNamespacedName (required)
  • attributes: Array<JSXAttribute | JSXSpreadAttribute> (required)
  • selfClosing: boolean (default: false)
  • typeParameters: TypeParameterInstantiation | TSTypeParameterInstantiation (default: null, excluded from builder function)

Aliases: JSX, Immutable


jsxOpeningFragment

  1. t.jsxOpeningFragment();

See also t.isJSXOpeningFragment(node, opts) and t.assertJSXOpeningFragment(node, opts).

Aliases: JSX, Immutable


jsxSpreadAttribute

  1. t.jsxSpreadAttribute(argument);

See also t.isJSXSpreadAttribute(node, opts) and t.assertJSXSpreadAttribute(node, opts).

AST Node JSXSpreadAttribute shape:

  • argument: Expression (required)

Aliases: JSX


jsxSpreadChild

  1. t.jsxSpreadChild(expression);

See also t.isJSXSpreadChild(node, opts) and t.assertJSXSpreadChild(node, opts).

AST Node JSXSpreadChild shape:

  • expression: Expression (required)

Aliases: JSX, Immutable


jsxText

  1. t.jsxText(value);

See also t.isJSXText(node, opts) and t.assertJSXText(node, opts).

AST Node JSXText shape:

  • value: string (required)

Aliases: JSX, Immutable


labeledStatement

  1. t.labeledStatement(label, body);

See also t.isLabeledStatement(node, opts) and t.assertLabeledStatement(node, opts).

AST Node LabeledStatement shape:

  • label: Identifier (required)
  • body: Statement (required)

Aliases: Standardized, StandardizedOrProposal, Statement


logicalExpression

  1. t.logicalExpression(operator, left, right);

See also t.isLogicalExpression(node, opts) and t.assertLogicalExpression(node, opts).

AST Node LogicalExpression shape:

  • operator: "||" | "&&" | "??" (required)
  • left: Expression (required)
  • right: Expression (required)

Aliases: Standardized, StandardizedOrProposal, Binary, Expression


memberExpression

  1. t.memberExpression(object, property, computed, optional);

See also t.isMemberExpression(node, opts) and t.assertMemberExpression(node, opts).

AST Node MemberExpression shape:

  • object: Expression (required)
  • property: if computed then Expression else Identifier (required)
  • computed: boolean (default: false)
  • optional: true | false (default: null)

Aliases: Standardized, StandardizedOrProposal, Expression, LVal


metaProperty

  1. t.metaProperty(meta, property);

See also t.isMetaProperty(node, opts) and t.assertMetaProperty(node, opts).

AST Node MetaProperty shape:

  • meta: Identifier (required)
  • property: Identifier (required)

Aliases: Standardized, StandardizedOrProposal, Expression


mixedTypeAnnotation

  1. t.mixedTypeAnnotation();

See also t.isMixedTypeAnnotation(node, opts) and t.assertMixedTypeAnnotation(node, opts).

Aliases: Flow, FlowType, FlowBaseAnnotation


moduleExpression

  1. t.moduleExpression(body);

See also t.isModuleExpression(node, opts) and t.assertModuleExpression(node, opts).

AST Node ModuleExpression shape:

  • body: Program (required)

Aliases: Proposal, StandardizedOrProposal, Expression


newExpression

  1. t.newExpression(callee, arguments);

See also t.isNewExpression(node, opts) and t.assertNewExpression(node, opts).

AST Node NewExpression shape:

  • callee: Expression | V8IntrinsicIdentifier (required)
  • arguments: Array<Expression | SpreadElement | JSXNamespacedName | ArgumentPlaceholder> (required)
  • optional: true | false (default: null, excluded from builder function)
  • typeArguments: TypeParameterInstantiation (default: null, excluded from builder function)
  • typeParameters: TSTypeParameterInstantiation (default: null, excluded from builder function)

Aliases: Standardized, StandardizedOrProposal


noop

  1. t.noop();

See also t.isNoop(node, opts) and t.assertNoop(node, opts).

Aliases: Miscellaneous


nullLiteral

  1. t.nullLiteral();

See also t.isNullLiteral(node, opts) and t.assertNullLiteral(node, opts).

Aliases: Standardized, StandardizedOrProposal, Expression, Pureish, Literal, Immutable


nullLiteralTypeAnnotation

  1. t.nullLiteralTypeAnnotation();

See also t.isNullLiteralTypeAnnotation(node, opts) and t.assertNullLiteralTypeAnnotation(node, opts).

Aliases: Flow, FlowType, FlowBaseAnnotation


nullableTypeAnnotation

  1. t.nullableTypeAnnotation(typeAnnotation);

See also t.isNullableTypeAnnotation(node, opts) and t.assertNullableTypeAnnotation(node, opts).

AST Node NullableTypeAnnotation shape:

  • typeAnnotation: FlowType (required)

Aliases: Flow, FlowType


numberLiteralTypeAnnotation

  1. t.numberLiteralTypeAnnotation(value);

See also t.isNumberLiteralTypeAnnotation(node, opts) and t.assertNumberLiteralTypeAnnotation(node, opts).

AST Node NumberLiteralTypeAnnotation shape:

  • value: number (required)

Aliases: Flow, FlowType


numberTypeAnnotation

  1. t.numberTypeAnnotation();

See also t.isNumberTypeAnnotation(node, opts) and t.assertNumberTypeAnnotation(node, opts).

Aliases: Flow, FlowType, FlowBaseAnnotation


numericLiteral

  1. t.numericLiteral(value);

See also t.isNumericLiteral(node, opts) and t.assertNumericLiteral(node, opts).

AST Node NumericLiteral shape:

  • value: number (required)

Aliases: Standardized, StandardizedOrProposal, Expression, Pureish, Literal, Immutable


objectExpression

  1. t.objectExpression(properties);

See also t.isObjectExpression(node, opts) and t.assertObjectExpression(node, opts).

AST Node ObjectExpression shape:

  • properties: Array<ObjectMethod | ObjectProperty | SpreadElement> (required)

Aliases: Standardized, StandardizedOrProposal, Expression


objectMethod

  1. t.objectMethod(kind, key, params, body, computed, generator, async);

See also t.isObjectMethod(node, opts) and t.assertObjectMethod(node, opts).

AST Node ObjectMethod shape:

  • kind: "method" | "get" | "set" (default: 'method')
  • key: if computed then Expression else Identifier | Literal (required)
  • params: Array<Identifier | Pattern | RestElement> (required)
  • body: BlockStatement (required)
  • computed: boolean (default: false)
  • generator: boolean (default: false)
  • async: boolean (default: false)
  • decorators: Array<Decorator> (default: null, excluded from builder function)
  • returnType: TypeAnnotation | TSTypeAnnotation | Noop (default: null, excluded from builder function)
  • typeParameters: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop (default: null, excluded from builder function)

Aliases: Standardized, StandardizedOrProposal, UserWhitespacable, Function, Scopable, BlockParent, FunctionParent, Method, ObjectMember


objectPattern

  1. t.objectPattern(properties);

See also t.isObjectPattern(node, opts) and t.assertObjectPattern(node, opts).

AST Node ObjectPattern shape:

  • properties: Array<RestElement | ObjectProperty> (required)
  • decorators: Array<Decorator> (default: null, excluded from builder function)
  • typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop (default: null, excluded from builder function)

Aliases: Standardized, StandardizedOrProposal, Pattern, PatternLike, LVal


objectProperty

  1. t.objectProperty(key, value, computed, shorthand, decorators);

See also t.isObjectProperty(node, opts) and t.assertObjectProperty(node, opts).

AST Node ObjectProperty shape:

  • key: if computed then Expression else Identifier | Literal (required)
  • value: Expression | PatternLike (required)
  • computed: boolean (default: false)
  • shorthand: boolean (default: false)
  • decorators: Array<Decorator> (default: null)

Aliases: Standardized, StandardizedOrProposal, UserWhitespacable, Property, ObjectMember


objectTypeAnnotation

  1. t.objectTypeAnnotation(properties, indexers, callProperties, internalSlots, exact);

See also t.isObjectTypeAnnotation(node, opts) and t.assertObjectTypeAnnotation(node, opts).

AST Node ObjectTypeAnnotation shape:

  • properties: Array<ObjectTypeProperty | ObjectTypeSpreadProperty> (required)
  • indexers: Array<ObjectTypeIndexer> (default: null)
  • callProperties: Array<ObjectTypeCallProperty> (default: null)
  • internalSlots: Array<ObjectTypeInternalSlot> (default: null)
  • exact: boolean (default: false)
  • inexact: boolean (default: null, excluded from builder function)

Aliases: Flow, FlowType


objectTypeCallProperty

  1. t.objectTypeCallProperty(value);

See also t.isObjectTypeCallProperty(node, opts) and t.assertObjectTypeCallProperty(node, opts).

AST Node ObjectTypeCallProperty shape:

  • value: FlowType (required)
  • static: boolean (required)

Aliases: Flow, UserWhitespacable


objectTypeIndexer

  1. t.objectTypeIndexer(id, key, value, variance);

See also t.isObjectTypeIndexer(node, opts) and t.assertObjectTypeIndexer(node, opts).

AST Node ObjectTypeIndexer shape:

  • id: Identifier (default: null)
  • key: FlowType (required)
  • value: FlowType (required)
  • variance: Variance (default: null)
  • static: boolean (required)

Aliases: Flow, UserWhitespacable


objectTypeInternalSlot

  1. t.objectTypeInternalSlot(id, value, optional, static, method);

See also t.isObjectTypeInternalSlot(node, opts) and t.assertObjectTypeInternalSlot(node, opts).

AST Node ObjectTypeInternalSlot shape:

  • id: Identifier (required)
  • value: FlowType (required)
  • optional: boolean (required)
  • static: boolean (required)
  • method: boolean (required)

Aliases: Flow, UserWhitespacable


objectTypeProperty

  1. t.objectTypeProperty(key, value, variance);

See also t.isObjectTypeProperty(node, opts) and t.assertObjectTypeProperty(node, opts).

AST Node ObjectTypeProperty shape:

  • key: Identifier | StringLiteral (required)
  • value: FlowType (required)
  • variance: Variance (default: null)
  • kind: "init" | "get" | "set" (required)
  • method: boolean (required)
  • optional: boolean (required)
  • proto: boolean (required)
  • static: boolean (required)

Aliases: Flow, UserWhitespacable


objectTypeSpreadProperty

  1. t.objectTypeSpreadProperty(argument);

See also t.isObjectTypeSpreadProperty(node, opts) and t.assertObjectTypeSpreadProperty(node, opts).

AST Node ObjectTypeSpreadProperty shape:

  • argument: FlowType (required)

Aliases: Flow, UserWhitespacable


opaqueType

  1. t.opaqueType(id, typeParameters, supertype, impltype);

See also t.isOpaqueType(node, opts) and t.assertOpaqueType(node, opts).

AST Node OpaqueType shape:

  • id: Identifier (required)
  • typeParameters: TypeParameterDeclaration (default: null)
  • supertype: FlowType (default: null)
  • impltype: FlowType (required)

Aliases: Flow, FlowDeclaration, Statement, Declaration


optionalCallExpression

  1. t.optionalCallExpression(callee, arguments, optional);

See also t.isOptionalCallExpression(node, opts) and t.assertOptionalCallExpression(node, opts).

AST Node OptionalCallExpression shape:

  • callee: Expression (required)
  • arguments: Array<Expression | SpreadElement | JSXNamespacedName | ArgumentPlaceholder> (required)
  • optional: boolean (required)
  • typeArguments: TypeParameterInstantiation (default: null, excluded from builder function)
  • typeParameters: TSTypeParameterInstantiation (default: null, excluded from builder function)

Aliases: Standardized, StandardizedOrProposal, Expression


optionalIndexedAccessType

  1. t.optionalIndexedAccessType(objectType, indexType);

See also t.isOptionalIndexedAccessType(node, opts) and t.assertOptionalIndexedAccessType(node, opts).

AST Node OptionalIndexedAccessType shape:

  • objectType: FlowType (required)
  • indexType: FlowType (required)
  • optional: boolean (required)

Aliases: Flow, FlowType


optionalIndexedAccessType

  1. t.optionalIndexedAccessType(objectType, indexType);

See also t.isOptionalIndexedAccessType(node, opts) and t.assertOptionalIndexedAccessType(node, opts).

AST Node OptionalIndexedAccessType shape:

  • objectType: FlowType (required)
  • indexType: FlowType (required)
  • optional: boolean (required)

Aliases: Flow, FlowType


optionalMemberExpression

  1. t.optionalMemberExpression(object, property, computed, optional);

See also t.isOptionalMemberExpression(node, opts) and t.assertOptionalMemberExpression(node, opts).

AST Node OptionalMemberExpression shape:

  • object: Expression (required)
  • property: Expression | Identifier (required)
  • computed: boolean (default: false)
  • optional: boolean (required)

Aliases: Standardized, StandardizedOrProposal, Expression


parenthesizedExpression

  1. t.parenthesizedExpression(expression);

See also t.isParenthesizedExpression(node, opts) and t.assertParenthesizedExpression(node, opts).

AST Node ParenthesizedExpression shape:

  • expression: Expression (required)

Aliases: Standardized, StandardizedOrProposal, Expression, ExpressionWrapper


pipelineBareFunction

  1. t.pipelineBareFunction(callee);

See also t.isPipelineBareFunction(node, opts) and t.assertPipelineBareFunction(node, opts).

AST Node PipelineBareFunction shape:

  • callee: Expression (required)

Aliases: Expression, Proposal, StandardizedOrProposal


pipelinePrimaryTopicReference

  1. t.pipelinePrimaryTopicReference();

See also t.isPipelinePrimaryTopicReference(node, opts) and t.assertPipelinePrimaryTopicReference(node, opts).

Aliases: Proposal, StandardizedOrProposal, Expression


pipelineTopicExpression

  1. t.pipelineTopicExpression(expression);

See also t.isPipelineTopicExpression(node, opts) and t.assertPipelineTopicExpression(node, opts).

AST Node PipelineTopicExpression shape:

  • expression: Expression (required)

Aliases: Expression, Proposal, StandardizedOrProposal


placeholder

  1. t.placeholder(expectedNode, name);

See also t.isPlaceholder(node, opts) and t.assertPlaceholder(node, opts).

AST Node Placeholder shape:

  • expectedNode: "Identifier" | "StringLiteral" | "Expression" | "Statement" | "Declaration" | "BlockStatement" | "ClassBody" | "Pattern" (required)
  • name: Identifier (required)

Aliases: Miscellaneous


privateName

  1. t.privateName(id);

See also t.isPrivateName(node, opts) and t.assertPrivateName(node, opts).

AST Node PrivateName shape:

  • id: Identifier (required)

Aliases: Standardized, StandardizedOrProposal, Private


program

  1. t.program(body, directives, sourceType, interpreter);

See also t.isProgram(node, opts) and t.assertProgram(node, opts).

AST Node Program shape:

  • body: Array<Statement> (required)
  • directives: Array<Directive> (default: [])
  • sourceType: "script" | "module" (default: 'script')
  • interpreter: InterpreterDirective (default: null)
  • sourceFile: string (required)

Aliases: Standardized, StandardizedOrProposal, Scopable, BlockParent, Block


qualifiedTypeIdentifier

  1. t.qualifiedTypeIdentifier(id, qualification);

See also t.isQualifiedTypeIdentifier(node, opts) and t.assertQualifiedTypeIdentifier(node, opts).

AST Node QualifiedTypeIdentifier shape:

  • id: Identifier (required)
  • qualification: Identifier | QualifiedTypeIdentifier (required)

Aliases: Flow


recordExpression

  1. t.recordExpression(properties);

See also t.isRecordExpression(node, opts) and t.assertRecordExpression(node, opts).

AST Node RecordExpression shape:

  • properties: Array<ObjectProperty | SpreadElement> (required)

Aliases: Proposal, StandardizedOrProposal, Expression


regExpLiteral

  1. t.regExpLiteral(pattern, flags);

See also t.isRegExpLiteral(node, opts) and t.assertRegExpLiteral(node, opts).

AST Node RegExpLiteral shape:

  • pattern: string (required)
  • flags: string (default: '')

Aliases: Standardized, StandardizedOrProposal, Expression, Pureish, Literal


restElement

  1. t.restElement(argument);

See also t.isRestElement(node, opts) and t.assertRestElement(node, opts).

AST Node RestElement shape:

  • argument: LVal (required)
  • decorators: Array<Decorator> (default: null, excluded from builder function)
  • optional: boolean (default: null, excluded from builder function)
  • typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop (default: null, excluded from builder function)

Aliases: Standardized, StandardizedOrProposal, LVal, PatternLike


returnStatement

  1. t.returnStatement(argument);

See also t.isReturnStatement(node, opts) and t.assertReturnStatement(node, opts).

AST Node ReturnStatement shape:

  • argument: Expression (default: null)

Aliases: Standardized, StandardizedOrProposal, Statement, Terminatorless, CompletionStatement


sequenceExpression

  1. t.sequenceExpression(expressions);

See also t.isSequenceExpression(node, opts) and t.assertSequenceExpression(node, opts).

AST Node SequenceExpression shape:

  • expressions: Array<Expression> (required)

Aliases: Standardized, StandardizedOrProposal, Expression


spreadElement

  1. t.spreadElement(argument);

See also t.isSpreadElement(node, opts) and t.assertSpreadElement(node, opts).

AST Node SpreadElement shape:

  • argument: Expression (required)

Aliases: Standardized, StandardizedOrProposal, UnaryLike


staticBlock

  1. t.staticBlock(body);

See also t.isStaticBlock(node, opts) and t.assertStaticBlock(node, opts).

AST Node StaticBlock shape:

  • body: Array<Statement> (required)

Aliases: Proposal, StandardizedOrProposal, Scopable, BlockParent


stringLiteral

  1. t.stringLiteral(value);

See also t.isStringLiteral(node, opts) and t.assertStringLiteral(node, opts).

AST Node StringLiteral shape:

  • value: string (required)

Aliases: Standardized, StandardizedOrProposal, Expression, Pureish, Literal, Immutable


stringLiteralTypeAnnotation

  1. t.stringLiteralTypeAnnotation(value);

See also t.isStringLiteralTypeAnnotation(node, opts) and t.assertStringLiteralTypeAnnotation(node, opts).

AST Node StringLiteralTypeAnnotation shape:

  • value: string (required)

Aliases: Flow, FlowType


stringTypeAnnotation

  1. t.stringTypeAnnotation();

See also t.isStringTypeAnnotation(node, opts) and t.assertStringTypeAnnotation(node, opts).

Aliases: Flow, FlowType, FlowBaseAnnotation


super

  1. t.super();

See also t.isSuper(node, opts) and t.assertSuper(node, opts).

Aliases: Standardized, StandardizedOrProposal, Expression


switchCase

  1. t.switchCase(test, consequent);

See also t.isSwitchCase(node, opts) and t.assertSwitchCase(node, opts).

AST Node SwitchCase shape:

  • test: Expression (default: null)
  • consequent: Array<Statement> (required)

Aliases: Standardized, StandardizedOrProposal


switchStatement

  1. t.switchStatement(discriminant, cases);

See also t.isSwitchStatement(node, opts) and t.assertSwitchStatement(node, opts).

AST Node SwitchStatement shape:

  • discriminant: Expression (required)
  • cases: Array<SwitchCase> (required)

Aliases: Standardized, StandardizedOrProposal, Statement, BlockParent, Scopable


symbolTypeAnnotation

  1. t.symbolTypeAnnotation();

See also t.isSymbolTypeAnnotation(node, opts) and t.assertSymbolTypeAnnotation(node, opts).

Aliases: Flow, FlowType, FlowBaseAnnotation


tsAnyKeyword

  1. t.tsAnyKeyword();

See also t.isTSAnyKeyword(node, opts) and t.assertTSAnyKeyword(node, opts).

Aliases: TypeScript, TSType, TSBaseType


tsArrayType

  1. t.tsArrayType(elementType);

See also t.isTSArrayType(node, opts) and t.assertTSArrayType(node, opts).

AST Node TSArrayType shape:

  • elementType: TSType (required)

Aliases: TypeScript, TSType


tsAsExpression

  1. t.tsAsExpression(expression, typeAnnotation);

See also t.isTSAsExpression(node, opts) and t.assertTSAsExpression(node, opts).

AST Node TSAsExpression shape:

  • expression: Expression (required)
  • typeAnnotation: TSType (required)

Aliases: TypeScript, Expression


tsBigIntKeyword

  1. t.tsBigIntKeyword();

See also t.isTSBigIntKeyword(node, opts) and t.assertTSBigIntKeyword(node, opts).

Aliases: TypeScript, TSType, TSBaseType


tsBooleanKeyword

  1. t.tsBooleanKeyword();

See also t.isTSBooleanKeyword(node, opts) and t.assertTSBooleanKeyword(node, opts).

Aliases: TypeScript, TSType, TSBaseType


tsCallSignatureDeclaration

  1. t.tsCallSignatureDeclaration(typeParameters, parameters, typeAnnotation);

See also t.isTSCallSignatureDeclaration(node, opts) and t.assertTSCallSignatureDeclaration(node, opts).

AST Node TSCallSignatureDeclaration shape:

  • typeParameters: TSTypeParameterDeclaration (default: null)
  • parameters: Array<Identifier | RestElement> (required)
  • typeAnnotation: TSTypeAnnotation (default: null)

Aliases: TypeScript, TSTypeElement


tsConditionalType

  1. t.tsConditionalType(checkType, extendsType, trueType, falseType);

See also t.isTSConditionalType(node, opts) and t.assertTSConditionalType(node, opts).

AST Node TSConditionalType shape:

  • checkType: TSType (required)
  • extendsType: TSType (required)
  • trueType: TSType (required)
  • falseType: TSType (required)

Aliases: TypeScript, TSType


tsConstructSignatureDeclaration

  1. t.tsConstructSignatureDeclaration(typeParameters, parameters, typeAnnotation);

See also t.isTSConstructSignatureDeclaration(node, opts) and t.assertTSConstructSignatureDeclaration(node, opts).

AST Node TSConstructSignatureDeclaration shape:

  • typeParameters: TSTypeParameterDeclaration (default: null)
  • parameters: Array<Identifier | RestElement> (required)
  • typeAnnotation: TSTypeAnnotation (default: null)

Aliases: TypeScript, TSTypeElement


tsConstructorType

  1. t.tsConstructorType(typeParameters, parameters, typeAnnotation);

See also t.isTSConstructorType(node, opts) and t.assertTSConstructorType(node, opts).

AST Node TSConstructorType shape:

  • typeParameters: TSTypeParameterDeclaration (default: null)
  • parameters: Array<Identifier | RestElement> (required)
  • typeAnnotation: TSTypeAnnotation (default: null)
  • abstract: boolean (default: null, excluded from builder function)

Aliases: TypeScript, TSType


tsDeclareFunction

  1. t.tsDeclareFunction(id, typeParameters, params, returnType);

See also t.isTSDeclareFunction(node, opts) and t.assertTSDeclareFunction(node, opts).

AST Node TSDeclareFunction shape:

  • id: Identifier (default: null)
  • typeParameters: TSTypeParameterDeclaration | Noop (default: null)
  • params: Array<Identifier | Pattern | RestElement> (required)
  • returnType: TSTypeAnnotation | Noop (default: null)
  • async: boolean (default: false, excluded from builder function)
  • declare: boolean (default: null, excluded from builder function)
  • generator: boolean (default: false, excluded from builder function)

Aliases: TypeScript, Statement, Declaration


tsDeclareMethod

  1. t.tsDeclareMethod(decorators, key, typeParameters, params, returnType);

See also t.isTSDeclareMethod(node, opts) and t.assertTSDeclareMethod(node, opts).

AST Node TSDeclareMethod shape:

  • decorators: Array<Decorator> (default: null)
  • key: Identifier | StringLiteral | NumericLiteral | Expression (required)
  • typeParameters: TSTypeParameterDeclaration | Noop (default: null)
  • params: Array<Identifier | Pattern | RestElement | TSParameterProperty> (required)
  • returnType: TSTypeAnnotation | Noop (default: null)
  • abstract: boolean (default: null, excluded from builder function)
  • access: "public" | "private" | "protected" (default: null, excluded from builder function)
  • accessibility: "public" | "private" | "protected" (default: null, excluded from builder function)
  • async: boolean (default: false, excluded from builder function)
  • computed: boolean (default: false, excluded from builder function)
  • generator: boolean (default: false, excluded from builder function)
  • kind: "get" | "set" | "method" | "constructor" (default: 'method', excluded from builder function)
  • optional: boolean (default: null, excluded from builder function)
  • override: boolean (default: false, excluded from builder function)
  • static: boolean (default: false, excluded from builder function)

Aliases: TypeScript


tsEnumDeclaration

  1. t.tsEnumDeclaration(id, members);

See also t.isTSEnumDeclaration(node, opts) and t.assertTSEnumDeclaration(node, opts).

AST Node TSEnumDeclaration shape:

  • id: Identifier (required)
  • members: Array<TSEnumMember> (required)
  • const: boolean (default: null, excluded from builder function)
  • declare: boolean (default: null, excluded from builder function)
  • initializer: Expression (default: null, excluded from builder function)

Aliases: TypeScript, Statement, Declaration


tsEnumMember

  1. t.tsEnumMember(id, initializer);

See also t.isTSEnumMember(node, opts) and t.assertTSEnumMember(node, opts).

AST Node TSEnumMember shape:

  • id: Identifier | StringLiteral (required)
  • initializer: Expression (default: null)

Aliases: TypeScript


tsExportAssignment

  1. t.tsExportAssignment(expression);

See also t.isTSExportAssignment(node, opts) and t.assertTSExportAssignment(node, opts).

AST Node TSExportAssignment shape:

  • expression: Expression (required)

Aliases: TypeScript, Statement


tsExpressionWithTypeArguments

  1. t.tsExpressionWithTypeArguments(expression, typeParameters);

See also t.isTSExpressionWithTypeArguments(node, opts) and t.assertTSExpressionWithTypeArguments(node, opts).

AST Node TSExpressionWithTypeArguments shape:

  • expression: TSEntityName (required)
  • typeParameters: TSTypeParameterInstantiation (default: null)

Aliases: TypeScript, TSType


tsExternalModuleReference

  1. t.tsExternalModuleReference(expression);

See also t.isTSExternalModuleReference(node, opts) and t.assertTSExternalModuleReference(node, opts).

AST Node TSExternalModuleReference shape:

  • expression: StringLiteral (required)

Aliases: TypeScript


tsFunctionType

  1. t.tsFunctionType(typeParameters, parameters, typeAnnotation);

See also t.isTSFunctionType(node, opts) and t.assertTSFunctionType(node, opts).

AST Node TSFunctionType shape:

  • typeParameters: TSTypeParameterDeclaration (default: null)
  • parameters: Array<Identifier | RestElement> (required)
  • typeAnnotation: TSTypeAnnotation (default: null)

Aliases: TypeScript, TSType


tsImportEqualsDeclaration

  1. t.tsImportEqualsDeclaration(id, moduleReference);

See also t.isTSImportEqualsDeclaration(node, opts) and t.assertTSImportEqualsDeclaration(node, opts).

AST Node TSImportEqualsDeclaration shape:

  • id: Identifier (required)
  • moduleReference: TSEntityName | TSExternalModuleReference (required)
  • importKind: "type" | "value" (default: null, excluded from builder function)
  • isExport: boolean (required)

Aliases: TypeScript, Statement


tsImportType

  1. t.tsImportType(argument, qualifier, typeParameters);

See also t.isTSImportType(node, opts) and t.assertTSImportType(node, opts).

AST Node TSImportType shape:

  • argument: StringLiteral (required)
  • qualifier: TSEntityName (default: null)
  • typeParameters: TSTypeParameterInstantiation (default: null)

Aliases: TypeScript, TSType


tsIndexSignature

  1. t.tsIndexSignature(parameters, typeAnnotation);

See also t.isTSIndexSignature(node, opts) and t.assertTSIndexSignature(node, opts).

AST Node TSIndexSignature shape:

  • parameters: Array<Identifier> (required)
  • typeAnnotation: TSTypeAnnotation (default: null)
  • readonly: boolean (default: null, excluded from builder function)
  • static: boolean (default: null, excluded from builder function)

Aliases: TypeScript, TSTypeElement


tsIndexedAccessType

  1. t.tsIndexedAccessType(objectType, indexType);

See also t.isTSIndexedAccessType(node, opts) and t.assertTSIndexedAccessType(node, opts).

AST Node TSIndexedAccessType shape:

  • objectType: TSType (required)
  • indexType: TSType (required)

Aliases: TypeScript, TSType


tsInferType

  1. t.tsInferType(typeParameter);

See also t.isTSInferType(node, opts) and t.assertTSInferType(node, opts).

AST Node TSInferType shape:

  • typeParameter: TSTypeParameter (required)

Aliases: TypeScript, TSType


tsInterfaceBody

  1. t.tsInterfaceBody(body);

See also t.isTSInterfaceBody(node, opts) and t.assertTSInterfaceBody(node, opts).

AST Node TSInterfaceBody shape:

  • body: Array<TSTypeElement> (required)

Aliases: TypeScript


tsInterfaceDeclaration

  1. t.tsInterfaceDeclaration(id, typeParameters, extends, body);

See also t.isTSInterfaceDeclaration(node, opts) and t.assertTSInterfaceDeclaration(node, opts).

AST Node TSInterfaceDeclaration shape:

  • id: Identifier (required)
  • typeParameters: TSTypeParameterDeclaration (default: null)
  • extends: Array<TSExpressionWithTypeArguments> (default: null)
  • body: TSInterfaceBody (required)
  • declare: boolean (default: null, excluded from builder function)

Aliases: TypeScript, Statement, Declaration


tsIntersectionType

  1. t.tsIntersectionType(types);

See also t.isTSIntersectionType(node, opts) and t.assertTSIntersectionType(node, opts).

AST Node TSIntersectionType shape:

  • types: Array<TSType> (required)

Aliases: TypeScript, TSType


tsIntrinsicKeyword

  1. t.tsIntrinsicKeyword();

See also t.isTSIntrinsicKeyword(node, opts) and t.assertTSIntrinsicKeyword(node, opts).

Aliases: TypeScript, TSType, TSBaseType


tsLiteralType

  1. t.tsLiteralType(literal);

See also t.isTSLiteralType(node, opts) and t.assertTSLiteralType(node, opts).

AST Node TSLiteralType shape:

  • literal: NumericLiteral | StringLiteral | BooleanLiteral | BigIntLiteral | UnaryExpression (required)

Aliases: TypeScript, TSType, TSBaseType


tsMappedType

  1. t.tsMappedType(typeParameter, typeAnnotation, nameType);

See also t.isTSMappedType(node, opts) and t.assertTSMappedType(node, opts).

AST Node TSMappedType shape:

  • typeParameter: TSTypeParameter (required)
  • typeAnnotation: TSType (default: null)
  • nameType: TSType (default: null)
  • optional: boolean (default: null, excluded from builder function)
  • readonly: boolean (default: null, excluded from builder function)

Aliases: TypeScript, TSType


tsMethodSignature

  1. t.tsMethodSignature(key, typeParameters, parameters, typeAnnotation);

See also t.isTSMethodSignature(node, opts) and t.assertTSMethodSignature(node, opts).

AST Node TSMethodSignature shape:

  • key: Expression (required)
  • typeParameters: TSTypeParameterDeclaration (default: null)
  • parameters: Array<Identifier | RestElement> (required)
  • typeAnnotation: TSTypeAnnotation (default: null)
  • computed: boolean (default: null, excluded from builder function)
  • kind: "method" | "get" | "set" (required)
  • optional: boolean (default: null, excluded from builder function)

Aliases: TypeScript, TSTypeElement


tsModuleBlock

  1. t.tsModuleBlock(body);

See also t.isTSModuleBlock(node, opts) and t.assertTSModuleBlock(node, opts).

AST Node TSModuleBlock shape:

  • body: Array<Statement> (required)

Aliases: TypeScript, Scopable, Block, BlockParent


tsModuleDeclaration

  1. t.tsModuleDeclaration(id, body);

See also t.isTSModuleDeclaration(node, opts) and t.assertTSModuleDeclaration(node, opts).

AST Node TSModuleDeclaration shape:

  • id: Identifier | StringLiteral (required)
  • body: TSModuleBlock | TSModuleDeclaration (required)
  • declare: boolean (default: null, excluded from builder function)
  • global: boolean (default: null, excluded from builder function)

Aliases: TypeScript, Statement, Declaration


tsNamedTupleMember

  1. t.tsNamedTupleMember(label, elementType, optional);

See also t.isTSNamedTupleMember(node, opts) and t.assertTSNamedTupleMember(node, opts).

AST Node TSNamedTupleMember shape:

  • label: Identifier (required)
  • elementType: TSType (required)
  • optional: boolean (default: false)

Aliases: TypeScript


tsNamespaceExportDeclaration

  1. t.tsNamespaceExportDeclaration(id);

See also t.isTSNamespaceExportDeclaration(node, opts) and t.assertTSNamespaceExportDeclaration(node, opts).

AST Node TSNamespaceExportDeclaration shape:

  • id: Identifier (required)

Aliases: TypeScript, Statement


tsNeverKeyword

  1. t.tsNeverKeyword();

See also t.isTSNeverKeyword(node, opts) and t.assertTSNeverKeyword(node, opts).

Aliases: TypeScript, TSType, TSBaseType


tsNonNullExpression

  1. t.tsNonNullExpression(expression);

See also t.isTSNonNullExpression(node, opts) and t.assertTSNonNullExpression(node, opts).

AST Node TSNonNullExpression shape:

  • expression: Expression (required)

Aliases: TypeScript, Expression


tsNullKeyword

  1. t.tsNullKeyword();

See also t.isTSNullKeyword(node, opts) and t.assertTSNullKeyword(node, opts).

Aliases: TypeScript, TSType, TSBaseType


tsNumberKeyword

  1. t.tsNumberKeyword();

See also t.isTSNumberKeyword(node, opts) and t.assertTSNumberKeyword(node, opts).

Aliases: TypeScript, TSType, TSBaseType


tsObjectKeyword

  1. t.tsObjectKeyword();

See also t.isTSObjectKeyword(node, opts) and t.assertTSObjectKeyword(node, opts).

Aliases: TypeScript, TSType, TSBaseType


tsOptionalType

  1. t.tsOptionalType(typeAnnotation);

See also t.isTSOptionalType(node, opts) and t.assertTSOptionalType(node, opts).

AST Node TSOptionalType shape:

  • typeAnnotation: TSType (required)

Aliases: TypeScript, TSType


tsParameterProperty

  1. t.tsParameterProperty(parameter);

See also t.isTSParameterProperty(node, opts) and t.assertTSParameterProperty(node, opts).

AST Node TSParameterProperty shape:

  • parameter: Identifier | AssignmentPattern (required)
  • accessibility: "public" | "private" | "protected" (default: null, excluded from builder function)
  • decorators: Array<Decorator> (default: null, excluded from builder function)
  • override: boolean (default: null, excluded from builder function)
  • readonly: boolean (default: null, excluded from builder function)

Aliases: TypeScript, LVal


tsParenthesizedType

  1. t.tsParenthesizedType(typeAnnotation);

See also t.isTSParenthesizedType(node, opts) and t.assertTSParenthesizedType(node, opts).

AST Node TSParenthesizedType shape:

  • typeAnnotation: TSType (required)

Aliases: TypeScript, TSType


tsPropertySignature

  1. t.tsPropertySignature(key, typeAnnotation, initializer);

See also t.isTSPropertySignature(node, opts) and t.assertTSPropertySignature(node, opts).

AST Node TSPropertySignature shape:

  • key: Expression (required)
  • typeAnnotation: TSTypeAnnotation (default: null)
  • initializer: Expression (default: null)
  • computed: boolean (default: null, excluded from builder function)
  • kind: "get" | "set" (required)
  • optional: boolean (default: null, excluded from builder function)
  • readonly: boolean (default: null, excluded from builder function)

Aliases: TypeScript, TSTypeElement


tsQualifiedName

  1. t.tsQualifiedName(left, right);

See also t.isTSQualifiedName(node, opts) and t.assertTSQualifiedName(node, opts).

AST Node TSQualifiedName shape:

  • left: TSEntityName (required)
  • right: Identifier (required)

Aliases: TypeScript, TSEntityName


tsRestType

  1. t.tsRestType(typeAnnotation);

See also t.isTSRestType(node, opts) and t.assertTSRestType(node, opts).

AST Node TSRestType shape:

  • typeAnnotation: TSType (required)

Aliases: TypeScript, TSType


tsStringKeyword

  1. t.tsStringKeyword();

See also t.isTSStringKeyword(node, opts) and t.assertTSStringKeyword(node, opts).

Aliases: TypeScript, TSType, TSBaseType


tsSymbolKeyword

  1. t.tsSymbolKeyword();

See also t.isTSSymbolKeyword(node, opts) and t.assertTSSymbolKeyword(node, opts).

Aliases: TypeScript, TSType, TSBaseType


tsThisType

  1. t.tsThisType();

See also t.isTSThisType(node, opts) and t.assertTSThisType(node, opts).

Aliases: TypeScript, TSType, TSBaseType


tsTupleType

  1. t.tsTupleType(elementTypes);

See also t.isTSTupleType(node, opts) and t.assertTSTupleType(node, opts).

AST Node TSTupleType shape:

  • elementTypes: Array<TSType | TSNamedTupleMember> (required)

Aliases: TypeScript, TSType


tsTypeAliasDeclaration

  1. t.tsTypeAliasDeclaration(id, typeParameters, typeAnnotation);

See also t.isTSTypeAliasDeclaration(node, opts) and t.assertTSTypeAliasDeclaration(node, opts).

AST Node TSTypeAliasDeclaration shape:

  • id: Identifier (required)
  • typeParameters: TSTypeParameterDeclaration (default: null)
  • typeAnnotation: TSType (required)
  • declare: boolean (default: null, excluded from builder function)

Aliases: TypeScript, Statement, Declaration


tsTypeAnnotation

  1. t.tsTypeAnnotation(typeAnnotation);

See also t.isTSTypeAnnotation(node, opts) and t.assertTSTypeAnnotation(node, opts).

AST Node TSTypeAnnotation shape:

  • typeAnnotation: TSType (required)

Aliases: TypeScript


tsTypeAssertion

  1. t.tsTypeAssertion(typeAnnotation, expression);

See also t.isTSTypeAssertion(node, opts) and t.assertTSTypeAssertion(node, opts).

AST Node TSTypeAssertion shape:

  • typeAnnotation: TSType (required)
  • expression: Expression (required)

Aliases: TypeScript, Expression


tsTypeLiteral

  1. t.tsTypeLiteral(members);

See also t.isTSTypeLiteral(node, opts) and t.assertTSTypeLiteral(node, opts).

AST Node TSTypeLiteral shape:

  • members: Array<TSTypeElement> (required)

Aliases: TypeScript, TSType


tsTypeOperator

  1. t.tsTypeOperator(typeAnnotation);

See also t.isTSTypeOperator(node, opts) and t.assertTSTypeOperator(node, opts).

AST Node TSTypeOperator shape:

  • typeAnnotation: TSType (required)
  • operator: string (required)

Aliases: TypeScript, TSType


tsTypeParameter

  1. t.tsTypeParameter(constraint, default, name);

See also t.isTSTypeParameter(node, opts) and t.assertTSTypeParameter(node, opts).

AST Node TSTypeParameter shape:

  • constraint: TSType (default: null)
  • default: TSType (default: null)
  • name: string (required)

Aliases: TypeScript


tsTypeParameterDeclaration

  1. t.tsTypeParameterDeclaration(params);

See also t.isTSTypeParameterDeclaration(node, opts) and t.assertTSTypeParameterDeclaration(node, opts).

AST Node TSTypeParameterDeclaration shape:

  • params: Array<TSTypeParameter> (required)

Aliases: TypeScript


tsTypeParameterInstantiation

  1. t.tsTypeParameterInstantiation(params);

See also t.isTSTypeParameterInstantiation(node, opts) and t.assertTSTypeParameterInstantiation(node, opts).

AST Node TSTypeParameterInstantiation shape:

  • params: Array<TSType> (required)

Aliases: TypeScript


tsTypePredicate

  1. t.tsTypePredicate(parameterName, typeAnnotation, asserts);

See also t.isTSTypePredicate(node, opts) and t.assertTSTypePredicate(node, opts).

AST Node TSTypePredicate shape:

  • parameterName: Identifier | TSThisType (required)
  • typeAnnotation: TSTypeAnnotation (default: null)
  • asserts: boolean (default: null)

Aliases: TypeScript, TSType


tsTypeQuery

  1. t.tsTypeQuery(exprName);

See also t.isTSTypeQuery(node, opts) and t.assertTSTypeQuery(node, opts).

AST Node TSTypeQuery shape:

  • exprName: TSEntityName | TSImportType (required)

Aliases: TypeScript, TSType


tsTypeReference

  1. t.tsTypeReference(typeName, typeParameters);

See also t.isTSTypeReference(node, opts) and t.assertTSTypeReference(node, opts).

AST Node TSTypeReference shape:

  • typeName: TSEntityName (required)
  • typeParameters: TSTypeParameterInstantiation (default: null)

Aliases: TypeScript, TSType


tsUndefinedKeyword

  1. t.tsUndefinedKeyword();

See also t.isTSUndefinedKeyword(node, opts) and t.assertTSUndefinedKeyword(node, opts).

Aliases: TypeScript, TSType, TSBaseType


tsUnionType

  1. t.tsUnionType(types);

See also t.isTSUnionType(node, opts) and t.assertTSUnionType(node, opts).

AST Node TSUnionType shape:

  • types: Array<TSType> (required)

Aliases: TypeScript, TSType


tsUnknownKeyword

  1. t.tsUnknownKeyword();

See also t.isTSUnknownKeyword(node, opts) and t.assertTSUnknownKeyword(node, opts).

Aliases: TypeScript, TSType, TSBaseType


tsVoidKeyword

  1. t.tsVoidKeyword();

See also t.isTSVoidKeyword(node, opts) and t.assertTSVoidKeyword(node, opts).

Aliases: TypeScript, TSType, TSBaseType


taggedTemplateExpression

  1. t.taggedTemplateExpression(tag, quasi);

See also t.isTaggedTemplateExpression(node, opts) and t.assertTaggedTemplateExpression(node, opts).

AST Node TaggedTemplateExpression shape:

  • tag: Expression (required)
  • quasi: TemplateLiteral (required)
  • typeParameters: TypeParameterInstantiation | TSTypeParameterInstantiation (default: null, excluded from builder function)

Aliases: Standardized, StandardizedOrProposal, Expression


templateElement

  1. t.templateElement(value, tail);

See also t.isTemplateElement(node, opts) and t.assertTemplateElement(node, opts).

AST Node TemplateElement shape:

  • value: { raw: string, cooked?: string } (required)
  • tail: boolean (default: false)

Aliases: Standardized, StandardizedOrProposal


templateLiteral

  1. t.templateLiteral(quasis, expressions);

See also t.isTemplateLiteral(node, opts) and t.assertTemplateLiteral(node, opts).

AST Node TemplateLiteral shape:

  • quasis: Array<TemplateElement> (required)
  • expressions: Array<Expression | TSType> (required)

Aliases: Standardized, StandardizedOrProposal, Expression, Literal


thisExpression

  1. t.thisExpression();

See also t.isThisExpression(node, opts) and t.assertThisExpression(node, opts).

Aliases: Standardized, StandardizedOrProposal, Expression


thisTypeAnnotation

  1. t.thisTypeAnnotation();

See also t.isThisTypeAnnotation(node, opts) and t.assertThisTypeAnnotation(node, opts).

Aliases: Flow, FlowType, FlowBaseAnnotation


throwStatement

  1. t.throwStatement(argument);

See also t.isThrowStatement(node, opts) and t.assertThrowStatement(node, opts).

AST Node ThrowStatement shape:

  • argument: Expression (required)

Aliases: Standardized, StandardizedOrProposal, Statement, Terminatorless, CompletionStatement


topicReference

  1. t.topicReference();

See also t.isTopicReference(node, opts) and t.assertTopicReference(node, opts).

Aliases: Expression


tryStatement

  1. t.tryStatement(block, handler, finalizer);

See also t.isTryStatement(node, opts) and t.assertTryStatement(node, opts).

AST Node TryStatement shape:

  • block: BlockStatement (required)
  • handler: CatchClause (default: null)
  • finalizer: BlockStatement (default: null)

Aliases: Standardized, StandardizedOrProposal, Statement


tupleExpression

  1. t.tupleExpression(elements);

See also t.isTupleExpression(node, opts) and t.assertTupleExpression(node, opts).

AST Node TupleExpression shape:

  • elements: Array<Expression | SpreadElement> (default: [])

Aliases: Proposal, StandardizedOrProposal, Expression


tupleTypeAnnotation

  1. t.tupleTypeAnnotation(types);

See also t.isTupleTypeAnnotation(node, opts) and t.assertTupleTypeAnnotation(node, opts).

AST Node TupleTypeAnnotation shape:

  • types: Array<FlowType> (required)

Aliases: Flow, FlowType


typeAlias

  1. t.typeAlias(id, typeParameters, right);

See also t.isTypeAlias(node, opts) and t.assertTypeAlias(node, opts).

AST Node TypeAlias shape:

  • id: Identifier (required)
  • typeParameters: TypeParameterDeclaration (default: null)
  • right: FlowType (required)

Aliases: Flow, FlowDeclaration, Statement, Declaration


typeAnnotation

  1. t.typeAnnotation(typeAnnotation);

See also t.isTypeAnnotation(node, opts) and t.assertTypeAnnotation(node, opts).

AST Node TypeAnnotation shape:

  • typeAnnotation: FlowType (required)

Aliases: Flow


typeCastExpression

  1. t.typeCastExpression(expression, typeAnnotation);

See also t.isTypeCastExpression(node, opts) and t.assertTypeCastExpression(node, opts).

AST Node TypeCastExpression shape:

  • expression: Expression (required)
  • typeAnnotation: TypeAnnotation (required)

Aliases: Flow, ExpressionWrapper, Expression


typeParameter

  1. t.typeParameter(bound, default, variance);

See also t.isTypeParameter(node, opts) and t.assertTypeParameter(node, opts).

AST Node TypeParameter shape:

  • bound: TypeAnnotation (default: null)
  • default: FlowType (default: null)
  • variance: Variance (default: null)
  • name: string (required)

Aliases: Flow


typeParameterDeclaration

  1. t.typeParameterDeclaration(params);

See also t.isTypeParameterDeclaration(node, opts) and t.assertTypeParameterDeclaration(node, opts).

AST Node TypeParameterDeclaration shape:

  • params: Array<TypeParameter> (required)

Aliases: Flow


typeParameterInstantiation

  1. t.typeParameterInstantiation(params);

See also t.isTypeParameterInstantiation(node, opts) and t.assertTypeParameterInstantiation(node, opts).

AST Node TypeParameterInstantiation shape:

  • params: Array<FlowType> (required)

Aliases: Flow


typeofTypeAnnotation

  1. t.typeofTypeAnnotation(argument);

See also t.isTypeofTypeAnnotation(node, opts) and t.assertTypeofTypeAnnotation(node, opts).

AST Node TypeofTypeAnnotation shape:

  • argument: FlowType (required)

Aliases: Flow, FlowType


unaryExpression

  1. t.unaryExpression(operator, argument, prefix);

See also t.isUnaryExpression(node, opts) and t.assertUnaryExpression(node, opts).

AST Node UnaryExpression shape:

  • operator: "void" | "throw" | "delete" | "!" | "+" | "-" | "~" | "typeof" (required)
  • argument: Expression (required)
  • prefix: boolean (default: true)

Aliases: Standardized, StandardizedOrProposal, UnaryLike, Expression


unionTypeAnnotation

  1. t.unionTypeAnnotation(types);

See also t.isUnionTypeAnnotation(node, opts) and t.assertUnionTypeAnnotation(node, opts).

AST Node UnionTypeAnnotation shape:

  • types: Array<FlowType> (required)

Aliases: Flow, FlowType


updateExpression

  1. t.updateExpression(operator, argument, prefix);

See also t.isUpdateExpression(node, opts) and t.assertUpdateExpression(node, opts).

AST Node UpdateExpression shape:

  • operator: "++" | "--" (required)
  • argument: Expression (required)
  • prefix: boolean (default: false)

Aliases: Standardized, StandardizedOrProposal, Expression


v8IntrinsicIdentifier

  1. t.v8IntrinsicIdentifier(name);

See also t.isV8IntrinsicIdentifier(node, opts) and t.assertV8IntrinsicIdentifier(node, opts).

AST Node V8IntrinsicIdentifier shape:

  • name: string (required)

Aliases: Miscellaneous


variableDeclaration

  1. t.variableDeclaration(kind, declarations);

See also t.isVariableDeclaration(node, opts) and t.assertVariableDeclaration(node, opts).

AST Node VariableDeclaration shape:

  • kind: "var" | "let" | "const" (required)
  • declarations: Array<VariableDeclarator> (required)
  • declare: boolean (default: null, excluded from builder function)

Aliases: Standardized, StandardizedOrProposal, Statement, Declaration


variableDeclarator

  1. t.variableDeclarator(id, init);

See also t.isVariableDeclarator(node, opts) and t.assertVariableDeclarator(node, opts).

AST Node VariableDeclarator shape:

  • id: LVal (required)
  • init: Expression (default: null)
  • definite: boolean (default: null, excluded from builder function)

Aliases: Standardized, StandardizedOrProposal


variance

  1. t.variance(kind);

See also t.isVariance(node, opts) and t.assertVariance(node, opts).

AST Node Variance shape:

  • kind: "minus" | "plus" (required)

Aliases: Flow


voidTypeAnnotation

  1. t.voidTypeAnnotation();

See also t.isVoidTypeAnnotation(node, opts) and t.assertVoidTypeAnnotation(node, opts).

Aliases: Flow, FlowType, FlowBaseAnnotation


whileStatement

  1. t.whileStatement(test, body);

See also t.isWhileStatement(node, opts) and t.assertWhileStatement(node, opts).

AST Node WhileStatement shape:

  • test: Expression (required)
  • body: Statement (required)

Aliases: Standardized, StandardizedOrProposal, Statement, BlockParent, Loop, While, Scopable


withStatement

  1. t.withStatement(object, body);

See also t.isWithStatement(node, opts) and t.assertWithStatement(node, opts).

AST Node WithStatement shape:

  • object: Expression (required)
  • body: Statement (required)

Aliases: Standardized, StandardizedOrProposal, Statement


yieldExpression

  1. t.yieldExpression(argument, delegate);

See also t.isYieldExpression(node, opts) and t.assertYieldExpression(node, opts).

AST Node YieldExpression shape:

  • argument: Expression (default: null)
  • delegate: boolean (default: false)

Aliases: Standardized, StandardizedOrProposal, Expression, Terminatorless


Aliases

Binary

A cover of BinaryExpression and LogicalExpression, which share the same AST shape.

  1. t.isBinary(node);

Covered nodes:

Block

Deprecated. Will be removed in Babel 8.

  1. t.isBlock(node);

Covered nodes:

BlockParent

A cover of AST nodes that start an execution context with new LexicalEnvironment. In other words, they define the scope of let and const declarations.

  1. t.isBlockParent(node);

Covered nodes:

Class

A cover of ClassExpression and ClassDeclaration, which share the same AST shape.

  1. t.isClass(node);

Covered nodes:

CompletionStatement

A statement that indicates the completion records. In other words, they define the control flow of the program, such as when should a loop break or an action throws critical errors.

  1. t.isCompletionStatement(node);

Covered nodes:

Conditional

A cover of ConditionalExpression and IfStatement, which share the same AST shape.

  1. t.isConditional(node);

Covered nodes:

Declaration

A cover of any Declarations.

  1. t.isDeclaration(node);

Covered nodes:

EnumBody

A cover of Flow enum bodies.

  1. t.isEnumBody(node);

Covered nodes:

EnumMember

A cover of Flow enum membors.

  1. t.isEnumMember(node);

Covered nodes:

ExportDeclaration

A cover of any ExportDeclarations.

  1. t.isExportDeclaration(node);

Covered nodes:

Expression

A cover of any Expressions.

  1. t.isExpression(node);

Covered nodes:

ExpressionWrapper

A wrapper of expression that does not have runtime semantics.

  1. t.isExpressionWrapper(node);

Covered nodes:

Flow

A cover of AST nodes defined for Flow.

  1. t.isFlow(node);

Covered nodes:

FlowBaseAnnotation

A cover of primary Flow type annotations.

  1. t.isFlowBaseAnnotation(node);

Covered nodes:

FlowDeclaration

A cover of Flow declarations.

  1. t.isFlowDeclaration(node);

Covered nodes:

FlowPredicate

A cover of Flow predicates.

  1. t.isFlowPredicate(node);

Covered nodes:

FlowType

A cover of Flow type annotations.

  1. t.isFlowType(node);

Covered nodes:

For

A cover of ForStatements and ForXStatements.

  1. t.isFor(node);

Covered nodes:

ForXStatement

A cover of ForInStatements and ForOfStatements.

  1. t.isForXStatement(node);

Covered nodes:

Function

A cover of functions and methods, the must have body and params. Note: Function is different to FunctionParent.

  1. t.isFunction(node);

Covered nodes:

FunctionParent

A cover of AST nodes that start an execution context with new VariableEnvironment. In other words, they define the scope of var declarations. FunctionParent did not include Program since Babel 7.

  1. t.isFunctionParent(node);

Covered nodes:

Immutable

A cover of immutable objects and JSX elements. An object is immutable if no other properties can be defined once created.

  1. t.isImmutable(node);

Covered nodes:

JSX

A cover of AST nodes defined for JSX.

  1. t.isJSX(node);

Covered nodes:

LVal

A cover of left hand side expressions used in the left of assignment expressions and ForXStatements.

  1. t.isLVal(node);

Covered nodes:

Literal

A cover of Literals, Regular Expression Literals and Template Literals.

  1. t.isLiteral(node);

Covered nodes:

Loop

A cover of loop statements.

  1. t.isLoop(node);

Covered nodes:

Method

A cover of object methods and class methods.

  1. t.isMethod(node);

Covered nodes:

Miscellaneous

A cover of non-standard AST types that are sometimes useful for development.

  1. t.isMiscellaneous(node);

Covered nodes:

ModuleDeclaration

A cover of ImportDeclaration and ExportDeclaration

  1. t.isModuleDeclaration(node);

Covered nodes:

ModuleSpecifier

A cover of import and export specifiers. Note: It is not the ModuleSpecifier defined in the spec.

  1. t.isModuleSpecifier(node);

Covered nodes:

ObjectMember

A cover of members in an object literal.

  1. t.isObjectMember(node);

Covered nodes:

Pattern

A cover of BindingPattern except Identifiers.

  1. t.isPattern(node);

Covered nodes:

PatternLike

A cover of BindingPatterns.

  1. t.isPatternLike(node);

Covered nodes:

Private

A cover of private class elements and private identifiers.

  1. t.isPrivate(node);

Covered nodes:

Property

A cover of object properties and class properties.

  1. t.isProperty(node);

Covered nodes:

Proposal

A cover of AST nodes which are proprosed for inclusion in ECMAScript.

  1. t.isProposal(node);

Covered nodes:

Pureish

A cover of AST nodes which do not have side-effects. In other words, there is no observable behaviour changes if they are evaluated more than once.

  1. t.isPureish(node);

Covered nodes:

Scopable

A cover of FunctionParent and BlockParent.

  1. t.isScopable(node);

Covered nodes:

Standardized

A cover of AST nodes which are part of an official ECMAScript specification.

  1. t.isStandardized(node);

Covered nodes:

StandardizedOrProposal

A cover of AST nodes which are part of an official ECMAScript specification or a proposed for inclusion.

  1. t.isStandardizedOrProposal(node);

Covered nodes:

Statement

A cover of any Statements.

  1. t.isStatement(node);

Covered nodes:

TSBaseType

A cover of primary TypeScript type annotations.

  1. t.isTSBaseType(node);

Covered nodes:

TSEntityName

A cover of ts entities.

  1. t.isTSEntityName(node);

Covered nodes:

TSType

A cover of TypeScript type annotations.

  1. t.isTSType(node);

Covered nodes:

TSTypeElement

A cover of TypeScript type declarations.

  1. t.isTSTypeElement(node);

Covered nodes:

Terminatorless

A cover of AST nodes whose semantic will change when a line terminator is inserted between the operator and the operand.

  1. t.isTerminatorless(node);

Covered nodes:

TypeScript

A cover of AST nodes defined for TypeScript.

  1. t.isTypeScript(node);

Covered nodes:

UnaryLike

A cover of UnaryExpression and SpreadElement.

  1. t.isUnaryLike(node);

Covered nodes:

UserWhitespacable

Deprecated. Will be removed in Babel 8.

  1. t.isUserWhitespacable(node);

Covered nodes:

While

A cover of DoWhileStatement and WhileStatement, which share the same AST shape.

  1. t.isWhile(node);

Covered nodes: