biome_js_parser 0.5.7

Biome's JavaScript parser
Documentation
JsModule {
    bom_token: missing (optional),
    interpreter_token: missing (optional),
    directives: JsDirectiveList [],
    items: JsModuleItemList [
        JsExpressionStatement {
            expression: JsStaticMemberExpression {
                object: JsIdentifierExpression {
                    name: JsReferenceIdentifier {
                        value_token: IDENT@0..3 "foo" [] [],
                    },
                },
                operator_token: DOT@3..4 "." [] [],
                member: JsName {
                    value_token: IDENT@4..7 "bar" [] [],
                },
            },
            semicolon_token: missing (optional),
        },
        JsExpressionStatement {
            expression: JsStaticMemberExpression {
                object: JsIdentifierExpression {
                    name: JsReferenceIdentifier {
                        value_token: IDENT@7..11 "foo" [Newline("\n")] [],
                    },
                },
                operator_token: DOT@11..12 "." [] [],
                member: JsName {
                    value_token: IDENT@12..17 "await" [] [],
                },
            },
            semicolon_token: missing (optional),
        },
        JsExpressionStatement {
            expression: JsStaticMemberExpression {
                object: JsIdentifierExpression {
                    name: JsReferenceIdentifier {
                        value_token: IDENT@17..21 "foo" [Newline("\n")] [],
                    },
                },
                operator_token: DOT@21..22 "." [] [],
                member: JsName {
                    value_token: IDENT@22..27 "yield" [] [],
                },
            },
            semicolon_token: missing (optional),
        },
        JsExpressionStatement {
            expression: JsStaticMemberExpression {
                object: JsIdentifierExpression {
                    name: JsReferenceIdentifier {
                        value_token: IDENT@27..31 "foo" [Newline("\n")] [],
                    },
                },
                operator_token: DOT@31..32 "." [] [],
                member: JsName {
                    value_token: IDENT@32..35 "for" [] [],
                },
            },
            semicolon_token: missing (optional),
        },
        JsExpressionStatement {
            expression: JsStaticMemberExpression {
                object: JsIdentifierExpression {
                    name: JsReferenceIdentifier {
                        value_token: IDENT@35..39 "foo" [Newline("\n")] [],
                    },
                },
                operator_token: QUESTIONDOT@39..41 "?." [] [],
                member: JsName {
                    value_token: IDENT@41..44 "for" [] [],
                },
            },
            semicolon_token: missing (optional),
        },
        JsExpressionStatement {
            expression: JsStaticMemberExpression {
                object: JsIdentifierExpression {
                    name: JsReferenceIdentifier {
                        value_token: IDENT@44..48 "foo" [Newline("\n")] [],
                    },
                },
                operator_token: QUESTIONDOT@48..50 "?." [] [],
                member: JsName {
                    value_token: IDENT@50..53 "bar" [] [],
                },
            },
            semicolon_token: missing (optional),
        },
        JsClassDeclaration {
            decorators: JsDecoratorList [],
            abstract_token: missing (optional),
            class_token: CLASS_KW@53..60 "class" [Newline("\n")] [Whitespace(" ")],
            id: JsIdentifierBinding {
                name_token: IDENT@60..65 "Test" [] [Whitespace(" ")],
            },
            type_parameters: missing (optional),
            extends_clause: missing (optional),
            implements_clause: missing (optional),
            l_curly_token: L_CURLY@65..66 "{" [] [],
            members: JsClassMemberList [
                JsPropertyClassMember {
                    modifiers: JsPropertyModifierList [],
                    name: JsPrivateClassMemberName {
                        hash_token: HASH@66..70 "#" [Newline("\n"), Whitespace("  ")] [],
                        id_token: IDENT@70..73 "bar" [] [],
                    },
                    property_annotation: missing (optional),
                    value: missing (optional),
                    semicolon_token: missing (optional),
                },
                JsMethodClassMember {
                    modifiers: JsMethodModifierList [],
                    async_token: missing (optional),
                    star_token: missing (optional),
                    name: JsLiteralMemberName {
                        value: IDENT@73..80 "test" [Newline("\n"), Whitespace("  ")] [],
                    },
                    question_mark_token: missing (optional),
                    type_parameters: missing (optional),
                    parameters: JsParameters {
                        l_paren_token: L_PAREN@80..81 "(" [] [],
                        items: JsParameterList [
                            JsFormalParameter {
                                decorators: JsDecoratorList [],
                                binding: JsIdentifierBinding {
                                    name_token: IDENT@81..86 "other" [] [],
                                },
                                question_mark_token: missing (optional),
                                type_annotation: missing (optional),
                                initializer: missing (optional),
                            },
                        ],
                        r_paren_token: R_PAREN@86..88 ")" [] [Whitespace(" ")],
                    },
                    return_type_annotation: missing (optional),
                    body: JsFunctionBody {
                        l_curly_token: L_CURLY@88..89 "{" [] [],
                        directives: JsDirectiveList [],
                        statements: JsStatementList [
                            JsExpressionStatement {
                                expression: JsStaticMemberExpression {
                                    object: JsThisExpression {
                                        this_token: THIS_KW@89..98 "this" [Newline("\n"), Whitespace("    ")] [],
                                    },
                                    operator_token: DOT@98..99 "." [] [],
                                    member: JsPrivateName {
                                        hash_token: HASH@99..100 "#" [] [],
                                        value_token: IDENT@100..103 "bar" [] [],
                                    },
                                },
                                semicolon_token: SEMICOLON@103..104 ";" [] [],
                            },
                            JsExpressionStatement {
                                expression: JsStaticMemberExpression {
                                    object: JsThisExpression {
                                        this_token: THIS_KW@104..113 "this" [Newline("\n"), Whitespace("    ")] [],
                                    },
                                    operator_token: QUESTIONDOT@113..115 "?." [] [],
                                    member: JsPrivateName {
                                        hash_token: HASH@115..116 "#" [] [],
                                        value_token: IDENT@116..119 "bar" [] [],
                                    },
                                },
                                semicolon_token: SEMICOLON@119..120 ";" [] [],
                            },
                            JsExpressionStatement {
                                expression: JsStaticMemberExpression {
                                    object: JsIdentifierExpression {
                                        name: JsReferenceIdentifier {
                                            value_token: IDENT@120..130 "other" [Newline("\n"), Whitespace("    ")] [],
                                        },
                                    },
                                    operator_token: DOT@130..131 "." [] [],
                                    member: JsPrivateName {
                                        hash_token: HASH@131..132 "#" [] [],
                                        value_token: IDENT@132..135 "bar" [] [],
                                    },
                                },
                                semicolon_token: SEMICOLON@135..136 ";" [] [],
                            },
                            JsExpressionStatement {
                                expression: JsStaticMemberExpression {
                                    object: JsIdentifierExpression {
                                        name: JsReferenceIdentifier {
                                            value_token: IDENT@136..146 "other" [Newline("\n"), Whitespace("    ")] [],
                                        },
                                    },
                                    operator_token: QUESTIONDOT@146..148 "?." [] [],
                                    member: JsPrivateName {
                                        hash_token: HASH@148..149 "#" [] [],
                                        value_token: IDENT@149..152 "bar" [] [],
                                    },
                                },
                                semicolon_token: SEMICOLON@152..153 ";" [] [],
                            },
                        ],
                        r_curly_token: R_CURLY@153..157 "}" [Newline("\n"), Whitespace("  ")] [],
                    },
                },
            ],
            r_curly_token: R_CURLY@157..159 "}" [Newline("\n")] [],
        },
    ],
    eof_token: EOF@159..160 "" [Newline("\n")] [],
}

