From 42860fa15985401825d8d51e73ec497fe5876710 Mon Sep 17 00:00:00 2001 From: Melonai Date: Wed, 24 Mar 2021 09:51:36 +0100 Subject: Update SvelteKit to public beta --- client/src/lib/utils/debounce.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 client/src/lib/utils/debounce.ts (limited to 'client/src/lib/utils/debounce.ts') diff --git a/client/src/lib/utils/debounce.ts b/client/src/lib/utils/debounce.ts new file mode 100644 index 0000000..86ef3db --- /dev/null +++ b/client/src/lib/utils/debounce.ts @@ -0,0 +1,12 @@ +type Procedure = (...args: any[]) => any; + +export default function (f: F, duration: number) { + let timeout: ReturnType | null = null; + return function (...args: Parameters) { + if (timeout !== null) { + clearTimeout(timeout); + timeout = null; + } + timeout = setTimeout(() => f(...args), duration); + }; +} -- cgit 1.4.1