[][src]Module ressa::node

Structs

ArrowFunctionExpression

An arrow function

AssignmentExpression

An assignment or update + assignment operation

AssignmentPattern

An assignment as a pattern

BinaryExpression

An operation that requires 2 arguments

CallExpression

Calling a function or method

CatchClause

The error handling part of a TryStatement

Class

A way to declare object templates

ConditionalExpression

A ternery expression

Directive

pretty much always 'use strict', this can appear at the top of a file or function

DoWhileStatement

A while loop that executes its body first

ExportSpecifier

The name of the thing being exported this might include an alias

ForInStatement

A for in statement, this kind of for statement will extract each key from an indexable thing

ForOfStatement

A for of statement, this kind of for statement will extract the value from a generator or iterator

ForStatement

A "c-style" for loop

Function

A function, this will be part of either a function declaration (ID is required) or a function expression (ID is optional)

IfStatement

An if statement

LabeledStatement

A break statement

LogicalExpression

A specialized BinaryExpression for logical evaluation

MemberExpression

Accessing the member of a value

MetaProperty

pretty much just new.target

ModuleImport

A declaration that imports exported members of another module

NewExpression

Calling a constructor

Position

A position in a file

Property

A single part of an object literal or class

RegEx

A regular expression literal

SwitchCase

A single case part of a switch statement

SwitchStatement

A switch statement

TaggedTemplateExpression

A Tempalte literal preceded by a function identifier see MDN for more details

TemplateElement

The text part of a TemplateLiteral

TemplateLiteral

A template string literal

TryStatement

A try/catch block

UnaryExpression

An operation that takes one argument

UpdateExpression

Increment or decrementing a value

VariableDecl

The identifier and optional value of a variable declaration

WhileStatement

A while loop

WithStatement

A with statement, this puts one object at the top of the identifier search tree.

YieldExpression

yield a value from inside of a generator function

Enums

ArrayPatternPart
ArrowFunctionBody

The body portion of an arrow function can be either an expression or a block of statements

AssignmentLeft

The value being assigned to

AssignmentOperator

The available operators for assignment expressions

BinaryOperator

The available operations for Binary expressions

Declaration

The declaration of a variable, function, class, import or export

DefaultExportDecl

A default export

Expression

A slightly more granular program part that a statement

FunctionArg

A single function argument from a function signature

ImportSpecifier

The name of the thing being imported

Literal

A literal value

LogicalOperator

The available logical operators

LoopInit

The left most triple of a for loops parenthetical

LoopLeft

The values on the left hand side of the keyword in a for in or for of loop

ModuleDecl

A module declaration, This would only be available in an ES Module, it would be either an import or export at the top level

ModuleExport

Something exported from this module

NamedExportDecl

An export that has a name

ObjectPatternPart

A single part of an ObjectPattern

ObjectProperty

A single part of an object literal

Pattern

All of the different ways you can declare an identifier and/or value

Program

A fully parsed javascript program.

ProgramPart

A single part of a Javascript program. This will be either a Directive, Declaration or a Statement

PropertyKey

An object literal or class property identifier

PropertyKind

A flag for determining what kind of property

PropertyValue

The value of an object literal or class property

Statement

A slightly more granular part of an es program than ProgramPart

UnaryOperator

The allowed operators for an expression to be Unary

UpdateOperator

++ or --

VariableKind

The kind of variable being defined (var/let/const)

Type Definitions

ArrayExpression

[a, b, c]

BlockStatement

A collection of program parts wrapped in curly braces

FunctionBody

The block statement that makes up the function's body

Identifier

A variable, class, or function name

ObjectExpression

{a: 'b', c, ...d}

ObjectPattern

similar to an ObjectExpression

SequenceExpression

A collection of Expressions seperated by commas