UNPKG

715 BJavaScriptView Raw
1"use strict";
2
3exports.__esModule = true;
4exports.default = useDebouncedCallback;
5var _react = require("react");
6var _useTimeout = _interopRequireDefault(require("./useTimeout"));
7function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8/**
9 * Creates a debounced function that will invoke the input function after the
10 * specified delay.
11 *
12 * @param fn a function that will be debounced
13 * @param delay The milliseconds delay before invoking the function
14 */
15function useDebouncedCallback(fn, delay) {
16 const timeout = (0, _useTimeout.default)();
17 return (0, _react.useCallback)((...args) => {
18 timeout.set(() => {
19 fn(...args);
20 }, delay);
21 }, [fn, delay]);
22}
\No newline at end of file