biome_js_parser 0.5.7

Biome's JavaScript parser
Documentation
JsModule {
    bom_token: missing (optional),
    interpreter_token: missing (optional),
    directives: JsDirectiveList [],
    items: JsModuleItemList [
        TsDeclareStatement {
            declare_token: DECLARE_KW@0..8 "declare" [] [Whitespace(" ")],
            declaration: TsInterfaceDeclaration {
                interface_token: INTERFACE_KW@8..18 "interface" [] [Whitespace(" ")],
                id: TsIdentifierBinding {
                    name_token: IDENT@18..20 "A" [] [Whitespace(" ")],
                },
                type_parameters: missing (optional),
                extends_clause: missing (optional),
                l_curly_token: L_CURLY@20..22 "{" [] [Whitespace(" ")],
                members: TsTypeMemberList [
                    TsPropertySignatureTypeMember {
                        readonly_token: missing (optional),
                        name: JsLiteralMemberName {
                            value: IDENT@22..23 "b" [] [],
                        },
                        optional_token: missing (optional),
                        type_annotation: TsTypeAnnotation {
                            colon_token: COLON@23..25 ":" [] [Whitespace(" ")],
                            ty: TsStringType {
                                string_token: STRING_KW@25..31 "string" [] [],
                            },
                        },
                        separator_token: COMMA@31..33 "," [] [Whitespace(" ")],
                    },
                    TsPropertySignatureTypeMember {
                        readonly_token: missing (optional),
                        name: JsLiteralMemberName {
                            value: IDENT@33..34 "c" [] [],
                        },
                        optional_token: missing (optional),
                        type_annotation: TsTypeAnnotation {
                            colon_token: COLON@34..36 ":" [] [Whitespace(" ")],
                            ty: TsNumberType {
                                number_token: NUMBER_KW@36..43 "number" [] [Whitespace(" ")],
                            },
                        },
                        separator_token: missing (optional),
                    },
                ],
                r_curly_token: R_CURLY@43..44 "}" [] [],
            },
        },
    ],
    eof_token: EOF@44..45 "" [Newline("\n")] [],
}

0: JS_MODULE@0..45
  0: (empty)
  1: (empty)
  2: JS_DIRECTIVE_LIST@0..0
  3: JS_MODULE_ITEM_LIST@0..44
    0: TS_DECLARE_STATEMENT@0..44
      0: DECLARE_KW@0..8 "declare" [] [Whitespace(" ")]
      1: TS_INTERFACE_DECLARATION@8..44
        0: INTERFACE_KW@8..18 "interface" [] [Whitespace(" ")]
        1: TS_IDENTIFIER_BINDING@18..20
          0: IDENT@18..20 "A" [] [Whitespace(" ")]
        2: (empty)
        3: (empty)
        4: L_CURLY@20..22 "{" [] [Whitespace(" ")]
        5: TS_TYPE_MEMBER_LIST@22..43
          0: TS_PROPERTY_SIGNATURE_TYPE_MEMBER@22..33
            0: (empty)
            1: JS_LITERAL_MEMBER_NAME@22..23
              0: IDENT@22..23 "b" [] []
            2: (empty)
            3: TS_TYPE_ANNOTATION@23..31
              0: COLON@23..25 ":" [] [Whitespace(" ")]
              1: TS_STRING_TYPE@25..31
                0: STRING_KW@25..31 "string" [] []
            4: COMMA@31..33 "," [] [Whitespace(" ")]
          1: TS_PROPERTY_SIGNATURE_TYPE_MEMBER@33..43
            0: (empty)
            1: JS_LITERAL_MEMBER_NAME@33..34
              0: IDENT@33..34 "c" [] []
            2: (empty)
            3: TS_TYPE_ANNOTATION@34..43
              0: COLON@34..36 ":" [] [Whitespace(" ")]
              1: TS_NUMBER_TYPE@36..43
                0: NUMBER_KW@36..43 "number" [] [Whitespace(" ")]
            4: (empty)
        6: R_CURLY@43..44 "}" [] []
  4: EOF@44..45 "" [Newline("\n")] []