UNPKG

react-terminal-viewer

Version:

<h1 align="center"> react-terminal-viewer </h1>

26 lines (25 loc) 760 B
import { useRef, useEffect, useCallback } from 'react'; // eslint-disable-next-line @typescript-eslint/ban-types function useDebounceInput(cb) { var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 800; var cbRef = useRef(cb); var timerRef = useRef(); useEffect(function () { cbRef.current = cb; }); useEffect(function () { return function () { clearTimeout(timerRef.current); }; }, []); return useCallback( // eslint-disable-next-line @typescript-eslint/no-explicit-any function (e) { var value = e.target.value; clearTimeout(timerRef.current); timerRef.current = setTimeout(function () { cbRef.current(value); }, delay); }, [delay]); } export default useDebounceInput;