UNPKG

@prezly/theme-kit-react

Version:

Data layer and utility library for developing Prezly themes with NextJS

24 lines (22 loc) 893 B
"use strict"; 'use client'; Object.defineProperty(exports, "__esModule", { value: true }); exports.useDebounce = useDebounce; var _react = require("react"); function useDebounce(milliseconds, fn) { var fnRef = (0, _react.useRef)(fn); // TODO: This can potentially lead to bus in future React versions [DEV-11206] // @see https://github.com/facebook/react/issues/16956#issuecomment-536636418 fnRef.current = fn; var timer = (0, _react.useRef)(null); return (0, _react.useCallback)(function () { var _timer$current; for (var _len = arguments.length, params = new Array(_len), _key = 0; _key < _len; _key++) { params[_key] = arguments[_key]; } clearTimeout((_timer$current = timer.current) !== null && _timer$current !== void 0 ? _timer$current : undefined); setTimeout(() => fnRef.current(...params), milliseconds); }, [fnRef, timer, milliseconds]); }