File: /var/www/design.system/node_modules/@inquirer/core/dist/esm/lib/use-keypress.js
import { useRef } from './use-ref.js';
import { useEffect } from './use-effect.js';
import { withUpdates } from './hook-engine.js';
export function useKeypress(userHandler) {
const signal = useRef(userHandler);
signal.current = userHandler;
useEffect((rl) => {
let ignore = false;
const handler = withUpdates((_input, event) => {
if (ignore)
return;
void signal.current(event, rl);
});
rl.input.on('keypress', handler);
return () => {
ignore = true;
rl.input.removeListener('keypress', handler);
};
}, []);
}