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 [
                JsPropertyClassMember {
                    modifiers: JsPropertyModifierList [
                        JsStaticModifier {
                            modifier_token: STATIC_KW@9..19 "static" [Newline("\n"), Whitespace("  ")] [Whitespace(" ")],
                        },
                    ],
                    name: JsLiteralMemberName {
                        value: IDENT@19..20 "a" [] [],
                    },
                    property_annotation: missing (optional),
                    value: missing (optional),
                    semicolon_token: SEMICOLON@20..21 ";" [] [],
                },
                JsStaticInitializationBlockClassMember {
                    static_token: STATIC_KW@21..31 "static" [Newline("\n"), Whitespace("  ")] [Whitespace(" ")],
                    l_curly_token: L_CURLY@31..32 "{" [] [],
                    statements: JsStatementList [
                        JsExpressionStatement {
                            expression: JsAssignmentExpression {
                                left: JsStaticMemberAssignment {
                                    object: JsThisExpression {
                                        this_token: THIS_KW@32..41 "this" [Newline("\n"), Whitespace("    ")] [],
                                    },
                                    dot_token: DOT@41..42 "." [] [],
                                    member: JsName {
                                        value_token: IDENT@42..44 "a" [] [Whitespace(" ")],
                                    },
                                },
                                operator_token: EQ@44..46 "=" [] [Whitespace(" ")],
                                right: JsStringLiteralExpression {
                                    value_token: JS_STRING_LITERAL@46..52 "\"test\"" [] [],
                                },
                            },
                            semicolon_token: SEMICOLON@52..53 ";" [] [],
                        },
                    ],
                    r_curly_token: R_CURLY@53..57 "}" [Newline("\n"), Whitespace("  ")] [],
                },
            ],
            r_curly_token: R_CURLY@57..59 "}" [Newline("\n")] [],
        },
    ],
    eof_token: EOF@59..60 "" [Newline("\n")] [],
}

0: JS_MODULE@0..60
  0: (empty)
  1: (empty)
  2: JS_DIRECTIVE_LIST@0..0
  3: JS_MODULE_ITEM_LIST@0..59
    0: JS_CLASS_DECLARATION@0..59
      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..57
        0: JS_PROPERTY_CLASS_MEMBER@9..21
          0: JS_PROPERTY_MODIFIER_LIST@9..19
            0: JS_STATIC_MODIFIER@9..19
              0: STATIC_KW@9..19 "static" [Newline("\n"), Whitespace("  ")] [Whitespace(" ")]
          1: JS_LITERAL_MEMBER_NAME@19..20
            0: IDENT@19..20 "a" [] []
          2: (empty)
          3: (empty)
          4: SEMICOLON@20..21 ";" [] []
        1: JS_STATIC_INITIALIZATION_BLOCK_CLASS_MEMBER@21..57
          0: STATIC_KW@21..31 "static" [Newline("\n"), Whitespace("  ")] [Whitespace(" ")]
          1: L_CURLY@31..32 "{" [] []
          2: JS_STATEMENT_LIST@32..53
            0: JS_EXPRESSION_STATEMENT@32..53
              0: JS_ASSIGNMENT_EXPRESSION@32..52
                0: JS_STATIC_MEMBER_ASSIGNMENT@32..44
                  0: JS_THIS_EXPRESSION@32..41
                    0: THIS_KW@32..41 "this" [Newline("\n"), Whitespace("    ")] []
                  1: DOT@41..42 "." [] []
                  2: JS_NAME@42..44
                    0: IDENT@42..44 "a" [] [Whitespace(" ")]
                1: EQ@44..46 "=" [] [Whitespace(" ")]
                2: JS_STRING_LITERAL_EXPRESSION@46..52
                  0: JS_STRING_LITERAL@46..52 "\"test\"" [] []
              1: SEMICOLON@52..53 ";" [] []
          3: R_CURLY@53..57 "}" [Newline("\n"), Whitespace("  ")] []
      9: R_CURLY@57..59 "}" [Newline("\n")] []
  4: EOF@59..60 "" [Newline("\n")] []