( fn: (...args: Args) => void, ms: number )
| 552 | } |
| 553 | |
| 554 | function debounce<Args extends unknown[]>( |
| 555 | fn: (...args: Args) => void, |
| 556 | ms: number |
| 557 | ): (...args: Args) => void { |
| 558 | let timer: ReturnType<typeof setTimeout> | null = null |
| 559 | return (...args: Args) => { |
| 560 | if (timer) clearTimeout(timer) |
| 561 | timer = setTimeout(() => { |
| 562 | timer = null |
| 563 | fn(...args) |
| 564 | }, ms) |
| 565 | } |
| 566 | } |
| 567 | |
| 568 | function startWatching(): void { |
| 569 | const file = getConfigFilePath() |