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: TsModuleDeclaration {
                module_or_namespace: MODULE_KW@8..15 "module" [] [Whitespace(" ")],
                name: TsIdentifierBinding {
                    name_token: IDENT@15..17 "a" [] [Whitespace(" ")],
                },
                body: TsModuleBlock {
                    l_curly_token: L_CURLY@17..18 "{" [] [],
                    items: JsModuleItemList [
                        TsDeclareFunctionDeclaration {
                            async_token: missing (optional),
                            function_token: FUNCTION_KW@18..30 "function" [Newline("\n"), Whitespace("  ")] [Whitespace(" ")],
                            id: JsIdentifierBinding {
                                name_token: IDENT@30..34 "test" [] [],
                            },
                            type_parameters: missing (optional),
                            parameters: JsParameters {
                                l_paren_token: L_PAREN@34..35 "(" [] [],
                                items: JsParameterList [],
                                r_paren_token: R_PAREN@35..36 ")" [] [],
                            },
                            return_type_annotation: TsReturnTypeAnnotation {
                                colon_token: COLON@36..38 ":" [] [Whitespace(" ")],
                                ty: TsStringType {
                                    string_token: STRING_KW@38..44 "string" [] [],
                                },
                            },
                            semicolon_token: SEMICOLON@44..45 ";" [] [],
                        },
                    ],
                    r_curly_token: R_CURLY@45..47 "}" [Newline("\n")] [],
                },
            },
        },
    ],
    eof_token: EOF@47..48 "" [Newline("\n")] [],
}

0: JS_MODULE@0..48
  0: (empty)
  1: (empty)
  2: JS_DIRECTIVE_LIST@0..0
  3: JS_MODULE_ITEM_LIST@0..47
    0: TS_DECLARE_STATEMENT@0..47
      0: DECLARE_KW@0..8 "declare" [] [Whitespace(" ")]
      1: TS_MODULE_DECLARATION@8..47
        0: MODULE_KW@8..15 "module" [] [Whitespace(" ")]
        1: TS_IDENTIFIER_BINDING@15..17
          0: IDENT@15..17 "a" [] [Whitespace(" ")]
        2: TS_MODULE_BLOCK@17..47
          0: L_CURLY@17..18 "{" [] []
          1: JS_MODULE_ITEM_LIST@18..45
            0: TS_DECLARE_FUNCTION_DECLARATION@18..45
              0: (empty)
              1: FUNCTION_KW@18..30 "function" [Newline("\n"), Whitespace("  ")] [Whitespace(" ")]
              2: JS_IDENTIFIER_BINDING@30..34
                0: IDENT@30..34 "test" [] []
              3: (empty)
              4: JS_PARAMETERS@34..36
                0: L_PAREN@34..35 "(" [] []
                1: JS_PARAMETER_LIST@35..35
                2: R_PAREN@35..36 ")" [] []
              5: TS_RETURN_TYPE_ANNOTATION@36..44
                0: COLON@36..38 ":" [] [Whitespace(" ")]
                1: TS_STRING_TYPE@38..44
                  0: STRING_KW@38..44 "string" [] []
              6: SEMICOLON@44..45 ";" [] []
          2: R_CURLY@45..47 "}" [Newline("\n")] []
  4: EOF@47..48 "" [Newline("\n")] []