File size: 532 Bytes
9ada4bc |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
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);
};
}, []);
}
|