biome_js_parser 0.5.7

Biome's JavaScript parser
Documentation
JsModule {
    bom_token: missing (optional),
    interpreter_token: missing (optional),
    directives: JsDirectiveList [],
    items: JsModuleItemList [
        JsBlockStatement {
            l_curly_token: L_CURLY@0..1 "{" [] [],
            statements: JsStatementList [],
            r_curly_token: R_CURLY@1..2 "}" [] [],
        },
        JsBlockStatement {
            l_curly_token: L_CURLY@2..4 "{" [Newline("\n")] [],
            statements: JsStatementList [
                JsBlockStatement {
                    l_curly_token: L_CURLY@4..5 "{" [] [],
                    statements: JsStatementList [
                        JsBlockStatement {
                            l_curly_token: L_CURLY@5..6 "{" [] [],
                            statements: JsStatementList [
                                JsBlockStatement {
                                    l_curly_token: L_CURLY@6..7 "{" [] [],
                                    statements: JsStatementList [],
                                    r_curly_token: R_CURLY@7..8 "}" [] [],
                                },
                            ],
                            r_curly_token: R_CURLY@8..9 "}" [] [],
                        },
                    ],
                    r_curly_token: R_CURLY@9..10 "}" [] [],
                },
            ],
            r_curly_token: R_CURLY@10..11 "}" [] [],
        },
        JsBlockStatement {
            l_curly_token: L_CURLY@11..14 "{" [Newline("\n")] [Whitespace(" ")],
            statements: JsStatementList [
                JsExpressionStatement {
                    expression: JsAssignmentExpression {
                        left: JsIdentifierAssignment {
                            name_token: IDENT@14..18 "foo" [] [Whitespace(" ")],
                        },
                        operator_token: EQ@18..20 "=" [] [Whitespace(" ")],
                        right: JsIdentifierExpression {
                            name: JsReferenceIdentifier {
                                value_token: IDENT@20..23 "bar" [] [],
                            },
                        },
                    },
                    semicolon_token: SEMICOLON@23..25 ";" [] [Whitespace(" ")],
                },
            ],
            r_curly_token: R_CURLY@25..26 "}" [] [],
        },
    ],
    eof_token: EOF@26..27 "" [Newline("\n")] [],
}

0: JS_MODULE@0..27
  0: (empty)
  1: (empty)
  2: JS_DIRECTIVE_LIST@0..0
  3: JS_MODULE_ITEM_LIST@0..26
    0: JS_BLOCK_STATEMENT@0..2
      0: L_CURLY@0..1 "{" [] []
      1: JS_STATEMENT_LIST@1..1
      2: R_CURLY@1..2 "}" [] []
    1: JS_BLOCK_STATEMENT@2..11
      0: L_CURLY@2..4 "{" [Newline("\n")] []
      1: JS_STATEMENT_LIST@4..10
        0: JS_BLOCK_STATEMENT@4..10
          0: L_CURLY@4..5 "{" [] []
          1: JS_STATEMENT_LIST@5..9
            0: JS_BLOCK_STATEMENT@5..9
              0: L_CURLY@5..6 "{" [] []
              1: JS_STATEMENT_LIST@6..8
                0: JS_BLOCK_STATEMENT@6..8
                  0: L_CURLY@6..7 "{" [] []
                  1: JS_STATEMENT_LIST@7..7
                  2: R_CURLY@7..8 "}" [] []
              2: R_CURLY@8..9 "}" [] []
          2: R_CURLY@9..10 "}" [] []
      2: R_CURLY@10..11 "}" [] []
    2: JS_BLOCK_STATEMENT@11..26
      0: L_CURLY@11..14 "{" [Newline("\n")] [Whitespace(" ")]
      1: JS_STATEMENT_LIST@14..25
        0: JS_EXPRESSION_STATEMENT@14..25
          0: JS_ASSIGNMENT_EXPRESSION@14..23
            0: JS_IDENTIFIER_ASSIGNMENT@14..18
              0: IDENT@14..18 "foo" [] [Whitespace(" ")]
            1: EQ@18..20 "=" [] [Whitespace(" ")]
            2: JS_IDENTIFIER_EXPRESSION@20..23
              0: JS_REFERENCE_IDENTIFIER@20..23
                0: IDENT@20..23 "bar" [] []
          1: SEMICOLON@23..25 ";" [] [Whitespace(" ")]
      2: R_CURLY@25..26 "}" [] []
  4: EOF@26..27 "" [Newline("\n")] []