2015-11-10 10:34:36 +00:00

30 KiB

babel-types

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

API

t.anyTypeAnnotation()

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

aliases Flow, FlowBaseAnnotation

t.arrayExpression(elements)

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

aliases Expression

  • elements: array (required)

t.arrayPattern(elements, typeAnnotation)

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

aliases Pattern, LVal

  • elements: Array<Expression> (required)
  • typeAnnotation (required)

t.arrayTypeAnnotation(elementType)

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

aliases Flow

  • elementType (required)

t.arrowFunctionExpression(params, body, async)

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

aliases Scopable, Function, BlockParent, FunctionParent, Expression, Pureish

  • params: Array<LVal> (required)
  • body: BlockStatement | Expression (required)
  • async: boolean (default: false)

t.assignmentExpression(operator, left, right)

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

aliases Expression

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

t.assignmentPattern(left, right)

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

aliases Pattern, LVal

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

t.awaitExpression(argument)

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

aliases Expression, Terminatorless

  • argument: Expression (required)

t.binaryExpression(operator, left, right)

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

aliases Binary, Expression

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

t.bindExpression(object, callee)

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

  • object (required)
  • callee (required)

t.blockStatement(body, directives)

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

aliases Scopable, BlockParent, Block, Statement

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

t.booleanLiteral(value)

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

aliases Expression, Pureish, Literal, Immutable

  • value: boolean (required)

t.booleanLiteralTypeAnnotation()

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

aliases Flow

t.booleanTypeAnnotation()

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

aliases Flow, FlowBaseAnnotation

t.breakStatement(label)

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

aliases Statement, Terminatorless, CompletionStatement

  • label: Identifier (default: null)

t.callExpression(callee, arguments)

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

aliases Expression

  • callee: Expression (required)
  • arguments: array (required)

t.catchClause(param, body)

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

aliases Scopable

  • param: Identifier (required)
  • body: BlockStatement (required)

t.classBody(body)

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

  • body: Array<ClassMethod> (required)

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

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

aliases Scopable, Class, Statement, Declaration, Pureish

  • id: Identifier (required)
  • superClass: Expression (default: null)
  • body: ClassBody (required)
  • decorators: Array<Decorator> (required)

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

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

aliases Scopable, Class, Expression, Pureish

  • id: Identifier (default: null)
  • superClass: Expression (default: null)
  • body: ClassBody (required)
  • decorators: Array<Decorator> (required)

t.classImplements(id, typeParameters)

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

aliases Flow

  • id (required)
  • typeParameters (required)

t.classMethod(kind, key, params, body, computed, static)

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

aliases Function, Scopable, BlockParent, FunctionParent, Method

  • kind: "get" | "set" | "method" | "constructor" (default: 'method')
  • keyif computed then Expression else Identifier | Literal (required)
  • params: Array<LVal> (required)
  • body: BlockStatement (required)
  • computed: boolean (default: false)
  • static: boolean (default: false)

t.classProperty(key, value, typeAnnotation, decorators)

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

aliases Flow, Property

  • key (required)
  • value (required)
  • typeAnnotation (required)
  • decorators (required)

t.conditionalExpression(test, consequent, alternate)

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

aliases Expression, Conditional

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

t.continueStatement(label)

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

aliases Statement, Terminatorless, CompletionStatement

  • label: Identifier (default: null)

t.debuggerStatement()

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

aliases Statement

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

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

aliases Flow, FlowDeclaration, Statement, Declaration

  • id (required)
  • typeParameters (required)
  • extends (required)
  • body (required)

t.declareFunction(id)

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

aliases Flow, FlowDeclaration, Statement, Declaration

  • id (required)

t.declareModule(id, body)

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

aliases Flow, FlowDeclaration, Statement, Declaration

  • id (required)
  • body (required)

t.declareVariable(id)

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

aliases Flow, FlowDeclaration, Statement, Declaration

  • id (required)

t.decorator(expression)

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

  • expression: Expression (required)

