/**
 * 节流工具类
 * 提供节流功能，防止函数在短时间内被重复调用
 */
export class ThrottleUtils {
  /**
   * 创建节流函数
   * @param {Function} func - 要节流的函数
   * @param {number} delay - 节流延迟时间
   * @returns {Function} 节流后的函数
   */
  static createThrottle(func: (...args: any[]) => void, delay: number) {
    let prev = Date.now();

    return function (this: unknown, ...args: any[]) {
      let now = Date.now();

      if (now - prev >= delay) {
        func.apply(this, args);
        prev = now;
      }
    };
  }
}
