JsModule { bom_token: missing (optional), interpreter_token: missing (optional), directives: JsDirectiveList [], items: JsModuleItemList [ TsTypeAliasDeclaration { type_token: TYPE_KW@0..5 "type" [] [Whitespace(" ")], binding_identifier: TsIdentifierBinding { name_token: IDENT@5..7 "A" [] [Whitespace(" ")], }, type_parameters: missing (optional), eq_token: EQ@7..9 "=" [] [Whitespace(" ")], ty: TsStringLiteralType { literal_token: JS_STRING_LITERAL@9..12 "\"a\"" [] [], }, semicolon_token: SEMICOLON@12..13 ";" [] [], }, TsTypeAliasDeclaration { type_token: TYPE_KW@13..19 "type" [Newline("\n")] [Whitespace(" ")], binding_identifier: TsIdentifierBinding { name_token: IDENT@19..21 "B" [] [Whitespace(" ")], }, type_parameters: missing (optional), eq_token: EQ@21..23 "=" [] [Whitespace(" ")], ty: TsStringLiteralType { literal_token: JS_STRING_LITERAL@23..26 "\"b\"" [] [], }, semicolon_token: missing (optional), }, TsTypeAliasDeclaration { type_token: TYPE_KW@26..32 "type" [Newline("\n")] [Whitespace(" ")], binding_identifier: TsIdentifierBinding { name_token: IDENT@32..34 "C" [] [Whitespace(" ")], }, type_parameters: missing (optional), eq_token: EQ@34..36 "=" [] [Whitespace(" ")], ty: TsBogusType { items: [ BACKTICK@36..37 "`" [] [], JsBogus { items: [ JsBogus { items: [ DOLLAR_CURLY@37..39 "${" [] [], TsReferenceType { name: JsReferenceIdentifier { value_token: IDENT@39..41 "A" [] [Whitespace(" ")], }, type_arguments: missing (optional), }, JsBogus { items: [ IDENT@41..42 "B" [] [], ], }, R_CURLY@42..43 "}" [] [], ], }, TsTemplateChunkElement { template_chunk_token: TEMPLATE_CHUNK@43..46 "bcd" [] [], }, ], }, BACKTICK@46..47 "`" [] [], ], }, semicolon_token: missing (optional), }, TsTypeAliasDeclaration { type_token: TYPE_KW@47..53 "type" [Newline("\n")] [Whitespace(" ")], binding_identifier: TsIdentifierBinding { name_token: IDENT@53..55 "D" [] [Whitespace(" ")], }, type_parameters: missing (optional), eq_token: EQ@55..57 "=" [] [Whitespace(" ")], ty: TsBogusType { items: [ BACKTICK@57..58 "`" [] [], JsBogus { items: [ JsBogus { items: [ DOLLAR_CURLY@58..60 "${" [] [], TsReferenceType { name: JsReferenceIdentifier { value_token: IDENT@60..62 "A" [] [Whitespace(" ")], }, type_arguments: missing (optional), }, JsBogus { items: [ IDENT@62..63 "B" [] [], ], }, ], }, ], }, BACKTICK@63..64 "`" [] [], ], }, semicolon_token: missing (optional), }, ], eof_token: EOF@64..65 "" [Newline("\n")] [], } 0: JS_MODULE@0..65 0: (empty) 1: (empty) 2: JS_DIRECTIVE_LIST@0..0 3: JS_MODULE_ITEM_LIST@0..64 0: TS_TYPE_ALIAS_DECLARATION@0..13 0: TYPE_KW@0..5 "type" [] [Whitespace(" ")] 1: TS_IDENTIFIER_BINDING@5..7 0: IDENT@5..7 "A" [] [Whitespace(" ")] 2: (empty) 3: EQ@7..9 "=" [] [Whitespace(" ")] 4: TS_STRING_LITERAL_TYPE@9..12 0: JS_STRING_LITERAL@9..12 "\"a\"" [] [] 5: SEMICOLON@12..13 ";" [] [] 1: TS_TYPE_ALIAS_DECLARATION@13..26 0: TYPE_KW@13..19 "type" [Newline("\n")] [Whitespace(" ")] 1: TS_IDENTIFIER_BINDING@19..21 0: IDENT@19..21 "B" [] [Whitespace(" ")] 2: (empty) 3: EQ@21..23 "=" [] [Whitespace(" ")] 4: TS_STRING_LITERAL_TYPE@23..26 0: JS_STRING_LITERAL@23..26 "\"b\"" [] [] 5: (empty) 2: TS_TYPE_ALIAS_DECLARATION@26..47 0: TYPE_KW@26..32 "type" [Newline("\n")] [Whitespace(" ")] 1: TS_IDENTIFIER_BINDING@32..34 0: IDENT@32..34 "C" [] [Whitespace(" ")] 2: (empty) 3: EQ@34..36 "=" [] [Whitespace(" ")] 4: TS_BOGUS_TYPE@36..47 0: BACKTICK@36..37 "`" [] [] 1: JS_BOGUS@37..46 0: JS_BOGUS@37..43 0: DOLLAR_CURLY@37..39 "${" [] [] 1: TS_REFERENCE_TYPE@39..41 0: JS_REFERENCE_IDENTIFIER@39..41 0: IDENT@39..41 "A" [] [Whitespace(" ")] 1: (empty) 2: JS_BOGUS@41..42 0: IDENT@41..42 "B" [] [] 3: R_CURLY@42..43 "}" [] [] 1: TS_TEMPLATE_CHUNK_ELEMENT@43..46 0: TEMPLATE_CHUNK@43..46 "bcd" [] [] 2: BACKTICK@46..47 "`" [] [] 5: (empty) 3: TS_TYPE_ALIAS_DECLARATION@47..64 0: TYPE_KW@47..53 "type" [Newline("\n")] [Whitespace(" ")] 1: TS_IDENTIFIER_BINDING@53..55 0: IDENT@53..55 "D" [] [Whitespace(" ")] 2: (empty) 3: EQ@55..57 "=" [] [Whitespace(" ")] 4: TS_BOGUS_TYPE@57..64 0: BACKTICK@57..58 "`" [] [] 1: JS_BOGUS@58..63 0: JS_BOGUS@58..63 0: DOLLAR_CURLY@58..60 "${" [] [] 1: TS_REFERENCE_TYPE@60..62 0: JS_REFERENCE_IDENTIFIER@60..62 0: IDENT@60..62 "A" [] [Whitespace(" ")] 1: (empty) 2: JS_BOGUS@62..63 0: IDENT@62..63 "B" [] [] 2: BACKTICK@63..64 "`" [] [] 5: (empty) 4: EOF@64..65 "" [Newline("\n")] [] -- ts_template_literal_error.ts:3:15 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × expected `}` but instead found `B` 1 │ type A = "a"; 2 │ type B = "b" > 3 │ type C = `${A B}bcd` │ ^ 4 │ type D = `${A B` 5 │ i Remove B -- ts_template_literal_error.ts:4:15 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × expected `}` but instead found `B` 2 │ type B = "b" 3 │ type C = `${A B}bcd` > 4 │ type D = `${A B` │ ^ 5 │ i Remove B -- type A = "a"; type B = "b" type C = `${A B}bcd` type D = `${A B`