t.directive(value)

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

  • value: DirectiveLiteral (required)

t.directiveLiteral(value)

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

  • value: string (required)

t.doExpression(body)

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

aliases Expression

  • body: BlockStatement (required)

t.doWhileStatement(test, body)

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

aliases Statement, BlockParent, Loop, While, Scopable

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

t.emptyStatement()

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

aliases Statement

t.existentialTypeParam()

See also t.isExistentialTypeParam(node, opts) and t.assertExistentialTypeParam(node, opts).

aliases Flow

t.exportAllDeclaration(source)

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

aliases Statement, Declaration, ModuleDeclaration, ExportDeclaration

  • source (required)

t.exportDefaultDeclaration(declaration)

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

aliases Statement, Declaration, ModuleDeclaration, ExportDeclaration

  • declaration (required)

t.exportDefaultSpecifier(exported)

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

aliases ModuleSpecifier

  • exported: Identifier (required)

t.exportNamedDeclaration(declaration, specifiers, source)

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

aliases Statement, Declaration, ModuleDeclaration, ExportDeclaration

  • declaration (required)
  • specifiers (required)
  • source (required)

t.exportNamespaceSpecifier(exported)

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

aliases ModuleSpecifier

  • exported: Identifier (required)

t.exportSpecifier(local, exported)

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

aliases ModuleSpecifier

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

t.expressionStatement(expression)

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

aliases Statement, ExpressionWrapper

  • expression: Expression (required)

t.file(program, comments, tokens)

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

  • program: Program (required)
  • comments (required)
  • tokens (required)

t.forInStatement(left, right, body)

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

aliases Scopable, Statement, For, BlockParent, Loop, ForXStatement

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

t.forOfStatement(left, right, body)

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

aliases Scopable, Statement, For, BlockParent, Loop, ForXStatement

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

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

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

aliases Scopable, Statement, For, BlockParent, Loop

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

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

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

aliases Scopable, Function, BlockParent, FunctionParent, Statement, Pureish, Declaration

  • id: Identifier (required)
  • params: Array<LVal> (required)
  • body: BlockStatement (required)
  • generator: boolean (default: false)
  • async: boolean (default: false)

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

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

aliases Scopable, Function, BlockParent, FunctionParent, Expression, Pureish

  • id: Identifier (default: null)
  • params: Array<LVal> (required)
  • body: BlockStatement (required)
  • generator: boolean (default: false)
  • async: boolean (default: false)

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

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

aliases Flow

  • typeParameters (required)
  • params (required)
  • rest (required)
  • returnType (required)

t.functionTypeParam(name, typeAnnotation)

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

aliases Flow

  • name (required)
  • typeAnnotation (required)

t.genericTypeAnnotation(id, typeParameters)

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

aliases Flow

  • id (required)
  • typeParameters (required)

t.identifier(name)

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

aliases Expression, LVal

  • name``string (required)

t.ifStatement(test, consequent, alternate)

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

aliases Statement, Conditional

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

t.importDeclaration(specifiers, source)

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

aliases Statement, Declaration, ModuleDeclaration

  • specifiers: Array<ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier> (required)
  • source: StringLiteral (required)

t.importDefaultSpecifier(local)

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

aliases ModuleSpecifier

  • local: Identifier (required)

t.importNamespaceSpecifier(local)

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

aliases ModuleSpecifier

  • local: Identifier (required)

t.importSpecifier(local, imported)

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

aliases ModuleSpecifier

  • local: Identifier (required)
  • imported: Identifier (required)

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

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

aliases Flow, FlowDeclaration, Statement, Declaration

  • id (required)
  • typeParameters (required)
  • extends (required)
  • body (required)

t.interfaceExtends(id, typeParameters)

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

aliases Flow

  • id (required)
  • typeParameters (required)

t.intersectionTypeAnnotation(types)

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

aliases Flow

  • types (required)

t.jSXAttribute(name, value)

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

aliases JSX, Immutable

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

