(function(m,u,s,t){"use strict";const p=s.default||s;function y(w,A,F={}){const{validateOption:U={},immediate:o=!0,manual:i=!1}=F,c=u.toRef(w),r=t.shallowRef(null),a=t.ref(!0),n=t.ref(!o||i),d=t.computed(()=>{var e;return((e=r.value)==null?void 0:e.errors)||[]}),f=t.computed(()=>{var e;return((e=r.value)==null?void 0:e.fields)||{}}),v=t.computed(()=>new p(t.toValue(A))),h=async()=>{a.value=!1,n.value=!1;try{await v.value.validate(c.value,U),n.value=!0,r.value=null}catch(e){r.value=e}finally{a.value=!0}return{pass:n.value,errorInfo:r.value,errors:d.value,errorFields:f.value}};i||t.watch([c,v],()=>h(),{immediate:o,deep:!0});const V={isFinished:a,pass:n,errors:d,errorInfo:r,errorFields:f,execute:h};function R(){return new Promise((e,l)=>{u.until(a).toBe(!0).then(()=>e(V)).catch(I=>l(I))})}return{...V,then(e,l){return R().then(e,l)}}}m.useAsyncValidator=y})(this.VueUse=this.VueUse||{},VueUse,AsyncValidator,Vue);