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..16 "a" [] [],
},
body: missing (required),
},
},
JsEmptyStatement {
semicolon_token: SEMICOLON@16..33 ";" [] [Whitespace(" "), Comments("// missing body")],
},
TsDeclareStatement {
declare_token: DECLARE_KW@33..42 "declare" [Newline("\n")] [Whitespace(" ")],
declaration: TsExternalModuleDeclaration {
module_token: MODULE_KW@42..49 "module" [] [Whitespace(" ")],
source: JsModuleSource {
value_token: JS_STRING_LITERAL@49..53 "\"a\"" [] [Whitespace(" ")],
},
body: missing (optional),
},
},
TsDeclareStatement {
declare_token: DECLARE_KW@53..61 "declare" [] [Whitespace(" ")],
declaration: TsExternalModuleDeclaration {
module_token: MODULE_KW@61..68 "module" [] [Whitespace(" ")],
source: JsModuleSource {
value_token: JS_STRING_LITERAL@68..71 "\"b\"" [] [],
},
body: TsEmptyExternalModuleDeclarationBody {
semicolon_token: SEMICOLON@71..88 ";" [] [Whitespace(" "), Comments("// missing semi")],
},
},
},
],
eof_token: EOF@88..89 "" [Newline("\n")] [],
}
0: JS_MODULE@0..89
0: (empty)
1: (empty)
2: JS_DIRECTIVE_LIST@0..0
3: JS_MODULE_ITEM_LIST@0..88
0: TS_DECLARE_STATEMENT@0..16
0: DECLARE_KW@0..8 "declare" [] [Whitespace(" ")]
1: TS_MODULE_DECLARATION@8..16
0: MODULE_KW@8..15 "module" [] [Whitespace(" ")]
1: TS_IDENTIFIER_BINDING@15..16
0: IDENT@15..16 "a" [] []
2: (empty)
1: JS_EMPTY_STATEMENT@16..33
0: SEMICOLON@16..33 ";" [] [Whitespace(" "), Comments("// missing body")]
2: TS_DECLARE_STATEMENT@33..53
0: DECLARE_KW@33..42 "declare" [Newline("\n")] [Whitespace(" ")]
1: TS_EXTERNAL_MODULE_DECLARATION@42..53
0: MODULE_KW@42..49 "module" [] [Whitespace(" ")]
1: JS_MODULE_SOURCE@49..53
0: JS_STRING_LITERAL@49..53 "\"a\"" [] [Whitespace(" ")]
2: (empty)
3: TS_DECLARE_STATEMENT@53..88
0: DECLARE_KW@53..61 "declare" [] [Whitespace(" ")]
1: TS_EXTERNAL_MODULE_DECLARATION@61..88
0: MODULE_KW@61..68 "module" [] [Whitespace(" ")]
1: JS_MODULE_SOURCE@68..71
0: JS_STRING_LITERAL@68..71 "\"b\"" [] []
2: TS_EMPTY_EXTERNAL_MODULE_DECLARATION_BODY@71..88
0: SEMICOLON@71..88 ";" [] [Whitespace(" "), Comments("// missing semi")]
4: EOF@88..89 "" [Newline("\n")] []
--
ts_module_err.ts:1:17 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
× expected `{` but instead found `;`
> 1 │ declare module a; // missing body
│ ^
2 │ declare module "a" declare module "b"; // missing semi
3 │
i Remove ;
--
ts_module_err.ts:2:20 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
× Expected a semicolon or an implicit semicolon after a statement, but found none
1 │ declare module a; // missing body
> 2 │ declare module "a" declare module "b"; // missing semi
│ ^^^^^^^
3 │
i An explicit or implicit semicolon is expected here...
1 │ declare module a; // missing body
> 2 │ declare module "a" declare module "b"; // missing semi
│ ^^^^^^^
3 │
i ...Which is required to end this statement
1 │ declare module a; // missing body
> 2 │ declare module "a" declare module "b"; // missing semi
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^
3 │
--
declare module a; // missing body
declare module "a" declare module "b"; // missing semi