UNPKG

payload

Version:

Node, React and MongoDB Headless CMS and Application Framework

31 lines (30 loc) 2.73 kB
/* eslint-disable react-hooks/exhaustive-deps */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function() { return _default; } }); const _react = require("react"); const useThrottledEffect = (callback, delay, deps = [])=>{ const lastRan = (0, _react.useRef)(Date.now()); (0, _react.useEffect)(()=>{ const handler = setTimeout(()=>{ if (Date.now() - lastRan.current >= delay) { callback(); lastRan.current = Date.now(); } }, delay - (Date.now() - lastRan.current)); return ()=>{ clearTimeout(handler); }; }, [ delay, ...deps ]); }; const _default = useThrottledEffect; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hZG1pbi9ob29rcy91c2VUaHJvdHRsZWRFZmZlY3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwcyAqL1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VSZWYgfSBmcm9tICdyZWFjdCdcblxudHlwZSB1c2VUaHJvdHRsZWRFZmZlY3QgPSAoXG4gIGNhbGxiYWNrOiBSZWFjdC5FZmZlY3RDYWxsYmFjayxcbiAgZGVsYXk6IG51bWJlcixcbiAgZGVwczogUmVhY3QuRGVwZW5kZW5jeUxpc3QsXG4pID0+IHZvaWRcblxuY29uc3QgdXNlVGhyb3R0bGVkRWZmZWN0OiB1c2VUaHJvdHRsZWRFZmZlY3QgPSAoY2FsbGJhY2ssIGRlbGF5LCBkZXBzID0gW10pID0+IHtcbiAgY29uc3QgbGFzdFJhbiA9IHVzZVJlZihEYXRlLm5vdygpKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlciA9IHNldFRpbWVvdXQoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGlmIChEYXRlLm5vdygpIC0gbGFzdFJhbi5jdXJyZW50ID49IGRlbGF5KSB7XG4gICAgICAgICAgY2FsbGJhY2soKVxuICAgICAgICAgIGxhc3RSYW4uY3VycmVudCA9IERhdGUubm93KClcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGRlbGF5IC0gKERhdGUubm93KCkgLSBsYXN0UmFuLmN1cnJlbnQpLFxuICAgIClcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjbGVhclRpbWVvdXQoaGFuZGxlcilcbiAgICB9XG4gIH0sIFtkZWxheSwgLi4uZGVwc10pXG59XG5cbmV4cG9ydCBkZWZhdWx0IHVzZVRocm90dGxlZEVmZmVjdFxuIl0sIm5hbWVzIjpbInVzZVRocm90dGxlZEVmZmVjdCIsImNhbGxiYWNrIiwiZGVsYXkiLCJkZXBzIiwibGFzdFJhbiIsInVzZVJlZiIsIkRhdGUiLCJub3ciLCJ1c2VFZmZlY3QiLCJoYW5kbGVyIiwic2V0VGltZW91dCIsImN1cnJlbnQiLCJjbGVhclRpbWVvdXQiXSwibWFwcGluZ3MiOiJBQUFBLDhDQUE4Qzs7OzsrQkE2QjlDOzs7ZUFBQTs7O3VCQTVCa0M7QUFRbEMsTUFBTUEscUJBQXlDLENBQUNDLFVBQVVDLE9BQU9DLE9BQU8sRUFBRTtJQUN4RSxNQUFNQyxVQUFVQyxJQUFBQSxhQUFNLEVBQUNDLEtBQUtDLEdBQUc7SUFFL0JDLElBQUFBLGdCQUFTLEVBQUM7UUFDUixNQUFNQyxVQUFVQyxXQUNkO1lBQ0UsSUFBSUosS0FBS0MsR0FBRyxLQUFLSCxRQUFRTyxPQUFPLElBQUlULE9BQU87Z0JBQ3pDRDtnQkFDQUcsUUFBUU8sT0FBTyxHQUFHTCxLQUFLQyxHQUFHO1lBQzVCO1FBQ0YsR0FDQUwsUUFBU0ksQ0FBQUEsS0FBS0MsR0FBRyxLQUFLSCxRQUFRTyxPQUFPLEFBQUQ7UUFHdEMsT0FBTztZQUNMQyxhQUFhSDtRQUNmO0lBQ0YsR0FBRztRQUFDUDtXQUFVQztLQUFLO0FBQ3JCO01BRUEsV0FBZUgifQ==