UNPKG

ink-use-stdout-dimensions

Version:

React hook for subscribing to stdout dimensions in Ink

20 lines (15 loc) 522 B
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;