UNPKG

ink-use-stream-dimensions

Version:

Get the columns and rows of a stream in a ink app

18 lines (17 loc) 488 B
import { useLayoutEffect, useState } from "react"; export function useStreamDimensions(stdout) { const [dimensions, setDimensions] = useState([ stdout.columns, stdout.rows, ]); useLayoutEffect(() => { const handler = () => { setDimensions([stdout.columns, stdout.rows]); }; stdout.on("resize", handler); return () => { stdout.off("resize", handler); }; }, [stdout]); return dimensions; }