biome_js_parser 0.5.7

Biome's JavaScript parser
Documentation
JsModule {
    bom_token: missing (optional),
    interpreter_token: missing (optional),
    directives: JsDirectiveList [],
    items: JsModuleItemList [
        JsBogusStatement {
            items: [
                JsDecoratorList [],
                CLASS_KW@0..6 "class" [] [Whitespace(" ")],
                JsIdentifierBinding {
                    name_token: IDENT@6..8 "B" [] [Whitespace(" ")],
                },
                JsBogus {
                    items: [
                        IMPLEMENTS_KW@8..19 "implements" [] [Whitespace(" ")],
                        TsTypeList [
                            TsNameWithTypeArguments {
                                name: JsReferenceIdentifier {
                                    value_token: IDENT@19..21 "C" [] [Whitespace(" ")],
                                },
                                type_arguments: missing (optional),
                            },
                        ],
                    ],
                },
                L_CURLY@21..22 "{" [] [],
                JsClassMemberList [],
                R_CURLY@22..23 "}" [] [],
            ],
        },
    ],
    eof_token: EOF@23..24 "" [Newline("\n")] [],
}

0: JS_MODULE@0..24
  0: (empty)
  1: (empty)
  2: JS_DIRECTIVE_LIST@0..0
  3: JS_MODULE_ITEM_LIST@0..23
    0: JS_BOGUS_STATEMENT@0..23
      0: JS_DECORATOR_LIST@0..0
      1: CLASS_KW@0..6 "class" [] [Whitespace(" ")]
      2: JS_IDENTIFIER_BINDING@6..8
        0: IDENT@6..8 "B" [] [Whitespace(" ")]
      3: JS_BOGUS@8..21
        0: IMPLEMENTS_KW@8..19 "implements" [] [Whitespace(" ")]
        1: TS_TYPE_LIST@19..21
          0: TS_NAME_WITH_TYPE_ARGUMENTS@19..21
            0: JS_REFERENCE_IDENTIFIER@19..21
              0: IDENT@19..21 "C" [] [Whitespace(" ")]
            1: (empty)
      4: L_CURLY@21..22 "{" [] []
      5: JS_CLASS_MEMBER_LIST@22..22
      6: R_CURLY@22..23 "}" [] []
  4: EOF@23..24 "" [Newline("\n")] []
--
class_implements.js:1:9 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × classes can only implement interfaces in TypeScript files
  
  > 1 │ class B implements C {}
      │         ^^^^^^^^^^^^
    2 │ 
  
--
class B implements C {}