biome_js_parser 0.5.7

Biome's JavaScript parser
Documentation
JsModule {
    bom_token: missing (optional),
    interpreter_token: missing (optional),
    directives: JsDirectiveList [],
    items: JsModuleItemList [
        JsTryStatement {
            try_token: TRY_KW@0..4 "try" [] [Whitespace(" ")],
            body: JsBlockStatement {
                l_curly_token: L_CURLY@4..5 "{" [] [],
                statements: JsStatementList [],
                r_curly_token: R_CURLY@5..7 "}" [] [Whitespace(" ")],
            },
            catch_clause: JsCatchClause {
                catch_token: CATCH_KW@7..13 "catch" [] [Whitespace(" ")],
                declaration: missing (optional),
                body: JsBlockStatement {
                    l_curly_token: L_CURLY@13..14 "{" [] [],
                    statements: JsStatementList [],
                    r_curly_token: R_CURLY@14..15 "}" [] [],
                },
            },
        },
        JsTryStatement {
            try_token: TRY_KW@15..20 "try" [Newline("\n")] [Whitespace(" ")],
            body: JsBlockStatement {
                l_curly_token: L_CURLY@20..21 "{" [] [],
                statements: JsStatementList [],
                r_curly_token: R_CURLY@21..23 "}" [] [Whitespace(" ")],
            },
            catch_clause: JsCatchClause {
                catch_token: CATCH_KW@23..29 "catch" [] [Whitespace(" ")],
                declaration: JsCatchDeclaration {
                    l_paren_token: L_PAREN@29..30 "(" [] [],
                    binding: JsIdentifierBinding {
                        name_token: IDENT@30..31 "e" [] [],
                    },
                    type_annotation: missing (optional),
                    r_paren_token: R_PAREN@31..33 ")" [] [Whitespace(" ")],
                },
                body: JsBlockStatement {
                    l_curly_token: L_CURLY@33..34 "{" [] [],
                    statements: JsStatementList [],
                    r_curly_token: R_CURLY@34..35 "}" [] [],
                },
            },
        },
        JsTryFinallyStatement {
            try_token: TRY_KW@35..40 "try" [Newline("\n")] [Whitespace(" ")],
            body: JsBlockStatement {
                l_curly_token: L_CURLY@40..41 "{" [] [],
                statements: JsStatementList [],
                r_curly_token: R_CURLY@41..43 "}" [] [Whitespace(" ")],
            },
            catch_clause: JsCatchClause {
                catch_token: CATCH_KW@43..49 "catch" [] [Whitespace(" ")],
                declaration: missing (optional),
                body: JsBlockStatement {
                    l_curly_token: L_CURLY@49..50 "{" [] [],
                    statements: JsStatementList [],
                    r_curly_token: R_CURLY@50..52 "}" [] [Whitespace(" ")],
                },
            },
            finally_clause: JsFinallyClause {
                finally_token: FINALLY_KW@52..60 "finally" [] [Whitespace(" ")],
                body: JsBlockStatement {
                    l_curly_token: L_CURLY@60..61 "{" [] [],
                    statements: JsStatementList [],
                    r_curly_token: R_CURLY@61..62 "}" [] [],
                },
            },
        },
        JsTryFinallyStatement {
            try_token: TRY_KW@62..67 "try" [Newline("\n")] [Whitespace(" ")],
            body: JsBlockStatement {
                l_curly_token: L_CURLY@67..68 "{" [] [],
                statements: JsStatementList [],
                r_curly_token: R_CURLY@68..70 "}" [] [Whitespace(" ")],
            },
            catch_clause: JsCatchClause {
                catch_token: CATCH_KW@70..76 "catch" [] [Whitespace(" ")],
                declaration: JsCatchDeclaration {
                    l_paren_token: L_PAREN@76..77 "(" [] [],
                    binding: JsIdentifierBinding {
                        name_token: IDENT@77..78 "e" [] [],
                    },
                    type_annotation: missing (optional),
                    r_paren_token: R_PAREN@78..80 ")" [] [Whitespace(" ")],
                },
                body: JsBlockStatement {
                    l_curly_token: L_CURLY@80..81 "{" [] [],
                    statements: JsStatementList [],
                    r_curly_token: R_CURLY@81..83 "}" [] [Whitespace(" ")],
                },
            },
            finally_clause: JsFinallyClause {
                finally_token: FINALLY_KW@83..91 "finally" [] [Whitespace(" ")],
                body: JsBlockStatement {
                    l_curly_token: L_CURLY@91..92 "{" [] [],
                    statements: JsStatementList [],
                    r_curly_token: R_CURLY@92..93 "}" [] [],
                },
            },
        },
        JsTryFinallyStatement {
            try_token: TRY_KW@93..98 "try" [Newline("\n")] [Whitespace(" ")],
            body: JsBlockStatement {
                l_curly_token: L_CURLY@98..99 "{" [] [],
                statements: JsStatementList [],
                r_curly_token: R_CURLY@99..101 "}" [] [Whitespace(" ")],
            },
            catch_clause: missing (optional),
            finally_clause: JsFinallyClause {
                finally_token: FINALLY_KW@101..109 "finally" [] [Whitespace(" ")],
                body: JsBlockStatement {
                    l_curly_token: L_CURLY@109..110 "{" [] [],
                    statements: JsStatementList [],
                    r_curly_token: R_CURLY@110..111 "}" [] [],
                },
            },
        },
    ],
    eof_token: EOF@111..112 "" [Newline("\n")] [],
}

