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")] []