UNPKG

tav-ui

Version:
1 lines 1.07 kB
{"version":3,"file":"useLockFn2.mjs","sources":["../../../../../../packages/hooks/core/useLockFn.ts"],"sourcesContent":["import { ref, unref } from 'vue'\n\nexport function useLockFn<P extends any[] = any[], V = any>(fn: (...args: P) => Promise<V>) {\n const lockRef = ref(false)\n return async function (...args: P) {\n if (unref(lockRef)) return\n lockRef.value = true\n try {\n const ret = await fn(...args)\n lockRef.value = false\n return ret\n } catch (e) {\n lockRef.value = false\n throw e\n }\n }\n}\n"],"names":[],"mappings":";;AACO,SAAS,SAAS,CAAC,EAAE,EAAE;AAC9B,EAAE,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;AAC7B,EAAE,OAAO,eAAe,GAAG,IAAI,EAAE;AACjC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC;AACtB,MAAM,OAAO;AACb,IAAI,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;AACzB,IAAI,IAAI;AACR,MAAM,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;AACpC,MAAM,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;AAC5B,MAAM,OAAO,GAAG,CAAC;AACjB,KAAK,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;AAC5B,MAAM,MAAM,CAAC,CAAC;AACd,KAAK;AACL,GAAG,CAAC;AACJ;;;;"}