acorn

  • Version 8.12.1
  • Published
  • 538 kB
  • No dependencies
  • MIT license

Install

npm i acorn
yarn add acorn
pnpm add acorn

Overview

ECMAScript parser

Index

Variables

Functions

Classes

Interfaces

Type Aliases

Variables

variable defaultOptions

const defaultOptions: Options;

    variable tokTypes

    const tokTypes: {
    num: TokenType;
    regexp: TokenType;
    string: TokenType;
    name: TokenType;
    privateId: TokenType;
    eof: TokenType;
    bracketL: TokenType;
    bracketR: TokenType;
    braceL: TokenType;
    braceR: TokenType;
    parenL: TokenType;
    parenR: TokenType;
    comma: TokenType;
    semi: TokenType;
    colon: TokenType;
    dot: TokenType;
    question: TokenType;
    questionDot: TokenType;
    arrow: TokenType;
    template: TokenType;
    invalidTemplate: TokenType;
    ellipsis: TokenType;
    backQuote: TokenType;
    dollarBraceL: TokenType;
    eq: TokenType;
    assign: TokenType;
    incDec: TokenType;
    prefix: TokenType;
    logicalOR: TokenType;
    logicalAND: TokenType;
    bitwiseOR: TokenType;
    bitwiseXOR: TokenType;
    bitwiseAND: TokenType;
    equality: TokenType;
    relational: TokenType;
    bitShift: TokenType;
    plusMin: TokenType;
    modulo: TokenType;
    star: TokenType;
    slash: TokenType;
    starstar: TokenType;
    coalesce: TokenType;
    _break: TokenType;
    _case: TokenType;
    _catch: TokenType;
    _continue: TokenType;
    _debugger: TokenType;
    _default: TokenType;
    _do: TokenType;
    _else: TokenType;
    _finally: TokenType;
    _for: TokenType;
    _function: TokenType;
    _if: TokenType;
    _return: TokenType;
    _switch: TokenType;
    _throw: TokenType;
    _try: TokenType;
    _var: TokenType;
    _const: TokenType;
    _while: TokenType;
    _with: TokenType;
    _new: TokenType;
    _this: TokenType;
    _super: TokenType;
    _class: TokenType;
    _extends: TokenType;
    _export: TokenType;
    _import: TokenType;
    _null: TokenType;
    _true: TokenType;
    _false: TokenType;
    _in: TokenType;
    _instanceof: TokenType;
    _typeof: TokenType;
    _void: TokenType;
    _delete: TokenType;
    };

      variable version

      const version: string;

        Functions

        function getLineInfo

        getLineInfo: (input: string, offset: number) => Position;

          function parse

          parse: (input: string, options: Options) => Program;

            function parseExpressionAt

            parseExpressionAt: (input: string, pos: number, options: Options) => Expression;

              function tokenizer

              tokenizer: (
              input: string,
              options: Options
              ) => { getToken(): Token; [Symbol.iterator](): Iterator<Token> };

                Classes

                class Parser

                class Parser {}

                  constructor

                  protected constructor(options: Options, input: string, startPos?: number);

                    property input

                    input: string;

                      property options

                      options: Options;

                        method extend

                        static extend: (
                        ...plugins: ((BaseParser: typeof Parser) => typeof Parser)[]
                        ) => typeof Parser;

                          method parse

                          static parse: (input: string, options: Options) => Program;

                            method parseExpressionAt

                            static parseExpressionAt: (
                            input: string,
                            pos: number,
                            options: Options
                            ) => Expression;

                              method tokenizer

                              static tokenizer: (
                              input: string,
                              options: Options
                              ) => { getToken(): Token; [Symbol.iterator](): Iterator<Token> };

                                class Token

                                class Token {}

                                  property end

                                  end: number;

                                    property loc

                                    loc?: SourceLocation;

                                      property range

                                      range?: [number, number];

                                        property start

                                        start: number;

                                          property type

                                          type: TokenType;

                                            class TokenType

                                            class TokenType {}

                                              property keyword

                                              keyword: string;

                                                property label

                                                label: string;

                                                  Interfaces

                                                  interface AnonymousClassDeclaration

                                                  interface AnonymousClassDeclaration extends Class {}

                                                    property id

                                                    id: null;

                                                      property type

                                                      type: 'ClassDeclaration';

                                                        interface AnonymousFunctionDeclaration

                                                        interface AnonymousFunctionDeclaration extends Function {}

                                                          property body

                                                          body: BlockStatement;

                                                            property id

                                                            id: null;

                                                              property type

                                                              type: 'FunctionDeclaration';

                                                                interface ArrayExpression

                                                                interface ArrayExpression extends Node {}

                                                                  property elements

                                                                  elements: Array<Expression | SpreadElement | null>;

                                                                    property type

                                                                    type: 'ArrayExpression';

                                                                      interface ArrayPattern

                                                                      interface ArrayPattern extends Node {}

                                                                        property elements

                                                                        elements: Array<Pattern | null>;

                                                                          property type

                                                                          type: 'ArrayPattern';

                                                                            interface ArrowFunctionExpression

                                                                            interface ArrowFunctionExpression extends Function {}

                                                                              property type

                                                                              type: 'ArrowFunctionExpression';

                                                                                interface AssignmentExpression

                                                                                interface AssignmentExpression extends Node {}

                                                                                  property left

                                                                                  left: Pattern;

                                                                                    property operator

                                                                                    operator: AssignmentOperator;

                                                                                      property right

                                                                                      right: Expression;

                                                                                        property type

                                                                                        type: 'AssignmentExpression';

                                                                                          interface AssignmentPattern

                                                                                          interface AssignmentPattern extends Node {}

                                                                                            property left

                                                                                            left: Pattern;

                                                                                              property right

                                                                                              right: Expression;

                                                                                                property type

                                                                                                type: 'AssignmentPattern';

                                                                                                  interface AssignmentProperty

                                                                                                  interface AssignmentProperty extends Node {}

                                                                                                    property computed

                                                                                                    computed: boolean;

                                                                                                      property key

                                                                                                      key: Expression;

                                                                                                        property kind

                                                                                                        kind: 'init';

                                                                                                          property method

                                                                                                          method: false;

                                                                                                            property shorthand

                                                                                                            shorthand: boolean;

                                                                                                              property type

                                                                                                              type: 'Property';

                                                                                                                property value

                                                                                                                value: Pattern;

                                                                                                                  interface AwaitExpression

                                                                                                                  interface AwaitExpression extends Node {}

                                                                                                                    property argument

                                                                                                                    argument: Expression;

                                                                                                                      property type

                                                                                                                      type: 'AwaitExpression';

                                                                                                                        interface BinaryExpression

                                                                                                                        interface BinaryExpression extends Node {}

                                                                                                                          property left

                                                                                                                          left: Expression | PrivateIdentifier;

                                                                                                                            property operator

                                                                                                                            operator: BinaryOperator;

                                                                                                                              property right

                                                                                                                              right: Expression;

                                                                                                                                property type

                                                                                                                                type: 'BinaryExpression';

                                                                                                                                  interface BlockStatement

                                                                                                                                  interface BlockStatement extends Node {}

                                                                                                                                    property body

                                                                                                                                    body: Array<Statement>;

                                                                                                                                      property type

                                                                                                                                      type: 'BlockStatement';

                                                                                                                                        interface BreakStatement

                                                                                                                                        interface BreakStatement extends Node {}

                                                                                                                                          property label

                                                                                                                                          label?: Identifier | null;

                                                                                                                                            property type

                                                                                                                                            type: 'BreakStatement';

                                                                                                                                              interface CallExpression

                                                                                                                                              interface CallExpression extends Node {}

                                                                                                                                                property arguments

                                                                                                                                                arguments: Array<Expression | SpreadElement>;

                                                                                                                                                  property callee

                                                                                                                                                  callee: Expression | Super;

                                                                                                                                                    property optional

                                                                                                                                                    optional: boolean;

                                                                                                                                                      property type

                                                                                                                                                      type: 'CallExpression';

                                                                                                                                                        interface CatchClause

                                                                                                                                                        interface CatchClause extends Node {}

                                                                                                                                                          property body

                                                                                                                                                          body: BlockStatement;

                                                                                                                                                            property param

                                                                                                                                                            param?: Pattern | null;

                                                                                                                                                              property type

                                                                                                                                                              type: 'CatchClause';

                                                                                                                                                                interface ChainExpression

                                                                                                                                                                interface ChainExpression extends Node {}

                                                                                                                                                                  property expression

                                                                                                                                                                  expression: MemberExpression | CallExpression;

                                                                                                                                                                    property type

                                                                                                                                                                    type: 'ChainExpression';

                                                                                                                                                                      interface Class

                                                                                                                                                                      interface Class extends Node {}

                                                                                                                                                                        property body

                                                                                                                                                                        body: ClassBody;

                                                                                                                                                                          property id

                                                                                                                                                                          id?: Identifier | null;

                                                                                                                                                                            property superClass

                                                                                                                                                                            superClass?: Expression | null;

                                                                                                                                                                              interface ClassBody

                                                                                                                                                                              interface ClassBody extends Node {}

                                                                                                                                                                                property body

                                                                                                                                                                                body: Array<MethodDefinition | PropertyDefinition | StaticBlock>;

                                                                                                                                                                                  property type

                                                                                                                                                                                  type: 'ClassBody';

                                                                                                                                                                                    interface ClassDeclaration

                                                                                                                                                                                    interface ClassDeclaration extends Class {}

                                                                                                                                                                                      property id

                                                                                                                                                                                      id: Identifier;

                                                                                                                                                                                        property type

                                                                                                                                                                                        type: 'ClassDeclaration';

                                                                                                                                                                                          interface ClassExpression

                                                                                                                                                                                          interface ClassExpression extends Class {}

                                                                                                                                                                                            property type

                                                                                                                                                                                            type: 'ClassExpression';

                                                                                                                                                                                              interface Comment

                                                                                                                                                                                              interface Comment {}

                                                                                                                                                                                                property end

                                                                                                                                                                                                end: number;

                                                                                                                                                                                                  property loc

                                                                                                                                                                                                  loc?: SourceLocation;

                                                                                                                                                                                                    property range

                                                                                                                                                                                                    range?: [number, number];

                                                                                                                                                                                                      property start

                                                                                                                                                                                                      start: number;

                                                                                                                                                                                                        property type

                                                                                                                                                                                                        type: 'Line' | 'Block';

                                                                                                                                                                                                          property value

                                                                                                                                                                                                          value: string;

                                                                                                                                                                                                            interface ConditionalExpression

                                                                                                                                                                                                            interface ConditionalExpression extends Node {}

                                                                                                                                                                                                              property alternate

                                                                                                                                                                                                              alternate: Expression;

                                                                                                                                                                                                                property consequent

                                                                                                                                                                                                                consequent: Expression;

                                                                                                                                                                                                                  property test

                                                                                                                                                                                                                  test: Expression;

                                                                                                                                                                                                                    property type

                                                                                                                                                                                                                    type: 'ConditionalExpression';

                                                                                                                                                                                                                      interface ContinueStatement

                                                                                                                                                                                                                      interface ContinueStatement extends Node {}

                                                                                                                                                                                                                        property label

                                                                                                                                                                                                                        label?: Identifier | null;

                                                                                                                                                                                                                          property type

                                                                                                                                                                                                                          type: 'ContinueStatement';

                                                                                                                                                                                                                            interface DebuggerStatement

                                                                                                                                                                                                                            interface DebuggerStatement extends Node {}

                                                                                                                                                                                                                              property type

                                                                                                                                                                                                                              type: 'DebuggerStatement';

                                                                                                                                                                                                                                interface DoWhileStatement

                                                                                                                                                                                                                                interface DoWhileStatement extends Node {}

                                                                                                                                                                                                                                  property body

                                                                                                                                                                                                                                  body: Statement;

                                                                                                                                                                                                                                    property test

                                                                                                                                                                                                                                    test: Expression;

                                                                                                                                                                                                                                      property type

                                                                                                                                                                                                                                      type: 'DoWhileStatement';

                                                                                                                                                                                                                                        interface EmptyStatement

                                                                                                                                                                                                                                        interface EmptyStatement extends Node {}

                                                                                                                                                                                                                                          property type

                                                                                                                                                                                                                                          type: 'EmptyStatement';

                                                                                                                                                                                                                                            interface ExportAllDeclaration

                                                                                                                                                                                                                                            interface ExportAllDeclaration extends Node {}

                                                                                                                                                                                                                                              property exported

                                                                                                                                                                                                                                              exported?: Identifier | Literal | null;

                                                                                                                                                                                                                                                property source

                                                                                                                                                                                                                                                source: Literal;

                                                                                                                                                                                                                                                  property type

                                                                                                                                                                                                                                                  type: 'ExportAllDeclaration';

                                                                                                                                                                                                                                                    interface ExportDefaultDeclaration

                                                                                                                                                                                                                                                    interface ExportDefaultDeclaration extends Node {}

                                                                                                                                                                                                                                                      property declaration

                                                                                                                                                                                                                                                      declaration:
                                                                                                                                                                                                                                                      | AnonymousFunctionDeclaration
                                                                                                                                                                                                                                                      | FunctionDeclaration
                                                                                                                                                                                                                                                      | AnonymousClassDeclaration
                                                                                                                                                                                                                                                      | ClassDeclaration
                                                                                                                                                                                                                                                      | Expression;

                                                                                                                                                                                                                                                        property type

                                                                                                                                                                                                                                                        type: 'ExportDefaultDeclaration';

                                                                                                                                                                                                                                                          interface ExportNamedDeclaration

                                                                                                                                                                                                                                                          interface ExportNamedDeclaration extends Node {}

                                                                                                                                                                                                                                                            property declaration

                                                                                                                                                                                                                                                            declaration?: Declaration | null;

                                                                                                                                                                                                                                                              property source

                                                                                                                                                                                                                                                              source?: Literal | null;

                                                                                                                                                                                                                                                                property specifiers

                                                                                                                                                                                                                                                                specifiers: Array<ExportSpecifier>;

                                                                                                                                                                                                                                                                  property type

                                                                                                                                                                                                                                                                  type: 'ExportNamedDeclaration';

                                                                                                                                                                                                                                                                    interface ExportSpecifier

                                                                                                                                                                                                                                                                    interface ExportSpecifier extends Node {}

                                                                                                                                                                                                                                                                      property exported

                                                                                                                                                                                                                                                                      exported: Identifier | Literal;

                                                                                                                                                                                                                                                                        property local

                                                                                                                                                                                                                                                                        local: Identifier | Literal;

                                                                                                                                                                                                                                                                          property type

                                                                                                                                                                                                                                                                          type: 'ExportSpecifier';

                                                                                                                                                                                                                                                                            interface ExpressionStatement

                                                                                                                                                                                                                                                                            interface ExpressionStatement extends Node {}

                                                                                                                                                                                                                                                                              property directive

                                                                                                                                                                                                                                                                              directive?: string;

                                                                                                                                                                                                                                                                                property expression

                                                                                                                                                                                                                                                                                expression: Expression | Literal;

                                                                                                                                                                                                                                                                                  property type

                                                                                                                                                                                                                                                                                  type: 'ExpressionStatement';

                                                                                                                                                                                                                                                                                    interface ForInStatement

                                                                                                                                                                                                                                                                                    interface ForInStatement extends Node {}

                                                                                                                                                                                                                                                                                      property body

                                                                                                                                                                                                                                                                                      body: Statement;

                                                                                                                                                                                                                                                                                        property left

                                                                                                                                                                                                                                                                                        left: VariableDeclaration | Pattern;

                                                                                                                                                                                                                                                                                          property right

                                                                                                                                                                                                                                                                                          right: Expression;

                                                                                                                                                                                                                                                                                            property type

                                                                                                                                                                                                                                                                                            type: 'ForInStatement';

                                                                                                                                                                                                                                                                                              interface ForOfStatement

                                                                                                                                                                                                                                                                                              interface ForOfStatement extends Node {}

                                                                                                                                                                                                                                                                                                property await

                                                                                                                                                                                                                                                                                                await: boolean;

                                                                                                                                                                                                                                                                                                  property body

                                                                                                                                                                                                                                                                                                  body: Statement;

                                                                                                                                                                                                                                                                                                    property left

                                                                                                                                                                                                                                                                                                    left: VariableDeclaration | Pattern;

                                                                                                                                                                                                                                                                                                      property right

                                                                                                                                                                                                                                                                                                      right: Expression;

                                                                                                                                                                                                                                                                                                        property type

                                                                                                                                                                                                                                                                                                        type: 'ForOfStatement';

                                                                                                                                                                                                                                                                                                          interface ForStatement

                                                                                                                                                                                                                                                                                                          interface ForStatement extends Node {}

                                                                                                                                                                                                                                                                                                            property body

                                                                                                                                                                                                                                                                                                            body: Statement;

                                                                                                                                                                                                                                                                                                              property init

                                                                                                                                                                                                                                                                                                              init?: VariableDeclaration | Expression | null;

                                                                                                                                                                                                                                                                                                                property test

                                                                                                                                                                                                                                                                                                                test?: Expression | null;

                                                                                                                                                                                                                                                                                                                  property type

                                                                                                                                                                                                                                                                                                                  type: 'ForStatement';

                                                                                                                                                                                                                                                                                                                    property update

                                                                                                                                                                                                                                                                                                                    update?: Expression | null;

                                                                                                                                                                                                                                                                                                                      interface Function

                                                                                                                                                                                                                                                                                                                      interface Function extends Node {}

                                                                                                                                                                                                                                                                                                                        property async

                                                                                                                                                                                                                                                                                                                        async: boolean;

                                                                                                                                                                                                                                                                                                                          property body

                                                                                                                                                                                                                                                                                                                          body: BlockStatement | Expression;

                                                                                                                                                                                                                                                                                                                            property expression

                                                                                                                                                                                                                                                                                                                            expression: boolean;

                                                                                                                                                                                                                                                                                                                              property generator

                                                                                                                                                                                                                                                                                                                              generator: boolean;

                                                                                                                                                                                                                                                                                                                                property id

                                                                                                                                                                                                                                                                                                                                id?: Identifier | null;

                                                                                                                                                                                                                                                                                                                                  property params

                                                                                                                                                                                                                                                                                                                                  params: Array<Pattern>;

                                                                                                                                                                                                                                                                                                                                    interface FunctionDeclaration

                                                                                                                                                                                                                                                                                                                                    interface FunctionDeclaration extends Function {}

                                                                                                                                                                                                                                                                                                                                      property body

                                                                                                                                                                                                                                                                                                                                      body: BlockStatement;

                                                                                                                                                                                                                                                                                                                                        property id

                                                                                                                                                                                                                                                                                                                                        id: Identifier;

                                                                                                                                                                                                                                                                                                                                          property type

                                                                                                                                                                                                                                                                                                                                          type: 'FunctionDeclaration';

                                                                                                                                                                                                                                                                                                                                            interface FunctionExpression

                                                                                                                                                                                                                                                                                                                                            interface FunctionExpression extends Function {}

                                                                                                                                                                                                                                                                                                                                              property body

                                                                                                                                                                                                                                                                                                                                              body: BlockStatement;

                                                                                                                                                                                                                                                                                                                                                property type

                                                                                                                                                                                                                                                                                                                                                type: 'FunctionExpression';

                                                                                                                                                                                                                                                                                                                                                  interface Identifier

                                                                                                                                                                                                                                                                                                                                                  interface Identifier extends Node {}

                                                                                                                                                                                                                                                                                                                                                    property name

                                                                                                                                                                                                                                                                                                                                                    name: string;

                                                                                                                                                                                                                                                                                                                                                      property type

                                                                                                                                                                                                                                                                                                                                                      type: 'Identifier';

                                                                                                                                                                                                                                                                                                                                                        interface IfStatement

                                                                                                                                                                                                                                                                                                                                                        interface IfStatement extends Node {}

                                                                                                                                                                                                                                                                                                                                                          property alternate

                                                                                                                                                                                                                                                                                                                                                          alternate?: Statement | null;

                                                                                                                                                                                                                                                                                                                                                            property consequent

                                                                                                                                                                                                                                                                                                                                                            consequent: Statement;

                                                                                                                                                                                                                                                                                                                                                              property test

                                                                                                                                                                                                                                                                                                                                                              test: Expression;

                                                                                                                                                                                                                                                                                                                                                                property type

                                                                                                                                                                                                                                                                                                                                                                type: 'IfStatement';

                                                                                                                                                                                                                                                                                                                                                                  interface ImportDeclaration

                                                                                                                                                                                                                                                                                                                                                                  interface ImportDeclaration extends Node {}

                                                                                                                                                                                                                                                                                                                                                                    property source

                                                                                                                                                                                                                                                                                                                                                                    source: Literal;

                                                                                                                                                                                                                                                                                                                                                                      property specifiers

                                                                                                                                                                                                                                                                                                                                                                      specifiers: Array<
                                                                                                                                                                                                                                                                                                                                                                      ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier
                                                                                                                                                                                                                                                                                                                                                                      >;

                                                                                                                                                                                                                                                                                                                                                                        property type

                                                                                                                                                                                                                                                                                                                                                                        type: 'ImportDeclaration';

                                                                                                                                                                                                                                                                                                                                                                          interface ImportDefaultSpecifier

                                                                                                                                                                                                                                                                                                                                                                          interface ImportDefaultSpecifier extends Node {}

                                                                                                                                                                                                                                                                                                                                                                            property local

                                                                                                                                                                                                                                                                                                                                                                            local: Identifier;

                                                                                                                                                                                                                                                                                                                                                                              property type

                                                                                                                                                                                                                                                                                                                                                                              type: 'ImportDefaultSpecifier';

                                                                                                                                                                                                                                                                                                                                                                                interface ImportExpression

                                                                                                                                                                                                                                                                                                                                                                                interface ImportExpression extends Node {}

                                                                                                                                                                                                                                                                                                                                                                                  property source

                                                                                                                                                                                                                                                                                                                                                                                  source: Expression;

                                                                                                                                                                                                                                                                                                                                                                                    property type

                                                                                                                                                                                                                                                                                                                                                                                    type: 'ImportExpression';

                                                                                                                                                                                                                                                                                                                                                                                      interface ImportNamespaceSpecifier

                                                                                                                                                                                                                                                                                                                                                                                      interface ImportNamespaceSpecifier extends Node {}

                                                                                                                                                                                                                                                                                                                                                                                        property local

                                                                                                                                                                                                                                                                                                                                                                                        local: Identifier;

                                                                                                                                                                                                                                                                                                                                                                                          property type

                                                                                                                                                                                                                                                                                                                                                                                          type: 'ImportNamespaceSpecifier';

                                                                                                                                                                                                                                                                                                                                                                                            interface ImportSpecifier

                                                                                                                                                                                                                                                                                                                                                                                            interface ImportSpecifier extends Node {}

                                                                                                                                                                                                                                                                                                                                                                                              property imported

                                                                                                                                                                                                                                                                                                                                                                                              imported: Identifier | Literal;

                                                                                                                                                                                                                                                                                                                                                                                                property local

                                                                                                                                                                                                                                                                                                                                                                                                local: Identifier;

                                                                                                                                                                                                                                                                                                                                                                                                  property type

                                                                                                                                                                                                                                                                                                                                                                                                  type: 'ImportSpecifier';

                                                                                                                                                                                                                                                                                                                                                                                                    interface LabeledStatement

                                                                                                                                                                                                                                                                                                                                                                                                    interface LabeledStatement extends Node {}

                                                                                                                                                                                                                                                                                                                                                                                                      property body

                                                                                                                                                                                                                                                                                                                                                                                                      body: Statement;

                                                                                                                                                                                                                                                                                                                                                                                                        property label

                                                                                                                                                                                                                                                                                                                                                                                                        label: Identifier;

                                                                                                                                                                                                                                                                                                                                                                                                          property type

                                                                                                                                                                                                                                                                                                                                                                                                          type: 'LabeledStatement';

                                                                                                                                                                                                                                                                                                                                                                                                            interface Literal

                                                                                                                                                                                                                                                                                                                                                                                                            interface Literal extends Node {}

                                                                                                                                                                                                                                                                                                                                                                                                              property bigint

                                                                                                                                                                                                                                                                                                                                                                                                              bigint?: string;

                                                                                                                                                                                                                                                                                                                                                                                                                property raw

                                                                                                                                                                                                                                                                                                                                                                                                                raw?: string;

                                                                                                                                                                                                                                                                                                                                                                                                                  property regex

                                                                                                                                                                                                                                                                                                                                                                                                                  regex?: {
                                                                                                                                                                                                                                                                                                                                                                                                                  pattern: string;
                                                                                                                                                                                                                                                                                                                                                                                                                  flags: string;
                                                                                                                                                                                                                                                                                                                                                                                                                  };

                                                                                                                                                                                                                                                                                                                                                                                                                    property type

                                                                                                                                                                                                                                                                                                                                                                                                                    type: 'Literal';

                                                                                                                                                                                                                                                                                                                                                                                                                      property value

                                                                                                                                                                                                                                                                                                                                                                                                                      value?: string | boolean | null | number | RegExp | bigint;

                                                                                                                                                                                                                                                                                                                                                                                                                        interface LogicalExpression

                                                                                                                                                                                                                                                                                                                                                                                                                        interface LogicalExpression extends Node {}

                                                                                                                                                                                                                                                                                                                                                                                                                          property left

                                                                                                                                                                                                                                                                                                                                                                                                                          left: Expression;

                                                                                                                                                                                                                                                                                                                                                                                                                            property operator

                                                                                                                                                                                                                                                                                                                                                                                                                            operator: LogicalOperator;

                                                                                                                                                                                                                                                                                                                                                                                                                              property right

                                                                                                                                                                                                                                                                                                                                                                                                                              right: Expression;

                                                                                                                                                                                                                                                                                                                                                                                                                                property type

                                                                                                                                                                                                                                                                                                                                                                                                                                type: 'LogicalExpression';

                                                                                                                                                                                                                                                                                                                                                                                                                                  interface MemberExpression

                                                                                                                                                                                                                                                                                                                                                                                                                                  interface MemberExpression extends Node {}

                                                                                                                                                                                                                                                                                                                                                                                                                                    property computed

                                                                                                                                                                                                                                                                                                                                                                                                                                    computed: boolean;

                                                                                                                                                                                                                                                                                                                                                                                                                                      property object

                                                                                                                                                                                                                                                                                                                                                                                                                                      object: Expression | Super;

                                                                                                                                                                                                                                                                                                                                                                                                                                        property optional

                                                                                                                                                                                                                                                                                                                                                                                                                                        optional: boolean;

                                                                                                                                                                                                                                                                                                                                                                                                                                          property property

                                                                                                                                                                                                                                                                                                                                                                                                                                          property: Expression | PrivateIdentifier;

                                                                                                                                                                                                                                                                                                                                                                                                                                            property type

                                                                                                                                                                                                                                                                                                                                                                                                                                            type: 'MemberExpression';

                                                                                                                                                                                                                                                                                                                                                                                                                                              interface MetaProperty

                                                                                                                                                                                                                                                                                                                                                                                                                                              interface MetaProperty extends Node {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                property meta

                                                                                                                                                                                                                                                                                                                                                                                                                                                meta: Identifier;

                                                                                                                                                                                                                                                                                                                                                                                                                                                  property property

                                                                                                                                                                                                                                                                                                                                                                                                                                                  property: Identifier;

                                                                                                                                                                                                                                                                                                                                                                                                                                                    property type

                                                                                                                                                                                                                                                                                                                                                                                                                                                    type: 'MetaProperty';

                                                                                                                                                                                                                                                                                                                                                                                                                                                      interface MethodDefinition

                                                                                                                                                                                                                                                                                                                                                                                                                                                      interface MethodDefinition extends Node {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                        property computed

                                                                                                                                                                                                                                                                                                                                                                                                                                                        computed: boolean;

                                                                                                                                                                                                                                                                                                                                                                                                                                                          property key

                                                                                                                                                                                                                                                                                                                                                                                                                                                          key: Expression | PrivateIdentifier;

                                                                                                                                                                                                                                                                                                                                                                                                                                                            property kind

                                                                                                                                                                                                                                                                                                                                                                                                                                                            kind: 'constructor' | 'method' | 'get' | 'set';

                                                                                                                                                                                                                                                                                                                                                                                                                                                              property static

                                                                                                                                                                                                                                                                                                                                                                                                                                                              static: boolean;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                property type

                                                                                                                                                                                                                                                                                                                                                                                                                                                                type: 'MethodDefinition';

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  property value

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  value: FunctionExpression;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                    interface NewExpression

                                                                                                                                                                                                                                                                                                                                                                                                                                                                    interface NewExpression extends Node {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      property arguments

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      arguments: Array<Expression | SpreadElement>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        property callee

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        callee: Expression;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          property type

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          type: 'NewExpression';

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            interface Node

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            interface Node {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                              property end

                                                                                                                                                                                                                                                                                                                                                                                                                                                                              end: number;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                property loc

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                loc?: SourceLocation | null;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  property range

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  range?: [number, number];

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    property start

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    start: number;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      property type

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      type: string;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        interface ObjectExpression

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        interface ObjectExpression extends Node {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          property properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          properties: Array<Property | SpreadElement>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            property type

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            type: 'ObjectExpression';

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              interface ObjectPattern

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              interface ObjectPattern extends Node {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                property properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                properties: Array<AssignmentProperty | RestElement>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  property type

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  type: 'ObjectPattern';

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    interface Options

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    interface Options {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      property allowAwaitOutsideFunction

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      allowAwaitOutsideFunction?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • By default, await identifiers are allowed to appear at the top-level scope only if ecmaVersion >= 2022. When enabled, await identifiers are allowed to appear at the top-level scope, but they are still not allowed in non-async functions.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      property allowHashBang

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      allowHashBang?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • When enabled, hashbang directive in the beginning of file is allowed and treated as a line comment. Enabled by default when ecmaVersion >= 2023.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      property allowImportExportEverywhere

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      allowImportExportEverywhere?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • When enabled, import/export statements are not constrained to appearing at the top of the program, and an import.meta expression in a script isn't considered an error.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      property allowReserved

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      allowReserved?: boolean | 'never';
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • By default, reserved words are only enforced if ecmaVersion >= 5. Set allowReserved to a boolean value to explicitly turn this on an off. When this option has the value "never", reserved words and keywords can also not be used as property names.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      property allowReturnOutsideFunction

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      allowReturnOutsideFunction?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • When enabled, a return at the top level is not considered an error.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      property allowSuperOutsideMethod

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      allowSuperOutsideMethod?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • When enabled, super identifiers are not constrained to appearing in methods and do not raise an error when they appear elsewhere.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      property checkPrivateFields

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      checkPrivateFields?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • By default, the parser will verify that private properties are only used in places where they are valid and have been declared. Set this to false to turn such checks off.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      property directSourceFile

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      directSourceFile?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • This value, if given, is stored in every node, whether locations is on or off.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      property ecmaVersion

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ecmaVersion: ecmaVersion;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • ecmaVersion indicates the ECMAScript version to parse. Can be a number, either in year (2022) or plain version number (6) form, or "latest" (the latest the library supports). This influences support for strict mode, the set of reserved words, and support for new syntax features.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      property locations

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      locations?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • When locations is on, loc properties holding objects with start and end properties as Position objects will be attached to the nodes.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      property onComment

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      onComment?:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | ((
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      isBlock: boolean,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      text: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      start: number,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      end: number,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      startLoc?: Position,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      endLoc?: Position
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ) => void)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | Comment[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • This takes a export function or an array.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        When a export function is passed, Acorn will call that export function with `(block, text, start, end) parameters whenever a comment is skipped. block` is a boolean indicating whether this is a block (/* *\/) comment, text is the content of the comment, and start and end are character offsets that denote the start and end of the comment. When the locations option is on, two more parameters are passed, the full locations of Position export type of the start and end of the comments.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        When a array is passed, each found comment of Comment export type is pushed to the array.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Note that you are not allowed to call the parser from the callback—that will corrupt its internal state.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      property onInsertedSemicolon

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      onInsertedSemicolon?: (lastTokEnd: number, lastTokEndLoc?: Position) => void;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • a callback that will be called when a semicolon is automatically inserted.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Parameter lastTokEnd

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        the position of the comma as an offset

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Parameter lastTokEndLoc

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        location if locations is enabled

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      property onToken

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      onToken?: ((token: Token) => void) | Token[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • a callback that will cause Acorn to call that export function with object in the same format as tokens returned from tokenizer().getToken(). Note that you are not allowed to call the parser from the callback—that will corrupt its internal state.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      property onTrailingComma

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      onTrailingComma?: (lastTokEnd: number, lastTokEndLoc?: Position) => void;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • similar to onInsertedSemicolon, but for trailing commas

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Parameter lastTokEnd

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        the position of the comma as an offset

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Parameter lastTokEndLoc

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        location if locations is enabled

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      property preserveParens

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      preserveParens?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • When enabled, parenthesized expressions are represented by (non-standard) ParenthesizedExpression nodes

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      property program

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      program?: Node;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • It is possible to parse multiple files into a single AST by passing the tree produced by parsing the first file as program option in subsequent parses. This will add the toplevel forms of the parsed file to the Program (top) node of an existing parse tree.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      property ranges

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ranges?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Nodes have their start and end characters offsets recorded in start and end properties (directly on the node, rather than the loc object, which holds line/column data. To also add a [semi-standardized][range] range property holding a `[start, end] array with the same numbers, set the ranges` option to true.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      property sourceFile

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      sourceFile?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • When locations is on, you can pass this to record the source file in every node's loc object.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      property sourceType

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      sourceType?: 'script' | 'module';
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • sourceType indicates the mode the code should be parsed in. Can be either "script" or "module". This influences global strict mode and parsing of import and export declarations.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      interface ParenthesizedExpression

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      interface ParenthesizedExpression extends Node {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        property expression

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        expression: Expression;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          property type

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          type: 'ParenthesizedExpression';

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            interface Position

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            interface Position {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              property column

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              column: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • 0-based

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              property line

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              line: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • 1-based

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              interface PrivateIdentifier

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              interface PrivateIdentifier extends Node {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                property name

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                name: string;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  property type

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  type: 'PrivateIdentifier';

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    interface Program

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    interface Program extends Node {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      property body

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      body: Array<Statement | ModuleDeclaration>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        property sourceType

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        sourceType: 'script' | 'module';

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          property type

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          type: 'Program';

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            interface Property

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            interface Property extends Node {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              property computed

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              computed: boolean;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                property key

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                key: Expression;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  property kind

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  kind: 'init' | 'get' | 'set';

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    property method

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    method: boolean;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      property shorthand

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      shorthand: boolean;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        property type

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        type: 'Property';

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          property value

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          value: Expression;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            interface PropertyDefinition

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            interface PropertyDefinition extends Node {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              property computed

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              computed: boolean;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                property key

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                key: Expression | PrivateIdentifier;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  property static

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  static: boolean;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    property type

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    type: 'PropertyDefinition';

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      property value

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      value?: Expression | null;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        interface RestElement

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        interface RestElement extends Node {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          property argument

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          argument: Pattern;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            property type

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            type: 'RestElement';

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              interface ReturnStatement

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              interface ReturnStatement extends Node {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                property argument

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                argument?: Expression | null;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  property type

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  type: 'ReturnStatement';

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    interface SequenceExpression

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    interface SequenceExpression extends Node {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      property expressions

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      expressions: Array<Expression>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        property type

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        type: 'SequenceExpression';

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          interface SourceLocation

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          interface SourceLocation {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            property end

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            end: Position;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              property source

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              source?: string | null;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                property start

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                start: Position;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  interface SpreadElement

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  interface SpreadElement extends Node {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    property argument

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    argument: Expression;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      property type

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      type: 'SpreadElement';

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        interface StaticBlock

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        interface StaticBlock extends Node {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          property body

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          body: Array<Statement>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            property type

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            type: 'StaticBlock';

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              interface Super

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              interface Super extends Node {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                property type

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                type: 'Super';

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  interface SwitchCase

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  interface SwitchCase extends Node {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    property consequent

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    consequent: Array<Statement>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      property test

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      test?: Expression | null;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        property type

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        type: 'SwitchCase';

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          interface SwitchStatement

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          interface SwitchStatement extends Node {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            property cases

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            cases: Array<SwitchCase>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              property discriminant

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              discriminant: Expression;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                property type

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                type: 'SwitchStatement';

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  interface TaggedTemplateExpression

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  interface TaggedTemplateExpression extends Node {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    property quasi

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    quasi: TemplateLiteral;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      property tag

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      tag: Expression;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        property type

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        type: 'TaggedTemplateExpression';

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          interface TemplateElement

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          interface TemplateElement extends Node {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            property tail

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            tail: boolean;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              property type

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              type: 'TemplateElement';

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                property value

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                value: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                cooked?: string | null;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                raw: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                };

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  interface TemplateLiteral

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  interface TemplateLiteral extends Node {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    property expressions

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    expressions: Array<Expression>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      property quasis

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      quasis: Array<TemplateElement>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        property type

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        type: 'TemplateLiteral';

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          interface ThisExpression

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          interface ThisExpression extends Node {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            property type

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            type: 'ThisExpression';

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              interface ThrowStatement

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              interface ThrowStatement extends Node {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                property argument

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                argument: Expression;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  property type

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  type: 'ThrowStatement';

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    interface TryStatement

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    interface TryStatement extends Node {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      property block

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      block: BlockStatement;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        property finalizer

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        finalizer?: BlockStatement | null;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          property handler

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          handler?: CatchClause | null;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            property type

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            type: 'TryStatement';

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              interface UnaryExpression

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              interface UnaryExpression extends Node {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                property argument

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                argument: Expression;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  property operator

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  operator: UnaryOperator;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    property prefix

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    prefix: boolean;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      property type

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      type: 'UnaryExpression';

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        interface UpdateExpression

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        interface UpdateExpression extends Node {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          property argument

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          argument: Expression;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            property operator

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            operator: UpdateOperator;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              property prefix

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              prefix: boolean;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                property type

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                type: 'UpdateExpression';

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  interface VariableDeclaration

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  interface VariableDeclaration extends Node {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    property declarations

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    declarations: Array<VariableDeclarator>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      property kind

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      kind: 'var' | 'let' | 'const';

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        property type

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        type: 'VariableDeclaration';

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          interface VariableDeclarator

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          interface VariableDeclarator extends Node {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            property id

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            id: Pattern;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              property init

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              init?: Expression | null;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                property type

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                type: 'VariableDeclarator';

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  interface WhileStatement

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  interface WhileStatement extends Node {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    property body

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    body: Statement;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      property test

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      test: Expression;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        property type

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        type: 'WhileStatement';

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          interface WithStatement

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          interface WithStatement extends Node {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            property body

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            body: Statement;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              property object

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              object: Expression;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                property type

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                type: 'WithStatement';

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  interface YieldExpression

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  interface YieldExpression extends Node {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    property argument

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    argument?: Expression | null;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      property delegate

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      delegate: boolean;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        property type

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        type: 'YieldExpression';

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Type Aliases

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          type AnyNode

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          type AnyNode =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | Statement
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | Expression
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | Declaration
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | ModuleDeclaration
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | Literal
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | Program
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | SwitchCase
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | CatchClause
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | Property
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | Super
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | SpreadElement
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | TemplateElement
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | AssignmentProperty
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | ObjectPattern
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | ArrayPattern
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | RestElement
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | AssignmentPattern
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | ClassBody
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | MethodDefinition
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | MetaProperty
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | ImportSpecifier
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | ImportDefaultSpecifier
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | ImportNamespaceSpecifier
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | ExportSpecifier
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | AnonymousFunctionDeclaration
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | AnonymousClassDeclaration
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | PropertyDefinition
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | PrivateIdentifier
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | StaticBlock
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | VariableDeclarator;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            type AssignmentOperator

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            type AssignmentOperator =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | '='
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | '+='
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | '-='
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | '*='
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | '/='
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | '%='
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | '<<='
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | '>>='
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | '>>>='
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | '|='
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | '^='
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | '&='
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | '**='
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | '||='
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | '&&='
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | '??=';

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              type BinaryOperator

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              type BinaryOperator =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | '=='
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | '!='
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | '==='
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | '!=='
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | '<'
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | '<='
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | '>'
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | '>='
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | '<<'
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | '>>'
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | '>>>'
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | '+'
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | '-'
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | '*'
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | '/'
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | '%'
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | '|'
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | '^'
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | '&'
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | 'in'
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | 'instanceof'
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | '**';

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                type Declaration

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                type Declaration = FunctionDeclaration | VariableDeclaration | ClassDeclaration;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  type ecmaVersion

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  type ecmaVersion =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 3
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 5
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 6
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 7
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 8
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 9
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 10
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 11
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 12
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 13
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 14
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 15
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 16
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 2015
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 2016
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 2017
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 2018
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 2019
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 2020
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 2021
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 2022
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 2023
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 2024
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 2025
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 'latest';

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    type Expression

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    type Expression =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | Identifier
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | Literal
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | ThisExpression
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | ArrayExpression
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | ObjectExpression
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | FunctionExpression
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | UnaryExpression
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | UpdateExpression
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | BinaryExpression
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | AssignmentExpression
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | LogicalExpression
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | MemberExpression
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | ConditionalExpression
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | CallExpression
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | NewExpression
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | SequenceExpression
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | ArrowFunctionExpression
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | YieldExpression
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | TemplateLiteral
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | TaggedTemplateExpression
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | ClassExpression
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | MetaProperty
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | AwaitExpression
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | ChainExpression
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | ImportExpression
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | ParenthesizedExpression;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      type LogicalOperator

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      type LogicalOperator = '||' | '&&' | '??';

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        type ModuleDeclaration

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        type ModuleDeclaration =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | ImportDeclaration
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | ExportNamedDeclaration
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | ExportDefaultDeclaration
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | ExportAllDeclaration;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          type Pattern

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          type Pattern =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | Identifier
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | MemberExpression
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | ObjectPattern
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | ArrayPattern
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | RestElement
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | AssignmentPattern;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            type Statement

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            type Statement =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | ExpressionStatement
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | BlockStatement
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | EmptyStatement
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | DebuggerStatement
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | WithStatement
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | ReturnStatement
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | LabeledStatement
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | BreakStatement
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | ContinueStatement
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | IfStatement
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | SwitchStatement
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | ThrowStatement
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | TryStatement
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | WhileStatement
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | DoWhileStatement
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | ForStatement
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | ForInStatement
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | ForOfStatement
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | Declaration;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              type UnaryOperator

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              type UnaryOperator = '-' | '+' | '!' | '~' | 'typeof' | 'void' | 'delete';

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                type UpdateOperator

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                type UpdateOperator = '++' | '--';

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Package Files (1)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Dependencies (0)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  No dependencies.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Dev Dependencies (0)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  No dev dependencies.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Peer Dependencies (0)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  No peer dependencies.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Badge

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  To add a badge like this onejsDocs.io badgeto your package's README, use the codes available below.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  You may also use Shields.io to create a custom badge linking to https://www.jsdocs.io/package/acorn.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Markdown
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    [![jsDocs.io](https://img.shields.io/badge/jsDocs.io-reference-blue)](https://www.jsdocs.io/package/acorn)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • HTML
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <a href="https://www.jsdocs.io/package/acorn"><img src="https://img.shields.io/badge/jsDocs.io-reference-blue" alt="jsDocs.io"></a>