UNPKG

@pinuts/bsr-uikit-relaunch

Version:

BSR UI-KIT Relaunch

25 lines (24 loc) 1.02 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = require("react"); // verzögert eine Funktion für debounceTime Millisekunden. // Falls die Funktion in der Zwischenzeit neu getriggert wurde, wird der veraltete Aufruf gecancelled const useDebounceFunc = function (func) { let debounceTime = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100; const timeoutRef = (0, _react.useRef)(); const debouncedFunc = (0, _react.useCallback)(function () { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } if (timeoutRef.current) { window.clearTimeout(timeoutRef.current); } timeoutRef.current = setTimeout(() => func(...args), debounceTime); }, [func, debounceTime]); (0, _react.useEffect)(() => () => window.clearTimeout(timeoutRef.current), []); return debouncedFunc; }; var _default = exports.default = useDebounceFunc;