Spaces:
Paused
Paused
| function stripAnsi(input: string): string { | |
| let out = ""; | |
| for (let i = 0; i < input.length; i++) { | |
| const code = input.charCodeAt(i); | |
| if (code !== 27) { | |
| out += input[i]; | |
| continue; | |
| } | |
| const next = input[i + 1]; | |
| if (next !== "[") { | |
| continue; | |
| } | |
| i += 1; | |
| while (i + 1 < input.length) { | |
| i += 1; | |
| const c = input[i]; | |
| if (!c) { | |
| break; | |
| } | |
| const isLetter = (c >= "A" && c <= "Z") || (c >= "a" && c <= "z") || c === "~"; | |
| if (isLetter) { | |
| break; | |
| } | |
| } | |
| } | |
| return out; | |
| } | |
| export function normalizeTestText(input: string): string { | |
| return stripAnsi(input) | |
| .replaceAll("\r\n", "\n") | |
| .replaceAll("…", "...") | |
| .replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g, "?") | |
| .replace(/[\uD800-\uDFFF]/g, "?"); | |
| } | |