code: function factory($timeout) {
    /** @type {function(T, number, boolean, angular.ITimeoutService): T} */
    const deb = debounce;
    return (func, wait, invokeApply) => {
      return deb(func, wait, invokeApply, $timeout);
    };
  }
docs: Provides a debounce service. That service is a function
  used to debounce calls to a user-provided function.
  
  @template {function(?): void} T args
  @param {angular.ITimeoutService} $timeout Angular timeout service.
  @return {import("ngeo/misc/debounce.js").miscDebounce<T>} The debounce function.
  
  @ngdoc service
  @ngname ngeoDebounce
  @ngInject
  @private
  @hidden