Socket
Socket
Sign inDemoInstall

babel-types

Package Overview
Dependencies
6
Maintainers
5
Versions
75
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    babel-types

Babel Types is a Lodash-esque utility library for AST nodes


Version published
Weekly downloads
3.6M
increased by3.5%
Maintainers
5
Install size
3.75 MB
Created
Weekly downloads
 

Package description

What is babel-types?

The babel-types package is a part of the Babel compiler ecosystem. It provides builders, validators, and conversion utilities for the various types of nodes in the Abstract Syntax Tree (AST) used by Babel. This package is essential for manipulating the AST generated or consumed by Babel, allowing for custom transformations and analysis of JavaScript code.

What are babel-types's main functionalities?

AST Node Builders

Builders are functions that help in creating AST nodes. This example demonstrates creating a binary expression node that represents the multiplication of two identifiers, 'a' and 'b'.

const t = require('babel-types');
const binaryExpression = t.binaryExpression('*', t.identifier('a'), t.identifier('b'));

AST Node Validators

Validators are functions that check if a node is of a certain type or meets certain criteria. In this example, the validator checks if the node is an identifier with the name 'a'.

const t = require('babel-types');
const isValid = t.isIdentifier(t.identifier('a'), { name: 'a' });

Type Conversion Utilities

Conversion utilities allow for the transformation of one type of node into another. This example shows converting a numeric literal into a string literal.

const t = require('babel-types');
const numericLiteral = t.numericLiteral(5);
const asStringLiteral = t.stringLiteral(`${numericLiteral.value}`);

Other packages similar to babel-types

Readme

Source

babel-types

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

Install

npm install --save-dev babel-types

API

anyTypeAnnotation

t.anyTypeAnnotation()

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

Aliases: Flow, FlowBaseAnnotation


arrayExpression

t.arrayExpression(elements)

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

Aliases: Expression

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

arrayPattern

t.arrayPattern(elements, typeAnnotation)

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

Aliases: Pattern, LVal

  • elements: Array<Identifier | Pattern | RestElement> (required)
  • typeAnnotation (required)
  • decorators: Array<Decorator> (default: null)

arrayTypeAnnotation

t.arrayTypeAnnotation(elementType)

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

Aliases: Flow

  • elementType (required)

arrowFunctionExpression

t.arrowFunctionExpression(params, body, async)

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

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

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

assignmentExpression

t.assignmentExpression(operator, left, right)

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

Aliases: Expression

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

assignmentPattern

t.assignmentPattern(left, right)

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

Aliases: Pattern, LVal

  • left: Identifier (required)
  • right: Expression (required)
  • decorators: Array<Decorator> (default: null)

awaitExpression

t.awaitExpression(argument)

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

Aliases: Expression, Terminatorless

  • argument: Expression (required)

binaryExpression

t.binaryExpression(operator, left, right)

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

Aliases: Binary, Expression

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

bindExpression

t.bindExpression(object, callee)

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

Aliases: Expression

  • object (required)
  • callee (required)

blockStatement

t.blockStatement(body, directives)

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

Aliases: Scopable, BlockParent, Block, Statement

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

booleanLiteral

t.booleanLiteral(value)

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

Aliases: Expression, Pureish, Literal, Immutable

  • value: boolean (required)

booleanLiteralTypeAnnotation

t.booleanLiteralTypeAnnotation()

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

Aliases: Flow


booleanTypeAnnotation

t.booleanTypeAnnotation()

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

Aliases: Flow, FlowBaseAnnotation


breakStatement

t.breakStatement(label)

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

Aliases: Statement, Terminatorless, CompletionStatement

  • label: Identifier (default: null)

callExpression

t.callExpression(callee, arguments)

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

Aliases: Expression

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

catchClause

t.catchClause(param, body)

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

Aliases: Scopable

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

classBody

t.classBody(body)

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

  • body: Array<ClassMethod | ClassProperty> (required)

classDeclaration

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

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

Aliases: Scopable, Class, Statement, Declaration, Pureish

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

classExpression

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

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

Aliases: Scopable, Class, Expression, Pureish

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

classImplements

t.classImplements(id, typeParameters)

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

Aliases: Flow

  • id (required)
  • typeParameters (required)

classMethod

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

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

Aliases: Function, Scopable, BlockParent, FunctionParent, Method

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

classProperty

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

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

Aliases: Property

  • key (required)
  • value (required)
  • typeAnnotation (required)
  • decorators (required)
  • computed: boolean (default: false)

conditionalExpression

t.conditionalExpression(test, consequent, alternate)

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

Aliases: Expression, Conditional

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

continueStatement

t.continueStatement(label)

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

Aliases: Statement, Terminatorless, CompletionStatement

  • label: Identifier (default: null)

debuggerStatement

t.debuggerStatement()

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