t.jSXClosingElement(name)

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

aliases JSX, Immutable

  • name: JSXIdentifier | JSXMemberExpression (required)

t.jSXElement(openingElement, closingElement, children, selfClosing)

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

aliases JSX, Immutable, Expression

  • openingElement: JSXOpeningElement (required)
  • closingElement: JSXClosingElement (default: null)
  • children (required)
  • selfClosing (required)

t.jSXEmptyExpression()

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

aliases JSX, Expression

t.jSXExpressionContainer(expression)

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

aliases JSX, Immutable

  • expression: Expression (required)

t.jSXIdentifier(name)

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

aliases JSX, Expression

  • name: string (required)

t.jSXMemberExpression(object, property)

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

aliases JSX, Expression

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

t.jSXNamespacedName(namespace, name)

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

aliases JSX

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

t.jSXOpeningElement(name, attributes, selfClosing)

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

aliases JSX, Immutable

  • name: JSXIdentifier | JSXMemberExpression (required)
  • attributes: Array<JSXAttribute | JSXSpreadAttribute> (required)
  • selfClosing: boolean (default: false)

t.jSXSpreadAttribute(argument)

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

aliases JSX

  • argument: Expression (required)

t.jSXText(value)

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

aliases JSX

  • value: string (required)

t.labeledStatement(label, body)

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

aliases Statement

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

t.logicalExpression(operator, left, right)

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

aliases Binary, Expression

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

t.memberExpression(object, property, computed)

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

aliases Expression, LVal

  • object: Expression (required)
  • propertyif computed then Expression else Identifier (required)
  • computed: boolean (default: false)

t.metaProperty(meta, property)

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

aliases Expression

  • meta: string (required)
  • property: string (required)

t.mixedTypeAnnotation()

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

aliases Flow, FlowBaseAnnotation

t.newExpression(callee, arguments)

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

aliases Expression

  • callee: Expression (required)
  • arguments: Array<Expression> (required)

t.noop()

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

t.nullLiteral()

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

aliases Expression, Pureish, Literal, Immutable

t.nullableTypeAnnotation(typeAnnotation)

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

aliases Flow

  • typeAnnotation (required)

t.numberTypeAnnotation()

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

aliases Flow, FlowBaseAnnotation

t.numericLiteral(value)

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

aliases Expression, Pureish, Literal, Immutable

  • value: number (required)

t.numericLiteralTypeAnnotation()

See also t.isNumericLiteralTypeAnnotation(node, opts) and t.assertNumericLiteralTypeAnnotation(node, opts).

aliases Flow

t.objectExpression(properties)

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

aliases Expression

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

t.objectMethod(kind, key, params, body, computed)

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

aliases UserWhitespacable, Function, Scopable, BlockParent, FunctionParent, Method

  • kind: "method" | "get" | "set" (default: 'method')
  • keyif computed then Expression else Identifier | Literal (required)
  • params (required)
  • body: BlockStatement (required)
  • computed: boolean (default: false)

t.objectPattern(properties, typeAnnotation)

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

aliases Pattern, LVal

  • properties: Array<RestProperty> (required)
  • typeAnnotation (required)

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

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

aliases UserWhitespacable, Property

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

t.objectTypeAnnotation(properties, indexers, callProperties)

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

aliases Flow

  • properties (required)
  • indexers (required)
  • callProperties (required)

t.objectTypeCallProperty(value)

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

aliases Flow, UserWhitespacable

  • value (required)

t.objectTypeIndexer(id, key, value)

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

aliases Flow, UserWhitespacable

  • id (required)
  • key (required)
  • value (required)

t.objectTypeProperty(key, value)

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

aliases Flow, UserWhitespacable

  • key (required)
  • value (required)

t.parenthesizedExpression(expression)

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

aliases Expression, ExpressionWrapper

  • expression: Expression (required)

t.program(body, directives)

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

aliases Scopable, BlockParent, Block, FunctionParent

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