0: JS_MODULE@0..112
  0: (empty)
  1: (empty)
  2: JS_DIRECTIVE_LIST@0..0
  3: JS_MODULE_ITEM_LIST@0..111
    0: JS_TRY_STATEMENT@0..15
      0: TRY_KW@0..4 "try" [] [Whitespace(" ")]
      1: JS_BLOCK_STATEMENT@4..7
        0: L_CURLY@4..5 "{" [] []
        1: JS_STATEMENT_LIST@5..5
        2: R_CURLY@5..7 "}" [] [Whitespace(" ")]
      2: JS_CATCH_CLAUSE@7..15
        0: CATCH_KW@7..13 "catch" [] [Whitespace(" ")]
        1: (empty)
        2: JS_BLOCK_STATEMENT@13..15
          0: L_CURLY@13..14 "{" [] []
          1: JS_STATEMENT_LIST@14..14
          2: R_CURLY@14..15 "}" [] []
    1: JS_TRY_STATEMENT@15..35
      0: TRY_KW@15..20 "try" [Newline("\n")] [Whitespace(" ")]
      1: JS_BLOCK_STATEMENT@20..23
        0: L_CURLY@20..21 "{" [] []
        1: JS_STATEMENT_LIST@21..21
        2: R_CURLY@21..23 "}" [] [Whitespace(" ")]
      2: JS_CATCH_CLAUSE@23..35
        0: CATCH_KW@23..29 "catch" [] [Whitespace(" ")]
        1: JS_CATCH_DECLARATION@29..33
          0: L_PAREN@29..30 "(" [] []
          1: JS_IDENTIFIER_BINDING@30..31
            0: IDENT@30..31 "e" [] []
          2: (empty)
          3: R_PAREN@31..33 ")" [] [Whitespace(" ")]
        2: JS_BLOCK_STATEMENT@33..35
          0: L_CURLY@33..34 "{" [] []
          1: JS_STATEMENT_LIST@34..34
          2: R_CURLY@34..35 "}" [] []
    2: JS_TRY_FINALLY_STATEMENT@35..62
      0: TRY_KW@35..40 "try" [Newline("\n")] [Whitespace(" ")]
      1: JS_BLOCK_STATEMENT@40..43
        0: L_CURLY@40..41 "{" [] []
        1: JS_STATEMENT_LIST@41..41
        2: R_CURLY@41..43 "}" [] [Whitespace(" ")]
      2: JS_CATCH_CLAUSE@43..52
        0: CATCH_KW@43..49 "catch" [] [Whitespace(" ")]
        1: (empty)
        2: JS_BLOCK_STATEMENT@49..52
          0: L_CURLY@49..50 "{" [] []
          1: JS_STATEMENT_LIST@50..50
          2: R_CURLY@50..52 "}" [] [Whitespace(" ")]
      3: JS_FINALLY_CLAUSE@52..62
        0: FINALLY_KW@52..60 "finally" [] [Whitespace(" ")]
        1: JS_BLOCK_STATEMENT@60..62
          0: L_CURLY@60..61 "{" [] []
          1: JS_STATEMENT_LIST@61..61
          2: R_CURLY@61..62 "}" [] []
    3: JS_TRY_FINALLY_STATEMENT@62..93
      0: TRY_KW@62..67 "try" [Newline("\n")] [Whitespace(" ")]
      1: JS_BLOCK_STATEMENT@67..70
        0: L_CURLY@67..68 "{" [] []
        1: JS_STATEMENT_LIST@68..68
        2: R_CURLY@68..70 "}" [] [Whitespace(" ")]
      2: JS_CATCH_CLAUSE@70..83
        0: CATCH_KW@70..76 "catch" [] [Whitespace(" ")]
        1: JS_CATCH_DECLARATION@76..80
          0: L_PAREN@76..77 "(" [] []
          1: JS_IDENTIFIER_BINDING@77..78
            0: IDENT@77..78 "e" [] []
          2: (empty)
          3: R_PAREN@78..80 ")" [] [Whitespace(" ")]
        2: JS_BLOCK_STATEMENT@80..83
          0: L_CURLY@80..81 "{" [] []
          1: JS_STATEMENT_LIST@81..81
          2: R_CURLY@81..83 "}" [] [Whitespace(" ")]
      3: JS_FINALLY_CLAUSE@83..93
        0: FINALLY_KW@83..91 "finally" [] [Whitespace(" ")]
        1: JS_BLOCK_STATEMENT@91..93
          0: L_CURLY@91..92 "{" [] []
          1: JS_STATEMENT_LIST@92..92
          2: R_CURLY@92..93 "}" [] []
    4: JS_TRY_FINALLY_STATEMENT@93..111
      0: TRY_KW@93..98 "try" [Newline("\n")] [Whitespace(" ")]
      1: JS_BLOCK_STATEMENT@98..101
        0: L_CURLY@98..99 "{" [] []
        1: JS_STATEMENT_LIST@99..99
        2: R_CURLY@99..101 "}" [] [Whitespace(" ")]
      2: (empty)
      3: JS_FINALLY_CLAUSE@101..111
        0: FINALLY_KW@101..109 "finally" [] [Whitespace(" ")]
        1: JS_BLOCK_STATEMENT@109..111
          0: L_CURLY@109..110 "{" [] []
          1: JS_STATEMENT_LIST@110..110
          2: R_CURLY@110..111 "}" [] []
  4: EOF@111..112 "" [Newline("\n")] []