JsModule {
bom_token: missing (optional),
interpreter_token: missing (optional),
directives: JsDirectiveList [],
items: JsModuleItemList [
TsDeclareStatement {
declare_token: DECLARE_KW@0..8 "declare" [] [Whitespace(" ")],
declaration: TsExternalModuleDeclaration {
module_token: MODULE_KW@8..15 "module" [] [Whitespace(" ")],
source: JsModuleSource {
value_token: JS_STRING_LITERAL@15..24 "\"./test\"" [] [Whitespace(" ")],
},
body: TsModuleBlock {
l_curly_token: L_CURLY@24..25 "{" [] [],
items: JsModuleItemList [
TsGlobalDeclaration {
global_token: GLOBAL_KW@25..34 "global" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")],
body: TsModuleBlock {
l_curly_token: L_CURLY@34..35 "{" [] [],
items: JsModuleItemList [
JsVariableStatement {
declaration: JsVariableDeclaration {
await_token: missing (optional),
kind: LET_KW@35..45 "let" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")],
declarators: JsVariableDeclaratorList [
JsVariableDeclarator {
id: JsIdentifierBinding {
name_token: IDENT@45..52 "VERSION" [] [],
},
variable_annotation: TsTypeAnnotation {
colon_token: COLON@52..54 ":" [] [Whitespace(" ")],
ty: TsStringType {
string_token: STRING_KW@54..60 "string" [] [],
},
},
initializer: missing (optional),
},
],
},
semicolon_token: SEMICOLON@60..61 ";" [] [],
},
],
r_curly_token: R_CURLY@61..64 "}" [Newline("\n"), Whitespace(" ")] [],
},
},
],
r_curly_token: R_CURLY@64..66 "}" [Newline("\n")] [],
},
},
},
TsDeclareStatement {
declare_token: DECLARE_KW@66..75 "declare" [Newline("\n")] [Whitespace(" ")],
declaration: TsExternalModuleDeclaration {
module_token: MODULE_KW@75..82 "module" [] [Whitespace(" ")],
source: JsModuleSource {
value_token: JS_STRING_LITERAL@82..88 "\"foo\"" [] [Whitespace(" ")],
},
body: TsModuleBlock {
l_curly_token: L_CURLY@88..89 "{" [] [],
items: JsModuleItemList [
TsGlobalDeclaration {
global_token: GLOBAL_KW@89..97 "global" [Newline("\n"), Whitespace(" ")] [],
body: TsModuleBlock {
l_curly_token: L_CURLY@97..101 "{" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")],
items: JsModuleItemList [],
r_curly_token: R_CURLY@101..102 "}" [] [],
},
},
],
r_curly_token: R_CURLY@102..104 "}" [Newline("\n")] [],
},
},
},
TsDeclareStatement {
declare_token: DECLARE_KW@104..113 "declare" [Newline("\n")] [Whitespace(" ")],
declaration: TsGlobalDeclaration {
global_token: GLOBAL_KW@113..120 "global" [] [Whitespace(" ")],
body: TsModuleBlock {
l_curly_token: L_CURLY@120..121 "{" [] [],
items: JsModuleItemList [],
r_curly_token: R_CURLY@121..122 "}" [] [],
},
},
},
TsDeclareStatement {
declare_token: DECLARE_KW@122..131 "declare" [Newline("\n")] [Whitespace(" ")],
declaration: TsGlobalDeclaration {
global_token: GLOBAL_KW@131..137 "global" [] [],
body: TsModuleBlock {
l_curly_token: L_CURLY@137..140 "{" [Newline("\n")] [Whitespace(" ")],
items: JsModuleItemList [],
r_curly_token: R_CURLY@140..141 "}" [] [],
},
},
},
],
eof_token: EOF@141..142 "" [Newline("\n")] [],
}
0: JS_MODULE@0..142
0: (empty)
1: (empty)
2: JS_DIRECTIVE_LIST@0..0
3: JS_MODULE_ITEM_LIST@0..141
0: TS_DECLARE_STATEMENT@0..66
0: DECLARE_KW@0..8 "declare" [] [Whitespace(" ")]
1: TS_EXTERNAL_MODULE_DECLARATION@8..66
0: MODULE_KW@8..15 "module" [] [Whitespace(" ")]
1: JS_MODULE_SOURCE@15..24
0: JS_STRING_LITERAL@15..24 "\"./test\"" [] [Whitespace(" ")]
2: TS_MODULE_BLOCK@24..66
0: L_CURLY@24..25 "{" [] []
1: JS_MODULE_ITEM_LIST@25..64
0: TS_GLOBAL_DECLARATION@25..64
0: GLOBAL_KW@25..34 "global" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")]
1: TS_MODULE_BLOCK@34..64
0: L_CURLY@34..35 "{" [] []
1: JS_MODULE_ITEM_LIST@35..61
0: JS_VARIABLE_STATEMENT@35..61
0: JS_VARIABLE_DECLARATION@35..60
0: (empty)
1: LET_KW@35..45 "let" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")]
2: JS_VARIABLE_DECLARATOR_LIST@45..60
0: JS_VARIABLE_DECLARATOR@45..60
0: JS_IDENTIFIER_BINDING@45..52
0: IDENT@45..52 "VERSION" [] []
1: TS_TYPE_ANNOTATION@52..60
0: COLON@52..54 ":" [] [Whitespace(" ")]
1: TS_STRING_TYPE@54..60
0: STRING_KW@54..60 "string" [] []
2: (empty)
1: SEMICOLON@60..61 ";" [] []
2: R_CURLY@61..64 "}" [Newline("\n"), Whitespace(" ")] []
2: R_CURLY@64..66 "}" [Newline("\n")] []
1: TS_DECLARE_STATEMENT@66..104
0: DECLARE_KW@66..75 "declare" [Newline("\n")] [Whitespace(" ")]
1: TS_EXTERNAL_MODULE_DECLARATION@75..104
0: MODULE_KW@75..82 "module" [] [Whitespace(" ")]
1: JS_MODULE_SOURCE@82..88
0: JS_STRING_LITERAL@82..88 "\"foo\"" [] [Whitespace(" ")]
2: TS_MODULE_BLOCK@88..104
0: L_CURLY@88..89 "{" [] []
1: JS_MODULE_ITEM_LIST@89..102
0: TS_GLOBAL_DECLARATION@89..102
0: GLOBAL_KW@89..97 "global" [Newline("\n"), Whitespace(" ")] []
1: TS_MODULE_BLOCK@97..102
0: L_CURLY@97..101 "{" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")]
1: JS_MODULE_ITEM_LIST@101..101
2: R_CURLY@101..102 "}" [] []
2: R_CURLY@102..104 "}" [Newline("\n")] []
2: TS_DECLARE_STATEMENT@104..122
0: DECLARE_KW@104..113 "declare" [Newline("\n")] [Whitespace(" ")]
1: TS_GLOBAL_DECLARATION@113..122
0: GLOBAL_KW@113..120 "global" [] [Whitespace(" ")]
1: TS_MODULE_BLOCK@120..122
0: L_CURLY@120..121 "{" [] []
1: JS_MODULE_ITEM_LIST@121..121
2: R_CURLY@121..122 "}" [] []
3: TS_DECLARE_STATEMENT@122..141
0: DECLARE_KW@122..131 "declare" [Newline("\n")] [Whitespace(" ")]
1: TS_GLOBAL_DECLARATION@131..141
0: GLOBAL_KW@131..137 "global" [] []
1: TS_MODULE_BLOCK@137..141
0: L_CURLY@137..140 "{" [Newline("\n")] [Whitespace(" ")]
1: JS_MODULE_ITEM_LIST@140..140
2: R_CURLY@140..141 "}" [] []
4: EOF@141..142 "" [Newline("\n")] []