t.qualifiedTypeIdentifier(id, qualification)

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

aliases Flow

  • id (required)
  • qualification (required)

t.regExpLiteral(pattern, flags)

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

aliases Expression, Literal

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

t.restElement(argument, typeAnnotation)

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

aliases LVal

  • argument: LVal (required)
  • typeAnnotation (required)

t.restProperty(argument)

See also t.isRestProperty(node, opts) and t.assertRestProperty(node, opts).

aliases UnaryLike

  • argument: LVal (required)

t.returnStatement(argument)

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

aliases Statement, Terminatorless, CompletionStatement

  • argument: Expression (default: null)

t.sequenceExpression(expressions)

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

aliases Expression

  • expressions: array (required)

t.spreadElement(argument)

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

aliases UnaryLike

  • argument: Expression (required)

t.spreadProperty(argument)

See also t.isSpreadProperty(node, opts) and t.assertSpreadProperty(node, opts).

aliases UnaryLike

  • argument: Expression (required)

t.stringLiteral(value)

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

aliases Expression, Pureish, Literal, Immutable

  • value: string (required)

t.stringLiteralTypeAnnotation()

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

aliases Flow

t.stringTypeAnnotation()

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

aliases Flow, FlowBaseAnnotation

t.super()

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

aliases Expression

t.switchCase(test, consequent)

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

  • test (required)
  • consequent (required)

t.switchStatement(discriminant, cases)

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

aliases Statement, BlockParent, Scopable

  • discriminant (required)
  • cases (required)

t.taggedTemplateExpression(tag, quasi)

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

aliases Expression

  • tag: Expression (required)
  • quasi: TemplateLiteral (required)

t.templateElement(value, tail)

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

  • value (required)
  • tail: boolean (default: false)

t.templateLiteral(quasis, expressions)

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

aliases Expression, Literal

  • quasis (required)
  • expressions (required)

t.thisExpression()

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

aliases Expression

t.throwStatement(argument)

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

aliases Statement, Terminatorless, CompletionStatement

  • argument: Expression (required)

t.tryStatement(block, handler, finalizer)

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

aliases Statement

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

t.tupleTypeAnnotation(types)

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

aliases Flow

  • types (required)

t.typeAlias(id, typeParameters, right)

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

aliases Flow, FlowDeclaration, Statement, Declaration

  • id (required)
  • typeParameters (required)
  • right (required)

t.typeAnnotation(typeAnnotation)

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

aliases Flow

  • typeAnnotation (required)

t.typeCastExpression(expression, typeAnnotation)

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

aliases Flow, ExpressionWrapper

  • expression (required)
  • typeAnnotation (required)

t.typeParameterDeclaration(params)

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

aliases Flow

  • params (required)

t.typeParameterInstantiation(params)

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

aliases Flow

  • params (required)

t.typeofTypeAnnotation(argument)

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

aliases Flow

  • argument (required)

t.unaryExpression(operator, argument, prefix)

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

aliases UnaryLike, Expression

  • operator (required)
  • argument: Expression (required)
  • prefix: boolean (default: false)

t.unionTypeAnnotation(types)

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

aliases Flow

  • types (required)

t.updateExpression(operator, argument, prefix)

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

aliases Expression

  • operator (required)
  • argument: Expression (required)
  • prefix: boolean (default: false)

t.variableDeclaration(kind, declarations)

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

aliases Statement, Declaration

  • kind: "var" | "let" | "const" (required)
  • declarations: Array<VariableDeclarator> (required)

t.variableDeclarator(id, init)

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

  • id: LVal (required)
  • init: Expression (default: null)

t.voidTypeAnnotation()

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

aliases Flow, FlowBaseAnnotation

t.whileStatement(test, body)

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

aliases Statement, BlockParent, Loop, While, Scopable

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

t.withStatement(object, body)

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

aliases Statement

  • object (required)
  • body: BlockStatement (required)

t.yieldExpression(argument, delegate)

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

aliases Expression, Terminatorless

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