Aliases: Statement


declareClass

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

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

Aliases: Flow, FlowDeclaration, Statement, Declaration

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

declareExportDeclaration

t.declareExportDeclaration(declaration, specifiers, source)

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

Aliases: Flow, FlowDeclaration, Statement, Declaration

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

declareFunction

t.declareFunction(id)

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

Aliases: Flow, FlowDeclaration, Statement, Declaration

  • id (required)

declareInterface

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

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

Aliases: Flow, FlowDeclaration, Statement, Declaration

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

declareModule

t.declareModule(id, body)

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

Aliases: Flow, FlowDeclaration, Statement, Declaration

  • id (required)
  • body (required)

declareModuleExports

t.declareModuleExports(typeAnnotation)

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

Aliases: Flow, FlowDeclaration, Statement, Declaration

  • typeAnnotation (required)

declareOpaqueType

t.declareOpaqueType(id, typeParameters, supertype)

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

Aliases: Flow, FlowDeclaration, Statement, Declaration

  • id (required)
  • typeParameters (required)
  • supertype (required)

declareTypeAlias

t.declareTypeAlias(id, typeParameters, right)

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

Aliases: Flow, FlowDeclaration, Statement, Declaration

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

declareVariable

t.declareVariable(id)

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

Aliases: Flow, FlowDeclaration, Statement, Declaration

  • id (required)

decorator

t.decorator(expression)

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

  • expression: Expression (required)

directive

t.directive(value)

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

  • value: DirectiveLiteral (required)

directiveLiteral

t.directiveLiteral(value)

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

  • value: string (required)

doExpression

t.doExpression(body)

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

Aliases: Expression

  • body: BlockStatement (required)

doWhileStatement

t.doWhileStatement(test, body)

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

Aliases: Statement, BlockParent, Loop, While, Scopable

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

emptyStatement

t.emptyStatement()

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

Aliases: Statement


emptyTypeAnnotation

t.emptyTypeAnnotation()

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

Aliases: Flow, FlowBaseAnnotation


existentialTypeParam

t.existentialTypeParam()

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

Aliases: Flow


exportAllDeclaration

t.exportAllDeclaration(source)

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

Aliases: Statement, Declaration, ModuleDeclaration, ExportDeclaration

  • source: StringLiteral (required)

exportDefaultDeclaration

t.exportDefaultDeclaration(declaration)

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

Aliases: Statement, Declaration, ModuleDeclaration, ExportDeclaration

  • declaration: FunctionDeclaration | ClassDeclaration | Expression (required)

exportDefaultSpecifier

t.exportDefaultSpecifier(exported)

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

Aliases: ModuleSpecifier

  • exported: Identifier (required)

exportNamedDeclaration

t.exportNamedDeclaration(declaration, specifiers, source)

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

Aliases: Statement, Declaration, ModuleDeclaration, ExportDeclaration

  • declaration: Declaration (default: null)
  • specifiers: Array<ExportSpecifier> (required)
  • source: StringLiteral (default: null)

exportNamespaceSpecifier

t.exportNamespaceSpecifier(exported)

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

Aliases: ModuleSpecifier

  • exported: Identifier (required)

exportSpecifier

t.exportSpecifier(local, exported)

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

Aliases: ModuleSpecifier

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

expressionStatement

t.expressionStatement(expression)

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

Aliases: Statement, ExpressionWrapper

  • expression: Expression (required)

file

t.file(program, comments, tokens)

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

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

forAwaitStatement

t.forAwaitStatement(left, right, body)

See also t.isForAwaitStatement(node, opts) and t.assertForAwaitStatement(node, opts).

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

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

forInStatement

t.forInStatement(left, right, body)

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

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

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

forOfStatement

t.forOfStatement(left, right, body)

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

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

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

forStatement

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

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

Aliases: Scopable, Statement, For, BlockParent, Loop

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

functionDeclaration

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

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

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

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

functionExpression

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

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

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

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

functionTypeAnnotation

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)

functionTypeParam

t.functionTypeParam(name, typeAnnotation)

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

Aliases: Flow

  • name (required)
  • typeAnnotation (required)

genericTypeAnnotation

t.genericTypeAnnotation(id, typeParameters)

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

Aliases: Flow

  • id (required)
  • typeParameters (required)

identifier

t.identifier(name)

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

Aliases: Expression, LVal

  • name``string (required)
  • decorators: Array<Decorator> (default: null)
  • typeAnnotation (default: null)

ifStatement

t.ifStatement(test, consequent, alternate)

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

Aliases: Statement, Conditional

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

import

t.import()

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

Aliases: Expression


importDeclaration

t.importDeclaration(specifiers, source)

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

Aliases: Statement, Declaration, ModuleDeclaration

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

importDefaultSpecifier

t.importDefaultSpecifier(local)

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

