code: function debounce(func) {
    var timeout = void 0;
    return function () {
      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }
  
      var context = this;
  
      var lastCall = function lastCall() {
        timeout = null;
        func.apply(context, args);
      };
  
      clearTimeout(timeout);
      timeout = setTimeout(lastCall, 100);
    };
  }
docs: /* eslint-disable no-undef