Files
scriptc/tests/fixtures/terminal-geometry/main.ts
Chris Tate d2195d8b6e Optimize terminal startup and memory use (#464)
- Reduce allocation overhead in array comparisons and string operations.
- Reuse fiber stacks and release cached memory while idle.
- Read terminal dimensions directly from native streams.
2026-09-26 10:02:56 -05:00

21 lines
728 B
TypeScript

function geometry(): number[] {
return [
(process.stdout as typeof process.stdout & { columns?: number }).columns ?? -1,
(process.stdout as typeof process.stdout & { rows?: number }).rows ?? -1,
(process.stderr as typeof process.stderr & { columns?: number }).columns ?? -1,
(process.stderr as typeof process.stderr & { rows?: number }).rows ?? -1,
];
}
console.log(JSON.stringify(geometry()));
let ticks = 0;
const timer = setInterval(() => {
const size = geometry();
if (size[0] === 100 && size[1] === 52 && size[2] === 80 && size[3] === 24) {
console.log(JSON.stringify(size));
clearInterval(timer);
} else if (++ticks > 500) {
clearInterval(timer);
process.exitCode = 1;
}
}, 5);