biome_js_parser 0.5.7

Biome's JavaScript parser
Documentation
JsModule {
    bom_token: missing (optional),
    interpreter_token: missing (optional),
    directives: JsDirectiveList [],
    items: JsModuleItemList [
        JsDoWhileStatement {
            do_token: DO_KW@0..3 "do" [] [Whitespace(" ")],
            body: JsWhileStatement {
                while_token: WHILE_KW@3..9 "while" [] [Whitespace(" ")],
                l_paren_token: L_PAREN@9..10 "(" [] [],
                test: JsBooleanLiteralExpression {
                    value_token: TRUE_KW@10..14 "true" [] [],
                },
                r_paren_token: R_PAREN@14..15 ")" [] [],
                body: JsDoWhileStatement {
                    do_token: DO_KW@15..19 "do" [Newline("\n")] [Whitespace(" ")],
                    body: JsWhileStatement {
                        while_token: WHILE_KW@19..25 "while" [] [Whitespace(" ")],
                        l_paren_token: L_PAREN@25..26 "(" [] [],
                        test: missing (required),
                        r_paren_token: R_PAREN@26..27 ")" [] [],
                        body: JsDoWhileStatement {
                            do_token: DO_KW@27..31 "do" [Newline("\n")] [Whitespace(" ")],
                            body: JsWhileStatement {
                                while_token: WHILE_KW@31..37 "while" [] [Whitespace(" ")],
                                l_paren_token: missing (required),
                                test: JsBooleanLiteralExpression {
                                    value_token: TRUE_KW@37..41 "true" [] [],
                                },
                                r_paren_token: missing (required),
                                body: missing (required),
                            },
                            while_token: missing (required),
                            l_paren_token: missing (required),
                            test: missing (required),
                            r_paren_token: missing (required),
                            semicolon_token: missing (optional),
                        },
                    },
                    while_token: missing (required),
                    l_paren_token: missing (required),
                    test: missing (required),
                    r_paren_token: missing (required),
                    semicolon_token: missing (optional),
                },
            },
            while_token: missing (required),
            l_paren_token: missing (required),
            test: missing (required),
            r_paren_token: missing (required),
            semicolon_token: missing (optional),
        },
    ],
    eof_token: EOF@41..42 "" [Newline("\n")] [],
}

0: JS_MODULE@0..42
  0: (empty)
  1: (empty)
  2: JS_DIRECTIVE_LIST@0..0
  3: JS_MODULE_ITEM_LIST@0..41
    0: JS_DO_WHILE_STATEMENT@0..41
      0: DO_KW@0..3 "do" [] [Whitespace(" ")]
      1: JS_WHILE_STATEMENT@3..41
        0: WHILE_KW@3..9 "while" [] [Whitespace(" ")]
        1: L_PAREN@9..10 "(" [] []
        2: JS_BOOLEAN_LITERAL_EXPRESSION@10..14
          0: TRUE_KW@10..14 "true" [] []
        3: R_PAREN@14..15 ")" [] []
        4: JS_DO_WHILE_STATEMENT@15..41
          0: DO_KW@15..19 "do" [Newline("\n")] [Whitespace(" ")]
          1: JS_WHILE_STATEMENT@19..41
            0: WHILE_KW@19..25 "while" [] [Whitespace(" ")]
            1: L_PAREN@25..26 "(" [] []
            2: (empty)
            3: R_PAREN@26..27 ")" [] []
            4: JS_DO_WHILE_STATEMENT@27..41
              0: DO_KW@27..31 "do" [Newline("\n")] [Whitespace(" ")]
              1: JS_WHILE_STATEMENT@31..41
                0: WHILE_KW@31..37 "while" [] [Whitespace(" ")]
                1: (empty)
                2: JS_BOOLEAN_LITERAL_EXPRESSION@37..41
                  0: TRUE_KW@37..41 "true" [] []
                3: (empty)
                4: (empty)
              2: (empty)
              3: (empty)
              4: (empty)
              5: (empty)
              6: (empty)
          2: (empty)
          3: (empty)
          4: (empty)
          5: (empty)
          6: (empty)
      2: (empty)
      3: (empty)
      4: (empty)
      5: (empty)
      6: (empty)
  4: EOF@41..42 "" [Newline("\n")] []
--
do_while_stmt_err.js:2:11 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × Expected an expression but instead found ')'.
  
    1 │ do while (true)
  > 2 │ do while ()
      │           ^
    3 │ do while true
    4 │ 
  
  i Expected an expression here.
  
    1 │ do while (true)
  > 2 │ do while ()
      │           ^
    3 │ do while true
    4 │ 
  
--
do_while_stmt_err.js:3:10 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × expected `(` but instead found `true`
  
    1 │ do while (true)
    2 │ do while ()
  > 3 │ do while true
      │          ^^^^
    4 │ 
  
  i Remove true
  
--
do_while_stmt_err.js:4:1 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × expected `)` but instead the file ends
  
    2 │ do while ()
    3 │ do while true
  > 4 │ 
      │ 
  
  i the file ends here
  
    2 │ do while ()
    3 │ do while true
  > 4 │ 
      │ 
  
--
do while (true)
do while ()
do while true