import { useRef } from './use-ref.mjs'; import { useEffect } from './use-effect.mjs'; import { withUpdates } from './hook-engine.mjs'; export function useKeypress(userHandler) { const signal = useRef(userHandler); signal.current = userHandler; useEffect((rl) => { const handler = withUpdates((_input, event) => { signal.current(event, rl); }); rl.input.on('keypress', handler); return () => { rl.input.removeListener('keypress', handler); }; }, []); }