ink-use-stream-dimensions
Version:
Get the columns and rows of a stream in a ink app
18 lines (17 loc) • 488 B
JavaScript
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;
}