biome_js_parser 0.5.7

Biome's JavaScript parser
Documentation
JsModule {
    bom_token: missing (optional),
    interpreter_token: missing (optional),
    directives: JsDirectiveList [],
    items: JsModuleItemList [
        JsClassDeclaration {
            decorators: JsDecoratorList [],
            abstract_token: missing (optional),
            class_token: CLASS_KW@0..6 "class" [] [Whitespace(" ")],
            id: JsIdentifierBinding {
                name_token: IDENT@6..8 "A" [] [Whitespace(" ")],
            },
            type_parameters: missing (optional),
            extends_clause: missing (optional),
            implements_clause: missing (optional),
            l_curly_token: L_CURLY@8..9 "{" [] [],
            members: JsClassMemberList [
                JsConstructorClassMember {
                    modifiers: JsConstructorModifierList [],
                    name: JsLiteralMemberName {
                        value: IDENT@9..23 "constructor" [Newline("\n"), Whitespace("  ")] [],
                    },
                    parameters: JsConstructorParameters {
                        l_paren_token: L_PAREN@23..24 "(" [] [],
                        parameters: JsConstructorParameterList [],
                        r_paren_token: R_PAREN@24..26 ")" [] [Whitespace(" ")],
                    },
                    body: JsFunctionBody {
                        l_curly_token: L_CURLY@26..27 "{" [] [],
                        directives: JsDirectiveList [],
                        statements: JsStatementList [
                            JsExpressionStatement {
                                expression: JsArrowFunctionExpression {
                                    async_token: missing (optional),
                                    type_parameters: missing (optional),
                                    parameters: JsParameters {
                                        l_paren_token: L_PAREN@27..33 "(" [Newline("\n"), Whitespace("    ")] [],
                                        items: JsParameterList [],
                                        r_paren_token: R_PAREN@33..35 ")" [] [Whitespace(" ")],
                                    },
                                    return_type_annotation: missing (optional),
                                    fat_arrow_token: FAT_ARROW@35..38 "=>" [] [Whitespace(" ")],
                                    body: JsFunctionBody {
                                        l_curly_token: L_CURLY@38..40 "{" [] [Whitespace(" ")],
                                        directives: JsDirectiveList [],
                                        statements: JsStatementList [
                                            JsExpressionStatement {
                                                expression: JsCallExpression {
                                                    callee: JsSuperExpression {
                                                        super_token: SUPER_KW@40..45 "super" [] [],
                                                    },
                                                    optional_chain_token: missing (optional),
                                                    type_arguments: missing (optional),
                                                    arguments: JsCallArguments {
                                                        l_paren_token: L_PAREN@45..46 "(" [] [],
                                                        args: JsCallArgumentList [],
                                                        r_paren_token: R_PAREN@46..48 ")" [] [Whitespace(" ")],
                                                    },
                                                },
                                                semicolon_token: missing (optional),
                                            },
                                        ],
                                        r_curly_token: R_CURLY@48..49 "}" [] [],
                                    },
                                },
                                semicolon_token: SEMICOLON@49..50 ";" [] [],
                            },
                            JsExpressionStatement {
                                expression: JsArrowFunctionExpression {
                                    async_token: missing (optional),
                                    type_parameters: missing (optional),
                                    parameters: JsParameters {
                                        l_paren_token: L_PAREN@50..56 "(" [Newline("\n"), Whitespace("    ")] [],
                                        items: JsParameterList [],
                                        r_paren_token: R_PAREN@56..58 ")" [] [Whitespace(" ")],
                                    },
                                    return_type_annotation: missing (optional),
                                    fat_arrow_token: FAT_ARROW@58..61 "=>" [] [Whitespace(" ")],
                                    body: JsCallExpression {
                                        callee: JsSuperExpression {
                                            super_token: SUPER_KW@61..66 "super" [] [],
                                        },
                                        optional_chain_token: missing (optional),
                                        type_arguments: missing (optional),
                                        arguments: JsCallArguments {
                                            l_paren_token: L_PAREN@66..67 "(" [] [],
                                            args: JsCallArgumentList [],
                                            r_paren_token: R_PAREN@67..68 ")" [] [],
                                        },
                                    },
                                },
                                semicolon_token: SEMICOLON@68..69 ";" [] [],
                            },
                        ],
                        r_curly_token: R_CURLY@69..72 "}" [Newline("\n"), Whitespace(" ")] [],
                    },
                },
            ],
            r_curly_token: R_CURLY@72..74 "}" [Newline("\n")] [],
        },
    ],
    eof_token: EOF@74..75 "" [Newline("\n")] [],
}