0: JS_MODULE@0..160
  0: (empty)
  1: (empty)
  2: JS_DIRECTIVE_LIST@0..0
  3: JS_MODULE_ITEM_LIST@0..159
    0: JS_EXPRESSION_STATEMENT@0..7
      0: JS_STATIC_MEMBER_EXPRESSION@0..7
        0: JS_IDENTIFIER_EXPRESSION@0..3
          0: JS_REFERENCE_IDENTIFIER@0..3
            0: IDENT@0..3 "foo" [] []
        1: DOT@3..4 "." [] []
        2: JS_NAME@4..7
          0: IDENT@4..7 "bar" [] []
      1: (empty)
    1: JS_EXPRESSION_STATEMENT@7..17
      0: JS_STATIC_MEMBER_EXPRESSION@7..17
        0: JS_IDENTIFIER_EXPRESSION@7..11
          0: JS_REFERENCE_IDENTIFIER@7..11
            0: IDENT@7..11 "foo" [Newline("\n")] []
        1: DOT@11..12 "." [] []
        2: JS_NAME@12..17
          0: IDENT@12..17 "await" [] []
      1: (empty)
    2: JS_EXPRESSION_STATEMENT@17..27
      0: JS_STATIC_MEMBER_EXPRESSION@17..27
        0: JS_IDENTIFIER_EXPRESSION@17..21
          0: JS_REFERENCE_IDENTIFIER@17..21
            0: IDENT@17..21 "foo" [Newline("\n")] []
        1: DOT@21..22 "." [] []
        2: JS_NAME@22..27
          0: IDENT@22..27 "yield" [] []
      1: (empty)
    3: JS_EXPRESSION_STATEMENT@27..35
      0: JS_STATIC_MEMBER_EXPRESSION@27..35
        0: JS_IDENTIFIER_EXPRESSION@27..31
          0: JS_REFERENCE_IDENTIFIER@27..31
            0: IDENT@27..31 "foo" [Newline("\n")] []
        1: DOT@31..32 "." [] []
        2: JS_NAME@32..35
          0: IDENT@32..35 "for" [] []
      1: (empty)
    4: JS_EXPRESSION_STATEMENT@35..44
      0: JS_STATIC_MEMBER_EXPRESSION@35..44
        0: JS_IDENTIFIER_EXPRESSION@35..39
          0: JS_REFERENCE_IDENTIFIER@35..39
            0: IDENT@35..39 "foo" [Newline("\n")] []
        1: QUESTIONDOT@39..41 "?." [] []
        2: JS_NAME@41..44
          0: IDENT@41..44 "for" [] []
      1: (empty)
    5: JS_EXPRESSION_STATEMENT@44..53
      0: JS_STATIC_MEMBER_EXPRESSION@44..53
        0: JS_IDENTIFIER_EXPRESSION@44..48
          0: JS_REFERENCE_IDENTIFIER@44..48
            0: IDENT@44..48 "foo" [Newline("\n")] []
        1: QUESTIONDOT@48..50 "?." [] []
        2: JS_NAME@50..53
          0: IDENT@50..53 "bar" [] []
      1: (empty)
    6: JS_CLASS_DECLARATION@53..159
      0: JS_DECORATOR_LIST@53..53
      1: (empty)
      2: CLASS_KW@53..60 "class" [Newline("\n")] [Whitespace(" ")]
      3: JS_IDENTIFIER_BINDING@60..65
        0: IDENT@60..65 "Test" [] [Whitespace(" ")]
      4: (empty)
      5: (empty)
      6: (empty)
      7: L_CURLY@65..66 "{" [] []
      8: JS_CLASS_MEMBER_LIST@66..157
        0: JS_PROPERTY_CLASS_MEMBER@66..73
          0: JS_PROPERTY_MODIFIER_LIST@66..66
          1: JS_PRIVATE_CLASS_MEMBER_NAME@66..73
            0: HASH@66..70 "#" [Newline("\n"), Whitespace("  ")] []
            1: IDENT@70..73 "bar" [] []
          2: (empty)
          3: (empty)
          4: (empty)
        1: JS_METHOD_CLASS_MEMBER@73..157
          0: JS_METHOD_MODIFIER_LIST@73..73
          1: (empty)
          2: (empty)
          3: JS_LITERAL_MEMBER_NAME@73..80
            0: IDENT@73..80 "test" [Newline("\n"), Whitespace("  ")] []
          4: (empty)
          5: (empty)
          6: JS_PARAMETERS@80..88
            0: L_PAREN@80..81 "(" [] []
            1: JS_PARAMETER_LIST@81..86
              0: JS_FORMAL_PARAMETER@81..86
                0: JS_DECORATOR_LIST@81..81
                1: JS_IDENTIFIER_BINDING@81..86
                  0: IDENT@81..86 "other" [] []
                2: (empty)
                3: (empty)
                4: (empty)
            2: R_PAREN@86..88 ")" [] [Whitespace(" ")]
          7: (empty)
          8: JS_FUNCTION_BODY@88..157
            0: L_CURLY@88..89 "{" [] []
            1: JS_DIRECTIVE_LIST@89..89
            2: JS_STATEMENT_LIST@89..153
              0: JS_EXPRESSION_STATEMENT@89..104
                0: JS_STATIC_MEMBER_EXPRESSION@89..103
                  0: JS_THIS_EXPRESSION@89..98
                    0: THIS_KW@89..98 "this" [Newline("\n"), Whitespace("    ")] []
                  1: DOT@98..99 "." [] []
                  2: JS_PRIVATE_NAME@99..103
                    0: HASH@99..100 "#" [] []
                    1: IDENT@100..103 "bar" [] []
                1: SEMICOLON@103..104 ";" [] []
              1: JS_EXPRESSION_STATEMENT@104..120
                0: JS_STATIC_MEMBER_EXPRESSION@104..119
                  0: JS_THIS_EXPRESSION@104..113
                    0: THIS_KW@104..113 "this" [Newline("\n"), Whitespace("    ")] []
                  1: QUESTIONDOT@113..115 "?." [] []
                  2: JS_PRIVATE_NAME@115..119
                    0: HASH@115..116 "#" [] []
                    1: IDENT@116..119 "bar" [] []
                1: SEMICOLON@119..120 ";" [] []
              2: JS_EXPRESSION_STATEMENT@120..136
                0: JS_STATIC_MEMBER_EXPRESSION@120..135
                  0: JS_IDENTIFIER_EXPRESSION@120..130
                    0: JS_REFERENCE_IDENTIFIER@120..130
                      0: IDENT@120..130 "other" [Newline("\n"), Whitespace("    ")] []
                  1: DOT@130..131 "." [] []
                  2: JS_PRIVATE_NAME@131..135
                    0: HASH@131..132 "#" [] []
                    1: IDENT@132..135 "bar" [] []
                1: SEMICOLON@135..136 ";" [] []
              3: JS_EXPRESSION_STATEMENT@136..153
                0: JS_STATIC_MEMBER_EXPRESSION@136..152
                  0: JS_IDENTIFIER_EXPRESSION@136..146
                    0: JS_REFERENCE_IDENTIFIER@136..146
                      0: IDENT@136..146 "other" [Newline("\n"), Whitespace("    ")] []
                  1: QUESTIONDOT@146..148 "?." [] []
                  2: JS_PRIVATE_NAME@148..152
                    0: HASH@148..149 "#" [] []
                    1: IDENT@149..152 "bar" [] []
                1: SEMICOLON@152..153 ";" [] []
            3: R_CURLY@153..157 "}" [Newline("\n"), Whitespace("  ")] []
      9: R_CURLY@157..159 "}" [Newline("\n")] []
  4: EOF@159..160 "" [Newline("\n")] []