'use strict';

var react = require('react');

var useFuncDebounce = function useFuncDebounce(func) {
  var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 350;
  var timer = react.useRef(null);
  var debouncedFunc = function debouncedFunc() {
    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
      args[_key] = arguments[_key];
    }
    clearTimeout(timer.current);
    timer.current = setTimeout(function () {
      return func.apply(void 0, args);
    }, delay);
  };
  debouncedFunc.cancel = function () {
    return clearTimeout(timer.current);
  };
  return debouncedFunc;
};

module.exports = useFuncDebounce;
//# sourceMappingURL=useFuncDebounce.js.map
