interface ASTNode {
    alternate: ASTNode;
    argument: ASTNode;
    arguments: ASTNode[];
    body: ASTNode[];
    callee: ASTNode;
    computed: boolean;
    consequent: ASTNode;
    elements: ASTNode[];
    expression: ASTNode;
    filter: boolean;
    key: ASTNode;
    kind: string;
    left: ASTNode;
    name: string;
    object: ASTNode;
    operator: string;
    prefix: boolean;
    properties: ASTNode[];
    property: ASTNode;
    right: ASTNode;
    test: ASTNode;
    type: number;
    value: any;
}

Properties

alternate: ASTNode

The alternate expression of a conditional expression.

argument: ASTNode

The argument of a unary expression.

arguments: ASTNode[]

The arguments of a call expression.

body: ASTNode[]

The body of a program or block statement.

callee: ASTNode

The callee of a call expression.

computed: boolean

Indicates if a member expression is computed.

consequent: ASTNode

The consequent expression of a conditional expression.

elements: ASTNode[]

The elements of an array node.

expression: ASTNode

The expression of an expression statement.

filter: boolean
key: ASTNode

The key of an object property.

kind: string

The kind of the property (e.g., 'init').

left: ASTNode

The left-hand side of a binary expression.

name: string

The name of the identifier.

object: ASTNode

The object of a member expression.

operator: string

The operator of a binary or logical expression.

prefix: boolean

Indicates if a unary operator is a prefix.

properties: ASTNode[]

The properties of an object node.

property: ASTNode

The property of a member expression.

right: ASTNode

The right-hand side of a binary expression.

test: ASTNode

The test expression of a conditional expression.

type: number

The type of the AST node.

value: any

The value of the node if it is a literal.