From 571b1faf70c3ed7d5dc1a086c491c63ea7dfbede Mon Sep 17 00:00:00 2001
From: Alec Armbruster <alectrocute@gmail.com>
Date: Sat, 17 Jun 2023 08:46:19 -0400
Subject: [PATCH] remove comments

---
 src/shared/utils/helpers/debounce.ts | 20 --------------------
 1 file changed, 20 deletions(-)

diff --git a/src/shared/utils/helpers/debounce.ts b/src/shared/utils/helpers/debounce.ts
index 7a1e8b1..d5cd701 100644
--- a/src/shared/utils/helpers/debounce.ts
+++ b/src/shared/utils/helpers/debounce.ts
@@ -3,42 +3,22 @@ export function debounce<T extends any[], R>(
   wait = 1000,
   immediate = false
 ) {
-  // 'private' variable for instance
-  // The returned function will be able to reference this due to closure.
-  // Each call to the returned function will share this common timer.
   let timeout: NodeJS.Timeout | null;
 
-  // Calling debounce returns a new anonymous function
   return function () {
-    // reference the context and args for the setTimeout function
     const args = arguments;
-
-    // Should the function be called now? If immediate is true
-    //   and not already in a timeout then the answer is: Yes
     const callNow = immediate && !timeout;
 
-    // This is the basic debounce behavior where you can call this
-    //   function several times, but it will only execute once
-    //   [before or after imposing a delay].
-    //   Each time the returned function is called, the timer starts over.
     clearTimeout(timeout ?? undefined);
 
-    // Set the new timeout
     timeout = setTimeout(function () {
-      // Inside the timeout function, clear the timeout variable
-      // which will let the next execution run when in 'immediate' mode
       timeout = null;
 
-      // Check if the function already ran with the immediate flag
       if (!immediate) {
-        // Call the original function with apply
-        // apply lets you define the 'this' object as well as the arguments
-        //    (both captured before setTimeout)
         func.apply(this, args);
       }
     }, wait);
 
-    // Immediate mode and no wait timer? Execute the function..
     if (callNow) func.apply(this, args);
   } as (...e: T) => R;
 }
-- 
2.44.1