import { ref } from "vue"; function t(t) { let n = ref(!1), r = ref(!1), i = ref(!1), a = ref(``), o = 0; function s() { (o++, (n.value = !1), (r.value = !1), (i.value = !1), (a.value = ``)); } async function c(e) { let s = ++o; ((n.value = !0), (r.value = !1), (i.value = !1), (a.value = ``)); try { let n = await t(e); if (s !== o) return; if ( !n || typeof n != `object` || !(`allowed` in n) || typeof n.allowed != `boolean` || !(`message` in n) || typeof n.message != `string` ) throw Error(`限购检查暂时不可用,请重试`); ((i.value = n.allowed), (a.value = n.allowed ? `` : n.message || `此商品已达到购买限制,请调整数量后重试`)); } catch (e) { s === o && (a.value = (e instanceof Error ? e.message : ``) || `限购检查暂时不可用,请重试`); } finally { s === o && ((n.value = !1), (r.value = !0)); } } return { pending: n, checked: r, allowed: i, message: a, check: c, reset: s, }; } export { t };