biome_js_parser 0.5.7

Biome's JavaScript parser
Documentation
JsModule {
    bom_token: missing (optional),
    interpreter_token: missing (optional),
    directives: JsDirectiveList [],
    items: JsModuleItemList [
        JsWhileStatement {
            while_token: WHILE_KW@0..6 "while" [] [Whitespace(" ")],
            l_paren_token: L_PAREN@6..7 "(" [] [],
            test: JsBooleanLiteralExpression {
                value_token: TRUE_KW@7..11 "true" [] [],
            },
            r_paren_token: R_PAREN@11..13 ")" [] [Whitespace(" ")],
            body: JsBlockStatement {
                l_curly_token: L_CURLY@13..14 "{" [] [],
                statements: JsStatementList [
                    JsBreakStatement {
                        break_token: BREAK_KW@14..22 "break" [Newline("\n"), Whitespace("  ")] [],
                        label: missing (optional),
                        semicolon_token: SEMICOLON@22..23 ";" [] [],
                    },
                    JsLabeledStatement {
                        label: JsLabel {
                            value_token: IDENT@23..29 "foo" [Newline("\n"), Whitespace("  ")] [],
                        },
                        colon_token: COLON@29..31 ":" [] [Whitespace(" ")],
                        body: JsBlockStatement {
                            l_curly_token: L_CURLY@31..32 "{" [] [],
                            statements: JsStatementList [
                                JsBreakStatement {
                                    break_token: BREAK_KW@32..42 "break" [Newline("\n"), Whitespace("   ")] [Whitespace(" ")],
                                    label: JsLabel {
                                        value_token: IDENT@42..45 "foo" [] [],
                                    },
                                    semicolon_token: SEMICOLON@45..46 ";" [] [],
                                },
                            ],
                            r_curly_token: R_CURLY@46..50 "}" [Newline("\n"), Whitespace("  ")] [],
                        },
                    },
                ],
                r_curly_token: R_CURLY@50..52 "}" [Newline("\n")] [],
            },
        },
    ],
    eof_token: EOF@52..53 "" [Newline("\n")] [],
}

0: JS_MODULE@0..53
  0: (empty)
  1: (empty)
  2: JS_DIRECTIVE_LIST@0..0
  3: JS_MODULE_ITEM_LIST@0..52
    0: JS_WHILE_STATEMENT@0..52
      0: WHILE_KW@0..6 "while" [] [Whitespace(" ")]
      1: L_PAREN@6..7 "(" [] []
      2: JS_BOOLEAN_LITERAL_EXPRESSION@7..11
        0: TRUE_KW@7..11 "true" [] []
      3: R_PAREN@11..13 ")" [] [Whitespace(" ")]
      4: JS_BLOCK_STATEMENT@13..52
        0: L_CURLY@13..14 "{" [] []
        1: JS_STATEMENT_LIST@14..50
          0: JS_BREAK_STATEMENT@14..23
            0: BREAK_KW@14..22 "break" [Newline("\n"), Whitespace("  ")] []
            1: (empty)
            2: SEMICOLON@22..23 ";" [] []
          1: JS_LABELED_STATEMENT@23..50
            0: JS_LABEL@23..29
              0: IDENT@23..29 "foo" [Newline("\n"), Whitespace("  ")] []
            1: COLON@29..31 ":" [] [Whitespace(" ")]
            2: JS_BLOCK_STATEMENT@31..50
              0: L_CURLY@31..32 "{" [] []
              1: JS_STATEMENT_LIST@32..46
                0: JS_BREAK_STATEMENT@32..46
                  0: BREAK_KW@32..42 "break" [Newline("\n"), Whitespace("   ")] [Whitespace(" ")]
                  1: JS_LABEL@42..45
                    0: IDENT@42..45 "foo" [] []
                  2: SEMICOLON@45..46 ";" [] []
              2: R_CURLY@46..50 "}" [Newline("\n"), Whitespace("  ")] []
        2: R_CURLY@50..52 "}" [Newline("\n")] []
  4: EOF@52..53 "" [Newline("\n")] []