biome_js_parser 0.5.7

Biome's JavaScript parser
Documentation
JsModule {
    bom_token: missing (optional),
    interpreter_token: missing (optional),
    directives: JsDirectiveList [],
    items: JsModuleItemList [
        JsSwitchStatement {
            switch_token: SWITCH_KW@0..7 "switch" [] [Whitespace(" ")],
            l_paren_token: L_PAREN@7..8 "(" [] [],
            discriminant: JsIdentifierExpression {
                name: JsReferenceIdentifier {
                    value_token: IDENT@8..11 "foo" [] [],
                },
            },
            r_paren_token: R_PAREN@11..13 ")" [] [Whitespace(" ")],
            l_curly_token: L_CURLY@13..14 "{" [] [],
            cases: JsSwitchCaseList [
                JsCaseClause {
                    case_token: CASE_KW@14..21 "case" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")],
                    test: JsIdentifierExpression {
                        name: JsReferenceIdentifier {
                            value_token: IDENT@21..24 "bar" [] [],
                        },
                    },
                    colon_token: COLON@24..25 ":" [] [],
                    consequent: JsStatementList [],
                },
                JsDefaultClause {
                    default_token: DEFAULT_KW@25..34 "default" [Newline("\n"), Whitespace(" ")] [],
                    colon_token: COLON@34..35 ":" [] [],
                    consequent: JsStatementList [],
                },
            ],
            r_curly_token: R_CURLY@35..37 "}" [Newline("\n")] [],
        },
    ],
    eof_token: EOF@37..38 "" [Newline("\n")] [],
}

0: JS_MODULE@0..38
  0: (empty)
  1: (empty)
  2: JS_DIRECTIVE_LIST@0..0
  3: JS_MODULE_ITEM_LIST@0..37
    0: JS_SWITCH_STATEMENT@0..37
      0: SWITCH_KW@0..7 "switch" [] [Whitespace(" ")]
      1: L_PAREN@7..8 "(" [] []
      2: JS_IDENTIFIER_EXPRESSION@8..11
        0: JS_REFERENCE_IDENTIFIER@8..11
          0: IDENT@8..11 "foo" [] []
      3: R_PAREN@11..13 ")" [] [Whitespace(" ")]
      4: L_CURLY@13..14 "{" [] []
      5: JS_SWITCH_CASE_LIST@14..35
        0: JS_CASE_CLAUSE@14..25
          0: CASE_KW@14..21 "case" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")]
          1: JS_IDENTIFIER_EXPRESSION@21..24
            0: JS_REFERENCE_IDENTIFIER@21..24
              0: IDENT@21..24 "bar" [] []
          2: COLON@24..25 ":" [] []
          3: JS_STATEMENT_LIST@25..25
        1: JS_DEFAULT_CLAUSE@25..35
          0: DEFAULT_KW@25..34 "default" [Newline("\n"), Whitespace(" ")] []
          1: COLON@34..35 ":" [] []
          2: JS_STATEMENT_LIST@35..35
      6: R_CURLY@35..37 "}" [Newline("\n")] []
  4: EOF@37..38 "" [Newline("\n")] []