Aliases: ModuleSpecifier

  • local: Identifier (required)

importNamespaceSpecifier

t.importNamespaceSpecifier(local)

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

Aliases: ModuleSpecifier

  • local: Identifier (required)

importSpecifier

t.importSpecifier(local, imported)

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

Aliases: ModuleSpecifier

  • local: Identifier (required)
  • imported: Identifier (required)
  • importKind: null | 'type' | 'typeof' (default: null)

interfaceDeclaration

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)

interfaceExtends

t.interfaceExtends(id, typeParameters)

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

Aliases: Flow

  • id (required)
  • typeParameters (required)

intersectionTypeAnnotation

t.intersectionTypeAnnotation(types)

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

Aliases: Flow

  • types (required)

jSXAttribute

t.jSXAttribute(name, value)

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

Aliases: JSX, Immutable

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

jSXClosingElement

t.jSXClosingElement(name)

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

Aliases: JSX, Immutable

  • name: JSXIdentifier | JSXMemberExpression (required)

jSXElement

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

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

Aliases: JSX, Immutable, Expression

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

jSXEmptyExpression

t.jSXEmptyExpression()

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

Aliases: JSX, Expression


jSXExpressionContainer

t.jSXExpressionContainer(expression)

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

Aliases: JSX, Immutable

  • expression: Expression (required)

jSXIdentifier

t.jSXIdentifier(name)

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

Aliases: JSX, Expression

  • name: string (required)

jSXMemberExpression

t.jSXMemberExpression(object, property)

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

Aliases: JSX, Expression

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

jSXNamespacedName

t.jSXNamespacedName(namespace, name)

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

Aliases: JSX

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

jSXOpeningElement

t.jSXOpeningElement(name, attributes, selfClosing)

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

Aliases: JSX, Immutable

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

jSXSpreadAttribute

t.jSXSpreadAttribute(argument)

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

Aliases: JSX

  • argument: Expression (required)

jSXSpreadChild

t.jSXSpreadChild(expression)

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

Aliases: JSX, Immutable

  • expression: Expression (required)

jSXText

t.jSXText(value)

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

Aliases: JSX, Immutable

  • value: string (required)

labeledStatement

t.labeledStatement(label, body)

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

Aliases: Statement

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

logicalExpression

t.logicalExpression(operator, left, right)

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

Aliases: Binary, Expression

  • operator: '||' | '&&' (required)
  • left: Expression (required)
  • right: Expression (required)

memberExpression

t.memberExpression(object, property, computed)

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)

metaProperty

t.metaProperty(meta, property)

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

Aliases: Expression

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

mixedTypeAnnotation

t.mixedTypeAnnotation()

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

Aliases: Flow, FlowBaseAnnotation


newExpression

t.newExpression(callee, arguments)

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

Aliases: Expression

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

noop

t.noop()

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


nullLiteral

t.nullLiteral()

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

Aliases: Expression, Pureish, Literal, Immutable


nullLiteralTypeAnnotation

t.nullLiteralTypeAnnotation()

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

Aliases: Flow, FlowBaseAnnotation


nullableTypeAnnotation

t.nullableTypeAnnotation(typeAnnotation)

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

Aliases: Flow

  • typeAnnotation (required)

numberTypeAnnotation

t.numberTypeAnnotation()

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

Aliases: Flow, FlowBaseAnnotation


numericLiteral

t.numericLiteral(value)

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

Aliases: Expression, Pureish, Literal, Immutable

  • value: number (required)

numericLiteralTypeAnnotation

t.numericLiteralTypeAnnotation()

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

Aliases: Flow


objectExpression

t.objectExpression(properties)

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

Aliases: Expression

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

objectMethod

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

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

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

  • kind: "method" | "get" | "set" (default: 'method')
  • keyif computed then Expression else Identifier | Literal (required)
  • params (required)
  • body: BlockStatement (required)
  • computed: boolean (default: false)
  • async: boolean (default: false)
  • decorators: Array<Decorator> (default: null)
  • generator: boolean (default: false)
  • returnType (default: null)
  • typeParameters (default: null)

objectPattern

t.objectPattern(properties, typeAnnotation)

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

Aliases: Pattern, LVal

  • properties: Array<RestProperty | Property> (required)
  • typeAnnotation (required)
  • decorators: Array<Decorator> (default: null)

objectProperty

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

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

Aliases: UserWhitespacable, Property, ObjectMember

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

objectTypeAnnotation

t.objectTypeAnnotation(properties, indexers, callProperties)

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

Aliases: Flow

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

objectTypeCallProperty

t.objectTypeCallProperty(value)

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

Aliases: Flow, UserWhitespacable

  • value (required)

objectTypeIndexer

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)

objectTypeProperty

t.objectTypeProperty(key, value)

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

