UNPKG

matrix-react-sdk

Version:
34 lines (31 loc) 3.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useDebouncedCallback = useDebouncedCallback; var _react = require("react"); /* Copyright 2024 New Vector Ltd. Copyright 2022 The Matrix.org Foundation C.I.C. SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only Please see LICENSE files in the repository root for full details. */ const DEBOUNCE_TIMEOUT = 100; function useDebouncedCallback(enabled, callback, params) { (0, _react.useEffect)(() => { let handle = null; const doSearch = () => { handle = null; callback(...params); }; if (enabled !== false) { handle = window.setTimeout(doSearch, DEBOUNCE_TIMEOUT); return () => { if (handle) { clearTimeout(handle); } }; } }, [enabled, callback, params]); } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiREVCT1VOQ0VfVElNRU9VVCIsInVzZURlYm91bmNlZENhbGxiYWNrIiwiZW5hYmxlZCIsImNhbGxiYWNrIiwicGFyYW1zIiwidXNlRWZmZWN0IiwiaGFuZGxlIiwiZG9TZWFyY2giLCJ3aW5kb3ciLCJzZXRUaW1lb3V0IiwiY2xlYXJUaW1lb3V0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL3Nwb3RsaWdodC91c2VEZWJvdW5jZWRDYWxsYmFjay50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHlcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG5pbXBvcnQgeyB1c2VFZmZlY3QgfSBmcm9tIFwicmVhY3RcIjtcblxuY29uc3QgREVCT1VOQ0VfVElNRU9VVCA9IDEwMDtcblxuZXhwb3J0IGZ1bmN0aW9uIHVzZURlYm91bmNlZENhbGxiYWNrPFQgZXh0ZW5kcyBhbnlbXT4oXG4gICAgZW5hYmxlZDogYm9vbGVhbixcbiAgICBjYWxsYmFjazogKC4uLnBhcmFtczogVCkgPT4gdW5rbm93bixcbiAgICBwYXJhbXM6IFQsXG4pOiB2b2lkIHtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBsZXQgaGFuZGxlOiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgICAgICAgY29uc3QgZG9TZWFyY2ggPSAoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICBoYW5kbGUgPSBudWxsO1xuICAgICAgICAgICAgY2FsbGJhY2soLi4ucGFyYW1zKTtcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKGVuYWJsZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICBoYW5kbGUgPSB3aW5kb3cuc2V0VGltZW91dChkb1NlYXJjaCwgREVCT1VOQ0VfVElNRU9VVCk7XG4gICAgICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChoYW5kbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0KGhhbmRsZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgIH0sIFtlbmFibGVkLCBjYWxsYmFjaywgcGFyYW1zXSk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQVFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQVJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUlBLE1BQU1DLGdCQUFnQixHQUFHLEdBQUc7QUFFckIsU0FBU0Msb0JBQW9CQSxDQUNoQ0MsT0FBZ0IsRUFDaEJDLFFBQW1DLEVBQ25DQyxNQUFTLEVBQ0w7RUFDSixJQUFBQyxnQkFBUyxFQUFDLE1BQU07SUFDWixJQUFJQyxNQUFxQixHQUFHLElBQUk7SUFDaEMsTUFBTUMsUUFBUSxHQUFHQSxDQUFBLEtBQVk7TUFDekJELE1BQU0sR0FBRyxJQUFJO01BQ2JILFFBQVEsQ0FBQyxHQUFHQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUNELElBQUlGLE9BQU8sS0FBSyxLQUFLLEVBQUU7TUFDbkJJLE1BQU0sR0FBR0UsTUFBTSxDQUFDQyxVQUFVLENBQUNGLFFBQVEsRUFBRVAsZ0JBQWdCLENBQUM7TUFDdEQsT0FBTyxNQUFNO1FBQ1QsSUFBSU0sTUFBTSxFQUFFO1VBQ1JJLFlBQVksQ0FBQ0osTUFBTSxDQUFDO1FBQ3hCO01BQ0osQ0FBQztJQUNMO0VBQ0osQ0FBQyxFQUFFLENBQUNKLE9BQU8sRUFBRUMsUUFBUSxFQUFFQyxNQUFNLENBQUMsQ0FBQztBQUNuQyIsImlnbm9yZUxpc3QiOltdfQ==