@matthew.ngo/react-filter-pilot
Version:
Powerful filtering, pagination, and sorting for React with TanStack Query integration
1 lines • 1.26 kB
Source Map (JSON)
{"version":3,"sources":["../../src/utils/debounce.ts"],"names":["debounce","func","delay","timeoutId","debounced","__name","args"],"mappings":";iFAGO,SAASA,CAAAA,CACdC,EACAC,CAC4B,CAAA,CAC5B,IAAIC,CAAmC,CAAA,IAAA,CAEvC,MAAMC,CAAYC,CAAAA,CAAAA,CAAA,IAAIC,CAAwB,GAAA,CACxCH,GACF,YAAaA,CAAAA,CAAS,EAGxBA,CAAY,CAAA,UAAA,CAAW,IAAM,CAC3BF,CAAK,CAAA,GAAGK,CAAI,CACZH,CAAAA,CAAAA,CAAY,KACd,CAAGD,CAAAA,CAAK,EACV,CATkB,CAAA,WAAA,CAAA,CAWlB,OAAAE,CAAAA,CAAU,MAAS,CAAA,IAAM,CACnBD,CACF,GAAA,YAAA,CAAaA,CAAS,CACtBA,CAAAA,CAAAA,CAAY,MAEhB,CAEOC,CAAAA,CACT,CAzBgBC,CAAAA,CAAAL,CAAA,CAAA,UAAA,CAAA","file":"debounce.cjs","sourcesContent":["/**\n * Debounce function with cancel method\n */\nexport function debounce<T extends (...args: any[]) => any>(\n func: T,\n delay: number\n): T & { cancel: () => void } {\n let timeoutId: NodeJS.Timeout | null = null;\n \n const debounced = (...args: Parameters<T>) => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n \n timeoutId = setTimeout(() => {\n func(...args);\n timeoutId = null;\n }, delay);\n };\n \n debounced.cancel = () => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n timeoutId = null;\n }\n };\n \n return debounced as T & { cancel: () => void };\n}"]}