Sha256: 951c3f826106e3c5c77d830289b2f60387ca4633cf8815522371adee2902c258
Contents?: true
Size: 640 Bytes
Versions: 26
Compression:
Stored size: 640 Bytes
Contents
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) => { 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); }; }, []); }
Version data entries
26 entries across 26 versions & 1 rubygems