| 1729 | this.logicalBackFrame.screen.hyperlinkPool = this.hyperlinkPool; |
| 1730 | } |
| 1731 | patchConsole(): () => void { |
| 1732 | // biome-ignore lint/suspicious/noConsole: intentionally patching global console |
| 1733 | const con = console; |
| 1734 | const originals: Partial<Record<keyof Console, Console[keyof Console]>> = {}; |
| 1735 | const toDebug = (...args: unknown[]) => logForDebugging(`console.log: ${format(...args)}`); |
| 1736 | const toError = (...args: unknown[]) => logError(new Error(`console.error: ${format(...args)}`)); |
| 1737 | for (const m of CONSOLE_STDOUT_METHODS) { |
| 1738 | originals[m] = con[m]; |
| 1739 | con[m] = toDebug; |
| 1740 | } |
| 1741 | for (const m of CONSOLE_STDERR_METHODS) { |
| 1742 | originals[m] = con[m]; |
| 1743 | con[m] = toError; |
| 1744 | } |
| 1745 | originals.assert = con.assert; |
| 1746 | con.assert = (condition: unknown, ...args: unknown[]) => { |
| 1747 | if (!condition) toError(...args); |
| 1748 | }; |
| 1749 | return () => Object.assign(con, originals); |
| 1750 | } |
| 1751 | |
| 1752 | /** |
| 1753 | * Intercept process.stderr.write so stray writes (config.ts, hooks.ts, |