0: JS_MODULE@0..75
  0: (empty)
  1: (empty)
  2: JS_DIRECTIVE_LIST@0..0
  3: JS_MODULE_ITEM_LIST@0..74
    0: JS_CLASS_DECLARATION@0..74
      0: JS_DECORATOR_LIST@0..0
      1: (empty)
      2: CLASS_KW@0..6 "class" [] [Whitespace(" ")]
      3: JS_IDENTIFIER_BINDING@6..8
        0: IDENT@6..8 "A" [] [Whitespace(" ")]
      4: (empty)
      5: (empty)
      6: (empty)
      7: L_CURLY@8..9 "{" [] []
      8: JS_CLASS_MEMBER_LIST@9..72
        0: JS_CONSTRUCTOR_CLASS_MEMBER@9..72
          0: JS_CONSTRUCTOR_MODIFIER_LIST@9..9
          1: JS_LITERAL_MEMBER_NAME@9..23
            0: IDENT@9..23 "constructor" [Newline("\n"), Whitespace("  ")] []
          2: JS_CONSTRUCTOR_PARAMETERS@23..26
            0: L_PAREN@23..24 "(" [] []
            1: JS_CONSTRUCTOR_PARAMETER_LIST@24..24
            2: R_PAREN@24..26 ")" [] [Whitespace(" ")]
          3: JS_FUNCTION_BODY@26..72
            0: L_CURLY@26..27 "{" [] []
            1: JS_DIRECTIVE_LIST@27..27
            2: JS_STATEMENT_LIST@27..69
              0: JS_EXPRESSION_STATEMENT@27..50
                0: JS_ARROW_FUNCTION_EXPRESSION@27..49
                  0: (empty)
                  1: (empty)
                  2: JS_PARAMETERS@27..35
                    0: L_PAREN@27..33 "(" [Newline("\n"), Whitespace("    ")] []
                    1: JS_PARAMETER_LIST@33..33
                    2: R_PAREN@33..35 ")" [] [Whitespace(" ")]
                  3: (empty)
                  4: FAT_ARROW@35..38 "=>" [] [Whitespace(" ")]
                  5: JS_FUNCTION_BODY@38..49
                    0: L_CURLY@38..40 "{" [] [Whitespace(" ")]
                    1: JS_DIRECTIVE_LIST@40..40
                    2: JS_STATEMENT_LIST@40..48
                      0: JS_EXPRESSION_STATEMENT@40..48
                        0: JS_CALL_EXPRESSION@40..48
                          0: JS_SUPER_EXPRESSION@40..45
                            0: SUPER_KW@40..45 "super" [] []
                          1: (empty)
                          2: (empty)
                          3: JS_CALL_ARGUMENTS@45..48
                            0: L_PAREN@45..46 "(" [] []
                            1: JS_CALL_ARGUMENT_LIST@46..46
                            2: R_PAREN@46..48 ")" [] [Whitespace(" ")]
                        1: (empty)
                    3: R_CURLY@48..49 "}" [] []
                1: SEMICOLON@49..50 ";" [] []
              1: JS_EXPRESSION_STATEMENT@50..69
                0: JS_ARROW_FUNCTION_EXPRESSION@50..68
                  0: (empty)
                  1: (empty)
                  2: JS_PARAMETERS@50..58
                    0: L_PAREN@50..56 "(" [Newline("\n"), Whitespace("    ")] []
                    1: JS_PARAMETER_LIST@56..56
                    2: R_PAREN@56..58 ")" [] [Whitespace(" ")]
                  3: (empty)
                  4: FAT_ARROW@58..61 "=>" [] [Whitespace(" ")]
                  5: JS_CALL_EXPRESSION@61..68
                    0: JS_SUPER_EXPRESSION@61..66
                      0: SUPER_KW@61..66 "super" [] []
                    1: (empty)
                    2: (empty)
                    3: JS_CALL_ARGUMENTS@66..68
                      0: L_PAREN@66..67 "(" [] []
                      1: JS_CALL_ARGUMENT_LIST@67..67
                      2: R_PAREN@67..68 ")" [] []
                1: SEMICOLON@68..69 ";" [] []
            3: R_CURLY@69..72 "}" [Newline("\n"), Whitespace(" ")] []
      9: R_CURLY@72..74 "}" [Newline("\n")] []
  4: EOF@74..75 "" [Newline("\n")] []