Fix debounce of same function

Use a symbol to have a unique property
This commit is contained in:
Chocobozzz
2026-07-13 15:50:17 +02:00
parent 39e0c06f4a
commit 83074e6b91
+3 -3
View File
@@ -1,13 +1,13 @@
export function Debounce (config: { timeoutMS: number }) { export function Debounce (config: { timeoutMS: number }) {
let timeoutRef: NodeJS.Timeout const timeoutRefKey = Symbol('debounce-timeout')
return function (_target, _key, descriptor: PropertyDescriptor) { return function (_target, _key, descriptor: PropertyDescriptor) {
const original = descriptor.value const original = descriptor.value
descriptor.value = function (...args: any[]) { descriptor.value = function (...args: any[]) {
clearTimeout(timeoutRef) clearTimeout(this[timeoutRefKey])
timeoutRef = setTimeout(() => { this[timeoutRefKey] = setTimeout(() => {
original.apply(this, args) original.apply(this, args)
}, config.timeoutMS) }, config.timeoutMS)
} }