biome_js_parser 0.5.7

Biome's JavaScript parser
Documentation
JsModule {
    bom_token: missing (optional),
    interpreter_token: missing (optional),
    directives: JsDirectiveList [],
    items: JsModuleItemList [
        JsLabeledStatement {
            label: JsLabel {
                value_token: IDENT@0..5 "outer" [] [],
            },
            colon_token: COLON@5..7 ":" [] [Whitespace(" ")],
            body: JsWhileStatement {
                while_token: WHILE_KW@7..12 "while" [] [],
                l_paren_token: L_PAREN@12..13 "(" [] [],
                test: JsBooleanLiteralExpression {
                    value_token: TRUE_KW@13..17 "true" [] [],
                },
                r_paren_token: R_PAREN@17..19 ")" [] [Whitespace(" ")],
                body: JsBlockStatement {
                    l_curly_token: L_CURLY@19..20 "{" [] [],
                    statements: JsStatementList [
                        JsWhileStatement {
                            while_token: WHILE_KW@20..27 "while" [Newline("\n")] [Whitespace(" ")],
                            l_paren_token: L_PAREN@27..28 "(" [] [],
                            test: JsBooleanLiteralExpression {
                                value_token: TRUE_KW@28..32 "true" [] [],
                            },
                            r_paren_token: R_PAREN@32..34 ")" [] [Whitespace(" ")],
                            body: JsBlockStatement {
                                l_curly_token: L_CURLY@34..35 "{" [] [],
                                statements: JsStatementList [
                                    JsContinueStatement {
                                        continue_token: CONTINUE_KW@35..46 "continue" [Newline("\n"), Whitespace("  ")] [],
                                        label: missing (optional),
                                        semicolon_token: SEMICOLON@46..47 ";" [] [],
                                    },
                                    JsContinueStatement {
                                        continue_token: CONTINUE_KW@47..61 "continue" [Newline("\n"), Whitespace("    ")] [Whitespace(" ")],
                                        label: JsLabel {
                                            value_token: IDENT@61..66 "outer" [] [],
                                        },
                                        semicolon_token: SEMICOLON@66..67 ";" [] [],
                                    },
                                ],
                                r_curly_token: R_CURLY@67..72 "}" [Newline("\n"), Whitespace("   ")] [],
                            },
                        },
                        JsContinueStatement {
                            continue_token: CONTINUE_KW@72..83 "continue" [Newline("\n"), Whitespace("  ")] [],
                            label: missing (optional),
                            semicolon_token: missing (optional),
                        },
                    ],
                    r_curly_token: R_CURLY@83..85 "}" [Newline("\n")] [],
                },
            },
        },
    ],
    eof_token: EOF@85..86 "" [Newline("\n")] [],
}

0: JS_MODULE@0..86
  0: (empty)
  1: (empty)
  2: JS_DIRECTIVE_LIST@0..0
  3: JS_MODULE_ITEM_LIST@0..85
    0: JS_LABELED_STATEMENT@0..85
      0: JS_LABEL@0..5
        0: IDENT@0..5 "outer" [] []
      1: COLON@5..7 ":" [] [Whitespace(" ")]
      2: JS_WHILE_STATEMENT@7..85
        0: WHILE_KW@7..12 "while" [] []
        1: L_PAREN@12..13 "(" [] []
        2: JS_BOOLEAN_LITERAL_EXPRESSION@13..17
          0: TRUE_KW@13..17 "true" [] []
        3: R_PAREN@17..19 ")" [] [Whitespace(" ")]
        4: JS_BLOCK_STATEMENT@19..85
          0: L_CURLY@19..20 "{" [] []
          1: JS_STATEMENT_LIST@20..83
            0: JS_WHILE_STATEMENT@20..72
              0: WHILE_KW@20..27 "while" [Newline("\n")] [Whitespace(" ")]
              1: L_PAREN@27..28 "(" [] []
              2: JS_BOOLEAN_LITERAL_EXPRESSION@28..32
                0: TRUE_KW@28..32 "true" [] []
              3: R_PAREN@32..34 ")" [] [Whitespace(" ")]
              4: JS_BLOCK_STATEMENT@34..72
                0: L_CURLY@34..35 "{" [] []
                1: JS_STATEMENT_LIST@35..67
                  0: JS_CONTINUE_STATEMENT@35..47
                    0: CONTINUE_KW@35..46 "continue" [Newline("\n"), Whitespace("  ")] []
                    1: (empty)
                    2: SEMICOLON@46..47 ";" [] []
                  1: JS_CONTINUE_STATEMENT@47..67
                    0: CONTINUE_KW@47..61 "continue" [Newline("\n"), Whitespace("    ")] [Whitespace(" ")]
                    1: JS_LABEL@61..66
                      0: IDENT@61..66 "outer" [] []
                    2: SEMICOLON@66..67 ";" [] []
                2: R_CURLY@67..72 "}" [Newline("\n"), Whitespace("   ")] []
            1: JS_CONTINUE_STATEMENT@72..83
              0: CONTINUE_KW@72..83 "continue" [Newline("\n"), Whitespace("  ")] []
              1: (empty)
              2: (empty)
          2: R_CURLY@83..85 "}" [Newline("\n")] []
  4: EOF@85..86 "" [Newline("\n")] []