{"version":3,"file":"useDebounce.mjs","sources":["../../../../../../../packages/components/form/src/utils/useDebounce.ts"],"sourcesContent":["import type { Ref } from 'vue';\nimport { shallowRef, watchEffect } from 'vue';\n\nexport default function useDebounce<T>(value: Ref<T[]>): Ref<T[]> {\n  const cacheValue = shallowRef(value.value.slice());\n  let timeout: any = null;\n  watchEffect(() => {\n    clearTimeout(timeout);\n    timeout = setTimeout(\n      () => {\n        cacheValue.value = value.value;\n      },\n      value.value.length ? 0 : 10,\n    );\n  });\n\n  return cacheValue;\n}\n"],"names":[],"mappings":";;AAGA,SAAwB,YAAe,KAA2B,EAAA;AAChE,EAAA,MAAM,UAAa,GAAA,UAAA,CAAW,KAAM,CAAA,KAAA,CAAM,OAAO,CAAA,CAAA;AACjD,EAAA,IAAI,OAAe,GAAA,IAAA,CAAA;AACnB,EAAA,WAAA,CAAY,MAAM;AAChB,IAAA,YAAA,CAAa,OAAO,CAAA,CAAA;AACpB,IAAU,OAAA,GAAA,UAAA;AAAA,MACR,MAAM;AACJ,QAAA,UAAA,CAAW,QAAQ,KAAM,CAAA,KAAA,CAAA;AAAA,OAC3B;AAAA,MACA,KAAA,CAAM,KAAM,CAAA,MAAA,GAAS,CAAI,GAAA,EAAA;AAAA,KAC3B,CAAA;AAAA,GACD,CAAA,CAAA;AAED,EAAO,OAAA,UAAA,CAAA;AACT;;;;"}