Aliases: Flow, UserWhitespacable

  • key (required)
  • value (required)

objectTypeSpreadProperty

t.objectTypeSpreadProperty(argument)

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

Aliases: Flow, UserWhitespacable

  • argument (required)

opaqueType

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

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

Aliases: Flow, FlowDeclaration, Statement, Declaration

  • id (required)
  • typeParameters (required)
  • impltype (required)
  • supertype (required)

parenthesizedExpression

t.parenthesizedExpression(expression)

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

Aliases: Expression, ExpressionWrapper

  • expression: Expression (required)

program

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: [])

qualifiedTypeIdentifier

t.qualifiedTypeIdentifier(id, qualification)

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

Aliases: Flow

  • id (required)
  • qualification (required)

regExpLiteral

t.regExpLiteral(pattern, flags)

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

Aliases: Expression, Literal

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

restElement

t.restElement(argument, typeAnnotation)

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

Aliases: LVal

  • argument: LVal (required)
  • typeAnnotation (required)
  • decorators: Array<Decorator> (default: null)

restProperty

t.restProperty(argument)

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

Aliases: UnaryLike

  • argument: LVal (required)

returnStatement

t.returnStatement(argument)

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

Aliases: Statement, Terminatorless, CompletionStatement

  • argument: Expression (default: null)

sequenceExpression

t.sequenceExpression(expressions)

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

Aliases: Expression

  • expressions: Array<Expression> (required)

spreadElement

t.spreadElement(argument)

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

Aliases: UnaryLike

  • argument: Expression (required)

spreadProperty

t.spreadProperty(argument)

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

Aliases: UnaryLike

  • argument: Expression (required)

stringLiteral

t.stringLiteral(value)

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

Aliases: Expression, Pureish, Literal, Immutable

  • value: string (required)

stringLiteralTypeAnnotation

t.stringLiteralTypeAnnotation()

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

Aliases: Flow


stringTypeAnnotation

t.stringTypeAnnotation()

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

Aliases: Flow, FlowBaseAnnotation


super

t.super()

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

Aliases: Expression


switchCase

t.switchCase(test, consequent)

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

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

switchStatement

t.switchStatement(discriminant, cases)

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

Aliases: Statement, BlockParent, Scopable

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

taggedTemplateExpression

t.taggedTemplateExpression(tag, quasi)

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

Aliases: Expression

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

templateElement

t.templateElement(value, tail)

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

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

templateLiteral

t.templateLiteral(quasis, expressions)

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

Aliases: Expression, Literal

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

thisExpression

t.thisExpression()

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

Aliases: Expression


thisTypeAnnotation

t.thisTypeAnnotation()

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

Aliases: Flow, FlowBaseAnnotation


throwStatement

t.throwStatement(argument)

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

Aliases: Statement, Terminatorless, CompletionStatement

  • argument: Expression (required)

tryStatement

t.tryStatement(block, handler, finalizer)

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

Aliases: Statement

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

tupleTypeAnnotation

t.tupleTypeAnnotation(types)

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

Aliases: Flow

  • types (required)

typeAlias

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)

typeAnnotation

t.typeAnnotation(typeAnnotation)

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

Aliases: Flow

  • typeAnnotation (required)

typeCastExpression

t.typeCastExpression(expression, typeAnnotation)

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

Aliases: Flow, ExpressionWrapper, Expression

  • expression (required)
  • typeAnnotation (required)

typeParameter

t.typeParameter(bound)

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

Aliases: Flow

  • bound (required)

typeParameterDeclaration

t.typeParameterDeclaration(params)

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

Aliases: Flow

  • params (required)

typeParameterInstantiation

t.typeParameterInstantiation(params)

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

Aliases: Flow

  • params (required)

typeofTypeAnnotation

t.typeofTypeAnnotation(argument)

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

Aliases: Flow

  • argument (required)

unaryExpression

t.unaryExpression(operator, argument, prefix)

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

Aliases: UnaryLike, Expression

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

unionTypeAnnotation

t.unionTypeAnnotation(types)

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

Aliases: Flow

  • types (required)

updateExpression

t.updateExpression(operator, argument, prefix)

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

Aliases: Expression

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

variableDeclaration

t.variableDeclaration(kind, declarations)

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

Aliases: Statement, Declaration

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

variableDeclarator

t.variableDeclarator(id, init)

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

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

voidTypeAnnotation

t.voidTypeAnnotation()

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

Aliases: Flow, FlowBaseAnnotation


whileStatement

t.whileStatement(test, body)

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

Aliases: Statement, BlockParent, Loop, While, Scopable

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

withStatement

t.withStatement(object, body)

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

Aliases: Statement

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

yieldExpression

t.yieldExpression(argument, delegate)

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

Aliases: Expression, Terminatorless

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

FAQs

Last updated on 16 Aug 2017

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc