# Type Alias ASTNode

Represents a node in an Abstract Syntax Tree (AST).

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

- Defined in src/core/parse/ast/ast-node.ts:6

##### Index

### Properties

alternate?
argument?
arguments?
body?
callee?
computed?
consequent?
elements?
expression?
filter?
isPure?
key?
kind?
left?
name?
object?
operator?
prefix?
properties?
property?
right?
test?
toWatch?
type
value?

## Properties

### `Optional` alternate

alternate?: ASTNode

The alternate expression of a conditional expression.

- Defined in src/core/parse/ast/ast-node.ts:41

### `Optional` argument

argument?: ASTNode

The argument of a unary expression.

- Defined in src/core/parse/ast/ast-node.ts:35

### `Optional` arguments

arguments?: ASTNode[]

The arguments of a call expression.

- Defined in src/core/parse/ast/ast-node.ts:59

### `Optional` body

body?: ASTNode[]

The body of a program or block statement.

- Defined in src/core/parse/ast/ast-node.ts:47

### `Optional` callee

callee?: ASTNode

The callee of a call expression.

- Defined in src/core/parse/ast/ast-node.ts:56

### `Optional` computed

computed?: boolean

Indicates if a member expression is computed.

- Defined in src/core/parse/ast/ast-node.ts:71

### `Optional` consequent

consequent?: ASTNode

The consequent expression of a conditional expression.

- Defined in src/core/parse/ast/ast-node.ts:44

### `Optional` elements

elements?: ASTNode[]

The elements of an array node.

- Defined in src/core/parse/ast/ast-node.ts:20

### `Optional` expression

expression?: ASTNode

The expression of an expression statement.

- Defined in src/core/parse/ast/ast-node.ts:53

### `Optional` filter

filter?: boolean

Indicates if the expression should be filtered.

- Defined in src/core/parse/ast/ast-node.ts:77

### `Optional` isPure

isPure?: boolean

Indicates in node depends on non-shallow state of objects

- Defined in src/core/parse/ast/ast-node.ts:80

### `Optional` key

key?: ASTNode

The key of an object property.

- Defined in src/core/parse/ast/ast-node.ts:26

### `Optional` kind

kind?: string

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

- Defined in src/core/parse/ast/ast-node.ts:14

### `Optional` left

left?: ASTNode

The left-hand side of a binary expression.

- Defined in src/core/parse/ast/ast-node.ts:29

### `Optional` name

name?: string

The name of the identifier, if applicable.

- Defined in src/core/parse/ast/ast-node.ts:11

### `Optional` object

object?: ASTNode

The object of a member expression.

- Defined in src/core/parse/ast/ast-node.ts:65

### `Optional` operator

operator?: string

The operator of a binary or logical expression.

- Defined in src/core/parse/ast/ast-node.ts:74

### `Optional` prefix

prefix?: boolean

Indicates if a unary operator is a prefix.

- Defined in src/core/parse/ast/ast-node.ts:62

### `Optional` properties

properties?: ASTNode[]

The properties of an object node.

- Defined in src/core/parse/ast/ast-node.ts:23

### `Optional` property

property?: ASTNode

The property of a member expression.

- Defined in src/core/parse/ast/ast-node.ts:68

### `Optional` right

right?: ASTNode

The right-hand side of a binary expression.

- Defined in src/core/parse/ast/ast-node.ts:32

### `Optional` test

test?: ASTNode

The test expression of a conditional expression.

- Defined in src/core/parse/ast/ast-node.ts:38

### `Optional` toWatch

toWatch?: ASTNode[]

A list of expressions to observe in a program or block statement.

- Defined in src/core/parse/ast/ast-node.ts:50

### type

type: ASTType

The type of the AST node.

- Defined in src/core/parse/ast/ast-node.ts:8

### `Optional` value

value?: any

The value of the node if it is a literal.

- Defined in src/core/parse/ast/ast-node.ts:17