@ts-dev-tools/core
Version:
TS dev tools Core
27 lines (26 loc) • 974 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.mockConsoleInfo = mockConsoleInfo;
exports.resetMockedConsoleInfo = resetMockedConsoleInfo;
exports.getConsoleInfoContent = getConsoleInfoContent;
exports.stripAnsi = stripAnsi;
const info = console.info;
function mockConsoleInfo() {
console.info = vi.fn();
}
function resetMockedConsoleInfo() {
console.info = info;
}
function getConsoleInfoContent() {
const calls = console.info?.mock.calls;
return calls.flat().join("\n");
}
function stripAnsi(input) {
// Valid string terminator sequences are BEL, ESC\, and 0x9c
const ST = "(?:\\u0007|\\u001B\\u005C|\\u009C)";
const pattern = [
`[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?${ST})`,
"(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))",
].join("|");
return input.replace(new RegExp(pattern, "g"), "");
}