{"version":3,"file":"debounce.cjs","sources":["../../src/libs/debounce.ts"],"sourcesContent":["/**\n * 関数の呼び出しを指定された待機時間 (wait) だけ遅延させるデバウンス関数。\n * 直前に同じ関数が呼び出された場合、タイマーをリセットして再び遅延させます。\n *\n * @param {T} func - 実行する関数\n * @param {number} wait - デバウンスの待機時間（ミリ秒）\n * @returns {(...rest: Parameters<T>) => void} デバウンスされた関数\n *\n * @example\n * const debouncedFunction = debounce(() => console.log('Called!'), 200);\n */\nexport const debounce = <T extends (...rest: any[]) => void>(\n  func: T,\n  wait: number,\n): ((...rest: Parameters<T>) => void) => {\n  let timeoutId: ReturnType<typeof setTimeout> | null = null\n\n  return function (...timeoutRest: Parameters<T>) {\n    if (timeoutId !== null) {\n      clearTimeout(timeoutId)\n    }\n    timeoutId = setTimeout(() => {\n      func(...timeoutRest)\n    }, wait)\n  }\n}\n"],"names":[],"mappings":";;AAAA;;;;;;;;;;AAUG;MACU,QAAQ,GAAG,CACtB,IAAO,EACP,IAAY,KAC0B;IACtC,IAAI,SAAS,GAAyC,IAAI;IAE1D,OAAO,UAAU,GAAG,WAA0B,EAAA;AAC5C,QAAA,IAAI,SAAS,KAAK,IAAI,EAAE;YACtB,YAAY,CAAC,SAAS,CAAC;QACzB;AACA,QAAA,SAAS,GAAG,UAAU,CAAC,MAAK;AAC1B,YAAA,IAAI,CAAC,GAAG,WAAW,CAAC;QACtB,CAAC,EAAE,IAAI,CAAC;AACV,IAAA,CAAC;AACH;;;;"}