ink-use-stdout-dimensions
Version:
React hook for subscribing to stdout dimensions in Ink
20 lines (15 loc) • 522 B
text/typescript
import { useEffect, useState } from 'react';
import { useStdout } from 'ink';
function useStdoutDimensions(): [number, number] {
const { stdout } = useStdout();
const [dimensions, setDimensions] = useState<[number, number]>([stdout.columns, stdout.rows]);
useEffect(() => {
const handler = () => setDimensions([stdout.columns, stdout.rows]);
stdout.on('resize', handler);
return () => {
stdout.off('resize', handler);
};
}, [stdout]);
return dimensions;
}
export = useStdoutDimensions;