]> BookStack Code Mirror - bookstack/blobdiff - resources/js/services/util.ts
TypeScript: Updated compile target, addressed issues
[bookstack] / resources / js / services / util.ts
index 61a02a3d24de1d97afcee28e22005b89b7bfef60..74ae1a9351535d02e27d0b818ae9f47ca4f61d96 100644 (file)
@@ -5,7 +5,7 @@
  * leading edge, instead of the trailing.
  * @attribution https://davidwalsh.name/javascript-debounce-function
  */
-export function debounce(func: Function, waitMs: number, immediate: boolean): Function {
+export function debounce<T extends (...args: any[]) => any>(func: T, waitMs: number, immediate: boolean): T {
     let timeout: number|null = null;
     return function debouncedWrapper(this: any, ...args: any[]) {
         const context: any = this;
@@ -19,7 +19,7 @@ export function debounce(func: Function, waitMs: number, immediate: boolean): Fu
         }
         timeout = window.setTimeout(later, waitMs);
         if (callNow) func.apply(context, args);
-    };
+    } as T;
 }
 
 function isDetailsElement(element: HTMLElement): element is HTMLDetailsElement {