@vueuse/integrations
Version:
Integration wrappers for utility libraries
1 lines • 1.47 kB
JavaScript
(function(e,t,n,r){var i=Object.create,a=Object.defineProperty,o=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,c=Object.getPrototypeOf,l=Object.prototype.hasOwnProperty,u=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=s(t),c=0,u=i.length,d;c<u;c++)d=i[c],!l.call(e,d)&&d!==n&&a(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(r=o(t,d))||r.enumerable});return e},d=(e,t,n)=>(n=e==null?{}:i(c(e)),u(t||!e||!e.__esModule?a(n,`default`,{value:e,enumerable:!0}):n,e));t=d(t),n=d(n),r=d(r);let f=n.default.default||n.default;function p(e,n,i={}){let{validateOption:a={},immediate:o=!0,manual:s=!1}=i,c=(0,t.toRef)(e),l=(0,r.shallowRef)(null),u=(0,r.shallowRef)(!0),d=(0,r.shallowRef)(!o||s),p=(0,r.computed)(()=>{var e;return((e=l.value)==null?void 0:e.errors)||[]}),m=(0,r.computed)(()=>{var e;return((e=l.value)==null?void 0:e.fields)||{}}),h=(0,r.computed)(()=>new f((0,r.toValue)(n))),g=async()=>{u.value=!1,d.value=!1;try{await h.value.validate(c.value,a),d.value=!0,l.value=null}catch(e){l.value=e}finally{u.value=!0}return{pass:d.value,errorInfo:l.value,errors:p.value,errorFields:m.value}};s||(0,r.watch)([c,h],()=>g(),{immediate:o,deep:!0});let _={isFinished:u,pass:d,errors:p,errorInfo:l,errorFields:m,execute:g};function v(){return new Promise((e,n)=>{(0,t.until)(u).toBe(!0).then(()=>e(_)).catch(e=>n(e))})}return{..._,then(e,t){return v().then(e,t)}}}e.useAsyncValidator=p})(this.VueUse=this.VueUse||{},VueUse,AsyncValidator,Vue);