635f5bdf8c
1. `getRawLiteral()`: barf if `currentSourceFile` is missing, since if it is, then the following `getSourceTextOfNodeFromSourceFile` will return a bogus `""`. 2. One `||` -> `??` change. 3. `backtickQuoteEscapedCharsRegExp`: escape the usual control characters except for a simple LF. This code does get used to generate backtick strings when `rawText` is not given, and not escaping things like TAB characters can get mangled by editor settings. Worse, not escaping a CRLF and putting it verbatim in sthe string source will interpret it as LF, so add a special case for escaping these as `\r\n`. Added test. Related to #44313 and #40625.
14 lines
722 B
Plaintext
14 lines
722 B
Plaintext
tests/cases/compiler/templateLiteralsInTypes.ts(3,1): error TS2554: Expected 2 arguments, but got 1.
|
|
tests/cases/compiler/templateLiteralsInTypes.ts(3,8): error TS2339: Property 'foo' does not exist on type '`${string}:\t${number}\r\n`'.
|
|
|
|
|
|
==== tests/cases/compiler/templateLiteralsInTypes.ts (2 errors) ====
|
|
const f = (hdr: string, val: number) => `${hdr}:\t${val}\r\n` as `${string}:\t${number}\r\n`;
|
|
|
|
f("x").foo;
|
|
~~~~~~
|
|
!!! error TS2554: Expected 2 arguments, but got 1.
|
|
!!! related TS6210 tests/cases/compiler/templateLiteralsInTypes.ts:1:25: An argument for 'val' was not provided.
|
|
~~~
|
|
!!! error TS2339: Property 'foo' does not exist on type '`${string}:\t${number}\r\n`'.
|
|
|