@regle/core 0.2.10 → 0.2.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var vue=require('vue');var Ce=(r=>(r.Inline="__inline",r.Async="__async",r))(Ce||{});function Qe(e,t){return vue.computed(()=>e.value.some(r=>r[t]))}function Xe(e,t){return vue.computed(()=>e.value.reduce((r,n)=>{let a=n[t]||[];return r.concat(a)},[]))}function H(e){return e.map(t=>t instanceof Function?t():vue.unref(t))}function Ze(e){return e.map(t=>t instanceof Function||vue.isRef(t)?t:vue.toRef(()=>t))}function Ke(e){let t=e.toString();return (t.includes("=>")?t.split("=>")[0]:t).slice(t.indexOf("(")+1,t.indexOf(")")).split(",").map(l=>l.trim()).filter(l=>l.includes("=")).length+e.length}function Ie(e,...t){let{message:r,validator:n,active:a,type:l,...f}=e,d=l==="__async"||n.constructor.name==="AsyncFunction";return {...{validator(h,...$){return e.validator(h,...H($.length?$:t))},message(h,$){return typeof e.message=="function"?e.message(h,{...$,$params:H($.$params?.length?$.$params:t)}):e.message},active(h,$){return typeof e.active=="function"?e.active(h,{...$,$params:H($.$params?.length?$.$params:t)}):e.active??!0},exec(h){let $=e.validator(h,...H(t)),g;return $ instanceof Promise?$.then(v=>(g=v,typeof g=="object"&&"$valid"in g?g.$valid:typeof g=="boolean"?g:!1)):(g=$,typeof g=="object"&&"$valid"in g?g.$valid:typeof g=="boolean"?g:!1)}},...f,_validator:e.validator,_message:e.message,_active:e.active,_type:e.type,_patched:!1,_async:d,_params:Ze(t)}}function Pe(e){if(typeof e.validator=="function"){let r=Ie(e,...[]),n=e.validator.constructor.name==="AsyncFunction";if(Ke(e.validator)>1){let a=function(...l){return Ie(e,...l)};return a.validator=r.validator,a.message=r.message,a.active=r.active,a.type=r.type,a.exec=r.exec,a._validator=r.validator,a._message=r.message,a._active=r.active,a._type=e.type,a._patched=!1,a._async=n,a}else return r}throw new Error("Validator must be a function")}function q(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function et(e){return q(e.value)}function re(e){let t=e,r={}.toString.call(e).slice(8,-1);if(r=="Set"&&(t=new Set([...e].map(n=>re(n)))),r=="Map"&&(t=new Map([...e].map(n=>[re(n[0]),re(n[1])]))),r=="Date"&&(t=new Date(e.getTime())),r=="RegExp"&&(t=RegExp(e.source,Tt(e))),r=="Array"||r=="Object"){t=Array.isArray(e)?[]:{};for(let n in e)t[n]=re(e[n]);}return t}function Tt(e){if(typeof e.source.flags=="string")return e.source.flags;{let t=[];return e.global&&t.push("g"),e.ignoreCase&&t.push("i"),e.multiline&&t.push("m"),e.sticky&&t.push("y"),e.unicode&&t.push("u"),t.join("")}}function we(e,t,r){return e instanceof Function?e(t,r??0):e}function tt(e,t){vue.isRef(e)?e.value=t:e=t;}function rt(e,t){vue.isRef(e)?e.value=[]:e=[],t.forEach((r,n)=>{let a=vue.isRef(e)?e.value[n]:e[n];a={},Re(a,t[n]);});}function Re(e,t){Object.entries({...vue.unref(e),...t}).forEach(([r,n])=>{let a=vue.isRef(e)?e.value:e,l=vue.isRef(t[r])?t[r]._value:t[r],f=vue.isRef(a[r])?a[r].value:a[r];Array.isArray(a[r])?(a[r]=[],Array.isArray(l)&&l.forEach((d,E)=>{a[r][E]={},Re(a[r][E],l[E]);})):q(l)?Re(f,l):vue.isRef(a[r])?a[r].value=l:a[r]=l;});}function z(e){return e==null?!0:e===!1?!1:e instanceof Date?isNaN(e.getTime()):Array.isArray(e)?e.length===0:typeof e=="object"&&e!=null?Object.keys(e).length===0:typeof e=="string"?!String(e.trim()).length:!1}function Se(e,t,r){let n,a=(...l)=>new Promise(f=>{clearTimeout(n),n=setTimeout(()=>{n=void 0,Promise.resolve(e.apply(this,[...l])).then(f);},t);});return a.cancel=()=>{clearTimeout(n),n=void 0;},a.doImmediately=(...l)=>new Promise(f=>{clearTimeout(n),n=setTimeout(()=>{n=void 0,Promise.resolve(e.apply(this,[...l])).then(f);},0);}),a}function Dt(e,t){let r=String(e).split("."),n=String(t).split(".");for(let a=0;a<Math.min(r.length,n.length);a++){let l=Number(r[a]),f=Number(n[a]);if(l>f)return 1;if(f>l)return -1;if(!isNaN(l)&&isNaN(f))return 1;if(isNaN(l)&&!isNaN(f))return -1}return 0}var he=Dt(vue.version,"3.5.0")!==-1;function xt(){return Math.floor(Math.random()*Date.now()).toString()}function Oe(){return typeof window>"u"?xt():window.crypto.getRandomValues(new Uint32Array(1))[0].toString(10)}function Ae(){let e=vue.shallowRef(new Map),t=vue.shallowRef(new Map),r=vue.shallowRef(new Map),n=vue.shallowRef(new Map),a=vue.shallowRef(new Map),l=vue.shallowRef(new Map);function f(u){let o=t.value.get(u);if(o)return o;{let R=vue.ref({});return t.value.set(u,R),R}}function d(u){let o=r.value.get(u);if(o)return o;{let R=vue.ref([]);return r.value.set(u,R),R}}function E(u,o,R){l.value.set(`${u}-${o}`,R);}function b(u,o){return l.value.get(`${u}-${o}`)}function h(u,o){u&&o!=null&&l.value.delete(`${u}-${o}`);}function $(u,o){n.value.set(u,o);}function g(u){return n.value.get(u)??!1}function v(u,o){e.value.set(u,o);}function i(u,o){let R=e.value.get(u);return R?A(o,R)?{valid:!0}:{valid:!1}:void 0}function A(u,o){let R=Object.keys(o),w=Object.keys(u);return w.length!==R.length||!w.every(V=>R.includes(V))?!1:w.every(V=>{let D=u[V],I=o[V];return !I||!D||typeof D=="function"||typeof I=="function"||typeof D=="number"||typeof D=="boolean"?!1:D._params?D._params?.every((P,m)=>{if(typeof I=="number"||typeof I=="boolean")return !0;{let x=H(I._params),W=H(D._params);return x?.[m]===W?.[m]}}):!0})}function G(u){let o=a.value.get(u);if(o)return o;{let R=vue.ref(!1),w=vue.ref(!0),B=vue.ref({}),V=vue.ref(!1);return a.value.set(u,{$pending:R,$valid:w,$metadata:B,$validating:V}),{$pending:R,$valid:w,$metadata:B,$validating:V}}}return vue.onScopeDispose(()=>{e.value.clear(),t.value.clear(),r.value.clear(),n.value.clear(),a.value.clear(),l.value.clear();}),{addRuleDeclEntry:v,setDirtyEntry:$,checkRuleDeclEntry:i,getDirtyState:g,trySetRuleStatusRef:G,getFieldsEntry:f,getCollectionsEntry:d,getArrayStatus:b,addArrayStatus:E,deleteArrayStatus:h,arrayStatusStorage:l}}function nt(e,t){return q(e.value)&&q(t.value)&&!Object.entries(t.value).some(r=>pe(r))}function at(e,t){return !!e.value&&"$each"in e.value||Array.isArray(t.value)}function lt(e){return !!e.value&&q(e.value)}function pe(e){return q(e)&&"_validator"in e}function de(e){return typeof e.value!="function"}function Me(e){return q(e)&&"$fields"in e}function Fe({field:e,silent:t=!1}){return Object.entries(e.$rules??{}).map(([r,n])=>t||!n.$valid&&e.$dirty&&!n.$validating?n.$message:null).filter(r=>!!r).reduce((r,n)=>typeof n=="string"?r?.concat([n]):r?.concat(n),[]).concat(e.$dirty?e.$externalErrors??[]:[])}function ut({$dirty:e,customMessages:t,rule:r,ruleKey:n,state:a,path:l,storage:f,$debounce:d}){let E=vue.effectScope(),b,h,$=vue.ref(!1),{$pending:g,$valid:v,$metadata:i,$validating:A}=f.trySetRuleStatusRef(`${l}.${n}`);function G(){b=E.run(()=>{let D=vue.computed(()=>({$invalid:!v.value,$params:W.value,...i.value})),I=vue.computed(()=>de(r)?typeof r.value.active=="function"?r.value.active(a.value,D.value):!!r.value.active:!0),P=vue.computed(()=>{let U="",s=t?t[n]?.message:void 0;return s&&(typeof s=="function"?U=s(a.value,D.value):U=s),de(r)&&(s&&!r.value._patched||(typeof r.value.message=="function"?U=r.value.message(a.value,D.value):U=r.value.message)),z(U)&&(U="Error",console.warn(`No error message defined for ${l}.${n}`)),U}),m=vue.computed(()=>de(r)&&r.value.type?r.value.type:n),x=vue.computed(()=>de(r)?r.value.validator:r.value),W=vue.computed(()=>typeof r.value=="function"?[]:H(r.value._params??[])),K=vue.computed(()=>`${l}.${m.value}`);return {$active:I,$message:P,$type:m,$validator:x,$params:W,$path:K}}),h=vue.watch(b.$params,w,{deep:!0});}G();function u(){v.value=!0,e.value&&(g.value=!0);}async function o(){let D=b.$validator.value,I=D(a.value,...b.$params.value),P=!1,m=a.value;try{u();let x;if(I instanceof Promise?x=await I:x=I,a.value!==m)return !0;if(typeof x=="boolean")P=x;else {let{$valid:W,...K}=x;P=W,i.value=K;}}catch{P=!1;}finally{g.value=!1;}return P}let R=Se(o,d??200);async function w(){try{A.value=!0;let D=!1;if(pe(r.value)&&r.value._async)D=await R();else {let I=b.$validator.value,P=I(a.value,...b.$params.value);if(P instanceof Promise)console.warn('You used a async validator function on a non-async rule, please use "async await" or the "withAsync" helper');else if(P!=null)if(typeof P=="boolean")D=P;else {let{$valid:m,...x}=P;D=m,i.value=x;}}return v.value=D,D}catch{return !1}finally{A.value=!1;}}function B(){v.value=!0,i.value={},g.value=!1,A.value=!1,G();}function V(){h(),E.stop(),E=vue.effectScope();}return vue.reactive({...b,$pending:g,$valid:v,$metadata:i,_haveAsync:$,$validating:A,$validate:w,$unwatch:V,$watch:G,$reset:B})}function Te({state:e,rulesDef:t,customMessages:r,path:n,fieldName:a,storage:l,options:f,externalErrors:d,onUnwatch:E,$isArray:b,initialState:h,shortcuts:$}){let g=vue.effectScope(),v,i=vue.ref(!1),A=vue.ref(!1),G,u,o,R,w=()=>{};function B(){let C=t.value,_=l.checkRuleDeclEntry(n,C);x.value=Object.fromEntries(Object.entries(C).filter(([J])=>J.startsWith("$"))),m.value=Object.fromEntries(Object.entries(t.value).filter(([J])=>!J.startsWith("$")).map(([J,L])=>{if(L){let ce=vue.toRef(()=>L);return [J,ut({$dirty:i,customMessages:r,rule:ce,ruleKey:J,state:e,path:n,storage:l,$debounce:x.value.$debounce})]}return []}).filter(J=>!!J.length)),I(),V(),_?.valid!=null&&(i.value=l.getDirtyState(n),i.value&&w()),l.addRuleDeclEntry(n,C);}function V(){w=v.$debounce.value?Se(P,v.$debounce.value??v.haveAnyAsyncRule?100:0):P;}function D(){m.value&&Object.entries(m.value).forEach(([C,_])=>{_.$unwatch();}),o(),i.value&&l.setDirtyEntry(n,i.value),G?.(),u?.(),g.stop(),g=vue.effectScope(),E?.(),R?.();}function I(){m.value&&Object.entries(m.value).forEach(([C,_])=>{_.$watch();}),v=g.run(()=>{let C=vue.computed(()=>i.value),_=vue.computed(()=>x.value.$debounce),J=vue.computed(()=>x.value.$lazy!=null?x.value.$lazy:vue.unref(f.lazy)),L=vue.computed(()=>x.value.$rewardEarly!=null?x.value.$rewardEarly:vue.unref(f.rewardEarly)),ce=vue.computed(()=>x.value.$clearExternalErrorsOnChange!=null?x.value.$clearExternalErrorsOnChange:vue.unref(f.clearExternalErrorsOnChange)),vt=vue.computed(()=>x.value.$autoDirty!=null?x.value.$autoDirty:vue.unref(f.autoDirty)),Ue=vue.computed(()=>Object.entries(m.value).some(([te,Y])=>Y.$validating)),De=vue.computed(()=>fe.value&&!$e.value&&i.value),ke=vue.computed(()=>De.value?Fe({field:{$dirty:i.value,$externalErrors:d?.value,$rules:m.value}}):[]),He=vue.computed(()=>Fe({field:{$dirty:i.value,$externalErrors:d?.value,$rules:m.value},silent:!0})),qe=vue.computed(()=>!(fe.value||$e.value)),$e=vue.computed(()=>A.value||!L.value?Object.entries(m.value).some(([te,Y])=>Y.$pending):!1),fe=vue.computed(()=>d?.value?.length?!0:z(m.value)?!1:!L.value||L.value&&A.value?Object.entries(m.value).some(([te,Y])=>!Y.$valid):!1),Le=vue.computed(()=>a),xe=vue.computed(()=>z(m.value)?!1:i.value&&!z(e.value)&&!Ue.value?d?.value?.length?!1:L.value?Object.entries(m.value).every(([te,Y])=>Y.$valid):!fe.value:!1),yt=vue.computed(()=>Object.entries(m.value).some(([te,Y])=>Y._haveAsync));function gt(){$?.fields&&Object.entries($.fields).forEach(([te,Y])=>{let mt=vue.effectScope();ze[te]=mt.run(()=>{let Je=vue.ref();return vue.watchEffect(()=>{Je.value=Y({$dirty:i.value,$externalErrors:d?.value??[],$value:e,$rules:m.value,$error:De.value,$pending:$e.value,$invalid:fe.value,$valid:xe.value,$errors:ke.value,$ready:qe.value,$silentErrors:He.value,$anyDirty:C.value,$name:Le.value});}),Je});});}let ze={};return gt(),vue.watch(xe,te=>{te&&(A.value=!1);}),{$error:De,$pending:$e,$invalid:fe,$valid:xe,$debounce:_,$lazy:J,$errors:ke,$ready:qe,$silentErrors:He,$rewardEarly:L,$autoDirty:vt,$clearExternalErrorsOnChange:ce,$anyDirty:C,$name:Le,haveAnyAsyncRule:yt,$shortcuts:ze,$validating:Ue}}),G=vue.watch(e,()=>{v.$autoDirty.value&&(i.value||(i.value=!0)),t.value instanceof Function&&B(),w(),v.$rewardEarly.value!==!0&&v.$clearExternalErrorsOnChange.value&&y();},{deep:b?!0:he?1:!0}),o=vue.watch(i,()=>{l.setDirtyEntry(n,i.value);}),u=vue.watch(v.$valid,C=>{v.$rewardEarly.value&&C&&(A.value=!1);}),R=vue.watch(v.haveAnyAsyncRule,V);}function P(){Object.values(m.value).forEach(C=>{C.$validate();});}let m=vue.ref(),x=vue.ref();B();function W(){y(),i.value=!1,Object.entries(m.value).forEach(([C,_])=>{_.$reset();}),!v.$lazy.value&&v.$autoDirty.value&&Object.values(m.value).forEach(C=>C.$validate());}function K(C=!0){i.value||(i.value=!0,C&&w());}async function U(){try{let C=e.value;if(A.value=!0,!i.value)i.value=!0;else if(v.$autoDirty.value&&i.value&&!v.$pending.value)return {result:!v.$error.value,data:C};return z(m.value)?{result:!0,data:C}:{result:(await Promise.allSettled(Object.entries(m.value).map(([L,ce])=>ce.$validate()))).every(L=>L.status==="fulfilled"?L.value===!0:!1),data:C}}catch{return {result:!1,data:e.value}}}function s(){D(),e.value=tt(e,h),W();}function c(C=!0){return i.value?e.value:null}function y(){d?.value?.length&&(d.value=[]);}!v.$lazy.value&&!i.value&&v.$autoDirty.value&&w();let{$anyDirty:S,$error:F,$errors:p,$invalid:O,$name:M,$pending:k,$ready:ee,$silentErrors:ie,$valid:ae,$shortcuts:T,$validating:j}=v;return vue.reactive({$dirty:i,$error:F,$errors:p,$valid:ae,$invalid:O,$pending:k,$silentErrors:ie,$anyDirty:S,$ready:ee,$name:M,$externalErrors:d,$value:e,$rules:m,...T,$reset:W,$touch:K,$validate:U,$unwatch:D,$watch:I,$resetAll:s,$extractDirtyFields:c,$clearExternalErrors:y})}function st({$id:e,path:t,index:r,options:n,storage:a,stateValue:l,customMessages:f,rules:d,externalErrors:E,initialState:b,shortcuts:h,fieldName:$}){let g=d.$key?d.$key:Oe(),v=`${t}.${String(g)}`;typeof l.value=="object"&&l.value!=null&&(l.value.$id?v=`${t}.${l.value.$id}`:Object.defineProperties(l.value,{$id:{value:g,enumerable:!1,configurable:!1,writable:!1}}));let i=me({state:l,rulesDef:vue.toRef(()=>d),customMessages:f,path:v,storage:a,options:n,externalErrors:vue.toRef(E?.value??[],r),initialState:b?.[r],shortcuts:h,fieldName:$});if(i){let A=l.value?.$id;i.$id=A??String(g),a.addArrayStatus(e,i.$id,i);}return i}function it({state:e,rulesDef:t,customMessages:r,path:n,storage:a,options:l,externalErrors:f,initialState:d,shortcuts:E,fieldName:b}){let h=vue.effectScope(),$,g=vue.effectScope(),v;if(!Array.isArray(e.value)&&!t.value.$each)return null;let i=vue.ref(),A=vue.ref(e.value),G,u=vue.ref({}),o=a.getCollectionsEntry(n);v=g.run(()=>({isPrimitiveArray:vue.computed(()=>Array.isArray(e.value)&&e.value.length?e.value.some(c=>typeof c!="object"):t.value.$each&&!(t.value.$each instanceof Function)?Object.values(t.value.$each).every(c=>pe(c)):!1)})),R(),B();function R(){typeof e.value=="object"&&(e.value!=null&&!e.value?.$id&&e.value!==null?(i.value=Oe(),Object.defineProperties(e.value,{$id:{value:i.value,enumerable:!1,configurable:!1,writable:!1}})):e.value?.$id&&(i.value=e.value.$id)),!v.isPrimitiveArray.value&&(A.value=u.value.$value,Array.isArray(e.value)?o.value=e.value.map((s,c)=>{let y=we(t.value.$each,vue.toRef(()=>s),c),S=st({$id:i.value,path:n,rules:y??{},stateValue:vue.toRef(()=>s),index:c,options:l,storage:a,externalErrors:vue.toRef(f?.value??{},"$each"),initialState:d[c],shortcuts:E,fieldName:b});return S||null}).filter(s=>!!s):o.value=[],u.value=Te({state:e,rulesDef:t,customMessages:r,path:n,storage:a,options:l,externalErrors:vue.toRef(f?.value??{},"$errors"),$isArray:!0,initialState:d,shortcuts:E,fieldName:b}));}function w(){if(Array.isArray(e.value)){let s=re(o.value);o.value=e.value.map((c,y)=>{let S=vue.toRef(()=>c);if(c.$id&&o.value.find(F=>F.$id===c.$id)){let F=a.getArrayStatus(i.value,c.$id);return F?(F.$value=S,F):null}else {let F=we(t.value.$each,S,y);if(F){let p=st({$id:i.value,path:n,rules:F,stateValue:S,index:y,options:l,storage:a,externalErrors:vue.toRef(f?.value??{},"$each"),initialState:d[y],shortcuts:E,fieldName:b});return p||null}}}).filter(c=>!!c),s.filter(c=>!e.value.find(y=>c.$id===y.$id)).forEach((c,y)=>{a.deleteArrayStatus(i.value,y.toString());});}else o.value=[];}function B(){G=vue.watch(e,()=>{e.value!=null&&!Object.hasOwn(e.value,"$id")?R():w();},{deep:he?1:!0,flush:"pre"}),$=h.run(()=>{let s=vue.computed(()=>u.value.$dirty&&o.value.every(T=>T.$dirty)),c=vue.computed(()=>u.value.$anyDirty||o.value.some(T=>T.$dirty)),y=vue.computed(()=>u.value.$invalid||o.value.some(T=>T.$invalid)),S=vue.computed(()=>(z(u.value.$rules)?!0:u.value.$valid)&&o.value.every(T=>T.$valid)),F=vue.computed(()=>u.value.$error||o.value.some(T=>T.$error)),p=vue.computed(()=>!(y.value||O.value)),O=vue.computed(()=>u.value.$pending||o.value.some(T=>T.$pending)),M=vue.computed(()=>({$errors:u.value.$errors,$each:o.value.map(T=>T.$errors)})),k=vue.computed(()=>({$errors:u.value.$silentErrors,$each:o.value.map(T=>T.$silentErrors)})),ee=vue.computed(()=>b);function ie(){E?.collections&&Object.entries(E?.collections).forEach(([T,j])=>{let C=vue.effectScope();ae[T]=C.run(()=>{let _=vue.ref();return vue.watchEffect(()=>{_.value=j({$dirty:s.value,$error:F.value,$pending:O.value,$invalid:y.value,$valid:S.value,$errors:M.value,$ready:p.value,$silentErrors:k.value,$anyDirty:c.value,$name:ee.value,$each:o.value,$field:u.value,$value:e});}),_});});}let ae={};return ie(),{$dirty:s,$anyDirty:c,$invalid:y,$valid:S,$error:F,$pending:O,$errors:M,$silentErrors:k,$ready:p,$name:ee,$shortcuts:ae}}),v.isPrimitiveArray.value&&(console.warn(`${n} is a Array of primitives. Tracking can be lost when reassigning the Array. We advise to use an Array of objects instead`),G());}function V(){G&&G(),u.value&&u.value.$unwatch(),o.value&&o.value.forEach(s=>{"$dirty"in s&&s.$unwatch();}),h.stop(),h=vue.effectScope(),g.stop(),g=vue.effectScope(!0);}function D(s=!0){u.value.$touch(s),o.value.forEach(c=>{c.$touch(s);});}function I(){u.value.$reset(),o.value.forEach(s=>{s.$reset();});}async function P(){let s=e.value;try{return {result:(await Promise.allSettled([u.value.$validate(),...o.value.map(S=>S.$validate())])).every(S=>S.status==="fulfilled"?S.value.result===!0:!1),data:s}}catch{return {result:!1,data:s}}}function m(){u.value.$clearExternalErrors(),o.value.forEach(s=>{s.$clearExternalErrors();});}function x(s=!0){let c=o.value.map(y=>{if(Me(y))return y.$extractDirtyFields(s)});return s&&(c=c.filter(y=>q(y)?!z(y):!!y)),c}function W(){V(),rt(e,d),I();}let{$shortcuts:K,...U}=$;return vue.reactive({$field:u,...U,...K,$each:o,$value:e,$validate:P,$unwatch:V,$watch:B,$touch:D,$reset:I,$resetAll:W,$extractDirtyFields:x,$clearExternalErrors:m})}function _e({scopeRules:e,state:t,customMessages:r,path:n="",rootRules:a,storage:l,options:f,externalErrors:d,validationGroups:E,initialState:b,shortcuts:h,fieldName:$}){let g,v,i=null,A=null;function o(s=!0){R.value=null,vue.triggerRef(R);let c=Object.fromEntries(Object.entries(e.value).map(([p,O])=>{if(O){let M=vue.toRef(t.value,p),k=vue.toRef(()=>O),ee=vue.toRef(d?.value,p);return [p,me({state:M,rulesDef:k,customMessages:r,path:n?`${n}.${p}`:p,storage:l,options:f,externalErrors:ee,initialState:b?.[p],shortcuts:h,fieldName:p})]}return []}).filter(p=>!!p.length&&p[1]!=null)),y=Object.fromEntries(Object.entries(vue.unref(d)??{}).filter(([p])=>!(p in e.value)).map(([p,O])=>{if(O){let M=vue.toRef(t.value,p),k=vue.toRef(()=>({}));return [p,me({state:M,rulesDef:k,customMessages:r,path:n?`${n}.${p}`:p,storage:l,options:f,externalErrors:vue.toRef(d?.value??{},p),initialState:b?.[p],shortcuts:h,fieldName:p})]}return []})),S=Object.fromEntries(Object.entries(t.value).filter(([p])=>!(p in e.value)&&!(p in(y.value??{}))).map(([p,O])=>{let M=vue.toRef(t.value,p),k=vue.toRef(()=>({}));return [p,me({state:M,rulesDef:k,customMessages:r,path:n?`${n}.${p}`:p,storage:l,options:f,externalErrors:vue.toRef(d?.value??{},p),initialState:b?.[p],shortcuts:h,fieldName:p})]})),F=Object.fromEntries(Object.entries(E?.(c)??{}).map(([p,O])=>O.length?[p,{...Object.fromEntries(["$invalid","$error","$pending","$dirty","$valid"].map(M=>[M,Qe(vue.toRef(()=>O),M)])),...Object.fromEntries(["$errors","$silentErrors"].map(M=>[M,Xe(vue.toRef(()=>O),M)]))}]:[]));R.value={...c,...y,...S,...F},s&&I();}let R=l.getFieldsEntry(n);o();function w(){A?.(),Object.values(R.value).forEach(s=>{s.$reset();}),D();}function B(s=!0){Object.values(R.value).forEach(c=>{c.$touch(s);});}async function V(){try{let s=t.value;return {result:(await Promise.allSettled(Object.values(R.value).map(S=>S.$validate()))).every(S=>S.status==="fulfilled"?S.value.result===!0:!1),data:s}}catch{return {result:!1,data:t.value}}}function D(){d?.value&&(A=vue.watch(d,()=>{P(),o();},{deep:!0}));}function I(){a&&(i=vue.watch(a,()=>{P(),o();},{deep:!0,flush:"post"})),D(),g=vue.effectScope(),v=g.run(()=>{let s=vue.computed(()=>!!Object.entries(R.value).length&&Object.entries(R.value).every(([T,j])=>j?.$dirty)),c=vue.computed(()=>Object.entries(R.value).some(([T,j])=>j?.$dirty)),y=vue.computed(()=>Object.entries(R.value).some(([T,j])=>j?.$invalid)),S=vue.computed(()=>Object.entries(R.value).every(([T,j])=>j?.$valid)),F=vue.computed(()=>s.value&&!O.value&&y.value),p=vue.computed(()=>vue.unref(f.autoDirty)?c.value&&!(y.value||O.value):!(y.value||O.value)),O=vue.computed(()=>Object.entries(R.value).some(([T,j])=>j?.$pending)),M=vue.computed(()=>Object.fromEntries(Object.entries(R.value).map(([T,j])=>[T,j?.$errors]))),k=vue.computed(()=>Object.fromEntries(Object.entries(R.value).map(([T,j])=>[T,j?.$silentErrors]))),ee=vue.computed(()=>$);function ie(){h?.nested&&Object.entries(h.nested).forEach(([T,j])=>{let C=vue.effectScope();ae[T]=C.run(()=>{let _=vue.ref();return vue.watchEffect(()=>{_.value=j({$dirty:s.value,$value:t,$error:F.value,$pending:O.value,$invalid:y.value,$valid:S.value,$ready:p.value,$anyDirty:c.value,$name:ee.value,$silentErrors:k.value,$errors:M.value,$fields:R.value});}),_});});}let ae={};return ie(),{$dirty:s,$anyDirty:c,$invalid:y,$valid:S,$error:F,$pending:O,$errors:M,$silentErrors:k,$ready:p,$name:ee,$shortcuts:ae}});}function P(){R.value&&Object.entries(R.value).forEach(([s,c])=>{c.$unwatch();}),i?.(),A?.(),g.stop(),g=vue.effectScope();}function m(){Object.entries(R.value).forEach(([s,c])=>{c.$clearExternalErrors();});}function x(){P(),Re(t,b??{}),o(!1),w(),I();}function W(s=!0){let c=Object.entries(R.value).map(([y,S])=>[y,S.$extractDirtyFields(s)]);return s&&(c=c.filter(([y,S])=>q(S)?!z(S):Array.isArray(S)?S.length:!!S)),Object.fromEntries(c)}let{$shortcuts:K,...U}=v;return vue.reactive({...U,...K,$fields:R,$value:t,$resetAll:x,$reset:w,$touch:B,$validate:V,$unwatch:P,$watch:I,$clearExternalErrors:m,$extractDirtyFields:W})}function me({state:e,rulesDef:t,customMessages:r,path:n,storage:a,options:l,externalErrors:f,index:d,initialState:E,shortcuts:b,onUnwatch:h,fieldName:$}){return at(t,e)?it({state:e,rulesDef:t,customMessages:r,path:n,storage:a,options:l,index:d,externalErrors:f,initialState:E,fieldName:$,shortcuts:b}):nt(e,t)&&et(e)?_e({scopeRules:t,state:e,customMessages:r,path:n,storage:a,options:l,index:d,initialState:E,shortcuts:b,fieldName:$,externalErrors:f}):lt(t)?Te({state:e,rulesDef:t,customMessages:r,path:n,storage:a,options:l,index:d,externalErrors:f,onUnwatch:h,shortcuts:b,initialState:E,fieldName:$}):null}function Ne({initialState:e,options:t,scopeRules:r,state:n,customRules:a,shortcuts:l}){let f=Ae();return vue.reactive(_e({rootRules:r,scopeRules:r,state:n,customMessages:a?.(),storage:f,options:t,externalErrors:t.externalErrors,validationGroups:t.validationGroups,initialState:e,shortcuts:l,fieldName:"root"}))}function Ge(e,t,r){let n={autoDirty:t?.autoDirty??!0,lazy:t?.lazy??!1,rewardEarly:t?.rewardEarly??!1,clearExternalErrorsOnChange:t?.clearExternalErrorsOnChange??!0};function a(l,f,d){let E=vue.isRef(f)?f:vue.computed(typeof f=="function"?f:()=>f),b={...n,...d},h=vue.isRef(l)?l:vue.ref(l),$=re(vue.toRaw(h.value));return {r$:Ne({scopeRules:E,state:h,options:b,initialState:$,customRules:e,shortcuts:r})}}return a}var pt=Ge();function Be(){function e(t,r){return r}return e}var We=Be();function dt({rules:e,modifiers:t,shortcuts:r}){let n=Ge(e,t,r),a=Be();return {useRegle:n,inferRules:a}}exports.InternalRuleType=Ce;exports.createRule=Pe;exports.defineRegleConfig=dt;exports.inferRules=We;exports.unwrapRuleParameters=H;exports.useRegle=pt;
|
|
1
|
+
'use strict';var vue=require('vue');var Ie=(r=>(r.Inline="__inline",r.Async="__async",r))(Ie||{});function Ke(e,t){return vue.computed(()=>e.value.some(r=>r[t]))}function et(e,t){return vue.computed(()=>e.value.reduce((r,n)=>{let a=n[t]||[];return r.concat(a)},[]))}function H(e){return e.map(t=>t instanceof Function?t():vue.unref(t))}function tt(e){return e.map(t=>t instanceof Function||vue.isRef(t)?t:vue.toRef(()=>t))}function rt(e){let t=e.toString();return (t.includes("=>")?t.split("=>")[0]:t).slice(t.indexOf("(")+1,t.indexOf(")")).split(",").map(l=>l.trim()).filter(l=>l.includes("=")).length+e.length}function Pe(e,...t){let{message:r,validator:n,active:a,type:l,...c}=e,d=l==="__async"||n.constructor.name==="AsyncFunction";return {...{validator(b,...S){return e.validator(b,...H(S.length?S:t))},message(b,S){return typeof e.message=="function"?e.message(b,{...S,$params:H(S.$params?.length?S.$params:t)}):e.message},active(b,S){return typeof e.active=="function"?e.active(b,{...S,$params:H(S.$params?.length?S.$params:t)}):e.active??!0},exec(b){let S=e.validator(b,...H(t)),m;return S instanceof Promise?S.then(v=>(m=v,typeof m=="object"&&"$valid"in m?m.$valid:typeof m=="boolean"?m:!1)):(m=S,typeof m=="object"&&"$valid"in m?m.$valid:typeof m=="boolean"?m:!1)}},...c,_validator:e.validator,_message:e.message,_active:e.active,_type:e.type,_patched:!1,_async:d,_params:tt(t)}}function we(e){if(typeof e.validator=="function"){let r=Pe(e,...[]),n=e.validator.constructor.name==="AsyncFunction";if(rt(e.validator)>1){let a=function(...l){return Pe(e,...l)};return a.validator=r.validator,a.message=r.message,a.active=r.active,a.type=r.type,a.exec=r.exec,a._validator=r.validator,a._message=r.message,a._active=r.active,a._type=e.type,a._patched=!1,a._async=n,a}else return r}throw new Error("Validator must be a function")}function q(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function nt(e){return q(e.value)}function ne(e){let t=e,r={}.toString.call(e).slice(8,-1);if(r=="Set"&&(t=new Set([...e].map(n=>ne(n)))),r=="Map"&&(t=new Map([...e].map(n=>[ne(n[0]),ne(n[1])]))),r=="Date"&&(t=new Date(e.getTime())),r=="RegExp"&&(t=RegExp(e.source,Et(e))),r=="Array"||r=="Object"){t=Array.isArray(e)?[]:{};for(let n in e)t[n]=ne(e[n]);}return t}function Et(e){if(typeof e.source.flags=="string")return e.source.flags;{let t=[];return e.global&&t.push("g"),e.ignoreCase&&t.push("i"),e.multiline&&t.push("m"),e.sticky&&t.push("y"),e.unicode&&t.push("u"),t.join("")}}function Oe(e,t,r){return e instanceof Function?e(t,r??0):e}function at(e,t){vue.isRef(e)?e.value=t:e=t;}function lt(e,t){vue.isRef(e)?e.value=[]:e=[],t.forEach((r,n)=>{let a=vue.isRef(e)?e.value[n]:e[n];a={},pe(a,t[n]);});}function pe(e,t){Object.entries({...vue.unref(e),...t}).forEach(([r,n])=>{let a=vue.isRef(e)?e.value:e,l=vue.isRef(t[r])?t[r]._value:t[r],c=vue.isRef(a[r])?a[r].value:a[r];Array.isArray(a[r])?(a[r]=[],Array.isArray(l)&&l.forEach((d,x)=>{a[r][x]={},pe(a[r][x],l[x]);})):q(l)?pe(c,l):vue.isRef(a[r])?a[r].value=l:a[r]=l;});}function z(e){return e==null?!0:e===!1?!1:e instanceof Date?isNaN(e.getTime()):Array.isArray(e)?!1:typeof e=="object"&&e!=null?Object.keys(e).length===0:typeof e=="string"?!String(e.trim()).length:!1}function he(e,t,r){let n,a=(...l)=>new Promise(c=>{clearTimeout(n),n=setTimeout(()=>{n=void 0,Promise.resolve(e.apply(this,[...l])).then(c);},t);});return a.cancel=()=>{clearTimeout(n),n=void 0;},a.doImmediately=(...l)=>new Promise(c=>{clearTimeout(n),n=setTimeout(()=>{n=void 0,Promise.resolve(e.apply(this,[...l])).then(c);},0);}),a}function xt(e,t){let r=String(e).split("."),n=String(t).split(".");for(let a=0;a<Math.min(r.length,n.length);a++){let l=Number(r[a]),c=Number(n[a]);if(l>c)return 1;if(c>l)return -1;if(!isNaN(l)&&isNaN(c))return 1;if(isNaN(l)&&!isNaN(c))return -1}return 0}var be=xt(vue.version,"3.5.0")!==-1;function Ct(){return Math.floor(Math.random()*Date.now()).toString()}function Ae(){return typeof window>"u"?Ct():window.crypto.getRandomValues(new Uint32Array(1))[0].toString(10)}function Me(){let e=vue.shallowRef(new Map),t=vue.shallowRef(new Map),r=vue.shallowRef(new Map),n=vue.shallowRef(new Map),a=vue.shallowRef(new Map),l=vue.shallowRef(new Map);function c(p){let o=t.value.get(p);if(o)return o;{let u=vue.ref({});return t.value.set(p,u),u}}function d(p){let o=r.value.get(p);if(o)return o;{let u=vue.ref([]);return r.value.set(p,u),u}}function x(p,o,u){l.value.set(`${p}-${o}`,u);}function E(p,o){return l.value.get(`${p}-${o}`)}function b(p,o){p&&o!=null&&l.value.delete(`${p}-${o}`);}function S(p,o){n.value.set(p,o);}function m(p){return n.value.get(p)??!1}function v(p,o){e.value.set(p,o);}function I(p,o){let u=e.value.get(p);return u?f(o,u)?{valid:!0}:{valid:!1}:void 0}function f(p,o){let u=Object.keys(o),$=Object.keys(p);return $.length!==u.length||!$.every(j=>u.includes(j))?!1:$.every(j=>{let C=p[j],O=o[j];return !O||!C||typeof C=="function"||typeof O=="function"||typeof C=="number"||typeof C=="boolean"?!1:C._params?C._params?.every((P,M)=>{if(typeof O=="number"||typeof O=="boolean")return !0;{let y=H(O._params),w=H(C._params);return y?.[M]===w?.[M]}}):!0})}function N(p){let o=a.value.get(p);if(o)return o;{let u=vue.ref(!1),$=vue.ref(!0),G=vue.ref({}),j=vue.ref(!1);return a.value.set(p,{$pending:u,$valid:$,$metadata:G,$validating:j}),{$pending:u,$valid:$,$metadata:G,$validating:j}}}return vue.onScopeDispose(()=>{e.value.clear(),t.value.clear(),r.value.clear(),n.value.clear(),a.value.clear(),l.value.clear();}),{addRuleDeclEntry:v,setDirtyEntry:S,checkRuleDeclEntry:I,getDirtyState:m,trySetRuleStatusRef:N,getFieldsEntry:c,getCollectionsEntry:d,getArrayStatus:E,addArrayStatus:x,deleteArrayStatus:b,arrayStatusStorage:l}}function ot(e,t){return q(e.value)&&q(t.value)&&!Object.entries(t.value).some(r=>de(r))}function ut(e,t){return !!e.value&&"$each"in e.value||Array.isArray(t.value)}function st(e){return !!e.value&&q(e.value)}function de(e){return q(e)&&"_validator"in e}function ve(e){return typeof e.value!="function"}function Fe(e){return q(e)&&"$fields"in e}function je({field:e,silent:t=!1}){return Object.entries(e.$rules??{}).map(([r,n])=>t||!n.$valid&&e.$dirty&&!n.$validating?n.$message:null).filter(r=>!!r).reduce((r,n)=>typeof n=="string"?r?.concat([n]):r?.concat(n),[]).concat(e.$dirty?e.$externalErrors??[]:[])}function ct({$dirty:e,customMessages:t,rule:r,ruleKey:n,state:a,path:l,storage:c,$debounce:d}){let x=vue.effectScope(),E,b,S=vue.ref(!1),{$pending:m,$valid:v,$metadata:I,$validating:f}=c.trySetRuleStatusRef(`${l}.${n}`);function N(){E=x.run(()=>{let C=vue.computed(()=>({$invalid:!v.value,$params:w.value,...I.value})),O=vue.computed(()=>ve(r)?typeof r.value.active=="function"?r.value.active(a.value,C.value):!!r.value.active:!0),P=vue.computed(()=>{let U="",J=t?t[n]?.message:void 0;return J&&(typeof J=="function"?U=J(a.value,C.value):U=J),ve(r)&&(J&&!r.value._patched||(typeof r.value.message=="function"?U=r.value.message(a.value,C.value):U=r.value.message)),z(U)&&(U="Error",console.warn(`No error message defined for ${l}.${n}`)),U}),M=vue.computed(()=>ve(r)&&r.value.type?r.value.type:n),y=vue.computed(()=>ve(r)?r.value.validator:r.value),w=vue.computed(()=>typeof r.value=="function"?[]:H(r.value._params??[])),K=vue.computed(()=>`${l}.${M.value}`);return {$active:O,$message:P,$type:M,$validator:y,$params:w,$path:K}}),b=vue.watch(E.$params,$,{deep:!0});}N();function p(){v.value=!0,e.value&&(m.value=!0);}async function o(){let C=E.$validator.value,O=C(a.value,...E.$params.value),P=!1,M=a.value;try{p();let y;if(O instanceof Promise?y=await O:y=O,a.value!==M)return !0;if(typeof y=="boolean")P=y;else {let{$valid:w,...K}=y;P=w,I.value=K;}}catch{P=!1;}finally{m.value=!1;}return P}let u=he(o,d??200);async function $(){try{f.value=!0;let C=!1;if(de(r.value)&&r.value._async)C=await u();else {let O=E.$validator.value,P=O(a.value,...E.$params.value);if(P instanceof Promise)console.warn('You used a async validator function on a non-async rule, please use "async await" or the "withAsync" helper');else if(P!=null)if(typeof P=="boolean")C=P;else {let{$valid:M,...y}=P;C=M,I.value=y;}}return v.value=C,C}catch{return !1}finally{f.value=!1;}}function G(){v.value=!0,I.value={},m.value=!1,f.value=!1,N();}function j(){b(),x.stop(),x=vue.effectScope();}return vue.reactive({...E,$pending:m,$valid:v,$metadata:I,_haveAsync:S,$validating:f,$validate:$,$unwatch:j,$watch:N,$reset:G})}function Ee({state:e,rulesDef:t,customMessages:r,path:n,fieldName:a,storage:l,options:c,externalErrors:d,onUnwatch:x,$isArray:E,initialState:b,shortcuts:S}){let m=vue.effectScope(),v,I=[],f=vue.ref(!1),N=vue.ref(!1),p,o,u,$,G=()=>{};function j(){let T=t.value,B=l.checkRuleDeclEntry(n,T);w.value=Object.fromEntries(Object.entries(T).filter(([Y])=>Y.startsWith("$"))),y.value=Object.fromEntries(Object.entries(t.value).filter(([Y])=>!Y.startsWith("$")).map(([Y,L])=>{if(L){let fe=vue.toRef(()=>L);return [Y,ct({$dirty:f,customMessages:r,rule:fe,ruleKey:Y,state:e,path:n,storage:l,$debounce:w.value.$debounce})]}return []}).filter(Y=>!!Y.length)),P(),C(),B?.valid!=null&&(f.value=l.getDirtyState(n),f.value&&G()),l.addRuleDeclEntry(n,T);}function C(){G=v.$debounce.value?he(M,v.$debounce.value??v.haveAnyAsyncRule?100:0):M;}function O(){y.value&&Object.entries(y.value).forEach(([T,B])=>{B.$unwatch();}),u(),f.value&&l.setDirtyEntry(n,f.value),p?.(),o?.(),m.stop(),m=vue.effectScope(),I.forEach(T=>T.stop()),I=[],x?.(),$?.();}function P(){y.value&&Object.entries(y.value).forEach(([T,B])=>{B.$watch();}),v=m.run(()=>{let T=vue.computed(()=>f.value),B=vue.computed(()=>w.value.$debounce),Y=vue.computed(()=>w.value.$lazy!=null?w.value.$lazy:vue.unref(c.lazy)),L=vue.computed(()=>w.value.$rewardEarly!=null?w.value.$rewardEarly:vue.unref(c.rewardEarly)),fe=vue.computed(()=>w.value.$clearExternalErrorsOnChange!=null?w.value.$clearExternalErrorsOnChange:vue.unref(c.clearExternalErrorsOnChange)),gt=vue.computed(()=>w.value.$autoDirty!=null?w.value.$autoDirty:vue.unref(c.autoDirty)),He=vue.computed(()=>Object.entries(y.value).some(([re,Q])=>Q.$validating)),xe=vue.computed(()=>Re.value&&!Se.value&&f.value),qe=vue.computed(()=>xe.value?je({field:{$dirty:f.value,$externalErrors:d?.value,$rules:y.value}}):[]),Le=vue.computed(()=>je({field:{$dirty:f.value,$externalErrors:d?.value,$rules:y.value},silent:!0})),ze=vue.computed(()=>!(Re.value||Se.value)),Se=vue.computed(()=>N.value||!L.value?Object.entries(y.value).some(([re,Q])=>Q.$pending):!1),Re=vue.computed(()=>d?.value?.length?!0:z(y.value)?!1:!L.value||L.value&&N.value?Object.entries(y.value).some(([re,Q])=>!Q.$valid):!1),Je=vue.computed(()=>a),Ce=vue.computed(()=>z(y.value)?!1:f.value&&!z(e.value)&&!He.value?d?.value?.length?!1:L.value?Object.entries(y.value).every(([re,Q])=>Q.$valid):!Re.value:!1),mt=vue.computed(()=>Object.entries(y.value).some(([re,Q])=>Q._haveAsync));function $t(){S?.fields&&Object.entries(S.fields).forEach(([re,Q])=>{let Qe=vue.effectScope();Ye[re]=Qe.run(()=>{let Xe=vue.ref();return vue.watchEffect(()=>{Xe.value=Q({$dirty:f.value,$externalErrors:d?.value??[],$value:e,$rules:y.value,$error:xe.value,$pending:Se.value,$invalid:Re.value,$valid:Ce.value,$errors:qe.value,$ready:ze.value,$silentErrors:Le.value,$anyDirty:T.value,$name:Je.value});}),Xe}),I.push(Qe);});}let Ye={};return $t(),vue.watch(Ce,re=>{re&&(N.value=!1);}),{$error:xe,$pending:Se,$invalid:Re,$valid:Ce,$debounce:B,$lazy:Y,$errors:qe,$ready:ze,$silentErrors:Le,$rewardEarly:L,$autoDirty:gt,$clearExternalErrorsOnChange:fe,$anyDirty:T,$name:Je,haveAnyAsyncRule:mt,$shortcuts:Ye,$validating:He}}),p=vue.watch(e,()=>{v.$autoDirty.value&&(f.value||(f.value=!0)),t.value instanceof Function&&j(),G(),v.$rewardEarly.value!==!0&&v.$clearExternalErrorsOnChange.value&&g();},{deep:E?!0:be?1:!0}),u=vue.watch(f,()=>{l.setDirtyEntry(n,f.value);}),o=vue.watch(v.$valid,T=>{v.$rewardEarly.value&&T&&(N.value=!1);}),$=vue.watch(v.haveAnyAsyncRule,C);}function M(){Object.values(y.value).forEach(T=>{T.$validate();});}let y=vue.ref(),w=vue.ref();j();function K(){g(),f.value=!1,Object.entries(y.value).forEach(([T,B])=>{B.$reset();}),!v.$lazy.value&&v.$autoDirty.value&&Object.values(y.value).forEach(T=>T.$validate());}function U(T=!0){f.value||(f.value=!0,T&&G());}async function J(){try{let T=e.value;if(N.value=!0,!f.value)f.value=!0;else if(v.$autoDirty.value&&f.value&&!v.$pending.value)return {result:!v.$error.value,data:T};return z(y.value)?{result:!0,data:T}:{result:(await Promise.allSettled(Object.entries(y.value).map(([L,fe])=>fe.$validate()))).every(L=>L.status==="fulfilled"?L.value===!0:!1),data:T}}catch{return {result:!1,data:e.value}}}function s(){O(),e.value=at(e,b),K();}function i(T=!0){return f.value?e.value:null}function g(){d?.value?.length&&(d.value=[]);}!v.$lazy.value&&!f.value&&v.$autoDirty.value&&G();let{$anyDirty:h,$error:V,$errors:R,$invalid:A,$name:F,$pending:k,$ready:te,$silentErrors:ce,$valid:le,$shortcuts:D,$validating:_}=v;return vue.reactive({$dirty:f,$error:V,$errors:R,$valid:le,$invalid:A,$pending:k,$silentErrors:ce,$anyDirty:h,$ready:te,$name:F,$externalErrors:d,$value:e,$rules:y,...D,$reset:K,$touch:U,$validate:J,$unwatch:O,$watch:P,$resetAll:s,$extractDirtyFields:i,$clearExternalErrors:g})}function ft({$id:e,path:t,index:r,options:n,storage:a,stateValue:l,customMessages:c,rules:d,externalErrors:x,initialState:E,shortcuts:b,fieldName:S}){let m=d.$key?d.$key:Ae(),v=`${t}.${String(m)}`;typeof l.value=="object"&&l.value!=null&&(l.value.$id?v=`${t}.${l.value.$id}`:Object.defineProperties(l.value,{$id:{value:m,enumerable:!1,configurable:!1,writable:!1}}));let I=$e({state:l,rulesDef:vue.toRef(()=>d),customMessages:c,path:v,storage:a,options:n,externalErrors:vue.toRef(x?.value??[],r),initialState:E?.[r],shortcuts:b,fieldName:S});if(I){let f=l.value?.$id;I.$id=f??String(m),a.addArrayStatus(e,I.$id,I);}return I}function Rt({state:e,rulesDef:t,customMessages:r,path:n,storage:a,options:l,externalErrors:c,initialState:d,shortcuts:x,fieldName:E}){let b=vue.effectScope(),S,m=vue.effectScope(),v,I=[];if(!Array.isArray(e.value)&&!t.value.$each)return null;let f=vue.ref(),N=vue.ref(e.value),p,o=vue.ref({}),u=a.getCollectionsEntry(n);v=m.run(()=>({isPrimitiveArray:vue.computed(()=>Array.isArray(e.value)&&e.value.length?e.value.some(i=>typeof i!="object"):t.value.$each&&!(t.value.$each instanceof Function)?Object.values(t.value.$each).every(i=>de(i)):!1)})),$(),j();function $(){typeof e.value=="object"&&(e.value!=null&&!e.value?.$id&&e.value!==null?(f.value=Ae(),Object.defineProperties(e.value,{$id:{value:f.value,enumerable:!1,configurable:!1,writable:!1}})):e.value?.$id&&(f.value=e.value.$id)),!v.isPrimitiveArray.value&&(N.value=o.value.$value,Array.isArray(e.value)?u.value=e.value.map((s,i)=>{let g=Oe(t.value.$each,vue.toRef(()=>s),i),h=ft({$id:f.value,path:n,rules:g??{},stateValue:vue.toRef(()=>s),index:i,options:l,storage:a,externalErrors:vue.toRef(c?.value??{},"$each"),initialState:d?.[i],shortcuts:x,fieldName:E});return h||null}).filter(s=>!!s):u.value=[],o.value=Ee({state:e,rulesDef:t,customMessages:r,path:n,storage:a,options:l,externalErrors:vue.toRef(c?.value??{},"$errors"),$isArray:!0,initialState:d,shortcuts:x,fieldName:E}));}function G(){if(Array.isArray(e.value)){let s=ne(u.value);u.value=e.value.map((i,g)=>{let h=vue.toRef(()=>i);if(i.$id&&u.value.find(V=>V.$id===i.$id)){let V=a.getArrayStatus(f.value,i.$id);return V?(V.$value=h,V):null}else {let V=Oe(t.value.$each,h,g);if(V){let R=ft({$id:f.value,path:n,rules:V,stateValue:h,index:g,options:l,storage:a,externalErrors:vue.toRef(c?.value??{},"$each"),initialState:d?.[g],shortcuts:x,fieldName:E});return R||null}}}).filter(i=>!!i),s.filter(i=>!e.value.find(g=>i.$id===g.$id)).forEach((i,g)=>{a.deleteArrayStatus(f.value,g.toString());});}else u.value=[];}function j(){p=vue.watch(e,()=>{e.value!=null&&!Object.hasOwn(e.value,"$id")?$():G();},{deep:be?1:!0,flush:"pre"}),S=b.run(()=>{let s=vue.computed(()=>o.value.$dirty&&u.value.every(D=>D.$dirty)),i=vue.computed(()=>o.value.$anyDirty||u.value.some(D=>D.$dirty)),g=vue.computed(()=>o.value.$invalid||u.value.some(D=>D.$invalid)),h=vue.computed(()=>(z(o.value.$rules)?!0:o.value.$valid)&&u.value.every(D=>D.$valid)),V=vue.computed(()=>o.value.$error||u.value.some(D=>D.$error)),R=vue.computed(()=>!(g.value||A.value)),A=vue.computed(()=>o.value.$pending||u.value.some(D=>D.$pending)),F=vue.computed(()=>({$errors:o.value.$errors,$each:u.value.map(D=>D.$errors)})),k=vue.computed(()=>({$errors:o.value.$silentErrors,$each:u.value.map(D=>D.$silentErrors)})),te=vue.computed(()=>E);function ce(){x?.collections&&Object.entries(x?.collections).forEach(([D,_])=>{let T=vue.effectScope();le[D]=T.run(()=>{let B=vue.ref();return vue.watchEffect(()=>{B.value=_({$dirty:s.value,$error:V.value,$pending:A.value,$invalid:g.value,$valid:h.value,$errors:F.value,$ready:R.value,$silentErrors:k.value,$anyDirty:i.value,$name:te.value,$each:u.value,$field:o.value,$value:e});}),B}),I.push(T);});}let le={};return ce(),{$dirty:s,$anyDirty:i,$invalid:g,$valid:h,$error:V,$pending:A,$errors:F,$silentErrors:k,$ready:R,$name:te,$shortcuts:le}}),v.isPrimitiveArray.value&&(console.warn(`${n} is a Array of primitives. Tracking can be lost when reassigning the Array. We advise to use an Array of objects instead`),p());}function C(){p&&p(),o.value&&o.value.$unwatch(),u.value&&u.value.forEach(s=>{"$dirty"in s&&s.$unwatch();}),b.stop(),b=vue.effectScope(),m.stop(),m=vue.effectScope(!0),I.forEach(s=>s.stop()),I=[];}function O(s=!0){o.value.$touch(s),u.value.forEach(i=>{i.$touch(s);});}function P(){o.value.$reset(),u.value.forEach(s=>{s.$reset();});}async function M(){let s=e.value;try{return {result:(await Promise.allSettled([o.value.$validate(),...u.value.map(h=>h.$validate())])).every(h=>h.status==="fulfilled"?h.value.result===!0:!1),data:s}}catch{return {result:!1,data:s}}}function y(){o.value.$clearExternalErrors(),u.value.forEach(s=>{s.$clearExternalErrors();});}function w(s=!0){let i=u.value.map(g=>{if(Fe(g))return g.$extractDirtyFields(s)});return s&&(i=i.filter(g=>q(g)?!z(g):!!g)),i}function K(){C(),lt(e,d),P();}let{$shortcuts:U,...J}=S;return vue.reactive({$field:o,...J,...U,$each:u,$value:e,$validate:M,$unwatch:C,$watch:j,$touch:O,$reset:P,$resetAll:K,$extractDirtyFields:w,$clearExternalErrors:y})}function Ge({scopeRules:e,state:t,customMessages:r,path:n="",rootRules:a,storage:l,options:c,externalErrors:d,validationGroups:x,initialState:E,shortcuts:b,fieldName:S}){let m,v,I=[],f=null,N=null,p=null;function u(s=!0){$.value=null,vue.triggerRef($);let i=Object.fromEntries(Object.entries(e.value).map(([R,A])=>{if(A){let F=vue.toRef(t.value,R),k=vue.toRef(()=>A),te=vue.toRef(d?.value,R);return [R,$e({state:F,rulesDef:k,customMessages:r,path:n?`${n}.${R}`:R,storage:l,options:c,externalErrors:te,initialState:E?.[R],shortcuts:b,fieldName:R})]}return []}).filter(R=>!!R.length&&R[1]!=null)),g=Object.fromEntries(Object.entries(vue.unref(d)??{}).filter(([R])=>!(R in e.value)).map(([R,A])=>{if(A){let F=vue.toRef(t.value,R),k=vue.toRef(()=>({}));return [R,$e({state:F,rulesDef:k,customMessages:r,path:n?`${n}.${R}`:R,storage:l,options:c,externalErrors:vue.toRef(d?.value??{},R),initialState:E?.[R],shortcuts:b,fieldName:R})]}return []})),h=Object.fromEntries(Object.entries(t.value).filter(([R])=>!(R in e.value)&&!(R in(g.value??{}))).map(([R,A])=>{let F=vue.toRef(t.value,R),k=vue.toRef(()=>({}));return [R,$e({state:F,rulesDef:k,customMessages:r,path:n?`${n}.${R}`:R,storage:l,options:c,externalErrors:vue.toRef(d?.value??{},R),initialState:E?.[R],shortcuts:b,fieldName:R})]})),V=Object.fromEntries(Object.entries(x?.(i)??{}).map(([R,A])=>A.length?[R,{...Object.fromEntries(["$invalid","$error","$pending","$dirty","$valid"].map(F=>[F,Ke(vue.toRef(()=>A),F)])),...Object.fromEntries(["$errors","$silentErrors"].map(F=>[F,et(vue.toRef(()=>A),F)]))}]:[]));$.value={...i,...g,...h,...V},s&&P();}let $=l.getFieldsEntry(n);u();function G(){N?.(),Object.values($.value).forEach(s=>{s.$reset();}),O();}function j(s=!0){Object.values($.value).forEach(i=>{i.$touch(s);});}async function C(){try{let s=t.value;return {result:(await Promise.allSettled(Object.values($.value).map(h=>h.$validate()))).every(h=>h.status==="fulfilled"?h.value.result===!0:!1),data:s}}catch{return {result:!1,data:t.value}}}function O(){d?.value&&(N=vue.watch(d,()=>{M(),u();},{deep:!0}));}function P(){a&&(f=vue.watch(a,()=>{M(),u();},{deep:!0,flush:"post"}),O()),p=vue.watch(t,()=>{M(),u(),j();}),m=vue.effectScope(),v=m.run(()=>{let s=vue.computed(()=>!!Object.entries($.value).length&&Object.entries($.value).every(([D,_])=>_?.$dirty)),i=vue.computed(()=>Object.entries($.value).some(([D,_])=>_?.$dirty)),g=vue.computed(()=>Object.entries($.value).some(([D,_])=>_?.$invalid)),h=vue.computed(()=>Object.entries($.value).every(([D,_])=>_?.$valid)),V=vue.computed(()=>s.value&&!A.value&&g.value),R=vue.computed(()=>vue.unref(c.autoDirty)?i.value&&!(g.value||A.value):!(g.value||A.value)),A=vue.computed(()=>Object.entries($.value).some(([D,_])=>_?.$pending)),F=vue.computed(()=>Object.fromEntries(Object.entries($.value).map(([D,_])=>[D,_?.$errors]))),k=vue.computed(()=>Object.fromEntries(Object.entries($.value).map(([D,_])=>[D,_?.$silentErrors]))),te=vue.computed(()=>S);function ce(){b?.nested&&Object.entries(b.nested).forEach(([D,_])=>{let T=vue.effectScope();le[D]=T.run(()=>{let B=vue.ref();return vue.watchEffect(()=>{B.value=_({$dirty:s.value,$value:t,$error:V.value,$pending:A.value,$invalid:g.value,$valid:h.value,$ready:R.value,$anyDirty:i.value,$name:te.value,$silentErrors:k.value,$errors:F.value,$fields:$.value});}),B}),I.push(T);});}let le={};return ce(),{$dirty:s,$anyDirty:i,$invalid:g,$valid:h,$error:V,$pending:A,$errors:F,$silentErrors:k,$ready:R,$name:te,$shortcuts:le}});}function M(){$.value&&Object.entries($.value).forEach(([s,i])=>{i.$unwatch();}),f?.(),N?.(),p?.(),m.stop(),m=vue.effectScope(),I.forEach(s=>s.stop()),I=[];}function y(){Object.entries($.value).forEach(([s,i])=>{i.$clearExternalErrors();});}function w(){M(),pe(t,E??{}),u(!1),G(),P();}function K(s=!0){let i=Object.entries($.value).map(([g,h])=>[g,h.$extractDirtyFields(s)]);return s&&(i=i.filter(([g,h])=>q(h)?!z(h):Array.isArray(h)?h.length:!!h)),Object.fromEntries(i)}let{$shortcuts:U,...J}=v;return vue.reactive({...J,...U,$fields:$,$value:t,$resetAll:w,$reset:G,$touch:j,$validate:C,$unwatch:M,$watch:P,$clearExternalErrors:y,$extractDirtyFields:K})}function $e({state:e,rulesDef:t,customMessages:r,path:n,storage:a,options:l,externalErrors:c,index:d,initialState:x,shortcuts:E,onUnwatch:b,fieldName:S}){return ut(t,e)?Rt({state:e,rulesDef:t,customMessages:r,path:n,storage:a,options:l,index:d,externalErrors:c,initialState:x,fieldName:S,shortcuts:E}):ot(e,t)&&nt(e)?Ge({scopeRules:t,state:e,customMessages:r,path:n,storage:a,options:l,index:d,initialState:x,shortcuts:E,fieldName:S,externalErrors:c}):st(t)?Ee({state:e,rulesDef:t,customMessages:r,path:n,storage:a,options:l,index:d,externalErrors:c,onUnwatch:b,shortcuts:E,initialState:x,fieldName:S}):null}function Be({initialState:e,options:t,scopeRules:r,state:n,customRules:a,shortcuts:l}){let c=Me();return vue.reactive(Ge({rootRules:r,scopeRules:r,state:n,customMessages:a?.(),storage:c,options:t,externalErrors:t.externalErrors,validationGroups:t.validationGroups,initialState:e,shortcuts:l,fieldName:"root"}))}function We(e,t,r){let n={autoDirty:t?.autoDirty??!0,lazy:t?.lazy??!1,rewardEarly:t?.rewardEarly??!1,clearExternalErrorsOnChange:t?.clearExternalErrorsOnChange??!0};function a(l,c,d){let x=vue.isRef(c)?c:vue.computed(typeof c=="function"?c:()=>c),E={...n,...d},b=vue.isRef(l)?l:vue.ref(l),S=ne(vue.toRaw(b.value));return {r$:Be({scopeRules:x,state:b,options:E,initialState:S,customRules:e,shortcuts:r})}}return a}var vt=We();function Ue(){function e(t,r){return r}return e}var ke=Ue();function yt({rules:e,modifiers:t,shortcuts:r}){let n=We(e,t,r),a=Ue();return {useRegle:n,inferRules:a}}exports.InternalRuleType=Ie;exports.createRule=we;exports.defineRegleConfig=yt;exports.inferRules=ke;exports.unwrapRuleParameters=H;exports.useRegle=vt;
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import {unref,version,isRef,toRef,computed,ref,toRaw,reactive,shallowRef,onScopeDispose,triggerRef,watch,effectScope,watchEffect}from'vue';var Ce=(r=>(r.Inline="__inline",r.Async="__async",r))(Ce||{});function Qe(e,t){return computed(()=>e.value.some(r=>r[t]))}function Xe(e,t){return computed(()=>e.value.reduce((r,n)=>{let a=n[t]||[];return r.concat(a)},[]))}function H(e){return e.map(t=>t instanceof Function?t():unref(t))}function Ze(e){return e.map(t=>t instanceof Function||isRef(t)?t:toRef(()=>t))}function Ke(e){let t=e.toString();return (t.includes("=>")?t.split("=>")[0]:t).slice(t.indexOf("(")+1,t.indexOf(")")).split(",").map(l=>l.trim()).filter(l=>l.includes("=")).length+e.length}function Ie(e,...t){let{message:r,validator:n,active:a,type:l,...f}=e,d=l==="__async"||n.constructor.name==="AsyncFunction";return {...{validator(h,...$){return e.validator(h,...H($.length?$:t))},message(h,$){return typeof e.message=="function"?e.message(h,{...$,$params:H($.$params?.length?$.$params:t)}):e.message},active(h,$){return typeof e.active=="function"?e.active(h,{...$,$params:H($.$params?.length?$.$params:t)}):e.active??!0},exec(h){let $=e.validator(h,...H(t)),g;return $ instanceof Promise?$.then(v=>(g=v,typeof g=="object"&&"$valid"in g?g.$valid:typeof g=="boolean"?g:!1)):(g=$,typeof g=="object"&&"$valid"in g?g.$valid:typeof g=="boolean"?g:!1)}},...f,_validator:e.validator,_message:e.message,_active:e.active,_type:e.type,_patched:!1,_async:d,_params:Ze(t)}}function Pe(e){if(typeof e.validator=="function"){let r=Ie(e,...[]),n=e.validator.constructor.name==="AsyncFunction";if(Ke(e.validator)>1){let a=function(...l){return Ie(e,...l)};return a.validator=r.validator,a.message=r.message,a.active=r.active,a.type=r.type,a.exec=r.exec,a._validator=r.validator,a._message=r.message,a._active=r.active,a._type=e.type,a._patched=!1,a._async=n,a}else return r}throw new Error("Validator must be a function")}function q(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function et(e){return q(e.value)}function re(e){let t=e,r={}.toString.call(e).slice(8,-1);if(r=="Set"&&(t=new Set([...e].map(n=>re(n)))),r=="Map"&&(t=new Map([...e].map(n=>[re(n[0]),re(n[1])]))),r=="Date"&&(t=new Date(e.getTime())),r=="RegExp"&&(t=RegExp(e.source,Tt(e))),r=="Array"||r=="Object"){t=Array.isArray(e)?[]:{};for(let n in e)t[n]=re(e[n]);}return t}function Tt(e){if(typeof e.source.flags=="string")return e.source.flags;{let t=[];return e.global&&t.push("g"),e.ignoreCase&&t.push("i"),e.multiline&&t.push("m"),e.sticky&&t.push("y"),e.unicode&&t.push("u"),t.join("")}}function we(e,t,r){return e instanceof Function?e(t,r??0):e}function tt(e,t){isRef(e)?e.value=t:e=t;}function rt(e,t){isRef(e)?e.value=[]:e=[],t.forEach((r,n)=>{let a=isRef(e)?e.value[n]:e[n];a={},Re(a,t[n]);});}function Re(e,t){Object.entries({...unref(e),...t}).forEach(([r,n])=>{let a=isRef(e)?e.value:e,l=isRef(t[r])?t[r]._value:t[r],f=isRef(a[r])?a[r].value:a[r];Array.isArray(a[r])?(a[r]=[],Array.isArray(l)&&l.forEach((d,E)=>{a[r][E]={},Re(a[r][E],l[E]);})):q(l)?Re(f,l):isRef(a[r])?a[r].value=l:a[r]=l;});}function z(e){return e==null?!0:e===!1?!1:e instanceof Date?isNaN(e.getTime()):Array.isArray(e)?e.length===0:typeof e=="object"&&e!=null?Object.keys(e).length===0:typeof e=="string"?!String(e.trim()).length:!1}function Se(e,t,r){let n,a=(...l)=>new Promise(f=>{clearTimeout(n),n=setTimeout(()=>{n=void 0,Promise.resolve(e.apply(this,[...l])).then(f);},t);});return a.cancel=()=>{clearTimeout(n),n=void 0;},a.doImmediately=(...l)=>new Promise(f=>{clearTimeout(n),n=setTimeout(()=>{n=void 0,Promise.resolve(e.apply(this,[...l])).then(f);},0);}),a}function Dt(e,t){let r=String(e).split("."),n=String(t).split(".");for(let a=0;a<Math.min(r.length,n.length);a++){let l=Number(r[a]),f=Number(n[a]);if(l>f)return 1;if(f>l)return -1;if(!isNaN(l)&&isNaN(f))return 1;if(isNaN(l)&&!isNaN(f))return -1}return 0}var he=Dt(version,"3.5.0")!==-1;function xt(){return Math.floor(Math.random()*Date.now()).toString()}function Oe(){return typeof window>"u"?xt():window.crypto.getRandomValues(new Uint32Array(1))[0].toString(10)}function Ae(){let e=shallowRef(new Map),t=shallowRef(new Map),r=shallowRef(new Map),n=shallowRef(new Map),a=shallowRef(new Map),l=shallowRef(new Map);function f(u){let o=t.value.get(u);if(o)return o;{let R=ref({});return t.value.set(u,R),R}}function d(u){let o=r.value.get(u);if(o)return o;{let R=ref([]);return r.value.set(u,R),R}}function E(u,o,R){l.value.set(`${u}-${o}`,R);}function b(u,o){return l.value.get(`${u}-${o}`)}function h(u,o){u&&o!=null&&l.value.delete(`${u}-${o}`);}function $(u,o){n.value.set(u,o);}function g(u){return n.value.get(u)??!1}function v(u,o){e.value.set(u,o);}function i(u,o){let R=e.value.get(u);return R?A(o,R)?{valid:!0}:{valid:!1}:void 0}function A(u,o){let R=Object.keys(o),w=Object.keys(u);return w.length!==R.length||!w.every(V=>R.includes(V))?!1:w.every(V=>{let D=u[V],I=o[V];return !I||!D||typeof D=="function"||typeof I=="function"||typeof D=="number"||typeof D=="boolean"?!1:D._params?D._params?.every((P,m)=>{if(typeof I=="number"||typeof I=="boolean")return !0;{let x=H(I._params),W=H(D._params);return x?.[m]===W?.[m]}}):!0})}function G(u){let o=a.value.get(u);if(o)return o;{let R=ref(!1),w=ref(!0),B=ref({}),V=ref(!1);return a.value.set(u,{$pending:R,$valid:w,$metadata:B,$validating:V}),{$pending:R,$valid:w,$metadata:B,$validating:V}}}return onScopeDispose(()=>{e.value.clear(),t.value.clear(),r.value.clear(),n.value.clear(),a.value.clear(),l.value.clear();}),{addRuleDeclEntry:v,setDirtyEntry:$,checkRuleDeclEntry:i,getDirtyState:g,trySetRuleStatusRef:G,getFieldsEntry:f,getCollectionsEntry:d,getArrayStatus:b,addArrayStatus:E,deleteArrayStatus:h,arrayStatusStorage:l}}function nt(e,t){return q(e.value)&&q(t.value)&&!Object.entries(t.value).some(r=>pe(r))}function at(e,t){return !!e.value&&"$each"in e.value||Array.isArray(t.value)}function lt(e){return !!e.value&&q(e.value)}function pe(e){return q(e)&&"_validator"in e}function de(e){return typeof e.value!="function"}function Me(e){return q(e)&&"$fields"in e}function Fe({field:e,silent:t=!1}){return Object.entries(e.$rules??{}).map(([r,n])=>t||!n.$valid&&e.$dirty&&!n.$validating?n.$message:null).filter(r=>!!r).reduce((r,n)=>typeof n=="string"?r?.concat([n]):r?.concat(n),[]).concat(e.$dirty?e.$externalErrors??[]:[])}function ut({$dirty:e,customMessages:t,rule:r,ruleKey:n,state:a,path:l,storage:f,$debounce:d}){let E=effectScope(),b,h,$=ref(!1),{$pending:g,$valid:v,$metadata:i,$validating:A}=f.trySetRuleStatusRef(`${l}.${n}`);function G(){b=E.run(()=>{let D=computed(()=>({$invalid:!v.value,$params:W.value,...i.value})),I=computed(()=>de(r)?typeof r.value.active=="function"?r.value.active(a.value,D.value):!!r.value.active:!0),P=computed(()=>{let U="",s=t?t[n]?.message:void 0;return s&&(typeof s=="function"?U=s(a.value,D.value):U=s),de(r)&&(s&&!r.value._patched||(typeof r.value.message=="function"?U=r.value.message(a.value,D.value):U=r.value.message)),z(U)&&(U="Error",console.warn(`No error message defined for ${l}.${n}`)),U}),m=computed(()=>de(r)&&r.value.type?r.value.type:n),x=computed(()=>de(r)?r.value.validator:r.value),W=computed(()=>typeof r.value=="function"?[]:H(r.value._params??[])),K=computed(()=>`${l}.${m.value}`);return {$active:I,$message:P,$type:m,$validator:x,$params:W,$path:K}}),h=watch(b.$params,w,{deep:!0});}G();function u(){v.value=!0,e.value&&(g.value=!0);}async function o(){let D=b.$validator.value,I=D(a.value,...b.$params.value),P=!1,m=a.value;try{u();let x;if(I instanceof Promise?x=await I:x=I,a.value!==m)return !0;if(typeof x=="boolean")P=x;else {let{$valid:W,...K}=x;P=W,i.value=K;}}catch{P=!1;}finally{g.value=!1;}return P}let R=Se(o,d??200);async function w(){try{A.value=!0;let D=!1;if(pe(r.value)&&r.value._async)D=await R();else {let I=b.$validator.value,P=I(a.value,...b.$params.value);if(P instanceof Promise)console.warn('You used a async validator function on a non-async rule, please use "async await" or the "withAsync" helper');else if(P!=null)if(typeof P=="boolean")D=P;else {let{$valid:m,...x}=P;D=m,i.value=x;}}return v.value=D,D}catch{return !1}finally{A.value=!1;}}function B(){v.value=!0,i.value={},g.value=!1,A.value=!1,G();}function V(){h(),E.stop(),E=effectScope();}return reactive({...b,$pending:g,$valid:v,$metadata:i,_haveAsync:$,$validating:A,$validate:w,$unwatch:V,$watch:G,$reset:B})}function Te({state:e,rulesDef:t,customMessages:r,path:n,fieldName:a,storage:l,options:f,externalErrors:d,onUnwatch:E,$isArray:b,initialState:h,shortcuts:$}){let g=effectScope(),v,i=ref(!1),A=ref(!1),G,u,o,R,w=()=>{};function B(){let C=t.value,_=l.checkRuleDeclEntry(n,C);x.value=Object.fromEntries(Object.entries(C).filter(([J])=>J.startsWith("$"))),m.value=Object.fromEntries(Object.entries(t.value).filter(([J])=>!J.startsWith("$")).map(([J,L])=>{if(L){let ce=toRef(()=>L);return [J,ut({$dirty:i,customMessages:r,rule:ce,ruleKey:J,state:e,path:n,storage:l,$debounce:x.value.$debounce})]}return []}).filter(J=>!!J.length)),I(),V(),_?.valid!=null&&(i.value=l.getDirtyState(n),i.value&&w()),l.addRuleDeclEntry(n,C);}function V(){w=v.$debounce.value?Se(P,v.$debounce.value??v.haveAnyAsyncRule?100:0):P;}function D(){m.value&&Object.entries(m.value).forEach(([C,_])=>{_.$unwatch();}),o(),i.value&&l.setDirtyEntry(n,i.value),G?.(),u?.(),g.stop(),g=effectScope(),E?.(),R?.();}function I(){m.value&&Object.entries(m.value).forEach(([C,_])=>{_.$watch();}),v=g.run(()=>{let C=computed(()=>i.value),_=computed(()=>x.value.$debounce),J=computed(()=>x.value.$lazy!=null?x.value.$lazy:unref(f.lazy)),L=computed(()=>x.value.$rewardEarly!=null?x.value.$rewardEarly:unref(f.rewardEarly)),ce=computed(()=>x.value.$clearExternalErrorsOnChange!=null?x.value.$clearExternalErrorsOnChange:unref(f.clearExternalErrorsOnChange)),vt=computed(()=>x.value.$autoDirty!=null?x.value.$autoDirty:unref(f.autoDirty)),Ue=computed(()=>Object.entries(m.value).some(([te,Y])=>Y.$validating)),De=computed(()=>fe.value&&!$e.value&&i.value),ke=computed(()=>De.value?Fe({field:{$dirty:i.value,$externalErrors:d?.value,$rules:m.value}}):[]),He=computed(()=>Fe({field:{$dirty:i.value,$externalErrors:d?.value,$rules:m.value},silent:!0})),qe=computed(()=>!(fe.value||$e.value)),$e=computed(()=>A.value||!L.value?Object.entries(m.value).some(([te,Y])=>Y.$pending):!1),fe=computed(()=>d?.value?.length?!0:z(m.value)?!1:!L.value||L.value&&A.value?Object.entries(m.value).some(([te,Y])=>!Y.$valid):!1),Le=computed(()=>a),xe=computed(()=>z(m.value)?!1:i.value&&!z(e.value)&&!Ue.value?d?.value?.length?!1:L.value?Object.entries(m.value).every(([te,Y])=>Y.$valid):!fe.value:!1),yt=computed(()=>Object.entries(m.value).some(([te,Y])=>Y._haveAsync));function gt(){$?.fields&&Object.entries($.fields).forEach(([te,Y])=>{let mt=effectScope();ze[te]=mt.run(()=>{let Je=ref();return watchEffect(()=>{Je.value=Y({$dirty:i.value,$externalErrors:d?.value??[],$value:e,$rules:m.value,$error:De.value,$pending:$e.value,$invalid:fe.value,$valid:xe.value,$errors:ke.value,$ready:qe.value,$silentErrors:He.value,$anyDirty:C.value,$name:Le.value});}),Je});});}let ze={};return gt(),watch(xe,te=>{te&&(A.value=!1);}),{$error:De,$pending:$e,$invalid:fe,$valid:xe,$debounce:_,$lazy:J,$errors:ke,$ready:qe,$silentErrors:He,$rewardEarly:L,$autoDirty:vt,$clearExternalErrorsOnChange:ce,$anyDirty:C,$name:Le,haveAnyAsyncRule:yt,$shortcuts:ze,$validating:Ue}}),G=watch(e,()=>{v.$autoDirty.value&&(i.value||(i.value=!0)),t.value instanceof Function&&B(),w(),v.$rewardEarly.value!==!0&&v.$clearExternalErrorsOnChange.value&&y();},{deep:b?!0:he?1:!0}),o=watch(i,()=>{l.setDirtyEntry(n,i.value);}),u=watch(v.$valid,C=>{v.$rewardEarly.value&&C&&(A.value=!1);}),R=watch(v.haveAnyAsyncRule,V);}function P(){Object.values(m.value).forEach(C=>{C.$validate();});}let m=ref(),x=ref();B();function W(){y(),i.value=!1,Object.entries(m.value).forEach(([C,_])=>{_.$reset();}),!v.$lazy.value&&v.$autoDirty.value&&Object.values(m.value).forEach(C=>C.$validate());}function K(C=!0){i.value||(i.value=!0,C&&w());}async function U(){try{let C=e.value;if(A.value=!0,!i.value)i.value=!0;else if(v.$autoDirty.value&&i.value&&!v.$pending.value)return {result:!v.$error.value,data:C};return z(m.value)?{result:!0,data:C}:{result:(await Promise.allSettled(Object.entries(m.value).map(([L,ce])=>ce.$validate()))).every(L=>L.status==="fulfilled"?L.value===!0:!1),data:C}}catch{return {result:!1,data:e.value}}}function s(){D(),e.value=tt(e,h),W();}function c(C=!0){return i.value?e.value:null}function y(){d?.value?.length&&(d.value=[]);}!v.$lazy.value&&!i.value&&v.$autoDirty.value&&w();let{$anyDirty:S,$error:F,$errors:p,$invalid:O,$name:M,$pending:k,$ready:ee,$silentErrors:ie,$valid:ae,$shortcuts:T,$validating:j}=v;return reactive({$dirty:i,$error:F,$errors:p,$valid:ae,$invalid:O,$pending:k,$silentErrors:ie,$anyDirty:S,$ready:ee,$name:M,$externalErrors:d,$value:e,$rules:m,...T,$reset:W,$touch:K,$validate:U,$unwatch:D,$watch:I,$resetAll:s,$extractDirtyFields:c,$clearExternalErrors:y})}function st({$id:e,path:t,index:r,options:n,storage:a,stateValue:l,customMessages:f,rules:d,externalErrors:E,initialState:b,shortcuts:h,fieldName:$}){let g=d.$key?d.$key:Oe(),v=`${t}.${String(g)}`;typeof l.value=="object"&&l.value!=null&&(l.value.$id?v=`${t}.${l.value.$id}`:Object.defineProperties(l.value,{$id:{value:g,enumerable:!1,configurable:!1,writable:!1}}));let i=me({state:l,rulesDef:toRef(()=>d),customMessages:f,path:v,storage:a,options:n,externalErrors:toRef(E?.value??[],r),initialState:b?.[r],shortcuts:h,fieldName:$});if(i){let A=l.value?.$id;i.$id=A??String(g),a.addArrayStatus(e,i.$id,i);}return i}function it({state:e,rulesDef:t,customMessages:r,path:n,storage:a,options:l,externalErrors:f,initialState:d,shortcuts:E,fieldName:b}){let h=effectScope(),$,g=effectScope(),v;if(!Array.isArray(e.value)&&!t.value.$each)return null;let i=ref(),A=ref(e.value),G,u=ref({}),o=a.getCollectionsEntry(n);v=g.run(()=>({isPrimitiveArray:computed(()=>Array.isArray(e.value)&&e.value.length?e.value.some(c=>typeof c!="object"):t.value.$each&&!(t.value.$each instanceof Function)?Object.values(t.value.$each).every(c=>pe(c)):!1)})),R(),B();function R(){typeof e.value=="object"&&(e.value!=null&&!e.value?.$id&&e.value!==null?(i.value=Oe(),Object.defineProperties(e.value,{$id:{value:i.value,enumerable:!1,configurable:!1,writable:!1}})):e.value?.$id&&(i.value=e.value.$id)),!v.isPrimitiveArray.value&&(A.value=u.value.$value,Array.isArray(e.value)?o.value=e.value.map((s,c)=>{let y=we(t.value.$each,toRef(()=>s),c),S=st({$id:i.value,path:n,rules:y??{},stateValue:toRef(()=>s),index:c,options:l,storage:a,externalErrors:toRef(f?.value??{},"$each"),initialState:d[c],shortcuts:E,fieldName:b});return S||null}).filter(s=>!!s):o.value=[],u.value=Te({state:e,rulesDef:t,customMessages:r,path:n,storage:a,options:l,externalErrors:toRef(f?.value??{},"$errors"),$isArray:!0,initialState:d,shortcuts:E,fieldName:b}));}function w(){if(Array.isArray(e.value)){let s=re(o.value);o.value=e.value.map((c,y)=>{let S=toRef(()=>c);if(c.$id&&o.value.find(F=>F.$id===c.$id)){let F=a.getArrayStatus(i.value,c.$id);return F?(F.$value=S,F):null}else {let F=we(t.value.$each,S,y);if(F){let p=st({$id:i.value,path:n,rules:F,stateValue:S,index:y,options:l,storage:a,externalErrors:toRef(f?.value??{},"$each"),initialState:d[y],shortcuts:E,fieldName:b});return p||null}}}).filter(c=>!!c),s.filter(c=>!e.value.find(y=>c.$id===y.$id)).forEach((c,y)=>{a.deleteArrayStatus(i.value,y.toString());});}else o.value=[];}function B(){G=watch(e,()=>{e.value!=null&&!Object.hasOwn(e.value,"$id")?R():w();},{deep:he?1:!0,flush:"pre"}),$=h.run(()=>{let s=computed(()=>u.value.$dirty&&o.value.every(T=>T.$dirty)),c=computed(()=>u.value.$anyDirty||o.value.some(T=>T.$dirty)),y=computed(()=>u.value.$invalid||o.value.some(T=>T.$invalid)),S=computed(()=>(z(u.value.$rules)?!0:u.value.$valid)&&o.value.every(T=>T.$valid)),F=computed(()=>u.value.$error||o.value.some(T=>T.$error)),p=computed(()=>!(y.value||O.value)),O=computed(()=>u.value.$pending||o.value.some(T=>T.$pending)),M=computed(()=>({$errors:u.value.$errors,$each:o.value.map(T=>T.$errors)})),k=computed(()=>({$errors:u.value.$silentErrors,$each:o.value.map(T=>T.$silentErrors)})),ee=computed(()=>b);function ie(){E?.collections&&Object.entries(E?.collections).forEach(([T,j])=>{let C=effectScope();ae[T]=C.run(()=>{let _=ref();return watchEffect(()=>{_.value=j({$dirty:s.value,$error:F.value,$pending:O.value,$invalid:y.value,$valid:S.value,$errors:M.value,$ready:p.value,$silentErrors:k.value,$anyDirty:c.value,$name:ee.value,$each:o.value,$field:u.value,$value:e});}),_});});}let ae={};return ie(),{$dirty:s,$anyDirty:c,$invalid:y,$valid:S,$error:F,$pending:O,$errors:M,$silentErrors:k,$ready:p,$name:ee,$shortcuts:ae}}),v.isPrimitiveArray.value&&(console.warn(`${n} is a Array of primitives. Tracking can be lost when reassigning the Array. We advise to use an Array of objects instead`),G());}function V(){G&&G(),u.value&&u.value.$unwatch(),o.value&&o.value.forEach(s=>{"$dirty"in s&&s.$unwatch();}),h.stop(),h=effectScope(),g.stop(),g=effectScope(!0);}function D(s=!0){u.value.$touch(s),o.value.forEach(c=>{c.$touch(s);});}function I(){u.value.$reset(),o.value.forEach(s=>{s.$reset();});}async function P(){let s=e.value;try{return {result:(await Promise.allSettled([u.value.$validate(),...o.value.map(S=>S.$validate())])).every(S=>S.status==="fulfilled"?S.value.result===!0:!1),data:s}}catch{return {result:!1,data:s}}}function m(){u.value.$clearExternalErrors(),o.value.forEach(s=>{s.$clearExternalErrors();});}function x(s=!0){let c=o.value.map(y=>{if(Me(y))return y.$extractDirtyFields(s)});return s&&(c=c.filter(y=>q(y)?!z(y):!!y)),c}function W(){V(),rt(e,d),I();}let{$shortcuts:K,...U}=$;return reactive({$field:u,...U,...K,$each:o,$value:e,$validate:P,$unwatch:V,$watch:B,$touch:D,$reset:I,$resetAll:W,$extractDirtyFields:x,$clearExternalErrors:m})}function _e({scopeRules:e,state:t,customMessages:r,path:n="",rootRules:a,storage:l,options:f,externalErrors:d,validationGroups:E,initialState:b,shortcuts:h,fieldName:$}){let g,v,i=null,A=null;function o(s=!0){R.value=null,triggerRef(R);let c=Object.fromEntries(Object.entries(e.value).map(([p,O])=>{if(O){let M=toRef(t.value,p),k=toRef(()=>O),ee=toRef(d?.value,p);return [p,me({state:M,rulesDef:k,customMessages:r,path:n?`${n}.${p}`:p,storage:l,options:f,externalErrors:ee,initialState:b?.[p],shortcuts:h,fieldName:p})]}return []}).filter(p=>!!p.length&&p[1]!=null)),y=Object.fromEntries(Object.entries(unref(d)??{}).filter(([p])=>!(p in e.value)).map(([p,O])=>{if(O){let M=toRef(t.value,p),k=toRef(()=>({}));return [p,me({state:M,rulesDef:k,customMessages:r,path:n?`${n}.${p}`:p,storage:l,options:f,externalErrors:toRef(d?.value??{},p),initialState:b?.[p],shortcuts:h,fieldName:p})]}return []})),S=Object.fromEntries(Object.entries(t.value).filter(([p])=>!(p in e.value)&&!(p in(y.value??{}))).map(([p,O])=>{let M=toRef(t.value,p),k=toRef(()=>({}));return [p,me({state:M,rulesDef:k,customMessages:r,path:n?`${n}.${p}`:p,storage:l,options:f,externalErrors:toRef(d?.value??{},p),initialState:b?.[p],shortcuts:h,fieldName:p})]})),F=Object.fromEntries(Object.entries(E?.(c)??{}).map(([p,O])=>O.length?[p,{...Object.fromEntries(["$invalid","$error","$pending","$dirty","$valid"].map(M=>[M,Qe(toRef(()=>O),M)])),...Object.fromEntries(["$errors","$silentErrors"].map(M=>[M,Xe(toRef(()=>O),M)]))}]:[]));R.value={...c,...y,...S,...F},s&&I();}let R=l.getFieldsEntry(n);o();function w(){A?.(),Object.values(R.value).forEach(s=>{s.$reset();}),D();}function B(s=!0){Object.values(R.value).forEach(c=>{c.$touch(s);});}async function V(){try{let s=t.value;return {result:(await Promise.allSettled(Object.values(R.value).map(S=>S.$validate()))).every(S=>S.status==="fulfilled"?S.value.result===!0:!1),data:s}}catch{return {result:!1,data:t.value}}}function D(){d?.value&&(A=watch(d,()=>{P(),o();},{deep:!0}));}function I(){a&&(i=watch(a,()=>{P(),o();},{deep:!0,flush:"post"})),D(),g=effectScope(),v=g.run(()=>{let s=computed(()=>!!Object.entries(R.value).length&&Object.entries(R.value).every(([T,j])=>j?.$dirty)),c=computed(()=>Object.entries(R.value).some(([T,j])=>j?.$dirty)),y=computed(()=>Object.entries(R.value).some(([T,j])=>j?.$invalid)),S=computed(()=>Object.entries(R.value).every(([T,j])=>j?.$valid)),F=computed(()=>s.value&&!O.value&&y.value),p=computed(()=>unref(f.autoDirty)?c.value&&!(y.value||O.value):!(y.value||O.value)),O=computed(()=>Object.entries(R.value).some(([T,j])=>j?.$pending)),M=computed(()=>Object.fromEntries(Object.entries(R.value).map(([T,j])=>[T,j?.$errors]))),k=computed(()=>Object.fromEntries(Object.entries(R.value).map(([T,j])=>[T,j?.$silentErrors]))),ee=computed(()=>$);function ie(){h?.nested&&Object.entries(h.nested).forEach(([T,j])=>{let C=effectScope();ae[T]=C.run(()=>{let _=ref();return watchEffect(()=>{_.value=j({$dirty:s.value,$value:t,$error:F.value,$pending:O.value,$invalid:y.value,$valid:S.value,$ready:p.value,$anyDirty:c.value,$name:ee.value,$silentErrors:k.value,$errors:M.value,$fields:R.value});}),_});});}let ae={};return ie(),{$dirty:s,$anyDirty:c,$invalid:y,$valid:S,$error:F,$pending:O,$errors:M,$silentErrors:k,$ready:p,$name:ee,$shortcuts:ae}});}function P(){R.value&&Object.entries(R.value).forEach(([s,c])=>{c.$unwatch();}),i?.(),A?.(),g.stop(),g=effectScope();}function m(){Object.entries(R.value).forEach(([s,c])=>{c.$clearExternalErrors();});}function x(){P(),Re(t,b??{}),o(!1),w(),I();}function W(s=!0){let c=Object.entries(R.value).map(([y,S])=>[y,S.$extractDirtyFields(s)]);return s&&(c=c.filter(([y,S])=>q(S)?!z(S):Array.isArray(S)?S.length:!!S)),Object.fromEntries(c)}let{$shortcuts:K,...U}=v;return reactive({...U,...K,$fields:R,$value:t,$resetAll:x,$reset:w,$touch:B,$validate:V,$unwatch:P,$watch:I,$clearExternalErrors:m,$extractDirtyFields:W})}function me({state:e,rulesDef:t,customMessages:r,path:n,storage:a,options:l,externalErrors:f,index:d,initialState:E,shortcuts:b,onUnwatch:h,fieldName:$}){return at(t,e)?it({state:e,rulesDef:t,customMessages:r,path:n,storage:a,options:l,index:d,externalErrors:f,initialState:E,fieldName:$,shortcuts:b}):nt(e,t)&&et(e)?_e({scopeRules:t,state:e,customMessages:r,path:n,storage:a,options:l,index:d,initialState:E,shortcuts:b,fieldName:$,externalErrors:f}):lt(t)?Te({state:e,rulesDef:t,customMessages:r,path:n,storage:a,options:l,index:d,externalErrors:f,onUnwatch:h,shortcuts:b,initialState:E,fieldName:$}):null}function Ne({initialState:e,options:t,scopeRules:r,state:n,customRules:a,shortcuts:l}){let f=Ae();return reactive(_e({rootRules:r,scopeRules:r,state:n,customMessages:a?.(),storage:f,options:t,externalErrors:t.externalErrors,validationGroups:t.validationGroups,initialState:e,shortcuts:l,fieldName:"root"}))}function Ge(e,t,r){let n={autoDirty:t?.autoDirty??!0,lazy:t?.lazy??!1,rewardEarly:t?.rewardEarly??!1,clearExternalErrorsOnChange:t?.clearExternalErrorsOnChange??!0};function a(l,f,d){let E=isRef(f)?f:computed(typeof f=="function"?f:()=>f),b={...n,...d},h=isRef(l)?l:ref(l),$=re(toRaw(h.value));return {r$:Ne({scopeRules:E,state:h,options:b,initialState:$,customRules:e,shortcuts:r})}}return a}var pt=Ge();function Be(){function e(t,r){return r}return e}var We=Be();function dt({rules:e,modifiers:t,shortcuts:r}){let n=Ge(e,t,r),a=Be();return {useRegle:n,inferRules:a}}export{Ce as InternalRuleType,Pe as createRule,dt as defineRegleConfig,We as inferRules,H as unwrapRuleParameters,pt as useRegle};
|
|
1
|
+
import {unref,version,isRef,toRef,computed,ref,toRaw,reactive,shallowRef,onScopeDispose,triggerRef,watch,effectScope,watchEffect}from'vue';var Ie=(r=>(r.Inline="__inline",r.Async="__async",r))(Ie||{});function Ke(e,t){return computed(()=>e.value.some(r=>r[t]))}function et(e,t){return computed(()=>e.value.reduce((r,n)=>{let a=n[t]||[];return r.concat(a)},[]))}function H(e){return e.map(t=>t instanceof Function?t():unref(t))}function tt(e){return e.map(t=>t instanceof Function||isRef(t)?t:toRef(()=>t))}function rt(e){let t=e.toString();return (t.includes("=>")?t.split("=>")[0]:t).slice(t.indexOf("(")+1,t.indexOf(")")).split(",").map(l=>l.trim()).filter(l=>l.includes("=")).length+e.length}function Pe(e,...t){let{message:r,validator:n,active:a,type:l,...c}=e,d=l==="__async"||n.constructor.name==="AsyncFunction";return {...{validator(b,...S){return e.validator(b,...H(S.length?S:t))},message(b,S){return typeof e.message=="function"?e.message(b,{...S,$params:H(S.$params?.length?S.$params:t)}):e.message},active(b,S){return typeof e.active=="function"?e.active(b,{...S,$params:H(S.$params?.length?S.$params:t)}):e.active??!0},exec(b){let S=e.validator(b,...H(t)),m;return S instanceof Promise?S.then(v=>(m=v,typeof m=="object"&&"$valid"in m?m.$valid:typeof m=="boolean"?m:!1)):(m=S,typeof m=="object"&&"$valid"in m?m.$valid:typeof m=="boolean"?m:!1)}},...c,_validator:e.validator,_message:e.message,_active:e.active,_type:e.type,_patched:!1,_async:d,_params:tt(t)}}function we(e){if(typeof e.validator=="function"){let r=Pe(e,...[]),n=e.validator.constructor.name==="AsyncFunction";if(rt(e.validator)>1){let a=function(...l){return Pe(e,...l)};return a.validator=r.validator,a.message=r.message,a.active=r.active,a.type=r.type,a.exec=r.exec,a._validator=r.validator,a._message=r.message,a._active=r.active,a._type=e.type,a._patched=!1,a._async=n,a}else return r}throw new Error("Validator must be a function")}function q(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function nt(e){return q(e.value)}function ne(e){let t=e,r={}.toString.call(e).slice(8,-1);if(r=="Set"&&(t=new Set([...e].map(n=>ne(n)))),r=="Map"&&(t=new Map([...e].map(n=>[ne(n[0]),ne(n[1])]))),r=="Date"&&(t=new Date(e.getTime())),r=="RegExp"&&(t=RegExp(e.source,Et(e))),r=="Array"||r=="Object"){t=Array.isArray(e)?[]:{};for(let n in e)t[n]=ne(e[n]);}return t}function Et(e){if(typeof e.source.flags=="string")return e.source.flags;{let t=[];return e.global&&t.push("g"),e.ignoreCase&&t.push("i"),e.multiline&&t.push("m"),e.sticky&&t.push("y"),e.unicode&&t.push("u"),t.join("")}}function Oe(e,t,r){return e instanceof Function?e(t,r??0):e}function at(e,t){isRef(e)?e.value=t:e=t;}function lt(e,t){isRef(e)?e.value=[]:e=[],t.forEach((r,n)=>{let a=isRef(e)?e.value[n]:e[n];a={},pe(a,t[n]);});}function pe(e,t){Object.entries({...unref(e),...t}).forEach(([r,n])=>{let a=isRef(e)?e.value:e,l=isRef(t[r])?t[r]._value:t[r],c=isRef(a[r])?a[r].value:a[r];Array.isArray(a[r])?(a[r]=[],Array.isArray(l)&&l.forEach((d,x)=>{a[r][x]={},pe(a[r][x],l[x]);})):q(l)?pe(c,l):isRef(a[r])?a[r].value=l:a[r]=l;});}function z(e){return e==null?!0:e===!1?!1:e instanceof Date?isNaN(e.getTime()):Array.isArray(e)?!1:typeof e=="object"&&e!=null?Object.keys(e).length===0:typeof e=="string"?!String(e.trim()).length:!1}function he(e,t,r){let n,a=(...l)=>new Promise(c=>{clearTimeout(n),n=setTimeout(()=>{n=void 0,Promise.resolve(e.apply(this,[...l])).then(c);},t);});return a.cancel=()=>{clearTimeout(n),n=void 0;},a.doImmediately=(...l)=>new Promise(c=>{clearTimeout(n),n=setTimeout(()=>{n=void 0,Promise.resolve(e.apply(this,[...l])).then(c);},0);}),a}function xt(e,t){let r=String(e).split("."),n=String(t).split(".");for(let a=0;a<Math.min(r.length,n.length);a++){let l=Number(r[a]),c=Number(n[a]);if(l>c)return 1;if(c>l)return -1;if(!isNaN(l)&&isNaN(c))return 1;if(isNaN(l)&&!isNaN(c))return -1}return 0}var be=xt(version,"3.5.0")!==-1;function Ct(){return Math.floor(Math.random()*Date.now()).toString()}function Ae(){return typeof window>"u"?Ct():window.crypto.getRandomValues(new Uint32Array(1))[0].toString(10)}function Me(){let e=shallowRef(new Map),t=shallowRef(new Map),r=shallowRef(new Map),n=shallowRef(new Map),a=shallowRef(new Map),l=shallowRef(new Map);function c(p){let o=t.value.get(p);if(o)return o;{let u=ref({});return t.value.set(p,u),u}}function d(p){let o=r.value.get(p);if(o)return o;{let u=ref([]);return r.value.set(p,u),u}}function x(p,o,u){l.value.set(`${p}-${o}`,u);}function E(p,o){return l.value.get(`${p}-${o}`)}function b(p,o){p&&o!=null&&l.value.delete(`${p}-${o}`);}function S(p,o){n.value.set(p,o);}function m(p){return n.value.get(p)??!1}function v(p,o){e.value.set(p,o);}function I(p,o){let u=e.value.get(p);return u?f(o,u)?{valid:!0}:{valid:!1}:void 0}function f(p,o){let u=Object.keys(o),$=Object.keys(p);return $.length!==u.length||!$.every(j=>u.includes(j))?!1:$.every(j=>{let C=p[j],O=o[j];return !O||!C||typeof C=="function"||typeof O=="function"||typeof C=="number"||typeof C=="boolean"?!1:C._params?C._params?.every((P,M)=>{if(typeof O=="number"||typeof O=="boolean")return !0;{let y=H(O._params),w=H(C._params);return y?.[M]===w?.[M]}}):!0})}function N(p){let o=a.value.get(p);if(o)return o;{let u=ref(!1),$=ref(!0),G=ref({}),j=ref(!1);return a.value.set(p,{$pending:u,$valid:$,$metadata:G,$validating:j}),{$pending:u,$valid:$,$metadata:G,$validating:j}}}return onScopeDispose(()=>{e.value.clear(),t.value.clear(),r.value.clear(),n.value.clear(),a.value.clear(),l.value.clear();}),{addRuleDeclEntry:v,setDirtyEntry:S,checkRuleDeclEntry:I,getDirtyState:m,trySetRuleStatusRef:N,getFieldsEntry:c,getCollectionsEntry:d,getArrayStatus:E,addArrayStatus:x,deleteArrayStatus:b,arrayStatusStorage:l}}function ot(e,t){return q(e.value)&&q(t.value)&&!Object.entries(t.value).some(r=>de(r))}function ut(e,t){return !!e.value&&"$each"in e.value||Array.isArray(t.value)}function st(e){return !!e.value&&q(e.value)}function de(e){return q(e)&&"_validator"in e}function ve(e){return typeof e.value!="function"}function Fe(e){return q(e)&&"$fields"in e}function je({field:e,silent:t=!1}){return Object.entries(e.$rules??{}).map(([r,n])=>t||!n.$valid&&e.$dirty&&!n.$validating?n.$message:null).filter(r=>!!r).reduce((r,n)=>typeof n=="string"?r?.concat([n]):r?.concat(n),[]).concat(e.$dirty?e.$externalErrors??[]:[])}function ct({$dirty:e,customMessages:t,rule:r,ruleKey:n,state:a,path:l,storage:c,$debounce:d}){let x=effectScope(),E,b,S=ref(!1),{$pending:m,$valid:v,$metadata:I,$validating:f}=c.trySetRuleStatusRef(`${l}.${n}`);function N(){E=x.run(()=>{let C=computed(()=>({$invalid:!v.value,$params:w.value,...I.value})),O=computed(()=>ve(r)?typeof r.value.active=="function"?r.value.active(a.value,C.value):!!r.value.active:!0),P=computed(()=>{let U="",J=t?t[n]?.message:void 0;return J&&(typeof J=="function"?U=J(a.value,C.value):U=J),ve(r)&&(J&&!r.value._patched||(typeof r.value.message=="function"?U=r.value.message(a.value,C.value):U=r.value.message)),z(U)&&(U="Error",console.warn(`No error message defined for ${l}.${n}`)),U}),M=computed(()=>ve(r)&&r.value.type?r.value.type:n),y=computed(()=>ve(r)?r.value.validator:r.value),w=computed(()=>typeof r.value=="function"?[]:H(r.value._params??[])),K=computed(()=>`${l}.${M.value}`);return {$active:O,$message:P,$type:M,$validator:y,$params:w,$path:K}}),b=watch(E.$params,$,{deep:!0});}N();function p(){v.value=!0,e.value&&(m.value=!0);}async function o(){let C=E.$validator.value,O=C(a.value,...E.$params.value),P=!1,M=a.value;try{p();let y;if(O instanceof Promise?y=await O:y=O,a.value!==M)return !0;if(typeof y=="boolean")P=y;else {let{$valid:w,...K}=y;P=w,I.value=K;}}catch{P=!1;}finally{m.value=!1;}return P}let u=he(o,d??200);async function $(){try{f.value=!0;let C=!1;if(de(r.value)&&r.value._async)C=await u();else {let O=E.$validator.value,P=O(a.value,...E.$params.value);if(P instanceof Promise)console.warn('You used a async validator function on a non-async rule, please use "async await" or the "withAsync" helper');else if(P!=null)if(typeof P=="boolean")C=P;else {let{$valid:M,...y}=P;C=M,I.value=y;}}return v.value=C,C}catch{return !1}finally{f.value=!1;}}function G(){v.value=!0,I.value={},m.value=!1,f.value=!1,N();}function j(){b(),x.stop(),x=effectScope();}return reactive({...E,$pending:m,$valid:v,$metadata:I,_haveAsync:S,$validating:f,$validate:$,$unwatch:j,$watch:N,$reset:G})}function Ee({state:e,rulesDef:t,customMessages:r,path:n,fieldName:a,storage:l,options:c,externalErrors:d,onUnwatch:x,$isArray:E,initialState:b,shortcuts:S}){let m=effectScope(),v,I=[],f=ref(!1),N=ref(!1),p,o,u,$,G=()=>{};function j(){let T=t.value,B=l.checkRuleDeclEntry(n,T);w.value=Object.fromEntries(Object.entries(T).filter(([Y])=>Y.startsWith("$"))),y.value=Object.fromEntries(Object.entries(t.value).filter(([Y])=>!Y.startsWith("$")).map(([Y,L])=>{if(L){let fe=toRef(()=>L);return [Y,ct({$dirty:f,customMessages:r,rule:fe,ruleKey:Y,state:e,path:n,storage:l,$debounce:w.value.$debounce})]}return []}).filter(Y=>!!Y.length)),P(),C(),B?.valid!=null&&(f.value=l.getDirtyState(n),f.value&&G()),l.addRuleDeclEntry(n,T);}function C(){G=v.$debounce.value?he(M,v.$debounce.value??v.haveAnyAsyncRule?100:0):M;}function O(){y.value&&Object.entries(y.value).forEach(([T,B])=>{B.$unwatch();}),u(),f.value&&l.setDirtyEntry(n,f.value),p?.(),o?.(),m.stop(),m=effectScope(),I.forEach(T=>T.stop()),I=[],x?.(),$?.();}function P(){y.value&&Object.entries(y.value).forEach(([T,B])=>{B.$watch();}),v=m.run(()=>{let T=computed(()=>f.value),B=computed(()=>w.value.$debounce),Y=computed(()=>w.value.$lazy!=null?w.value.$lazy:unref(c.lazy)),L=computed(()=>w.value.$rewardEarly!=null?w.value.$rewardEarly:unref(c.rewardEarly)),fe=computed(()=>w.value.$clearExternalErrorsOnChange!=null?w.value.$clearExternalErrorsOnChange:unref(c.clearExternalErrorsOnChange)),gt=computed(()=>w.value.$autoDirty!=null?w.value.$autoDirty:unref(c.autoDirty)),He=computed(()=>Object.entries(y.value).some(([re,Q])=>Q.$validating)),xe=computed(()=>Re.value&&!Se.value&&f.value),qe=computed(()=>xe.value?je({field:{$dirty:f.value,$externalErrors:d?.value,$rules:y.value}}):[]),Le=computed(()=>je({field:{$dirty:f.value,$externalErrors:d?.value,$rules:y.value},silent:!0})),ze=computed(()=>!(Re.value||Se.value)),Se=computed(()=>N.value||!L.value?Object.entries(y.value).some(([re,Q])=>Q.$pending):!1),Re=computed(()=>d?.value?.length?!0:z(y.value)?!1:!L.value||L.value&&N.value?Object.entries(y.value).some(([re,Q])=>!Q.$valid):!1),Je=computed(()=>a),Ce=computed(()=>z(y.value)?!1:f.value&&!z(e.value)&&!He.value?d?.value?.length?!1:L.value?Object.entries(y.value).every(([re,Q])=>Q.$valid):!Re.value:!1),mt=computed(()=>Object.entries(y.value).some(([re,Q])=>Q._haveAsync));function $t(){S?.fields&&Object.entries(S.fields).forEach(([re,Q])=>{let Qe=effectScope();Ye[re]=Qe.run(()=>{let Xe=ref();return watchEffect(()=>{Xe.value=Q({$dirty:f.value,$externalErrors:d?.value??[],$value:e,$rules:y.value,$error:xe.value,$pending:Se.value,$invalid:Re.value,$valid:Ce.value,$errors:qe.value,$ready:ze.value,$silentErrors:Le.value,$anyDirty:T.value,$name:Je.value});}),Xe}),I.push(Qe);});}let Ye={};return $t(),watch(Ce,re=>{re&&(N.value=!1);}),{$error:xe,$pending:Se,$invalid:Re,$valid:Ce,$debounce:B,$lazy:Y,$errors:qe,$ready:ze,$silentErrors:Le,$rewardEarly:L,$autoDirty:gt,$clearExternalErrorsOnChange:fe,$anyDirty:T,$name:Je,haveAnyAsyncRule:mt,$shortcuts:Ye,$validating:He}}),p=watch(e,()=>{v.$autoDirty.value&&(f.value||(f.value=!0)),t.value instanceof Function&&j(),G(),v.$rewardEarly.value!==!0&&v.$clearExternalErrorsOnChange.value&&g();},{deep:E?!0:be?1:!0}),u=watch(f,()=>{l.setDirtyEntry(n,f.value);}),o=watch(v.$valid,T=>{v.$rewardEarly.value&&T&&(N.value=!1);}),$=watch(v.haveAnyAsyncRule,C);}function M(){Object.values(y.value).forEach(T=>{T.$validate();});}let y=ref(),w=ref();j();function K(){g(),f.value=!1,Object.entries(y.value).forEach(([T,B])=>{B.$reset();}),!v.$lazy.value&&v.$autoDirty.value&&Object.values(y.value).forEach(T=>T.$validate());}function U(T=!0){f.value||(f.value=!0,T&&G());}async function J(){try{let T=e.value;if(N.value=!0,!f.value)f.value=!0;else if(v.$autoDirty.value&&f.value&&!v.$pending.value)return {result:!v.$error.value,data:T};return z(y.value)?{result:!0,data:T}:{result:(await Promise.allSettled(Object.entries(y.value).map(([L,fe])=>fe.$validate()))).every(L=>L.status==="fulfilled"?L.value===!0:!1),data:T}}catch{return {result:!1,data:e.value}}}function s(){O(),e.value=at(e,b),K();}function i(T=!0){return f.value?e.value:null}function g(){d?.value?.length&&(d.value=[]);}!v.$lazy.value&&!f.value&&v.$autoDirty.value&&G();let{$anyDirty:h,$error:V,$errors:R,$invalid:A,$name:F,$pending:k,$ready:te,$silentErrors:ce,$valid:le,$shortcuts:D,$validating:_}=v;return reactive({$dirty:f,$error:V,$errors:R,$valid:le,$invalid:A,$pending:k,$silentErrors:ce,$anyDirty:h,$ready:te,$name:F,$externalErrors:d,$value:e,$rules:y,...D,$reset:K,$touch:U,$validate:J,$unwatch:O,$watch:P,$resetAll:s,$extractDirtyFields:i,$clearExternalErrors:g})}function ft({$id:e,path:t,index:r,options:n,storage:a,stateValue:l,customMessages:c,rules:d,externalErrors:x,initialState:E,shortcuts:b,fieldName:S}){let m=d.$key?d.$key:Ae(),v=`${t}.${String(m)}`;typeof l.value=="object"&&l.value!=null&&(l.value.$id?v=`${t}.${l.value.$id}`:Object.defineProperties(l.value,{$id:{value:m,enumerable:!1,configurable:!1,writable:!1}}));let I=$e({state:l,rulesDef:toRef(()=>d),customMessages:c,path:v,storage:a,options:n,externalErrors:toRef(x?.value??[],r),initialState:E?.[r],shortcuts:b,fieldName:S});if(I){let f=l.value?.$id;I.$id=f??String(m),a.addArrayStatus(e,I.$id,I);}return I}function Rt({state:e,rulesDef:t,customMessages:r,path:n,storage:a,options:l,externalErrors:c,initialState:d,shortcuts:x,fieldName:E}){let b=effectScope(),S,m=effectScope(),v,I=[];if(!Array.isArray(e.value)&&!t.value.$each)return null;let f=ref(),N=ref(e.value),p,o=ref({}),u=a.getCollectionsEntry(n);v=m.run(()=>({isPrimitiveArray:computed(()=>Array.isArray(e.value)&&e.value.length?e.value.some(i=>typeof i!="object"):t.value.$each&&!(t.value.$each instanceof Function)?Object.values(t.value.$each).every(i=>de(i)):!1)})),$(),j();function $(){typeof e.value=="object"&&(e.value!=null&&!e.value?.$id&&e.value!==null?(f.value=Ae(),Object.defineProperties(e.value,{$id:{value:f.value,enumerable:!1,configurable:!1,writable:!1}})):e.value?.$id&&(f.value=e.value.$id)),!v.isPrimitiveArray.value&&(N.value=o.value.$value,Array.isArray(e.value)?u.value=e.value.map((s,i)=>{let g=Oe(t.value.$each,toRef(()=>s),i),h=ft({$id:f.value,path:n,rules:g??{},stateValue:toRef(()=>s),index:i,options:l,storage:a,externalErrors:toRef(c?.value??{},"$each"),initialState:d?.[i],shortcuts:x,fieldName:E});return h||null}).filter(s=>!!s):u.value=[],o.value=Ee({state:e,rulesDef:t,customMessages:r,path:n,storage:a,options:l,externalErrors:toRef(c?.value??{},"$errors"),$isArray:!0,initialState:d,shortcuts:x,fieldName:E}));}function G(){if(Array.isArray(e.value)){let s=ne(u.value);u.value=e.value.map((i,g)=>{let h=toRef(()=>i);if(i.$id&&u.value.find(V=>V.$id===i.$id)){let V=a.getArrayStatus(f.value,i.$id);return V?(V.$value=h,V):null}else {let V=Oe(t.value.$each,h,g);if(V){let R=ft({$id:f.value,path:n,rules:V,stateValue:h,index:g,options:l,storage:a,externalErrors:toRef(c?.value??{},"$each"),initialState:d?.[g],shortcuts:x,fieldName:E});return R||null}}}).filter(i=>!!i),s.filter(i=>!e.value.find(g=>i.$id===g.$id)).forEach((i,g)=>{a.deleteArrayStatus(f.value,g.toString());});}else u.value=[];}function j(){p=watch(e,()=>{e.value!=null&&!Object.hasOwn(e.value,"$id")?$():G();},{deep:be?1:!0,flush:"pre"}),S=b.run(()=>{let s=computed(()=>o.value.$dirty&&u.value.every(D=>D.$dirty)),i=computed(()=>o.value.$anyDirty||u.value.some(D=>D.$dirty)),g=computed(()=>o.value.$invalid||u.value.some(D=>D.$invalid)),h=computed(()=>(z(o.value.$rules)?!0:o.value.$valid)&&u.value.every(D=>D.$valid)),V=computed(()=>o.value.$error||u.value.some(D=>D.$error)),R=computed(()=>!(g.value||A.value)),A=computed(()=>o.value.$pending||u.value.some(D=>D.$pending)),F=computed(()=>({$errors:o.value.$errors,$each:u.value.map(D=>D.$errors)})),k=computed(()=>({$errors:o.value.$silentErrors,$each:u.value.map(D=>D.$silentErrors)})),te=computed(()=>E);function ce(){x?.collections&&Object.entries(x?.collections).forEach(([D,_])=>{let T=effectScope();le[D]=T.run(()=>{let B=ref();return watchEffect(()=>{B.value=_({$dirty:s.value,$error:V.value,$pending:A.value,$invalid:g.value,$valid:h.value,$errors:F.value,$ready:R.value,$silentErrors:k.value,$anyDirty:i.value,$name:te.value,$each:u.value,$field:o.value,$value:e});}),B}),I.push(T);});}let le={};return ce(),{$dirty:s,$anyDirty:i,$invalid:g,$valid:h,$error:V,$pending:A,$errors:F,$silentErrors:k,$ready:R,$name:te,$shortcuts:le}}),v.isPrimitiveArray.value&&(console.warn(`${n} is a Array of primitives. Tracking can be lost when reassigning the Array. We advise to use an Array of objects instead`),p());}function C(){p&&p(),o.value&&o.value.$unwatch(),u.value&&u.value.forEach(s=>{"$dirty"in s&&s.$unwatch();}),b.stop(),b=effectScope(),m.stop(),m=effectScope(!0),I.forEach(s=>s.stop()),I=[];}function O(s=!0){o.value.$touch(s),u.value.forEach(i=>{i.$touch(s);});}function P(){o.value.$reset(),u.value.forEach(s=>{s.$reset();});}async function M(){let s=e.value;try{return {result:(await Promise.allSettled([o.value.$validate(),...u.value.map(h=>h.$validate())])).every(h=>h.status==="fulfilled"?h.value.result===!0:!1),data:s}}catch{return {result:!1,data:s}}}function y(){o.value.$clearExternalErrors(),u.value.forEach(s=>{s.$clearExternalErrors();});}function w(s=!0){let i=u.value.map(g=>{if(Fe(g))return g.$extractDirtyFields(s)});return s&&(i=i.filter(g=>q(g)?!z(g):!!g)),i}function K(){C(),lt(e,d),P();}let{$shortcuts:U,...J}=S;return reactive({$field:o,...J,...U,$each:u,$value:e,$validate:M,$unwatch:C,$watch:j,$touch:O,$reset:P,$resetAll:K,$extractDirtyFields:w,$clearExternalErrors:y})}function Ge({scopeRules:e,state:t,customMessages:r,path:n="",rootRules:a,storage:l,options:c,externalErrors:d,validationGroups:x,initialState:E,shortcuts:b,fieldName:S}){let m,v,I=[],f=null,N=null,p=null;function u(s=!0){$.value=null,triggerRef($);let i=Object.fromEntries(Object.entries(e.value).map(([R,A])=>{if(A){let F=toRef(t.value,R),k=toRef(()=>A),te=toRef(d?.value,R);return [R,$e({state:F,rulesDef:k,customMessages:r,path:n?`${n}.${R}`:R,storage:l,options:c,externalErrors:te,initialState:E?.[R],shortcuts:b,fieldName:R})]}return []}).filter(R=>!!R.length&&R[1]!=null)),g=Object.fromEntries(Object.entries(unref(d)??{}).filter(([R])=>!(R in e.value)).map(([R,A])=>{if(A){let F=toRef(t.value,R),k=toRef(()=>({}));return [R,$e({state:F,rulesDef:k,customMessages:r,path:n?`${n}.${R}`:R,storage:l,options:c,externalErrors:toRef(d?.value??{},R),initialState:E?.[R],shortcuts:b,fieldName:R})]}return []})),h=Object.fromEntries(Object.entries(t.value).filter(([R])=>!(R in e.value)&&!(R in(g.value??{}))).map(([R,A])=>{let F=toRef(t.value,R),k=toRef(()=>({}));return [R,$e({state:F,rulesDef:k,customMessages:r,path:n?`${n}.${R}`:R,storage:l,options:c,externalErrors:toRef(d?.value??{},R),initialState:E?.[R],shortcuts:b,fieldName:R})]})),V=Object.fromEntries(Object.entries(x?.(i)??{}).map(([R,A])=>A.length?[R,{...Object.fromEntries(["$invalid","$error","$pending","$dirty","$valid"].map(F=>[F,Ke(toRef(()=>A),F)])),...Object.fromEntries(["$errors","$silentErrors"].map(F=>[F,et(toRef(()=>A),F)]))}]:[]));$.value={...i,...g,...h,...V},s&&P();}let $=l.getFieldsEntry(n);u();function G(){N?.(),Object.values($.value).forEach(s=>{s.$reset();}),O();}function j(s=!0){Object.values($.value).forEach(i=>{i.$touch(s);});}async function C(){try{let s=t.value;return {result:(await Promise.allSettled(Object.values($.value).map(h=>h.$validate()))).every(h=>h.status==="fulfilled"?h.value.result===!0:!1),data:s}}catch{return {result:!1,data:t.value}}}function O(){d?.value&&(N=watch(d,()=>{M(),u();},{deep:!0}));}function P(){a&&(f=watch(a,()=>{M(),u();},{deep:!0,flush:"post"}),O()),p=watch(t,()=>{M(),u(),j();}),m=effectScope(),v=m.run(()=>{let s=computed(()=>!!Object.entries($.value).length&&Object.entries($.value).every(([D,_])=>_?.$dirty)),i=computed(()=>Object.entries($.value).some(([D,_])=>_?.$dirty)),g=computed(()=>Object.entries($.value).some(([D,_])=>_?.$invalid)),h=computed(()=>Object.entries($.value).every(([D,_])=>_?.$valid)),V=computed(()=>s.value&&!A.value&&g.value),R=computed(()=>unref(c.autoDirty)?i.value&&!(g.value||A.value):!(g.value||A.value)),A=computed(()=>Object.entries($.value).some(([D,_])=>_?.$pending)),F=computed(()=>Object.fromEntries(Object.entries($.value).map(([D,_])=>[D,_?.$errors]))),k=computed(()=>Object.fromEntries(Object.entries($.value).map(([D,_])=>[D,_?.$silentErrors]))),te=computed(()=>S);function ce(){b?.nested&&Object.entries(b.nested).forEach(([D,_])=>{let T=effectScope();le[D]=T.run(()=>{let B=ref();return watchEffect(()=>{B.value=_({$dirty:s.value,$value:t,$error:V.value,$pending:A.value,$invalid:g.value,$valid:h.value,$ready:R.value,$anyDirty:i.value,$name:te.value,$silentErrors:k.value,$errors:F.value,$fields:$.value});}),B}),I.push(T);});}let le={};return ce(),{$dirty:s,$anyDirty:i,$invalid:g,$valid:h,$error:V,$pending:A,$errors:F,$silentErrors:k,$ready:R,$name:te,$shortcuts:le}});}function M(){$.value&&Object.entries($.value).forEach(([s,i])=>{i.$unwatch();}),f?.(),N?.(),p?.(),m.stop(),m=effectScope(),I.forEach(s=>s.stop()),I=[];}function y(){Object.entries($.value).forEach(([s,i])=>{i.$clearExternalErrors();});}function w(){M(),pe(t,E??{}),u(!1),G(),P();}function K(s=!0){let i=Object.entries($.value).map(([g,h])=>[g,h.$extractDirtyFields(s)]);return s&&(i=i.filter(([g,h])=>q(h)?!z(h):Array.isArray(h)?h.length:!!h)),Object.fromEntries(i)}let{$shortcuts:U,...J}=v;return reactive({...J,...U,$fields:$,$value:t,$resetAll:w,$reset:G,$touch:j,$validate:C,$unwatch:M,$watch:P,$clearExternalErrors:y,$extractDirtyFields:K})}function $e({state:e,rulesDef:t,customMessages:r,path:n,storage:a,options:l,externalErrors:c,index:d,initialState:x,shortcuts:E,onUnwatch:b,fieldName:S}){return ut(t,e)?Rt({state:e,rulesDef:t,customMessages:r,path:n,storage:a,options:l,index:d,externalErrors:c,initialState:x,fieldName:S,shortcuts:E}):ot(e,t)&&nt(e)?Ge({scopeRules:t,state:e,customMessages:r,path:n,storage:a,options:l,index:d,initialState:x,shortcuts:E,fieldName:S,externalErrors:c}):st(t)?Ee({state:e,rulesDef:t,customMessages:r,path:n,storage:a,options:l,index:d,externalErrors:c,onUnwatch:b,shortcuts:E,initialState:x,fieldName:S}):null}function Be({initialState:e,options:t,scopeRules:r,state:n,customRules:a,shortcuts:l}){let c=Me();return reactive(Ge({rootRules:r,scopeRules:r,state:n,customMessages:a?.(),storage:c,options:t,externalErrors:t.externalErrors,validationGroups:t.validationGroups,initialState:e,shortcuts:l,fieldName:"root"}))}function We(e,t,r){let n={autoDirty:t?.autoDirty??!0,lazy:t?.lazy??!1,rewardEarly:t?.rewardEarly??!1,clearExternalErrorsOnChange:t?.clearExternalErrorsOnChange??!0};function a(l,c,d){let x=isRef(c)?c:computed(typeof c=="function"?c:()=>c),E={...n,...d},b=isRef(l)?l:ref(l),S=ne(toRaw(b.value));return {r$:Be({scopeRules:x,state:b,options:E,initialState:S,customRules:e,shortcuts:r})}}return a}var vt=We();function Ue(){function e(t,r){return r}return e}var ke=Ue();function yt({rules:e,modifiers:t,shortcuts:r}){let n=We(e,t,r),a=Ue();return {useRegle:n,inferRules:a}}export{Ie as InternalRuleType,we as createRule,yt as defineRegleConfig,ke as inferRules,H as unwrapRuleParameters,vt as useRegle};
|