File tree Expand file tree Collapse file tree 1 file changed +27
-0
lines changed Expand file tree Collapse file tree 1 file changed +27
-0
lines changed Original file line number Diff line number Diff line change @@ -23,6 +23,24 @@ function isAcornStyleParseError(
2323 )
2424}
2525
26+ /**
27+ * Check whether the given value is probably a TSError.
28+ * @param x The value to check.
29+ * @returns `true` if the given value is probably a TSError.
30+ */
31+ function isTSError (
32+ x : any ,
33+ ) : x is { message : string ; index : number ; lineNumber : number ; column : number } {
34+ return (
35+ ! ( x instanceof ParseError ) &&
36+ typeof x . message === "string" &&
37+ typeof x . index === "number" &&
38+ typeof x . lineNumber === "number" &&
39+ typeof x . column === "number" &&
40+ x . name === "TSError"
41+ )
42+ }
43+
2644/**
2745 * HTML parse errors.
2846 */
@@ -53,6 +71,15 @@ export class ParseError extends SyntaxError {
5371 * @param x The error object to normalize.
5472 */
5573 public static normalize ( x : any ) : ParseError | null {
74+ if ( isTSError ( x ) ) {
75+ return new ParseError (
76+ x . message ,
77+ undefined ,
78+ x . index ,
79+ x . lineNumber ,
80+ x . column ,
81+ )
82+ }
5683 if ( ParseError . isParseError ( x ) ) {
5784 return x
5885 }
You can’t perform that action at this time.
0 commit comments