UNPKG

payload

Version:

Node, React and MongoDB Headless CMS and Application Framework

29 lines (28 loc) 2.64 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "useDebouncedCallback", { enumerable: true, get: function() { return useDebouncedCallback; } }); const _react = require("react"); const useDebouncedCallback = (func, wait)=>{ // Use a ref to store the timeout between renders // and prevent changes to it from causing re-renders const timeout = (0, _react.useRef)(); return (0, _react.useCallback)((...args)=>{ const later = ()=>{ clearTimeout(timeout.current); func(...args); }; clearTimeout(timeout.current); timeout.current = setTimeout(later, wait); }, [ func, wait ]); }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hZG1pbi9ob29rcy91c2VEZWJvdW5jZWRDYWxsYmFjay50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlUmVmIH0gZnJvbSAncmVhY3QnXG5cbi8qKlxuICogUmV0dXJucyBhIG1lbW9pemVkIGZ1bmN0aW9uIHRoYXQgd2lsbCBvbmx5IGNhbGwgdGhlIHBhc3NlZCBmdW5jdGlvbiB3aGVuIGl0IGhhc24ndCBiZWVuIGNhbGxlZCBmb3IgdGhlIHdhaXQgcGVyaW9kXG4gKiBAcGFyYW0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gYmUgY2FsbGVkXG4gKiBAcGFyYW0gd2FpdCBXYWl0IHBlcmlvZCBhZnRlciBmdW5jdGlvbiBoYXNuJ3QgYmVlbiBjYWxsZWQgZm9yXG4gKiBAcmV0dXJucyBBIG1lbW9pemVkIGZ1bmN0aW9uIHRoYXQgaXMgZGVib3VuY2VkXG4gKi9cbmV4cG9ydCBjb25zdCB1c2VEZWJvdW5jZWRDYWxsYmFjayA9IChmdW5jLCB3YWl0KSA9PiB7XG4gIC8vIFVzZSBhIHJlZiB0byBzdG9yZSB0aGUgdGltZW91dCBiZXR3ZWVuIHJlbmRlcnNcbiAgLy8gYW5kIHByZXZlbnQgY2hhbmdlcyB0byBpdCBmcm9tIGNhdXNpbmcgcmUtcmVuZGVyc1xuICBjb25zdCB0aW1lb3V0ID0gdXNlUmVmPFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+PigpXG5cbiAgcmV0dXJuIHVzZUNhbGxiYWNrKFxuICAgICguLi5hcmdzKSA9PiB7XG4gICAgICBjb25zdCBsYXRlciA9ICgpID0+IHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXQuY3VycmVudClcbiAgICAgICAgZnVuYyguLi5hcmdzKVxuICAgICAgfVxuXG4gICAgICBjbGVhclRpbWVvdXQodGltZW91dC5jdXJyZW50KVxuICAgICAgdGltZW91dC5jdXJyZW50ID0gc2V0VGltZW91dChsYXRlciwgd2FpdClcbiAgICB9LFxuICAgIFtmdW5jLCB3YWl0XSxcbiAgKVxufVxuIl0sIm5hbWVzIjpbInVzZURlYm91bmNlZENhbGxiYWNrIiwiZnVuYyIsIndhaXQiLCJ0aW1lb3V0IiwidXNlUmVmIiwidXNlQ2FsbGJhY2siLCJhcmdzIiwibGF0ZXIiLCJjbGVhclRpbWVvdXQiLCJjdXJyZW50Iiwic2V0VGltZW91dCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFRYUE7OztlQUFBQTs7O3VCQVJ1QjtBQVE3QixNQUFNQSx1QkFBdUIsQ0FBQ0MsTUFBTUM7SUFDekMsaURBQWlEO0lBQ2pELG9EQUFvRDtJQUNwRCxNQUFNQyxVQUFVQyxJQUFBQSxhQUFNO0lBRXRCLE9BQU9DLElBQUFBLGtCQUFXLEVBQ2hCLENBQUMsR0FBR0M7UUFDRixNQUFNQyxRQUFRO1lBQ1pDLGFBQWFMLFFBQVFNLE9BQU87WUFDNUJSLFFBQVFLO1FBQ1Y7UUFFQUUsYUFBYUwsUUFBUU0sT0FBTztRQUM1Qk4sUUFBUU0sT0FBTyxHQUFHQyxXQUFXSCxPQUFPTDtJQUN0QyxHQUNBO1FBQUNEO1FBQU1DO0tBQUs7QUFFaEIifQ==