export default function (fn) {
  var called = false;

  return function (...args) {
    if (!called) {
      called = true;
      setTimeout(() => {
        called = false;
        fn.apply(this, args);
      }, 1);
    }
  };
}

@@ -1,8 +1,57 @@
+const raf = requestAnimationFrame %7C%7C setTimeout;%0A
 export d
@@ -172,26 +172,19 @@
 ;%0A      
-setTimeout
+raf
 (() =%3E %7B
@@ -249,11 +249,8 @@
    %7D
-, 1
 );%0A 

Update debounce() to use requestAnimationFrame() if available.