UNPKG

@modern-kit/react

Version:
31 lines (27 loc) 776 B
'use strict'; var React = require('react'); const useManualTimeout = () => { const timeoutIds = React.useRef([]); const clearAll = React.useCallback(() => { for (let i = 0; i < timeoutIds.current.length; i++) { clearTimeout(timeoutIds.current[i]); } timeoutIds.current = []; }, []); const set = React.useCallback((callback, delay) => { const id = window.setTimeout(() => { timeoutIds.current = timeoutIds.current.filter( (timeoutId) => timeoutId !== id ); callback(); }, delay); timeoutIds.current.push(id); return id; }, []); React.useEffect(() => { return clearAll; }, [clearAll]); return { set, clearAll }; }; exports.useManualTimeout = useManualTimeout; //# sourceMappingURL=index.cjs.map