function debounce$1(fn, ms) {
  // Avoid wrapping in `setTimeout` if ms is 0 anyway
  if (ms === 0) {
    return fn;
  }

  var timeout;
  return function (arg) {
    clearTimeout(timeout);
    timeout = setTimeout(function () {
      fn(arg);
    }, ms);
  };
}
/**
 * Debounce utility. To avoid bloating bundle size, we're only passing 1
 * argument here, a more generic function would pass all arguments. Only
 * `onMouseMove` uses this which takes the event object for now.
 */
Debounce utility. To avoid bloating bundle size, we're only passing 1
argument here, a more generic function would pass all arguments. Only
`onMouseMove` uses this which takes the event object for now.
Debounce utility . To avoid bloating bundle size we ' re only passing 1 argument here a more generic function would pass all arguments . Only ` onMouseMove ` uses this which takes the event object for now .
function debounce$1(fn, ms) {
  if (ms === 0) {
    return fn;
  }
  var timeout;
  return function (arg) {
    clearTimeout(timeout);
    timeout = setTimeout(function () {
      fn(arg);
    }, ms);
  };
}
function debounce$1 ( fn , ms ) { if ( ms === 0 ) { return fn ; } var timeout ; return function ( arg ) { clearTimeout ( timeout ) ; timeout = setTimeout ( function ( ) { fn ( arg ) ; } , ms ) ; } ; }
Debounce utility.
Debounce utility .
// Avoid wrapping in `setTimeout` if ms is 0 anyway