@regle/core 0.4.3 → 0.4.4
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,2 +1,2 @@
|
|
|
1
|
-
'use strict';var vue=require('vue');var xe=(t=>(t.Inline="__inline",t.Async="__async",t))(xe||{});function Ye(e,r){return e.some(t=>t[r])}function Qe(e,r){return e.reduce((t,n)=>{let l=n[r]||[];return t.concat(l)},[])}function U(e){return e.map(r=>r instanceof Function?r():vue.unref(r))}function Xe(e){return e.map(r=>r instanceof Function||vue.isRef(r)?r:vue.toRef(()=>r))}function Ze(e){let n=e.toString().replace(/\/\/.*$/gm,"").replace(/\/\*[\s\S]*?\*\//g,"").match(/^(?:async\s*)?(?:function\b.*?\(|\((.*?)\)|(\w+))\s*=>|\((.*?)\)\s*=>|function.*?\((.*?)\)|\((.*?)\)/);return n?(n[0]||n[1]||n[2]||n[3]||n[4]||"").split(",").map(y=>y.trim()).filter(y=>y.length>0).length:0}function De(e,...r){let{validator:t,type:n}=e,l=n==="__async"||t.constructor.name==="AsyncFunction";return {...{validator(m,...S){return e.validator(m,...U(S.length?S:r))},message(m){return typeof e.message=="function"?e.message({...m,$params:U(m?.$params?.length?m.$params:r)}):e.message},active(m){return typeof e.active=="function"?e.active({...m,$params:U(m.$params?.length?m.$params:r)}):e.active??!0},tooltip(m){return typeof e.tooltip=="function"?e.tooltip({...m,$params:U(m.$params?.length?m.$params:r)}):e.tooltip??[]},exec(m){let S=e.validator(m,...U(r)),$;return S instanceof Promise?S.then(O=>($=O,typeof $=="object"&&"$valid"in $?$.$valid:typeof $=="boolean"?$:!1)):($=S,typeof $=="object"&&"$valid"in $?$.$valid:typeof $=="boolean"?$:!1)}},_validator:e.validator,_message:e.message,_active:e.active,_tooltip:e.tooltip,_type:e.type,_message_patched:!1,_tooltip_patched:!1,_async:l,_params:Xe(r)}}function Ce(e){if(typeof e.validator=="function"){let t=De(e,...[]),n=e.validator.constructor.name==="AsyncFunction";if(Ze(e.validator)>1){let l=function(...f){return De(e,...f)};return l.validator=t.validator,l.message=t.message,l.active=t.active,l.tooltip=t.tooltip,l.type=t.type,l.exec=t.exec,l._validator=t.validator,l._message=t.message,l._active=t.active,l._tooltip=t.tooltip,l._type=e.type,l._message_pacthed=!1,l._tooltip_pacthed=!1,l._async=n,l}else return t}throw new Error("Validator must be a function")}function Q(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Ke(e){return Q(e.value)}function B(e){let r=e,t={}.toString.call(e).slice(8,-1);if(t=="Set"&&(r=new Set([...e].map(n=>B(n)))),t=="Map"&&(r=new Map([...e].map(n=>[B(n[0]),B(n[1])]))),t=="Date"&&(r=new Date(e.getTime())),t=="RegExp"&&(r=RegExp(e.source,bt(e))),t=="Array"||t=="Object"){r=Array.isArray(e)?[]:{};for(let n in e)r[n]=B(e[n]);}return r}function bt(e){if(typeof e.source.flags=="string")return e.source.flags;{let r=[];return e.global&&r.push("g"),e.ignoreCase&&r.push("i"),e.multiline&&r.push("m"),e.sticky&&r.push("y"),e.unicode&&r.push("u"),r.join("")}}function Ie(e,r,t){return e instanceof Function?e(r,t??0):e}function ve(e,r,t){let n,l=(...f)=>new Promise(y=>{clearTimeout(n),n=setTimeout(()=>{n=void 0,Promise.resolve(e.apply(this,[...f])).then(y);},r);});return l.cancel=()=>{clearTimeout(n),n=void 0;},l}function Et(e,r){let t=String(e).split("."),n=String(r).split(".");for(let l=0;l<Math.min(t.length,n.length);l++){let f=Number(t[l]),y=Number(n[l]);if(f>y)return 1;if(y>f)return -1;if(!isNaN(f)&&isNaN(y))return 1;if(isNaN(f)&&!isNaN(y))return -1}return 0}var ge=Et(vue.version,"3.5.0")!==-1;function xt(){return Math.floor(Math.random()*Date.now()).toString()}function $e(){return typeof window>"u"?xt():window.crypto.getRandomValues(new Uint32Array(1))[0].toString(10)}function Pe(){let e=vue.shallowRef(new Map),r=vue.shallowRef(new Map),t=vue.shallowRef(new Map),n=vue.shallowRef(new Map),l=vue.shallowRef(new Map),f=vue.shallowRef(new Map);function y(s){let u=r.value.get(s);if(u)return u;{let p=vue.ref({});return r.value.set(s,p),p}}function m(s){let u=t.value.get(s);if(u)return u;{let p=vue.ref([]);return t.value.set(s,p),p}}function S(s,u,p){f.value.set(`${s}-${u}`,p);}function $(s,u){return f.value.get(`${s}-${u}`)}function O(s,u){s&&u!=null&&f.value.delete(`${s}-${u}`);}function _(s,u){n.value.set(s,u);}function D(s){return n.value.get(s)??!1}function R(s,u){e.value.set(s,u);}function E(s,u){let p=e.value.get(s);return p?d(u,p)?{valid:!0}:{valid:!1}:void 0}function d(s,u){let p=Object.keys(u),j=Object.keys(s);return j.length!==p.length||!j.every(w=>p.includes(w))?!1:j.every(w=>{let b=s[w],A=u[w];return !A||!b||typeof b=="function"||typeof A=="function"||typeof b=="number"||typeof b=="boolean"?!1:b._params?b._params?.every((I,k)=>{if(typeof A=="number"||typeof A=="boolean")return !0;{let v=U(A._params),P=U(b._params);return v?.[k]===P?.[k]}}):!0})}function F(s){let u=l.value.get(s);if(u)return u;{let p=vue.ref(!1),j=vue.ref(!0),M=vue.ref({}),w=vue.ref(!1);return l.value.set(s,{$pending:p,$valid:j,$metadata:M,$validating:w}),{$pending:p,$valid:j,$metadata:M,$validating:w}}}return vue.onScopeDispose(()=>{e.value.clear(),r.value.clear(),t.value.clear(),n.value.clear(),l.value.clear(),f.value.clear();}),{addRuleDeclEntry:R,setDirtyEntry:_,checkRuleDeclEntry:E,getDirtyState:D,trySetRuleStatusRef:F,getFieldsEntry:y,getCollectionsEntry:m,getArrayStatus:$,addArrayStatus:S,deleteArrayStatus:O,arrayStatusStorage:f}}function L(e){return e==null?!0:e instanceof Date?isNaN(e.getTime()):Array.isArray(e)?!1:typeof e=="object"&&e!=null?Object.keys(e).length===0:!String(e).length}function et(e,r){return Q(e.value)&&Q(r.value)&&!Object.entries(r.value).some(t=>ie(t))}function tt(e,r){return !!e.value&&"$each"in e.value||Array.isArray(r.value)}function rt(e){return !!e.value&&Q(e.value)}function ie(e){return Q(e)&&"_validator"in e}function ce(e){return typeof e.value!="function"}function nt(e){return Q(e)&&"$fields"in e}function we({field:e,silent:r=!1}){return Object.entries(e.$rules??{}).map(([t,n])=>r||!n.$valid&&e.$dirty&&!n.$validating?n.$message:null).filter(t=>!!t).reduce((t,n)=>typeof n=="string"?t?.concat([n]):t?.concat(n),[]).concat(e.$dirty?e.$externalErrors??[]:[])}function at({field:e}){return Object.entries(e.$rules??{}).map(([r,t])=>t.$tooltip).filter(r=>!!r).reduce((r,t)=>typeof t=="string"?r?.concat([t]):r?.concat(t),[])}function ot({fieldProperties:e,customMessages:r,rule:t,ruleKey:n,state:l,path:f,storage:y,$debounce:m}){let S=vue.effectScope(),$,O,_=vue.ref(!1),{$pending:D,$valid:R,$metadata:E,$validating:d}=y.trySetRuleStatusRef(`${f}.${n}`);function F(){$=S.run(()=>{let b=vue.computed(()=>({$value:l.value,$error:e.$error.value,$dirty:e.$dirty.value,$pending:e.$pending.value,$valid:e.$valid.value,$invalid:e.$invalid.value,$rule:{$valid:R.value,$invalid:!R.value,$pending:D.value},$params:T.value,...E.value})),A=vue.computed(()=>ce(t)?typeof t.value.active=="function"?t.value.active(b.value):!!t.value.active:!0);function I(o){let c="",g=r?r[n]?.[o]:void 0;if(g&&(typeof g=="function"?c=g(b.value):c=g),ce(t)){let i=`_${o}_patched`;g&&!t.value[i]||(typeof t.value[o]=="function"?c=t.value[o](b.value):c=t.value[o]??"");}return c}let k=vue.computed(()=>{let o=I("message");return L(o)&&(o="This field is not valid"),o}),v=vue.computed(()=>I("tooltip")),P=vue.computed(()=>ce(t)&&t.value.type?t.value.type:n),J=vue.computed(()=>ce(t)?t.value.validator:t.value),T=vue.computed(()=>typeof t.value=="function"?[]:U(t.value._params??[])),x=vue.computed(()=>`${f}.${P.value}`);return {$active:A,$message:k,$type:P,$validator:J,$params:T,$path:x,$tooltip:v}}),O=vue.watch($.$params,j);}F();function s(){R.value=!0,e.$dirty.value&&(D.value=!0);}async function u(){let b=$.$validator.value,A=b(l.value,...$.$params.value),I=!1,k=l.value;try{s();let v;if(A instanceof Promise?v=await A:v=A,l.value!==k)return !0;if(typeof v=="boolean")I=v;else {let{$valid:P,...J}=v;I=P,E.value=J;}}catch{I=!1;}finally{D.value=!1;}return I}let p=ve(u,m??200);async function j(){try{d.value=!0;let b=!1;if(ie(t.value)&&t.value._async)b=await p();else {let A=$.$validator.value,I=A(l.value,...$.$params.value);if(I 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(I!=null)if(typeof I=="boolean")b=I;else {let{$valid:k,...v}=I;b=k,E.value=v;}}return R.value=b,b}catch{return !1}finally{d.value=!1;}}function M(){R.value=!0,E.value={},D.value=!1,d.value=!1,F();}function w(){O(),S.stop(),S=vue.effectScope();}return vue.reactive({...$,$pending:D,$valid:R,$metadata:E,$haveAsync:_,$validating:d,$validate:j,$unwatch:w,$watch:F,$reset:M})}function he({state:e,rulesDef:r,customMessages:t,path:n,fieldName:l,storage:f,options:y,externalErrors:m,onUnwatch:S,$isArray:$,initialState:O,shortcuts:_}){let D=vue.effectScope(),R,E=[],d=vue.ref(!1),F=vue.ref(!1),s,u,p,j,M=()=>{};function w(){let a=r.value,C=f.checkRuleDeclEntry(n,a);P.value=Object.fromEntries(Object.entries(a).filter(([G])=>G.startsWith("$"))),I(),v.value=Object.fromEntries(Object.entries(r.value).filter(([G])=>!G.startsWith("$")).map(([G,W])=>{if(W){let ue=vue.toRef(()=>W);return [G,ot({fieldProperties:{$dirty:d,$error:R.$error,$invalid:R.$invalid,$pending:R.$pending,$valid:R.$valid},customMessages:t,rule:ue,ruleKey:G,state:e,path:n,storage:f,$debounce:P.value.$debounce})]}return []}).filter(G=>!!G.length)),R.processShortcuts(),b(),C?.valid!=null&&(d.value=f.getDirtyState(n),d.value&&M()),f.addRuleDeclEntry(n,a);}function b(){M=R.$debounce.value?ve(k,R.$debounce.value??R.$haveAnyAsyncRule?100:0):k;}function A(){v.value&&Object.entries(v.value).forEach(([a,C])=>{C.$unwatch();}),p(),d.value&&f.setDirtyEntry(n,d.value),s?.(),u?.(),D.stop(),D=vue.effectScope(),E.forEach(a=>a.stop()),E=[],S?.(),j?.();}function I(){v.value&&Object.entries(v.value).forEach(([a,C])=>{C.$watch();}),R=D.run(()=>{let a=vue.computed(()=>d.value),C=vue.computed(()=>P.value.$debounce),G=vue.computed(()=>P.value.$lazy!=null?P.value.$lazy:vue.unref(y.lazy)),W=vue.computed(()=>Ne.value===!0?!1:P.value.$rewardEarly!=null?P.value.$rewardEarly:vue.unref(y.rewardEarly)),ue=vue.computed(()=>P.value.$clearExternalErrorsOnChange!=null?P.value.$clearExternalErrorsOnChange:vue.unref(y.clearExternalErrorsOnChange)),Ne=vue.computed(()=>P.value.$autoDirty!=null?P.value.$autoDirty:vue.unref(y.autoDirty)),ke=vue.computed(()=>Object.entries(v.value).some(([Y,Z])=>Z.$validating)),Te=vue.computed(()=>ye.value&&!me.value&&d.value),We=vue.computed(()=>Te.value?we({field:{$dirty:d.value,$externalErrors:m?.value,$rules:v.value}}):[]),Ue=vue.computed(()=>at({field:{$rules:v.value}})),Be=vue.computed(()=>we({field:{$dirty:d.value,$externalErrors:m?.value,$rules:v.value},silent:!0})),He=vue.computed(()=>!(ye.value||me.value)),me=vue.computed(()=>F.value||!W.value?Object.entries(v.value).some(([Y,Z])=>Z.$pending):!1),ye=vue.computed(()=>m?.value?.length?!0:L(v.value)?!1:!W.value||W.value&&F.value?Object.entries(v.value).some(([Y,Z])=>!Z.$valid):!1),Le=vue.computed(()=>l),Ee=vue.computed(()=>m?.value?.length||L(v.value)?!1:d.value&&!L(e.value)&&!ke.value?Object.values(v.value).every(Y=>Y.$valid&&Y.$active):!1),vt=vue.computed(()=>Object.entries(v.value).some(([Y,Z])=>Z.$haveAsync));function gt(){_?.fields&&Object.entries(_.fields).forEach(([Y,Z])=>{let ze=vue.effectScope();qe[Y]=ze.run(()=>{let Je=vue.ref();return vue.watchEffect(()=>{Je.value=Z(vue.reactive({$dirty:d,$externalErrors:m?.value??[],$value:e,$rules:v,$error:Te,$pending:me,$invalid:ye,$valid:Ee,$errors:We,$ready:He,$silentErrors:Be,$anyDirty:a,$tooltips:Ue,$name:Le}));}),Je}),E.push(ze);});}let qe={};return vue.watch(Ee,Y=>{Y&&(F.value=!1);}),{$error:Te,$pending:me,$invalid:ye,$valid:Ee,$debounce:C,$lazy:G,$errors:We,$ready:He,$silentErrors:Be,$rewardEarly:W,$autoDirty:Ne,$clearExternalErrorsOnChange:ue,$anyDirty:a,$name:Le,$haveAnyAsyncRule:vt,$shortcuts:qe,$validating:ke,$tooltips:Ue,processShortcuts:gt}}),s=vue.watch(e,()=>{R.$autoDirty.value&&(d.value||(d.value=!0)),r.value instanceof Function&&w(),(R.$autoDirty.value||R.$rewardEarly.value&&R.$error.value)&&M(),R.$rewardEarly.value!==!0&&R.$clearExternalErrorsOnChange.value&&g();},{deep:$?!0:ge?1:!0}),p=vue.watch(d,()=>{f.setDirtyEntry(n,d.value);}),u=vue.watch(R.$valid,a=>{R.$rewardEarly.value&&a&&(F.value=!1);}),j=vue.watch(R.$haveAnyAsyncRule,b);}function k(){Object.values(v.value).forEach(a=>{a.$validate();});}let v=vue.ref({}),P=vue.ref({});w();function J(){g(),d.value=!1,f.setDirtyEntry(n,!1),Object.entries(v.value).forEach(([a,C])=>{C.$reset();}),!R.$lazy.value&&R.$autoDirty.value&&Object.values(v.value).forEach(a=>a.$validate());}function T(a=!0,C=!1){d.value||(d.value=!0),C&&a?(R.$autoDirty.value||R.$rewardEarly.value&&R.$error.value)&&M():a&&M();}async function x(){try{let a=e.value;if(F.value=!0,!d.value)d.value=!0;else if(R.$autoDirty.value&&d.value&&!R.$pending.value)return {result:!R.$error.value,data:a};return L(v.value)?{result:!0,data:a}:{result:(await Promise.allSettled(Object.entries(v.value).map(([W,ue])=>ue.$validate()))).every(W=>W.status==="fulfilled"?W.value===!0:!1),data:a}}catch{return {result:!1,data:e.value}}}function o(){A(),e.value=B(O),J();}function c(a=!0){return d.value?e.value:a?{_null:!0}:null}function g(){m?.value?.length&&(m.value=[]);}!R.$lazy.value&&!d.value&&R.$autoDirty.value&&M();let{$shortcuts:i,$validating:h,$autoDirty:q,$rewardEarly:X,$clearExternalErrorsOnChange:K,$haveAnyAsyncRule:le,$debounce:oe,$lazy:se,...V}=R;return vue.reactive({$dirty:d,...V,$externalErrors:m,$value:e,$rules:v,...i,$reset:J,$touch:T,$validate:x,$unwatch:A,$watch:I,$resetAll:o,$extractDirtyFields:c,$clearExternalErrors:g})}function Ae({$id:e,path:r,index:t,options:n,storage:l,stateValue:f,customMessages:y,rules:m,externalErrors:S,initialState:$,shortcuts:O,fieldName:_}){let D=m.$key?m.$key:$e(),R=`${r}.${String(D)}`;typeof f.value=="object"&&f.value!=null&&(f.value.$id?R=`${r}.${f.value.$id}`:Object.defineProperties(f.value,{$id:{value:D,enumerable:!1,configurable:!1,writable:!1}}));let E=pe({state:f,rulesDef:vue.toRef(()=>m),customMessages:y,path:R,storage:l,options:n,externalErrors:vue.toRef(S?.value??[],t),initialState:$?.[t],shortcuts:O,fieldName:_});if(E){let d=f.value?.$id;E.$id=d??String(D),l.addArrayStatus(e,E.$id,E);}return E}function ct({state:e,rulesDef:r,customMessages:t,path:n,storage:l,options:f,externalErrors:y,initialState:m,shortcuts:S,fieldName:$}){let O=vue.effectScope(),_,D=vue.effectScope(),R,E=[];if(!Array.isArray(e.value)&&!r.value.$each)return null;let d=vue.ref(),F=vue.ref(e.value),s,u=vue.ref({}),p=l.getCollectionsEntry(n);R=D.run(()=>({isPrimitiveArray:vue.computed(()=>Array.isArray(e.value)&&e.value.length?e.value.some(c=>typeof c!="object"):r.value.$each&&!(r.value.$each instanceof Function)?Object.values(r.value.$each).every(c=>ie(c)):!1)})),j(),w();function j(){typeof e.value=="object"&&(e.value!=null&&!e.value?.$id&&e.value!==null?(d.value=$e(),Object.defineProperties(e.value,{$id:{value:d.value,enumerable:!1,configurable:!1,writable:!1}})):e.value?.$id&&(d.value=e.value.$id)),!R.isPrimitiveArray.value&&(F.value=u.value.$value,Array.isArray(e.value)?p.value=e.value.map((o,c)=>{let g=Ie(r.value.$each,vue.toRef(()=>o),c),i=Ae({$id:d.value,path:n,customMessages:t,rules:g??{},stateValue:vue.toRef(()=>o),index:c,options:f,storage:l,externalErrors:vue.toRef(y?.value??{},"$each"),initialState:m?.[c],shortcuts:S,fieldName:$});return i||null}).filter(o=>!!o):p.value=[],u.value=he({state:e,rulesDef:r,customMessages:t,path:n,storage:l,options:f,externalErrors:vue.toRef(y?.value??{},"$self"),$isArray:!0,initialState:m,shortcuts:S,fieldName:$}));}function M(){if(Array.isArray(e.value)){let o=B(p.value);p.value=e.value.map((c,g)=>{let i=vue.toRef(()=>c);if(c.$id&&p.value.find(h=>h.$id===c.$id)){let h=l.getArrayStatus(d.value,c.$id);return h?(h.$value=i,h):null}else {let h=Ie(r.value.$each,i,g);if(h){let q=Ae({$id:d.value,path:n,customMessages:t,rules:h,stateValue:i,index:g,options:f,storage:l,externalErrors:vue.toRef(y?.value??{},"$each"),initialState:m?.[g],shortcuts:S,fieldName:$});return q||null}}}).filter(c=>!!c),o.filter(c=>!e.value.find(g=>c.$id===g.$id)).forEach((c,g)=>{l.deleteArrayStatus(d.value,g.toString());});}else p.value=[];}function w(){s=vue.watch(e,()=>{e.value!=null&&!Object.hasOwn(e.value,"$id")?j():M();},{deep:ge?1:!0,flush:"pre"}),_=O.run(()=>{let o=vue.computed(()=>u.value.$dirty&&p.value.every(a=>a.$dirty)),c=vue.computed(()=>u.value.$anyDirty||p.value.some(a=>a.$dirty)),g=vue.computed(()=>u.value.$invalid||p.value.some(a=>a.$invalid)),i=vue.computed(()=>(L(u.value.$rules)?!0:u.value.$valid)&&p.value.every(a=>a.$valid)),h=vue.computed(()=>u.value.$error||p.value.some(a=>a.$error)),q=vue.computed(()=>!(g.value||X.value)),X=vue.computed(()=>u.value.$pending||p.value.some(a=>a.$pending)),K=vue.computed(()=>({$self:u.value.$errors,$each:p.value.map(a=>a.$errors)})),le=vue.computed(()=>({$self:u.value.$silentErrors,$each:p.value.map(a=>a.$silentErrors)})),oe=vue.computed(()=>$);function se(){S?.collections&&Object.entries(S?.collections).forEach(([a,C])=>{let G=vue.effectScope();V[a]=G.run(()=>{let W=vue.ref();return vue.watchEffect(()=>{W.value=C(vue.reactive({$dirty:o,$error:h,$pending:X,$invalid:g,$valid:i,$errors:K,$ready:q,$silentErrors:le,$anyDirty:c,$name:oe,$each:p,$field:u,$value:e}));}),W}),E.push(G);});}let V={};return se(),{$dirty:o,$anyDirty:c,$invalid:g,$valid:i,$error:h,$pending:X,$errors:K,$silentErrors:le,$ready:q,$name:oe,$shortcuts:V}}),R.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`),s());}function b(){s&&s(),u.value&&u.value.$unwatch(),p.value&&p.value.forEach(o=>{"$dirty"in o&&o.$unwatch();}),O.stop(),O=vue.effectScope(),D.stop(),D=vue.effectScope(!0),E.forEach(o=>o.stop()),E=[];}function A(o=!0,c=!1){u.value.$touch(o,c),p.value.forEach(g=>{g.$touch(o,c);});}function I(){u.value.$reset(),p.value.forEach(o=>{o.$reset();});}async function k(){let o=e.value;try{return {result:(await Promise.allSettled([u.value.$validate(),...p.value.map(i=>i.$validate())])).every(i=>i.status==="fulfilled"?i.value.result===!0:!1),data:o}}catch{return {result:!1,data:o}}}function v(){u.value.$clearExternalErrors(),p.value.forEach(o=>{o.$clearExternalErrors();});}function P(o=!0){let c=p.value.map(g=>{if(nt(g))return g.$extractDirtyFields(o)});return o&&c.every(g=>L(g))&&(c=[]),c}function J(){b(),e.value=B(m),I();}let{$shortcuts:T,...x}=_;return vue.reactive({$field:u,...x,...T,$each:p,$value:e,$validate:k,$unwatch:b,$watch:w,$touch:A,$reset:I,$resetAll:J,$extractDirtyFields:P,$clearExternalErrors:v})}function je({rulesDef:e,state:r,path:t="",rootRules:n,externalErrors:l,validationGroups:f,initialState:y,fieldName:m,...S}){let $=vue.effectScope(),O,_=[],D=null,R=null,E=null;async function F(T=!0){let x=Object.entries(e.value),o=Object.fromEntries(x.filter(([i,h])=>!!h).map(([i,h])=>{if(h){let q=vue.toRef(r.value,i),X=vue.toRef(()=>h),K=vue.toRef(l?.value??{},i);return [i,pe({state:q,rulesDef:X,path:t?`${t}.${i}`:i,externalErrors:K,initialState:y?.[i],fieldName:i,...S})]}return []})),c=Object.fromEntries(Object.entries(vue.unref(l)??{}).filter(([i,h])=>!(i in e.value)&&!!h).map(([i])=>{let h=vue.toRef(r.value,i);return [i,pe({state:h,rulesDef:vue.computed(()=>({})),path:t?`${t}.${i}`:i,externalErrors:vue.toRef(l?.value??{},i),initialState:y?.[i],fieldName:i,...S})]})),g=Object.fromEntries(Object.entries(r.value).filter(([i])=>!(i in e.value)&&!(i in(c.value??{}))).map(([i])=>{let h=vue.toRef(r.value,i);return [i,pe({state:h,rulesDef:vue.computed(()=>({})),path:t?`${t}.${i}`:i,externalErrors:vue.toRef(l?.value??{},i),initialState:y?.[i],fieldName:i,...S})]}));s.value={...o,...c,...g},T&&M();}let s=S.storage.getFieldsEntry(t);F();function u(){R?.(),Object.values(s.value).forEach(T=>{T.$reset();}),j();}function p(T=!0,x=!1){Object.values(s.value).forEach(o=>{o.$touch(T,x);});}function j(){l?.value&&(R=vue.watch(l,()=>{w(),F();},{deep:!0}));}function M(){n&&(D=vue.watch(n,()=>{w(),F();},{deep:!0,flush:"post"}),j()),E=vue.watch(r,()=>{w(),F(),p(!0,!0);},{flush:"sync"}),O=$.run(()=>{let T=vue.computed(()=>!!Object.entries(s.value).length&&Object.entries(s.value).every(([V,a])=>a?.$dirty)),x=vue.computed(()=>Object.entries(s.value).some(([V,a])=>a?.$dirty)),o=vue.computed(()=>Object.entries(s.value).some(([V,a])=>a?.$invalid)),c=vue.computed(()=>Object.entries(s.value).every(([V,a])=>a?.$valid)),g=vue.computed(()=>x.value&&!h.value&&o.value),i=vue.computed(()=>vue.unref(S.options.autoDirty)?x.value&&!(o.value||h.value):!(o.value||h.value)),h=vue.computed(()=>Object.entries(s.value).some(([V,a])=>a?.$pending)),q=vue.computed(()=>Object.fromEntries(Object.entries(s.value).map(([V,a])=>[V,a?.$errors]))),X=vue.computed(()=>Object.fromEntries(Object.entries(s.value).map(([V,a])=>[V,a?.$silentErrors]))),K=vue.computed(()=>m);function le(){S.shortcuts?.nested&&Object.entries(S.shortcuts.nested).forEach(([V,a])=>{let C=vue.effectScope();se[V]=C.run(()=>{let G=vue.ref();return vue.watchEffect(()=>{G.value=a(vue.reactive({$dirty:T,$value:r,$error:g,$pending:h,$invalid:o,$valid:c,$ready:i,$anyDirty:x,$name:K,$silentErrors:X,$errors:q,$fields:s}));}),G}),_.push(C);});}let oe=vue.computed(()=>f?Object.fromEntries(Object.entries(f?.(s.value)??{}).map(([V,a])=>a.length?[V,{...Object.fromEntries(["$invalid","$error","$pending","$dirty","$valid"].map(C=>[C,Ye(a,C)])),...Object.fromEntries(["$errors","$silentErrors"].map(C=>[C,Qe(a,C)]))}]:[])):{}),se={};return le(),{$dirty:T,$anyDirty:x,$invalid:o,$valid:c,$error:g,$pending:h,$errors:q,$silentErrors:X,$ready:i,$name:K,$shortcuts:se,$groups:oe}});}function w(){D?.(),R?.(),E?.(),_.forEach(T=>T.stop()),_=[],s.value&&Object.entries(s.value).forEach(([T,x])=>{x.$unwatch();});}function b(){Object.entries(s.value).forEach(([T,x])=>{x.$clearExternalErrors();});}async function A(){w(),r.value=B({...y??{}}),u(),F();}function I(T){return T.filter(([x,o])=>Q(o)?!(o&&typeof o=="object"&&"_null"in o)&&!L(o):Array.isArray(o)?o.length:!0)}function k(T=!0){let x=Object.entries(s.value).map(([o,c])=>[o,c.$extractDirtyFields(T)]);return T&&(x=I(x)),Object.fromEntries(x)}async function v(){try{let T=r.value;return {result:(await Promise.allSettled(Object.values(s.value).map(c=>c.$validate()))).every(c=>c.status==="fulfilled"?c.value.result===!0:!1),data:T}}catch{return {result:!1,data:r.value}}}let{$shortcuts:P,...J}=O;return vue.reactive({...J,...P,$fields:s,$value:r,$resetAll:A,$reset:u,$touch:p,$validate:v,$unwatch:w,$watch:M,$clearExternalErrors:b,$extractDirtyFields:k})}function pe({rulesDef:e,externalErrors:r,...t}){return tt(e,t.state)?ct({rulesDef:e,externalErrors:r,...t}):et(t.state,e)&&Ke(t.state)?je({rulesDef:e,externalErrors:r,...t}):rt(e)?he({rulesDef:e,externalErrors:r,...t}):null}function Me({initialState:e,options:r,scopeRules:t,state:n,customRules:l,shortcuts:f}){let y=Pe();return vue.reactive(je({rootRules:t,rulesDef:t,state:n,customMessages:l?.(),storage:y,options:r,externalErrors:r.externalErrors,validationGroups:r.validationGroups,initialState:e,shortcuts:f,fieldName:"root",path:""}))}function _e(e,r,t){let n={autoDirty:r?.autoDirty??!0,lazy:r?.lazy??!1,rewardEarly:r?.rewardEarly??!1,clearExternalErrorsOnChange:r?.clearExternalErrorsOnChange??!0};function l(f,y,m){let S=vue.isRef(y)?y:vue.computed(typeof y=="function"?y:()=>y),$={...n,...m},O=vue.isRef(f)?f:vue.ref(f),_={...B(O.value)};return {r$:Me({scopeRules:S,state:O,options:$,initialState:_,customRules:e,shortcuts:t})}}return l}var mt=_e();function Ve(){function e(r,t){return t}return e}var Ge=Ve();function yt({rules:e,modifiers:r,shortcuts:t}){let n=_e(e,r,t),l=Ve();return {useRegle:n,inferRules:l}}
|
|
1
|
+
'use strict';var vue=require('vue');var xe=(t=>(t.Inline="__inline",t.Async="__async",t))(xe||{});function Ye(e,r){return e.some(t=>t[r])}function Qe(e,r){return e.reduce((t,n)=>{let l=n[r]||[];return t.concat(l)},[])}function U(e){return e.map(r=>r instanceof Function?r():vue.unref(r))}function Xe(e){return e.map(r=>r instanceof Function||vue.isRef(r)?r:vue.toRef(()=>r))}function Ze(e){let n=e.toString().replace(/\/\/.*$/gm,"").replace(/\/\*[\s\S]*?\*\//g,"").match(/^(?:async\s*)?(?:function\b.*?\(|\((.*?)\)|(\w+))\s*=>|\((.*?)\)\s*=>|function.*?\((.*?)\)|\((.*?)\)/);return n?(n[0]||n[1]||n[2]||n[3]||n[4]||"").split(",").map(y=>y.trim()).filter(y=>y.length>0).length:0}function De(e,...r){let{validator:t,type:n}=e,l=n==="__async"||t.constructor.name==="AsyncFunction";return {...{validator(m,...g){return e.validator(m,...U(g.length?g:r))},message(m){return typeof e.message=="function"?e.message({...m,$params:U(m?.$params?.length?m.$params:r)}):e.message},active(m){return typeof e.active=="function"?e.active({...m,$params:U(m.$params?.length?m.$params:r)}):e.active??!0},tooltip(m){return typeof e.tooltip=="function"?e.tooltip({...m,$params:U(m.$params?.length?m.$params:r)}):e.tooltip??[]},exec(m){let g=e.validator(m,...U(r)),S;return g instanceof Promise?g.then(E=>(S=E,typeof S=="object"&&"$valid"in S?S.$valid:typeof S=="boolean"?S:!1)):(S=g,typeof S=="object"&&"$valid"in S?S.$valid:typeof S=="boolean"?S:!1)}},_validator:e.validator,_message:e.message,_active:e.active,_tooltip:e.tooltip,_type:e.type,_message_patched:!1,_tooltip_patched:!1,_async:l,_params:Xe(r)}}function Ce(e){if(typeof e.validator=="function"){let t=De(e,...[]),n=e.validator.constructor.name==="AsyncFunction";if(Ze(e.validator)>1){let l=function(...R){return De(e,...R)};return l.validator=t.validator,l.message=t.message,l.active=t.active,l.tooltip=t.tooltip,l.type=t.type,l.exec=t.exec,l._validator=t.validator,l._message=t.message,l._active=t.active,l._tooltip=t.tooltip,l._type=e.type,l._message_pacthed=!1,l._tooltip_pacthed=!1,l._async=n,l}else return t}throw new Error("Validator must be a function")}function Q(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Ke(e){return Q(e.value)}function B(e){let r=e,t={}.toString.call(e).slice(8,-1);if(t=="Set"&&(r=new Set([...e].map(n=>B(n)))),t=="Map"&&(r=new Map([...e].map(n=>[B(n[0]),B(n[1])]))),t=="Date"&&(r=new Date(e.getTime())),t=="RegExp"&&(r=RegExp(e.source,bt(e))),t=="Array"||t=="Object"){r=Array.isArray(e)?[]:{};for(let n in e)r[n]=B(e[n]);}return r}function bt(e){if(typeof e.source.flags=="string")return e.source.flags;{let r=[];return e.global&&r.push("g"),e.ignoreCase&&r.push("i"),e.multiline&&r.push("m"),e.sticky&&r.push("y"),e.unicode&&r.push("u"),r.join("")}}function Ie(e,r,t){return e instanceof Function?e(r,t??0):e}function ve(e,r,t){let n,l=(...R)=>new Promise(y=>{clearTimeout(n),n=setTimeout(()=>{n=void 0,Promise.resolve(e.apply(this,[...R])).then(y);},r);});return l.cancel=()=>{clearTimeout(n),n=void 0;},l}function Et(e,r){let t=String(e).split("."),n=String(r).split(".");for(let l=0;l<Math.min(t.length,n.length);l++){let R=Number(t[l]),y=Number(n[l]);if(R>y)return 1;if(y>R)return -1;if(!isNaN(R)&&isNaN(y))return 1;if(isNaN(R)&&!isNaN(y))return -1}return 0}var $e=Et(vue.version,"3.5.0")!==-1;function xt(){return Math.floor(Math.random()*Date.now()).toString()}function ge(){return typeof window>"u"?xt():window.crypto.getRandomValues(new Uint32Array(1))[0].toString(10)}function Pe(){let e=vue.shallowRef(new Map),r=vue.shallowRef(new Map),t=vue.shallowRef(new Map),n=vue.shallowRef(new Map),l=vue.shallowRef(new Map),R=vue.shallowRef(new Map);function y(o){let c=r.value.get(o);if(c)return c;{let p=vue.ref({});return r.value.set(o,p),p}}function m(o){let c=t.value.get(o);if(c)return c;{let p=vue.ref([]);return t.value.set(o,p),p}}function g(o,c,p){R.value.set(`${o}-${c}`,p);}function S(o,c){return R.value.get(`${o}-${c}`)}function E(o,c){o&&c!=null&&R.value.delete(`${o}-${c}`);}function j(o,c){n.value.set(o,c);}function A(o){return n.value.get(o)??!1}function f(o,c){e.value.set(o,c);}function x(o,c){let p=e.value.get(o);return p?d(c,p)?{valid:!0}:{valid:!1}:void 0}function d(o,c){let p=Object.keys(c),M=Object.keys(o);return M.length!==p.length||!M.every(w=>p.includes(w))?!1:M.every(w=>{let _=o[w],D=c[w];return !D||!_||typeof _=="function"||typeof D=="function"||typeof _=="number"||typeof _=="boolean"?!1:_._params?_._params?.every((k,I)=>{if(typeof D=="number"||typeof D=="boolean")return !0;{let $=U(D._params),b=U(_._params);return $?.[I]===b?.[I]}}):!0})}function O(o){let c=l.value.get(o);if(c)return c;{let p=vue.ref(!1),M=vue.ref(!0),F=vue.ref({}),w=vue.ref(!1);return l.value.set(o,{$pending:p,$valid:M,$metadata:F,$validating:w}),{$pending:p,$valid:M,$metadata:F,$validating:w}}}return vue.onScopeDispose(()=>{e.value.clear(),r.value.clear(),t.value.clear(),n.value.clear(),l.value.clear(),R.value.clear();}),{addRuleDeclEntry:f,setDirtyEntry:j,checkRuleDeclEntry:x,getDirtyState:A,trySetRuleStatusRef:O,getFieldsEntry:y,getCollectionsEntry:m,getArrayStatus:S,addArrayStatus:g,deleteArrayStatus:E,arrayStatusStorage:R}}function L(e){return e==null?!0:e instanceof Date?isNaN(e.getTime()):Array.isArray(e)?!1:typeof e=="object"&&e!=null?Object.keys(e).length===0:!String(e).length}function et(e,r){return Q(e.value)&&Q(r.value)&&!Object.entries(r.value).some(t=>ie(t))}function tt(e,r){return !!e.value&&"$each"in e.value||Array.isArray(r.value)}function rt(e){return !!e.value&&Q(e.value)}function ie(e){return Q(e)&&"_validator"in e}function ce(e){return typeof e.value!="function"}function nt(e){return Q(e)&&"$fields"in e}function we({field:e,silent:r=!1}){return Object.entries(e.$rules??{}).map(([t,n])=>r||!n.$valid&&e.$dirty&&!n.$validating?n.$message:null).filter(t=>!!t).reduce((t,n)=>typeof n=="string"?t?.concat([n]):t?.concat(n),[]).concat(e.$dirty?e.$externalErrors??[]:[])}function at({field:e}){return Object.entries(e.$rules??{}).map(([r,t])=>t.$tooltip).filter(r=>!!r).reduce((r,t)=>typeof t=="string"?r?.concat([t]):r?.concat(t),[])}function ot({fieldProperties:e,customMessages:r,rule:t,ruleKey:n,state:l,path:R,storage:y,$debounce:m,modifiers:g}){let S=vue.effectScope(),E,j,A=vue.ref(!1),{$pending:f,$valid:x,$metadata:d,$validating:O}=y.trySetRuleStatusRef(`${R}.${n}`);function o(){E=S.run(()=>{let D=vue.computed(()=>({$value:l.value,$error:e.$error.value,$dirty:e.$dirty.value,$pending:e.$pending.value,$valid:e.$valid.value,$invalid:e.$invalid.value,$rule:{$valid:x.value,$invalid:!x.value,$pending:f.value},$params:C.value,...d.value})),k=vue.computed(()=>ce(t)?typeof t.value.active=="function"?t.value.active(D.value):!!t.value.active:!0);function I(s){let v="",u=r?r[n]?.[s]:void 0;if(u&&(typeof u=="function"?v=u(D.value):v=u),ce(t)){let h=`_${s}_patched`;u&&!t.value[h]||(typeof t.value[s]=="function"?v=t.value[s](D.value):v=t.value[s]??"");}return v}let $=vue.computed(()=>{let s=I("message");return L(s)&&(s="This field is not valid"),s}),b=vue.computed(()=>I("tooltip")),q=vue.computed(()=>ce(t)&&t.value.type?t.value.type:n),T=vue.computed(()=>ce(t)?t.value.validator:t.value),C=vue.computed(()=>typeof t.value=="function"?[]:U(t.value._params??[])),i=vue.computed(()=>`${R}.${q.value}`);return {$active:k,$message:$,$type:q,$validator:T,$params:C,$path:i,$tooltip:b}}),j=vue.watch(E.$params,()=>{(g.$autoDirty.value||g.$rewardEarly.value&&e.$error.value)&&F();});}o();function c(){x.value=!0,e.$dirty.value&&(f.value=!0);}async function p(){let D=E.$validator.value,k=D(l.value,...E.$params.value),I=!1,$=l.value;try{c();let b;if(k instanceof Promise?b=await k:b=k,l.value!==$)return !0;if(typeof b=="boolean")I=b;else {let{$valid:q,...T}=b;I=q,d.value=T;}}catch{I=!1;}finally{f.value=!1;}return I}let M=ve(p,m??200);async function F(){try{O.value=!0;let D=!1;if(ie(t.value)&&t.value._async)D=await M();else {let k=E.$validator.value,I=k(l.value,...E.$params.value);if(I 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(I!=null)if(typeof I=="boolean")D=I;else {let{$valid:$,...b}=I;D=$,d.value=b;}}return x.value=D,D}catch{return !1}finally{O.value=!1;}}function w(){x.value=!0,d.value={},f.value=!1,O.value=!1,o();}function _(){j(),S.stop(),S=vue.effectScope();}return vue.reactive({...E,$pending:f,$valid:x,$metadata:d,$haveAsync:A,$validating:O,$validate:F,$unwatch:_,$watch:o,$reset:w})}function he({state:e,rulesDef:r,customMessages:t,path:n,fieldName:l,storage:R,options:y,externalErrors:m,onUnwatch:g,$isArray:S,initialState:E,shortcuts:j}){let A=vue.effectScope(),f,x=[],d=vue.ref(!1),O=vue.ref(!1),o,c,p,M,F=()=>{};function w(){let a=r.value,P=R.checkRuleDeclEntry(n,a);b.value=Object.fromEntries(Object.entries(a).filter(([G])=>G.startsWith("$"))),k(),$.value=Object.fromEntries(Object.entries(r.value).filter(([G])=>!G.startsWith("$")).map(([G,W])=>{if(W){let se=vue.toRef(()=>W);return [G,ot({fieldProperties:{$dirty:d,$error:f.$error,$invalid:f.$invalid,$pending:f.$pending,$valid:f.$valid},modifiers:{$autoDirty:f.$autoDirty,$rewardEarly:f.$rewardEarly},customMessages:t,rule:se,ruleKey:G,state:e,path:n,storage:R,$debounce:b.value.$debounce})]}return []}).filter(G=>!!G.length)),f.processShortcuts(),_(),P?.valid!=null&&(d.value=R.getDirtyState(n),d.value&&F()),R.addRuleDeclEntry(n,a);}function _(){F=f.$debounce.value?ve(I,f.$debounce.value??f.$haveAnyAsyncRule?100:0):I;}function D(){$.value&&Object.entries($.value).forEach(([a,P])=>{P.$unwatch();}),p(),d.value&&R.setDirtyEntry(n,d.value),o?.(),c?.(),A.stop(),A=vue.effectScope(),x.forEach(a=>a.stop()),x=[],g?.(),M?.();}function k(){$.value&&Object.entries($.value).forEach(([a,P])=>{P.$watch();}),f=A.run(()=>{let a=vue.computed(()=>d.value),P=vue.computed(()=>b.value.$debounce),G=vue.computed(()=>b.value.$lazy!=null?b.value.$lazy:vue.unref(y.lazy)),W=vue.computed(()=>Ne.value===!0?!1:b.value.$rewardEarly!=null?b.value.$rewardEarly:vue.unref(y.rewardEarly)),se=vue.computed(()=>b.value.$clearExternalErrorsOnChange!=null?b.value.$clearExternalErrorsOnChange:vue.unref(y.clearExternalErrorsOnChange)),Ne=vue.computed(()=>b.value.$autoDirty!=null?b.value.$autoDirty:vue.unref(y.autoDirty)),ke=vue.computed(()=>Object.entries($.value).some(([Y,Z])=>Z.$validating)),Te=vue.computed(()=>ye.value&&!me.value&&d.value),We=vue.computed(()=>Te.value?we({field:{$dirty:d.value,$externalErrors:m?.value,$rules:$.value}}):[]),Ue=vue.computed(()=>at({field:{$rules:$.value}})),Be=vue.computed(()=>we({field:{$dirty:d.value,$externalErrors:m?.value,$rules:$.value},silent:!0})),He=vue.computed(()=>!(ye.value||me.value)),me=vue.computed(()=>O.value||!W.value?Object.entries($.value).some(([Y,Z])=>Z.$pending):!1),ye=vue.computed(()=>m?.value?.length?!0:L($.value)?!1:!W.value||W.value&&O.value?Object.entries($.value).some(([Y,Z])=>!Z.$valid):!1),Le=vue.computed(()=>l),Ee=vue.computed(()=>m?.value?.length||L($.value)?!1:d.value&&!L(e.value)&&!ke.value?Object.values($.value).every(Y=>Y.$valid&&Y.$active):!1),vt=vue.computed(()=>Object.entries($.value).some(([Y,Z])=>Z.$haveAsync));function $t(){j?.fields&&Object.entries(j.fields).forEach(([Y,Z])=>{let ze=vue.effectScope();qe[Y]=ze.run(()=>{let Je=vue.ref();return vue.watchEffect(()=>{Je.value=Z(vue.reactive({$dirty:d,$externalErrors:m?.value??[],$value:e,$rules:$,$error:Te,$pending:me,$invalid:ye,$valid:Ee,$errors:We,$ready:He,$silentErrors:Be,$anyDirty:a,$tooltips:Ue,$name:Le}));}),Je}),x.push(ze);});}let qe={};return vue.watch(Ee,Y=>{Y&&(O.value=!1);}),{$error:Te,$pending:me,$invalid:ye,$valid:Ee,$debounce:P,$lazy:G,$errors:We,$ready:He,$silentErrors:Be,$rewardEarly:W,$autoDirty:Ne,$clearExternalErrorsOnChange:se,$anyDirty:a,$name:Le,$haveAnyAsyncRule:vt,$shortcuts:qe,$validating:ke,$tooltips:Ue,processShortcuts:$t}}),o=vue.watch(e,()=>{f.$autoDirty.value&&(d.value||(d.value=!0)),r.value instanceof Function&&w(),(f.$autoDirty.value||f.$rewardEarly.value&&f.$error.value)&&F(),f.$rewardEarly.value!==!0&&f.$clearExternalErrorsOnChange.value&&v();},{deep:S?!0:$e?1:!0}),p=vue.watch(d,()=>{R.setDirtyEntry(n,d.value);}),c=vue.watch(f.$valid,a=>{f.$rewardEarly.value&&a&&(O.value=!1);}),M=vue.watch(f.$haveAnyAsyncRule,_);}function I(){Object.values($.value).forEach(a=>{a.$validate();});}let $=vue.ref({}),b=vue.ref({});w();function q(){v(),d.value=!1,R.setDirtyEntry(n,!1),Object.entries($.value).forEach(([a,P])=>{P.$reset();}),!f.$lazy.value&&f.$autoDirty.value&&Object.values($.value).forEach(a=>a.$validate());}function T(a=!0,P=!1){d.value||(d.value=!0),P&&a?(f.$autoDirty.value||f.$rewardEarly.value&&f.$error.value)&&F():a&&F();}async function C(){try{let a=e.value;if(O.value=!0,!d.value)d.value=!0;else if(f.$autoDirty.value&&d.value&&!f.$pending.value)return {result:!f.$error.value,data:a};return L($.value)?{result:!0,data:a}:{result:(await Promise.allSettled(Object.entries($.value).map(([W,se])=>se.$validate()))).every(W=>W.status==="fulfilled"?W.value===!0:!1),data:a}}catch{return {result:!1,data:e.value}}}function i(){D(),e.value=B(E),q();}function s(a=!0){return d.value?e.value:a?{_null:!0}:null}function v(){m?.value?.length&&(m.value=[]);}!f.$lazy.value&&!d.value&&f.$autoDirty.value&&F();let{$shortcuts:u,$validating:h,$autoDirty:z,$rewardEarly:X,$clearExternalErrorsOnChange:K,$haveAnyAsyncRule:le,$debounce:oe,$lazy:ue,...V}=f;return vue.reactive({$dirty:d,...V,$externalErrors:m,$value:e,$rules:$,...u,$reset:q,$touch:T,$validate:C,$unwatch:D,$watch:k,$resetAll:i,$extractDirtyFields:s,$clearExternalErrors:v})}function Ae({$id:e,path:r,index:t,options:n,storage:l,stateValue:R,customMessages:y,rules:m,externalErrors:g,initialState:S,shortcuts:E,fieldName:j}){let A=m.$key?m.$key:ge(),f=`${r}.${String(A)}`;typeof R.value=="object"&&R.value!=null&&(R.value.$id?f=`${r}.${R.value.$id}`:Object.defineProperties(R.value,{$id:{value:A,enumerable:!1,configurable:!1,writable:!1}}));let x=pe({state:R,rulesDef:vue.toRef(()=>m),customMessages:y,path:f,storage:l,options:n,externalErrors:vue.toRef(g?.value??[],t),initialState:S?.[t],shortcuts:E,fieldName:j});if(x){let d=R.value?.$id;x.$id=d??String(A),l.addArrayStatus(e,x.$id,x);}return x}function ct({state:e,rulesDef:r,customMessages:t,path:n,storage:l,options:R,externalErrors:y,initialState:m,shortcuts:g,fieldName:S}){let E=vue.effectScope(),j,A=vue.effectScope(),f,x=[];if(!Array.isArray(e.value)&&!r.value.$each)return null;let d=vue.ref(),O=vue.ref(e.value),o,c=vue.ref({}),p=l.getCollectionsEntry(n);f=A.run(()=>({isPrimitiveArray:vue.computed(()=>Array.isArray(e.value)&&e.value.length?e.value.some(s=>typeof s!="object"):r.value.$each&&!(r.value.$each instanceof Function)?Object.values(r.value.$each).every(s=>ie(s)):!1)})),M(),w();function M(){typeof e.value=="object"&&(e.value!=null&&!e.value?.$id&&e.value!==null?(d.value=ge(),Object.defineProperties(e.value,{$id:{value:d.value,enumerable:!1,configurable:!1,writable:!1}})):e.value?.$id&&(d.value=e.value.$id)),!f.isPrimitiveArray.value&&(O.value=c.value.$value,Array.isArray(e.value)?p.value=e.value.map((i,s)=>{let v=Ie(r.value.$each,vue.toRef(()=>i),s),u=Ae({$id:d.value,path:n,customMessages:t,rules:v??{},stateValue:vue.toRef(()=>i),index:s,options:R,storage:l,externalErrors:vue.toRef(y?.value??{},"$each"),initialState:m?.[s],shortcuts:g,fieldName:S});return u||null}).filter(i=>!!i):p.value=[],c.value=he({state:e,rulesDef:r,customMessages:t,path:n,storage:l,options:R,externalErrors:vue.toRef(y?.value??{},"$self"),$isArray:!0,initialState:m,shortcuts:g,fieldName:S}));}function F(){if(Array.isArray(e.value)){let i=B(p.value);p.value=e.value.map((s,v)=>{let u=vue.toRef(()=>s);if(s.$id&&p.value.find(h=>h.$id===s.$id)){let h=l.getArrayStatus(d.value,s.$id);return h?(h.$value=u,h):null}else {let h=Ie(r.value.$each,u,v);if(h){let z=Ae({$id:d.value,path:n,customMessages:t,rules:h,stateValue:u,index:v,options:R,storage:l,externalErrors:vue.toRef(y?.value??{},"$each"),initialState:m?.[v],shortcuts:g,fieldName:S});return z||null}}}).filter(s=>!!s),i.filter(s=>!e.value.find(v=>s.$id===v.$id)).forEach((s,v)=>{l.deleteArrayStatus(d.value,v.toString());});}else p.value=[];}function w(){o=vue.watch(e,()=>{e.value!=null&&!Object.hasOwn(e.value,"$id")?M():F();},{deep:$e?1:!0,flush:"pre"}),j=E.run(()=>{let i=vue.computed(()=>c.value.$dirty&&p.value.every(a=>a.$dirty)),s=vue.computed(()=>c.value.$anyDirty||p.value.some(a=>a.$dirty)),v=vue.computed(()=>c.value.$invalid||p.value.some(a=>a.$invalid)),u=vue.computed(()=>(L(c.value.$rules)?!0:c.value.$valid)&&p.value.every(a=>a.$valid)),h=vue.computed(()=>c.value.$error||p.value.some(a=>a.$error)),z=vue.computed(()=>!(v.value||X.value)),X=vue.computed(()=>c.value.$pending||p.value.some(a=>a.$pending)),K=vue.computed(()=>({$self:c.value.$errors,$each:p.value.map(a=>a.$errors)})),le=vue.computed(()=>({$self:c.value.$silentErrors,$each:p.value.map(a=>a.$silentErrors)})),oe=vue.computed(()=>S);function ue(){g?.collections&&Object.entries(g?.collections).forEach(([a,P])=>{let G=vue.effectScope();V[a]=G.run(()=>{let W=vue.ref();return vue.watchEffect(()=>{W.value=P(vue.reactive({$dirty:i,$error:h,$pending:X,$invalid:v,$valid:u,$errors:K,$ready:z,$silentErrors:le,$anyDirty:s,$name:oe,$each:p,$field:c,$value:e}));}),W}),x.push(G);});}let V={};return ue(),{$dirty:i,$anyDirty:s,$invalid:v,$valid:u,$error:h,$pending:X,$errors:K,$silentErrors:le,$ready:z,$name:oe,$shortcuts:V}}),f.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`),o());}function _(){o&&o(),c.value&&c.value.$unwatch(),p.value&&p.value.forEach(i=>{"$dirty"in i&&i.$unwatch();}),E.stop(),E=vue.effectScope(),A.stop(),A=vue.effectScope(!0),x.forEach(i=>i.stop()),x=[];}function D(i=!0,s=!1){c.value.$touch(i,s),p.value.forEach(v=>{v.$touch(i,s);});}function k(){c.value.$reset(),p.value.forEach(i=>{i.$reset();});}async function I(){let i=e.value;try{return {result:(await Promise.allSettled([c.value.$validate(),...p.value.map(u=>u.$validate())])).every(u=>u.status==="fulfilled"?u.value.result===!0:!1),data:i}}catch{return {result:!1,data:i}}}function $(){c.value.$clearExternalErrors(),p.value.forEach(i=>{i.$clearExternalErrors();});}function b(i=!0){let s=p.value.map(v=>{if(nt(v))return v.$extractDirtyFields(i)});return i&&s.every(v=>L(v))&&(s=[]),s}function q(){_(),e.value=B(m),k();}let{$shortcuts:T,...C}=j;return vue.reactive({$field:c,...C,...T,$each:p,$value:e,$validate:I,$unwatch:_,$watch:w,$touch:D,$reset:k,$resetAll:q,$extractDirtyFields:b,$clearExternalErrors:$})}function je({rulesDef:e,state:r,path:t="",rootRules:n,externalErrors:l,validationGroups:R,initialState:y,fieldName:m,...g}){let S=vue.effectScope(),E,j=[],A=null,f=null,x=null;async function O(T=!0){let C=Object.entries(e.value),i=Object.fromEntries(C.filter(([u,h])=>!!h).map(([u,h])=>{if(h){let z=vue.toRef(r.value,u),X=vue.toRef(()=>h),K=vue.toRef(l?.value??{},u);return [u,pe({state:z,rulesDef:X,path:t?`${t}.${u}`:u,externalErrors:K,initialState:y?.[u],fieldName:u,...g})]}return []})),s=Object.fromEntries(Object.entries(vue.unref(l)??{}).filter(([u,h])=>!(u in e.value)&&!!h).map(([u])=>{let h=vue.toRef(r.value,u);return [u,pe({state:h,rulesDef:vue.computed(()=>({})),path:t?`${t}.${u}`:u,externalErrors:vue.toRef(l?.value??{},u),initialState:y?.[u],fieldName:u,...g})]})),v=Object.fromEntries(Object.entries(r.value).filter(([u])=>!(u in e.value)&&!(u in(s.value??{}))).map(([u])=>{let h=vue.toRef(r.value,u);return [u,pe({state:h,rulesDef:vue.computed(()=>({})),path:t?`${t}.${u}`:u,externalErrors:vue.toRef(l?.value??{},u),initialState:y?.[u],fieldName:u,...g})]}));o.value={...i,...s,...v},T&&F();}let o=g.storage.getFieldsEntry(t);O();function c(){f?.(),Object.values(o.value).forEach(T=>{T.$reset();}),M();}function p(T=!0,C=!1){Object.values(o.value).forEach(i=>{i.$touch(T,C);});}function M(){l?.value&&(f=vue.watch(l,()=>{w(),O();},{deep:!0}));}function F(){n&&(A=vue.watch(n,()=>{w(),O();},{deep:!0,flush:"post"}),M()),x=vue.watch(r,()=>{w(),O(),p(!0,!0);},{flush:"sync"}),E=S.run(()=>{let T=vue.computed(()=>!!Object.entries(o.value).length&&Object.entries(o.value).every(([V,a])=>a?.$dirty)),C=vue.computed(()=>Object.entries(o.value).some(([V,a])=>a?.$dirty)),i=vue.computed(()=>Object.entries(o.value).some(([V,a])=>a?.$invalid)),s=vue.computed(()=>Object.entries(o.value).every(([V,a])=>a?.$valid)),v=vue.computed(()=>C.value&&!h.value&&i.value),u=vue.computed(()=>vue.unref(g.options.autoDirty)?C.value&&!(i.value||h.value):!(i.value||h.value)),h=vue.computed(()=>Object.entries(o.value).some(([V,a])=>a?.$pending)),z=vue.computed(()=>Object.fromEntries(Object.entries(o.value).map(([V,a])=>[V,a?.$errors]))),X=vue.computed(()=>Object.fromEntries(Object.entries(o.value).map(([V,a])=>[V,a?.$silentErrors]))),K=vue.computed(()=>m);function le(){g.shortcuts?.nested&&Object.entries(g.shortcuts.nested).forEach(([V,a])=>{let P=vue.effectScope();ue[V]=P.run(()=>{let G=vue.ref();return vue.watchEffect(()=>{G.value=a(vue.reactive({$dirty:T,$value:r,$error:v,$pending:h,$invalid:i,$valid:s,$ready:u,$anyDirty:C,$name:K,$silentErrors:X,$errors:z,$fields:o}));}),G}),j.push(P);});}let oe=vue.computed(()=>R?Object.fromEntries(Object.entries(R?.(o.value)??{}).map(([V,a])=>a.length?[V,{...Object.fromEntries(["$invalid","$error","$pending","$dirty","$valid"].map(P=>[P,Ye(a,P)])),...Object.fromEntries(["$errors","$silentErrors"].map(P=>[P,Qe(a,P)]))}]:[])):{}),ue={};return le(),{$dirty:T,$anyDirty:C,$invalid:i,$valid:s,$error:v,$pending:h,$errors:z,$silentErrors:X,$ready:u,$name:K,$shortcuts:ue,$groups:oe}});}function w(){A?.(),f?.(),x?.(),j.forEach(T=>T.stop()),j=[],o.value&&Object.entries(o.value).forEach(([T,C])=>{C.$unwatch();});}function _(){Object.entries(o.value).forEach(([T,C])=>{C.$clearExternalErrors();});}async function D(){w(),r.value=B({...y??{}}),c(),O();}function k(T){return T.filter(([C,i])=>Q(i)?!(i&&typeof i=="object"&&"_null"in i)&&!L(i):Array.isArray(i)?i.length:!0)}function I(T=!0){let C=Object.entries(o.value).map(([i,s])=>[i,s.$extractDirtyFields(T)]);return T&&(C=k(C)),Object.fromEntries(C)}async function $(){try{let T=r.value;return {result:(await Promise.allSettled(Object.values(o.value).map(s=>s.$validate()))).every(s=>s.status==="fulfilled"?s.value.result===!0:!1),data:T}}catch{return {result:!1,data:r.value}}}let{$shortcuts:b,...q}=E;return vue.reactive({...q,...b,$fields:o,$value:r,$resetAll:D,$reset:c,$touch:p,$validate:$,$unwatch:w,$watch:F,$clearExternalErrors:_,$extractDirtyFields:I})}function pe({rulesDef:e,externalErrors:r,...t}){return tt(e,t.state)?ct({rulesDef:e,externalErrors:r,...t}):et(t.state,e)&&Ke(t.state)?je({rulesDef:e,externalErrors:r,...t}):rt(e)?he({rulesDef:e,externalErrors:r,...t}):null}function Me({initialState:e,options:r,scopeRules:t,state:n,customRules:l,shortcuts:R}){let y=Pe();return vue.reactive(je({rootRules:t,rulesDef:t,state:n,customMessages:l?.(),storage:y,options:r,externalErrors:r.externalErrors,validationGroups:r.validationGroups,initialState:e,shortcuts:R,fieldName:"root",path:""}))}function _e(e,r,t){let n={autoDirty:r?.autoDirty??!0,lazy:r?.lazy??!1,rewardEarly:r?.rewardEarly??!1,clearExternalErrorsOnChange:r?.clearExternalErrorsOnChange??!0};function l(R,y,m){let g=vue.isRef(y)?y:vue.computed(typeof y=="function"?y:()=>y),S={...n,...m},E=vue.isRef(R)?R:vue.ref(R),j={...B(E.value)};return {r$:Me({scopeRules:g,state:E,options:S,initialState:j,customRules:e,shortcuts:t})}}return l}var mt=_e();function Ve(){function e(r,t){return t}return e}var Ge=Ve();function yt({rules:e,modifiers:r,shortcuts:t}){let n=_e(e,r,t),l=Ve();return {useRegle:n,inferRules:l}}
|
|
2
2
|
exports.InternalRuleType=xe;exports.createRule=Ce;exports.defineRegleConfig=yt;exports.inferRules=Ge;exports.unwrapRuleParameters=U;exports.useRegle=mt;
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {unref,version,isRef,toRef,computed,ref,reactive,shallowRef,onScopeDispose,effectScope,watch,watchEffect}from'vue';var xe=(t=>(t.Inline="__inline",t.Async="__async",t))(xe||{});function Ye(e,r){return e.some(t=>t[r])}function Qe(e,r){return e.reduce((t,n)=>{let l=n[r]||[];return t.concat(l)},[])}function U(e){return e.map(r=>r instanceof Function?r():unref(r))}function Xe(e){return e.map(r=>r instanceof Function||isRef(r)?r:toRef(()=>r))}function Ze(e){let n=e.toString().replace(/\/\/.*$/gm,"").replace(/\/\*[\s\S]*?\*\//g,"").match(/^(?:async\s*)?(?:function\b.*?\(|\((.*?)\)|(\w+))\s*=>|\((.*?)\)\s*=>|function.*?\((.*?)\)|\((.*?)\)/);return n?(n[0]||n[1]||n[2]||n[3]||n[4]||"").split(",").map(y=>y.trim()).filter(y=>y.length>0).length:0}function De(e,...r){let{validator:t,type:n}=e,l=n==="__async"||t.constructor.name==="AsyncFunction";return {...{validator(m,...S){return e.validator(m,...U(S.length?S:r))},message(m){return typeof e.message=="function"?e.message({...m,$params:U(m?.$params?.length?m.$params:r)}):e.message},active(m){return typeof e.active=="function"?e.active({...m,$params:U(m.$params?.length?m.$params:r)}):e.active??!0},tooltip(m){return typeof e.tooltip=="function"?e.tooltip({...m,$params:U(m.$params?.length?m.$params:r)}):e.tooltip??[]},exec(m){let S=e.validator(m,...U(r)),$;return S instanceof Promise?S.then(O=>($=O,typeof $=="object"&&"$valid"in $?$.$valid:typeof $=="boolean"?$:!1)):($=S,typeof $=="object"&&"$valid"in $?$.$valid:typeof $=="boolean"?$:!1)}},_validator:e.validator,_message:e.message,_active:e.active,_tooltip:e.tooltip,_type:e.type,_message_patched:!1,_tooltip_patched:!1,_async:l,_params:Xe(r)}}function Ce(e){if(typeof e.validator=="function"){let t=De(e,...[]),n=e.validator.constructor.name==="AsyncFunction";if(Ze(e.validator)>1){let l=function(...f){return De(e,...f)};return l.validator=t.validator,l.message=t.message,l.active=t.active,l.tooltip=t.tooltip,l.type=t.type,l.exec=t.exec,l._validator=t.validator,l._message=t.message,l._active=t.active,l._tooltip=t.tooltip,l._type=e.type,l._message_pacthed=!1,l._tooltip_pacthed=!1,l._async=n,l}else return t}throw new Error("Validator must be a function")}function Q(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Ke(e){return Q(e.value)}function B(e){let r=e,t={}.toString.call(e).slice(8,-1);if(t=="Set"&&(r=new Set([...e].map(n=>B(n)))),t=="Map"&&(r=new Map([...e].map(n=>[B(n[0]),B(n[1])]))),t=="Date"&&(r=new Date(e.getTime())),t=="RegExp"&&(r=RegExp(e.source,bt(e))),t=="Array"||t=="Object"){r=Array.isArray(e)?[]:{};for(let n in e)r[n]=B(e[n]);}return r}function bt(e){if(typeof e.source.flags=="string")return e.source.flags;{let r=[];return e.global&&r.push("g"),e.ignoreCase&&r.push("i"),e.multiline&&r.push("m"),e.sticky&&r.push("y"),e.unicode&&r.push("u"),r.join("")}}function Ie(e,r,t){return e instanceof Function?e(r,t??0):e}function ve(e,r,t){let n,l=(...f)=>new Promise(y=>{clearTimeout(n),n=setTimeout(()=>{n=void 0,Promise.resolve(e.apply(this,[...f])).then(y);},r);});return l.cancel=()=>{clearTimeout(n),n=void 0;},l}function Et(e,r){let t=String(e).split("."),n=String(r).split(".");for(let l=0;l<Math.min(t.length,n.length);l++){let f=Number(t[l]),y=Number(n[l]);if(f>y)return 1;if(y>f)return -1;if(!isNaN(f)&&isNaN(y))return 1;if(isNaN(f)&&!isNaN(y))return -1}return 0}var ge=Et(version,"3.5.0")!==-1;function xt(){return Math.floor(Math.random()*Date.now()).toString()}function $e(){return typeof window>"u"?xt():window.crypto.getRandomValues(new Uint32Array(1))[0].toString(10)}function Pe(){let e=shallowRef(new Map),r=shallowRef(new Map),t=shallowRef(new Map),n=shallowRef(new Map),l=shallowRef(new Map),f=shallowRef(new Map);function y(s){let u=r.value.get(s);if(u)return u;{let p=ref({});return r.value.set(s,p),p}}function m(s){let u=t.value.get(s);if(u)return u;{let p=ref([]);return t.value.set(s,p),p}}function S(s,u,p){f.value.set(`${s}-${u}`,p);}function $(s,u){return f.value.get(`${s}-${u}`)}function O(s,u){s&&u!=null&&f.value.delete(`${s}-${u}`);}function _(s,u){n.value.set(s,u);}function D(s){return n.value.get(s)??!1}function R(s,u){e.value.set(s,u);}function E(s,u){let p=e.value.get(s);return p?d(u,p)?{valid:!0}:{valid:!1}:void 0}function d(s,u){let p=Object.keys(u),j=Object.keys(s);return j.length!==p.length||!j.every(w=>p.includes(w))?!1:j.every(w=>{let b=s[w],A=u[w];return !A||!b||typeof b=="function"||typeof A=="function"||typeof b=="number"||typeof b=="boolean"?!1:b._params?b._params?.every((I,k)=>{if(typeof A=="number"||typeof A=="boolean")return !0;{let v=U(A._params),P=U(b._params);return v?.[k]===P?.[k]}}):!0})}function F(s){let u=l.value.get(s);if(u)return u;{let p=ref(!1),j=ref(!0),M=ref({}),w=ref(!1);return l.value.set(s,{$pending:p,$valid:j,$metadata:M,$validating:w}),{$pending:p,$valid:j,$metadata:M,$validating:w}}}return onScopeDispose(()=>{e.value.clear(),r.value.clear(),t.value.clear(),n.value.clear(),l.value.clear(),f.value.clear();}),{addRuleDeclEntry:R,setDirtyEntry:_,checkRuleDeclEntry:E,getDirtyState:D,trySetRuleStatusRef:F,getFieldsEntry:y,getCollectionsEntry:m,getArrayStatus:$,addArrayStatus:S,deleteArrayStatus:O,arrayStatusStorage:f}}function L(e){return e==null?!0:e instanceof Date?isNaN(e.getTime()):Array.isArray(e)?!1:typeof e=="object"&&e!=null?Object.keys(e).length===0:!String(e).length}function et(e,r){return Q(e.value)&&Q(r.value)&&!Object.entries(r.value).some(t=>ie(t))}function tt(e,r){return !!e.value&&"$each"in e.value||Array.isArray(r.value)}function rt(e){return !!e.value&&Q(e.value)}function ie(e){return Q(e)&&"_validator"in e}function ce(e){return typeof e.value!="function"}function nt(e){return Q(e)&&"$fields"in e}function we({field:e,silent:r=!1}){return Object.entries(e.$rules??{}).map(([t,n])=>r||!n.$valid&&e.$dirty&&!n.$validating?n.$message:null).filter(t=>!!t).reduce((t,n)=>typeof n=="string"?t?.concat([n]):t?.concat(n),[]).concat(e.$dirty?e.$externalErrors??[]:[])}function at({field:e}){return Object.entries(e.$rules??{}).map(([r,t])=>t.$tooltip).filter(r=>!!r).reduce((r,t)=>typeof t=="string"?r?.concat([t]):r?.concat(t),[])}function ot({fieldProperties:e,customMessages:r,rule:t,ruleKey:n,state:l,path:f,storage:y,$debounce:m}){let S=effectScope(),$,O,_=ref(!1),{$pending:D,$valid:R,$metadata:E,$validating:d}=y.trySetRuleStatusRef(`${f}.${n}`);function F(){$=S.run(()=>{let b=computed(()=>({$value:l.value,$error:e.$error.value,$dirty:e.$dirty.value,$pending:e.$pending.value,$valid:e.$valid.value,$invalid:e.$invalid.value,$rule:{$valid:R.value,$invalid:!R.value,$pending:D.value},$params:T.value,...E.value})),A=computed(()=>ce(t)?typeof t.value.active=="function"?t.value.active(b.value):!!t.value.active:!0);function I(o){let c="",g=r?r[n]?.[o]:void 0;if(g&&(typeof g=="function"?c=g(b.value):c=g),ce(t)){let i=`_${o}_patched`;g&&!t.value[i]||(typeof t.value[o]=="function"?c=t.value[o](b.value):c=t.value[o]??"");}return c}let k=computed(()=>{let o=I("message");return L(o)&&(o="This field is not valid"),o}),v=computed(()=>I("tooltip")),P=computed(()=>ce(t)&&t.value.type?t.value.type:n),J=computed(()=>ce(t)?t.value.validator:t.value),T=computed(()=>typeof t.value=="function"?[]:U(t.value._params??[])),x=computed(()=>`${f}.${P.value}`);return {$active:A,$message:k,$type:P,$validator:J,$params:T,$path:x,$tooltip:v}}),O=watch($.$params,j);}F();function s(){R.value=!0,e.$dirty.value&&(D.value=!0);}async function u(){let b=$.$validator.value,A=b(l.value,...$.$params.value),I=!1,k=l.value;try{s();let v;if(A instanceof Promise?v=await A:v=A,l.value!==k)return !0;if(typeof v=="boolean")I=v;else {let{$valid:P,...J}=v;I=P,E.value=J;}}catch{I=!1;}finally{D.value=!1;}return I}let p=ve(u,m??200);async function j(){try{d.value=!0;let b=!1;if(ie(t.value)&&t.value._async)b=await p();else {let A=$.$validator.value,I=A(l.value,...$.$params.value);if(I 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(I!=null)if(typeof I=="boolean")b=I;else {let{$valid:k,...v}=I;b=k,E.value=v;}}return R.value=b,b}catch{return !1}finally{d.value=!1;}}function M(){R.value=!0,E.value={},D.value=!1,d.value=!1,F();}function w(){O(),S.stop(),S=effectScope();}return reactive({...$,$pending:D,$valid:R,$metadata:E,$haveAsync:_,$validating:d,$validate:j,$unwatch:w,$watch:F,$reset:M})}function he({state:e,rulesDef:r,customMessages:t,path:n,fieldName:l,storage:f,options:y,externalErrors:m,onUnwatch:S,$isArray:$,initialState:O,shortcuts:_}){let D=effectScope(),R,E=[],d=ref(!1),F=ref(!1),s,u,p,j,M=()=>{};function w(){let a=r.value,C=f.checkRuleDeclEntry(n,a);P.value=Object.fromEntries(Object.entries(a).filter(([G])=>G.startsWith("$"))),I(),v.value=Object.fromEntries(Object.entries(r.value).filter(([G])=>!G.startsWith("$")).map(([G,W])=>{if(W){let ue=toRef(()=>W);return [G,ot({fieldProperties:{$dirty:d,$error:R.$error,$invalid:R.$invalid,$pending:R.$pending,$valid:R.$valid},customMessages:t,rule:ue,ruleKey:G,state:e,path:n,storage:f,$debounce:P.value.$debounce})]}return []}).filter(G=>!!G.length)),R.processShortcuts(),b(),C?.valid!=null&&(d.value=f.getDirtyState(n),d.value&&M()),f.addRuleDeclEntry(n,a);}function b(){M=R.$debounce.value?ve(k,R.$debounce.value??R.$haveAnyAsyncRule?100:0):k;}function A(){v.value&&Object.entries(v.value).forEach(([a,C])=>{C.$unwatch();}),p(),d.value&&f.setDirtyEntry(n,d.value),s?.(),u?.(),D.stop(),D=effectScope(),E.forEach(a=>a.stop()),E=[],S?.(),j?.();}function I(){v.value&&Object.entries(v.value).forEach(([a,C])=>{C.$watch();}),R=D.run(()=>{let a=computed(()=>d.value),C=computed(()=>P.value.$debounce),G=computed(()=>P.value.$lazy!=null?P.value.$lazy:unref(y.lazy)),W=computed(()=>Ne.value===!0?!1:P.value.$rewardEarly!=null?P.value.$rewardEarly:unref(y.rewardEarly)),ue=computed(()=>P.value.$clearExternalErrorsOnChange!=null?P.value.$clearExternalErrorsOnChange:unref(y.clearExternalErrorsOnChange)),Ne=computed(()=>P.value.$autoDirty!=null?P.value.$autoDirty:unref(y.autoDirty)),ke=computed(()=>Object.entries(v.value).some(([Y,Z])=>Z.$validating)),Te=computed(()=>ye.value&&!me.value&&d.value),We=computed(()=>Te.value?we({field:{$dirty:d.value,$externalErrors:m?.value,$rules:v.value}}):[]),Ue=computed(()=>at({field:{$rules:v.value}})),Be=computed(()=>we({field:{$dirty:d.value,$externalErrors:m?.value,$rules:v.value},silent:!0})),He=computed(()=>!(ye.value||me.value)),me=computed(()=>F.value||!W.value?Object.entries(v.value).some(([Y,Z])=>Z.$pending):!1),ye=computed(()=>m?.value?.length?!0:L(v.value)?!1:!W.value||W.value&&F.value?Object.entries(v.value).some(([Y,Z])=>!Z.$valid):!1),Le=computed(()=>l),Ee=computed(()=>m?.value?.length||L(v.value)?!1:d.value&&!L(e.value)&&!ke.value?Object.values(v.value).every(Y=>Y.$valid&&Y.$active):!1),vt=computed(()=>Object.entries(v.value).some(([Y,Z])=>Z.$haveAsync));function gt(){_?.fields&&Object.entries(_.fields).forEach(([Y,Z])=>{let ze=effectScope();qe[Y]=ze.run(()=>{let Je=ref();return watchEffect(()=>{Je.value=Z(reactive({$dirty:d,$externalErrors:m?.value??[],$value:e,$rules:v,$error:Te,$pending:me,$invalid:ye,$valid:Ee,$errors:We,$ready:He,$silentErrors:Be,$anyDirty:a,$tooltips:Ue,$name:Le}));}),Je}),E.push(ze);});}let qe={};return watch(Ee,Y=>{Y&&(F.value=!1);}),{$error:Te,$pending:me,$invalid:ye,$valid:Ee,$debounce:C,$lazy:G,$errors:We,$ready:He,$silentErrors:Be,$rewardEarly:W,$autoDirty:Ne,$clearExternalErrorsOnChange:ue,$anyDirty:a,$name:Le,$haveAnyAsyncRule:vt,$shortcuts:qe,$validating:ke,$tooltips:Ue,processShortcuts:gt}}),s=watch(e,()=>{R.$autoDirty.value&&(d.value||(d.value=!0)),r.value instanceof Function&&w(),(R.$autoDirty.value||R.$rewardEarly.value&&R.$error.value)&&M(),R.$rewardEarly.value!==!0&&R.$clearExternalErrorsOnChange.value&&g();},{deep:$?!0:ge?1:!0}),p=watch(d,()=>{f.setDirtyEntry(n,d.value);}),u=watch(R.$valid,a=>{R.$rewardEarly.value&&a&&(F.value=!1);}),j=watch(R.$haveAnyAsyncRule,b);}function k(){Object.values(v.value).forEach(a=>{a.$validate();});}let v=ref({}),P=ref({});w();function J(){g(),d.value=!1,f.setDirtyEntry(n,!1),Object.entries(v.value).forEach(([a,C])=>{C.$reset();}),!R.$lazy.value&&R.$autoDirty.value&&Object.values(v.value).forEach(a=>a.$validate());}function T(a=!0,C=!1){d.value||(d.value=!0),C&&a?(R.$autoDirty.value||R.$rewardEarly.value&&R.$error.value)&&M():a&&M();}async function x(){try{let a=e.value;if(F.value=!0,!d.value)d.value=!0;else if(R.$autoDirty.value&&d.value&&!R.$pending.value)return {result:!R.$error.value,data:a};return L(v.value)?{result:!0,data:a}:{result:(await Promise.allSettled(Object.entries(v.value).map(([W,ue])=>ue.$validate()))).every(W=>W.status==="fulfilled"?W.value===!0:!1),data:a}}catch{return {result:!1,data:e.value}}}function o(){A(),e.value=B(O),J();}function c(a=!0){return d.value?e.value:a?{_null:!0}:null}function g(){m?.value?.length&&(m.value=[]);}!R.$lazy.value&&!d.value&&R.$autoDirty.value&&M();let{$shortcuts:i,$validating:h,$autoDirty:q,$rewardEarly:X,$clearExternalErrorsOnChange:K,$haveAnyAsyncRule:le,$debounce:oe,$lazy:se,...V}=R;return reactive({$dirty:d,...V,$externalErrors:m,$value:e,$rules:v,...i,$reset:J,$touch:T,$validate:x,$unwatch:A,$watch:I,$resetAll:o,$extractDirtyFields:c,$clearExternalErrors:g})}function Ae({$id:e,path:r,index:t,options:n,storage:l,stateValue:f,customMessages:y,rules:m,externalErrors:S,initialState:$,shortcuts:O,fieldName:_}){let D=m.$key?m.$key:$e(),R=`${r}.${String(D)}`;typeof f.value=="object"&&f.value!=null&&(f.value.$id?R=`${r}.${f.value.$id}`:Object.defineProperties(f.value,{$id:{value:D,enumerable:!1,configurable:!1,writable:!1}}));let E=pe({state:f,rulesDef:toRef(()=>m),customMessages:y,path:R,storage:l,options:n,externalErrors:toRef(S?.value??[],t),initialState:$?.[t],shortcuts:O,fieldName:_});if(E){let d=f.value?.$id;E.$id=d??String(D),l.addArrayStatus(e,E.$id,E);}return E}function ct({state:e,rulesDef:r,customMessages:t,path:n,storage:l,options:f,externalErrors:y,initialState:m,shortcuts:S,fieldName:$}){let O=effectScope(),_,D=effectScope(),R,E=[];if(!Array.isArray(e.value)&&!r.value.$each)return null;let d=ref(),F=ref(e.value),s,u=ref({}),p=l.getCollectionsEntry(n);R=D.run(()=>({isPrimitiveArray:computed(()=>Array.isArray(e.value)&&e.value.length?e.value.some(c=>typeof c!="object"):r.value.$each&&!(r.value.$each instanceof Function)?Object.values(r.value.$each).every(c=>ie(c)):!1)})),j(),w();function j(){typeof e.value=="object"&&(e.value!=null&&!e.value?.$id&&e.value!==null?(d.value=$e(),Object.defineProperties(e.value,{$id:{value:d.value,enumerable:!1,configurable:!1,writable:!1}})):e.value?.$id&&(d.value=e.value.$id)),!R.isPrimitiveArray.value&&(F.value=u.value.$value,Array.isArray(e.value)?p.value=e.value.map((o,c)=>{let g=Ie(r.value.$each,toRef(()=>o),c),i=Ae({$id:d.value,path:n,customMessages:t,rules:g??{},stateValue:toRef(()=>o),index:c,options:f,storage:l,externalErrors:toRef(y?.value??{},"$each"),initialState:m?.[c],shortcuts:S,fieldName:$});return i||null}).filter(o=>!!o):p.value=[],u.value=he({state:e,rulesDef:r,customMessages:t,path:n,storage:l,options:f,externalErrors:toRef(y?.value??{},"$self"),$isArray:!0,initialState:m,shortcuts:S,fieldName:$}));}function M(){if(Array.isArray(e.value)){let o=B(p.value);p.value=e.value.map((c,g)=>{let i=toRef(()=>c);if(c.$id&&p.value.find(h=>h.$id===c.$id)){let h=l.getArrayStatus(d.value,c.$id);return h?(h.$value=i,h):null}else {let h=Ie(r.value.$each,i,g);if(h){let q=Ae({$id:d.value,path:n,customMessages:t,rules:h,stateValue:i,index:g,options:f,storage:l,externalErrors:toRef(y?.value??{},"$each"),initialState:m?.[g],shortcuts:S,fieldName:$});return q||null}}}).filter(c=>!!c),o.filter(c=>!e.value.find(g=>c.$id===g.$id)).forEach((c,g)=>{l.deleteArrayStatus(d.value,g.toString());});}else p.value=[];}function w(){s=watch(e,()=>{e.value!=null&&!Object.hasOwn(e.value,"$id")?j():M();},{deep:ge?1:!0,flush:"pre"}),_=O.run(()=>{let o=computed(()=>u.value.$dirty&&p.value.every(a=>a.$dirty)),c=computed(()=>u.value.$anyDirty||p.value.some(a=>a.$dirty)),g=computed(()=>u.value.$invalid||p.value.some(a=>a.$invalid)),i=computed(()=>(L(u.value.$rules)?!0:u.value.$valid)&&p.value.every(a=>a.$valid)),h=computed(()=>u.value.$error||p.value.some(a=>a.$error)),q=computed(()=>!(g.value||X.value)),X=computed(()=>u.value.$pending||p.value.some(a=>a.$pending)),K=computed(()=>({$self:u.value.$errors,$each:p.value.map(a=>a.$errors)})),le=computed(()=>({$self:u.value.$silentErrors,$each:p.value.map(a=>a.$silentErrors)})),oe=computed(()=>$);function se(){S?.collections&&Object.entries(S?.collections).forEach(([a,C])=>{let G=effectScope();V[a]=G.run(()=>{let W=ref();return watchEffect(()=>{W.value=C(reactive({$dirty:o,$error:h,$pending:X,$invalid:g,$valid:i,$errors:K,$ready:q,$silentErrors:le,$anyDirty:c,$name:oe,$each:p,$field:u,$value:e}));}),W}),E.push(G);});}let V={};return se(),{$dirty:o,$anyDirty:c,$invalid:g,$valid:i,$error:h,$pending:X,$errors:K,$silentErrors:le,$ready:q,$name:oe,$shortcuts:V}}),R.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`),s());}function b(){s&&s(),u.value&&u.value.$unwatch(),p.value&&p.value.forEach(o=>{"$dirty"in o&&o.$unwatch();}),O.stop(),O=effectScope(),D.stop(),D=effectScope(!0),E.forEach(o=>o.stop()),E=[];}function A(o=!0,c=!1){u.value.$touch(o,c),p.value.forEach(g=>{g.$touch(o,c);});}function I(){u.value.$reset(),p.value.forEach(o=>{o.$reset();});}async function k(){let o=e.value;try{return {result:(await Promise.allSettled([u.value.$validate(),...p.value.map(i=>i.$validate())])).every(i=>i.status==="fulfilled"?i.value.result===!0:!1),data:o}}catch{return {result:!1,data:o}}}function v(){u.value.$clearExternalErrors(),p.value.forEach(o=>{o.$clearExternalErrors();});}function P(o=!0){let c=p.value.map(g=>{if(nt(g))return g.$extractDirtyFields(o)});return o&&c.every(g=>L(g))&&(c=[]),c}function J(){b(),e.value=B(m),I();}let{$shortcuts:T,...x}=_;return reactive({$field:u,...x,...T,$each:p,$value:e,$validate:k,$unwatch:b,$watch:w,$touch:A,$reset:I,$resetAll:J,$extractDirtyFields:P,$clearExternalErrors:v})}function je({rulesDef:e,state:r,path:t="",rootRules:n,externalErrors:l,validationGroups:f,initialState:y,fieldName:m,...S}){let $=effectScope(),O,_=[],D=null,R=null,E=null;async function F(T=!0){let x=Object.entries(e.value),o=Object.fromEntries(x.filter(([i,h])=>!!h).map(([i,h])=>{if(h){let q=toRef(r.value,i),X=toRef(()=>h),K=toRef(l?.value??{},i);return [i,pe({state:q,rulesDef:X,path:t?`${t}.${i}`:i,externalErrors:K,initialState:y?.[i],fieldName:i,...S})]}return []})),c=Object.fromEntries(Object.entries(unref(l)??{}).filter(([i,h])=>!(i in e.value)&&!!h).map(([i])=>{let h=toRef(r.value,i);return [i,pe({state:h,rulesDef:computed(()=>({})),path:t?`${t}.${i}`:i,externalErrors:toRef(l?.value??{},i),initialState:y?.[i],fieldName:i,...S})]})),g=Object.fromEntries(Object.entries(r.value).filter(([i])=>!(i in e.value)&&!(i in(c.value??{}))).map(([i])=>{let h=toRef(r.value,i);return [i,pe({state:h,rulesDef:computed(()=>({})),path:t?`${t}.${i}`:i,externalErrors:toRef(l?.value??{},i),initialState:y?.[i],fieldName:i,...S})]}));s.value={...o,...c,...g},T&&M();}let s=S.storage.getFieldsEntry(t);F();function u(){R?.(),Object.values(s.value).forEach(T=>{T.$reset();}),j();}function p(T=!0,x=!1){Object.values(s.value).forEach(o=>{o.$touch(T,x);});}function j(){l?.value&&(R=watch(l,()=>{w(),F();},{deep:!0}));}function M(){n&&(D=watch(n,()=>{w(),F();},{deep:!0,flush:"post"}),j()),E=watch(r,()=>{w(),F(),p(!0,!0);},{flush:"sync"}),O=$.run(()=>{let T=computed(()=>!!Object.entries(s.value).length&&Object.entries(s.value).every(([V,a])=>a?.$dirty)),x=computed(()=>Object.entries(s.value).some(([V,a])=>a?.$dirty)),o=computed(()=>Object.entries(s.value).some(([V,a])=>a?.$invalid)),c=computed(()=>Object.entries(s.value).every(([V,a])=>a?.$valid)),g=computed(()=>x.value&&!h.value&&o.value),i=computed(()=>unref(S.options.autoDirty)?x.value&&!(o.value||h.value):!(o.value||h.value)),h=computed(()=>Object.entries(s.value).some(([V,a])=>a?.$pending)),q=computed(()=>Object.fromEntries(Object.entries(s.value).map(([V,a])=>[V,a?.$errors]))),X=computed(()=>Object.fromEntries(Object.entries(s.value).map(([V,a])=>[V,a?.$silentErrors]))),K=computed(()=>m);function le(){S.shortcuts?.nested&&Object.entries(S.shortcuts.nested).forEach(([V,a])=>{let C=effectScope();se[V]=C.run(()=>{let G=ref();return watchEffect(()=>{G.value=a(reactive({$dirty:T,$value:r,$error:g,$pending:h,$invalid:o,$valid:c,$ready:i,$anyDirty:x,$name:K,$silentErrors:X,$errors:q,$fields:s}));}),G}),_.push(C);});}let oe=computed(()=>f?Object.fromEntries(Object.entries(f?.(s.value)??{}).map(([V,a])=>a.length?[V,{...Object.fromEntries(["$invalid","$error","$pending","$dirty","$valid"].map(C=>[C,Ye(a,C)])),...Object.fromEntries(["$errors","$silentErrors"].map(C=>[C,Qe(a,C)]))}]:[])):{}),se={};return le(),{$dirty:T,$anyDirty:x,$invalid:o,$valid:c,$error:g,$pending:h,$errors:q,$silentErrors:X,$ready:i,$name:K,$shortcuts:se,$groups:oe}});}function w(){D?.(),R?.(),E?.(),_.forEach(T=>T.stop()),_=[],s.value&&Object.entries(s.value).forEach(([T,x])=>{x.$unwatch();});}function b(){Object.entries(s.value).forEach(([T,x])=>{x.$clearExternalErrors();});}async function A(){w(),r.value=B({...y??{}}),u(),F();}function I(T){return T.filter(([x,o])=>Q(o)?!(o&&typeof o=="object"&&"_null"in o)&&!L(o):Array.isArray(o)?o.length:!0)}function k(T=!0){let x=Object.entries(s.value).map(([o,c])=>[o,c.$extractDirtyFields(T)]);return T&&(x=I(x)),Object.fromEntries(x)}async function v(){try{let T=r.value;return {result:(await Promise.allSettled(Object.values(s.value).map(c=>c.$validate()))).every(c=>c.status==="fulfilled"?c.value.result===!0:!1),data:T}}catch{return {result:!1,data:r.value}}}let{$shortcuts:P,...J}=O;return reactive({...J,...P,$fields:s,$value:r,$resetAll:A,$reset:u,$touch:p,$validate:v,$unwatch:w,$watch:M,$clearExternalErrors:b,$extractDirtyFields:k})}function pe({rulesDef:e,externalErrors:r,...t}){return tt(e,t.state)?ct({rulesDef:e,externalErrors:r,...t}):et(t.state,e)&&Ke(t.state)?je({rulesDef:e,externalErrors:r,...t}):rt(e)?he({rulesDef:e,externalErrors:r,...t}):null}function Me({initialState:e,options:r,scopeRules:t,state:n,customRules:l,shortcuts:f}){let y=Pe();return reactive(je({rootRules:t,rulesDef:t,state:n,customMessages:l?.(),storage:y,options:r,externalErrors:r.externalErrors,validationGroups:r.validationGroups,initialState:e,shortcuts:f,fieldName:"root",path:""}))}function _e(e,r,t){let n={autoDirty:r?.autoDirty??!0,lazy:r?.lazy??!1,rewardEarly:r?.rewardEarly??!1,clearExternalErrorsOnChange:r?.clearExternalErrorsOnChange??!0};function l(f,y,m){let S=isRef(y)?y:computed(typeof y=="function"?y:()=>y),$={...n,...m},O=isRef(f)?f:ref(f),_={...B(O.value)};return {r$:Me({scopeRules:S,state:O,options:$,initialState:_,customRules:e,shortcuts:t})}}return l}var mt=_e();function Ve(){function e(r,t){return t}return e}var Ge=Ve();function yt({rules:e,modifiers:r,shortcuts:t}){let n=_e(e,r,t),l=Ve();return {useRegle:n,inferRules:l}}
|
|
1
|
+
import {unref,version,isRef,toRef,computed,ref,reactive,shallowRef,onScopeDispose,effectScope,watch,watchEffect}from'vue';var xe=(t=>(t.Inline="__inline",t.Async="__async",t))(xe||{});function Ye(e,r){return e.some(t=>t[r])}function Qe(e,r){return e.reduce((t,n)=>{let l=n[r]||[];return t.concat(l)},[])}function U(e){return e.map(r=>r instanceof Function?r():unref(r))}function Xe(e){return e.map(r=>r instanceof Function||isRef(r)?r:toRef(()=>r))}function Ze(e){let n=e.toString().replace(/\/\/.*$/gm,"").replace(/\/\*[\s\S]*?\*\//g,"").match(/^(?:async\s*)?(?:function\b.*?\(|\((.*?)\)|(\w+))\s*=>|\((.*?)\)\s*=>|function.*?\((.*?)\)|\((.*?)\)/);return n?(n[0]||n[1]||n[2]||n[3]||n[4]||"").split(",").map(y=>y.trim()).filter(y=>y.length>0).length:0}function De(e,...r){let{validator:t,type:n}=e,l=n==="__async"||t.constructor.name==="AsyncFunction";return {...{validator(m,...g){return e.validator(m,...U(g.length?g:r))},message(m){return typeof e.message=="function"?e.message({...m,$params:U(m?.$params?.length?m.$params:r)}):e.message},active(m){return typeof e.active=="function"?e.active({...m,$params:U(m.$params?.length?m.$params:r)}):e.active??!0},tooltip(m){return typeof e.tooltip=="function"?e.tooltip({...m,$params:U(m.$params?.length?m.$params:r)}):e.tooltip??[]},exec(m){let g=e.validator(m,...U(r)),S;return g instanceof Promise?g.then(E=>(S=E,typeof S=="object"&&"$valid"in S?S.$valid:typeof S=="boolean"?S:!1)):(S=g,typeof S=="object"&&"$valid"in S?S.$valid:typeof S=="boolean"?S:!1)}},_validator:e.validator,_message:e.message,_active:e.active,_tooltip:e.tooltip,_type:e.type,_message_patched:!1,_tooltip_patched:!1,_async:l,_params:Xe(r)}}function Ce(e){if(typeof e.validator=="function"){let t=De(e,...[]),n=e.validator.constructor.name==="AsyncFunction";if(Ze(e.validator)>1){let l=function(...R){return De(e,...R)};return l.validator=t.validator,l.message=t.message,l.active=t.active,l.tooltip=t.tooltip,l.type=t.type,l.exec=t.exec,l._validator=t.validator,l._message=t.message,l._active=t.active,l._tooltip=t.tooltip,l._type=e.type,l._message_pacthed=!1,l._tooltip_pacthed=!1,l._async=n,l}else return t}throw new Error("Validator must be a function")}function Q(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Ke(e){return Q(e.value)}function B(e){let r=e,t={}.toString.call(e).slice(8,-1);if(t=="Set"&&(r=new Set([...e].map(n=>B(n)))),t=="Map"&&(r=new Map([...e].map(n=>[B(n[0]),B(n[1])]))),t=="Date"&&(r=new Date(e.getTime())),t=="RegExp"&&(r=RegExp(e.source,bt(e))),t=="Array"||t=="Object"){r=Array.isArray(e)?[]:{};for(let n in e)r[n]=B(e[n]);}return r}function bt(e){if(typeof e.source.flags=="string")return e.source.flags;{let r=[];return e.global&&r.push("g"),e.ignoreCase&&r.push("i"),e.multiline&&r.push("m"),e.sticky&&r.push("y"),e.unicode&&r.push("u"),r.join("")}}function Ie(e,r,t){return e instanceof Function?e(r,t??0):e}function ve(e,r,t){let n,l=(...R)=>new Promise(y=>{clearTimeout(n),n=setTimeout(()=>{n=void 0,Promise.resolve(e.apply(this,[...R])).then(y);},r);});return l.cancel=()=>{clearTimeout(n),n=void 0;},l}function Et(e,r){let t=String(e).split("."),n=String(r).split(".");for(let l=0;l<Math.min(t.length,n.length);l++){let R=Number(t[l]),y=Number(n[l]);if(R>y)return 1;if(y>R)return -1;if(!isNaN(R)&&isNaN(y))return 1;if(isNaN(R)&&!isNaN(y))return -1}return 0}var $e=Et(version,"3.5.0")!==-1;function xt(){return Math.floor(Math.random()*Date.now()).toString()}function ge(){return typeof window>"u"?xt():window.crypto.getRandomValues(new Uint32Array(1))[0].toString(10)}function Pe(){let e=shallowRef(new Map),r=shallowRef(new Map),t=shallowRef(new Map),n=shallowRef(new Map),l=shallowRef(new Map),R=shallowRef(new Map);function y(o){let c=r.value.get(o);if(c)return c;{let p=ref({});return r.value.set(o,p),p}}function m(o){let c=t.value.get(o);if(c)return c;{let p=ref([]);return t.value.set(o,p),p}}function g(o,c,p){R.value.set(`${o}-${c}`,p);}function S(o,c){return R.value.get(`${o}-${c}`)}function E(o,c){o&&c!=null&&R.value.delete(`${o}-${c}`);}function j(o,c){n.value.set(o,c);}function A(o){return n.value.get(o)??!1}function f(o,c){e.value.set(o,c);}function x(o,c){let p=e.value.get(o);return p?d(c,p)?{valid:!0}:{valid:!1}:void 0}function d(o,c){let p=Object.keys(c),M=Object.keys(o);return M.length!==p.length||!M.every(w=>p.includes(w))?!1:M.every(w=>{let _=o[w],D=c[w];return !D||!_||typeof _=="function"||typeof D=="function"||typeof _=="number"||typeof _=="boolean"?!1:_._params?_._params?.every((k,I)=>{if(typeof D=="number"||typeof D=="boolean")return !0;{let $=U(D._params),b=U(_._params);return $?.[I]===b?.[I]}}):!0})}function O(o){let c=l.value.get(o);if(c)return c;{let p=ref(!1),M=ref(!0),F=ref({}),w=ref(!1);return l.value.set(o,{$pending:p,$valid:M,$metadata:F,$validating:w}),{$pending:p,$valid:M,$metadata:F,$validating:w}}}return onScopeDispose(()=>{e.value.clear(),r.value.clear(),t.value.clear(),n.value.clear(),l.value.clear(),R.value.clear();}),{addRuleDeclEntry:f,setDirtyEntry:j,checkRuleDeclEntry:x,getDirtyState:A,trySetRuleStatusRef:O,getFieldsEntry:y,getCollectionsEntry:m,getArrayStatus:S,addArrayStatus:g,deleteArrayStatus:E,arrayStatusStorage:R}}function L(e){return e==null?!0:e instanceof Date?isNaN(e.getTime()):Array.isArray(e)?!1:typeof e=="object"&&e!=null?Object.keys(e).length===0:!String(e).length}function et(e,r){return Q(e.value)&&Q(r.value)&&!Object.entries(r.value).some(t=>ie(t))}function tt(e,r){return !!e.value&&"$each"in e.value||Array.isArray(r.value)}function rt(e){return !!e.value&&Q(e.value)}function ie(e){return Q(e)&&"_validator"in e}function ce(e){return typeof e.value!="function"}function nt(e){return Q(e)&&"$fields"in e}function we({field:e,silent:r=!1}){return Object.entries(e.$rules??{}).map(([t,n])=>r||!n.$valid&&e.$dirty&&!n.$validating?n.$message:null).filter(t=>!!t).reduce((t,n)=>typeof n=="string"?t?.concat([n]):t?.concat(n),[]).concat(e.$dirty?e.$externalErrors??[]:[])}function at({field:e}){return Object.entries(e.$rules??{}).map(([r,t])=>t.$tooltip).filter(r=>!!r).reduce((r,t)=>typeof t=="string"?r?.concat([t]):r?.concat(t),[])}function ot({fieldProperties:e,customMessages:r,rule:t,ruleKey:n,state:l,path:R,storage:y,$debounce:m,modifiers:g}){let S=effectScope(),E,j,A=ref(!1),{$pending:f,$valid:x,$metadata:d,$validating:O}=y.trySetRuleStatusRef(`${R}.${n}`);function o(){E=S.run(()=>{let D=computed(()=>({$value:l.value,$error:e.$error.value,$dirty:e.$dirty.value,$pending:e.$pending.value,$valid:e.$valid.value,$invalid:e.$invalid.value,$rule:{$valid:x.value,$invalid:!x.value,$pending:f.value},$params:C.value,...d.value})),k=computed(()=>ce(t)?typeof t.value.active=="function"?t.value.active(D.value):!!t.value.active:!0);function I(s){let v="",u=r?r[n]?.[s]:void 0;if(u&&(typeof u=="function"?v=u(D.value):v=u),ce(t)){let h=`_${s}_patched`;u&&!t.value[h]||(typeof t.value[s]=="function"?v=t.value[s](D.value):v=t.value[s]??"");}return v}let $=computed(()=>{let s=I("message");return L(s)&&(s="This field is not valid"),s}),b=computed(()=>I("tooltip")),q=computed(()=>ce(t)&&t.value.type?t.value.type:n),T=computed(()=>ce(t)?t.value.validator:t.value),C=computed(()=>typeof t.value=="function"?[]:U(t.value._params??[])),i=computed(()=>`${R}.${q.value}`);return {$active:k,$message:$,$type:q,$validator:T,$params:C,$path:i,$tooltip:b}}),j=watch(E.$params,()=>{(g.$autoDirty.value||g.$rewardEarly.value&&e.$error.value)&&F();});}o();function c(){x.value=!0,e.$dirty.value&&(f.value=!0);}async function p(){let D=E.$validator.value,k=D(l.value,...E.$params.value),I=!1,$=l.value;try{c();let b;if(k instanceof Promise?b=await k:b=k,l.value!==$)return !0;if(typeof b=="boolean")I=b;else {let{$valid:q,...T}=b;I=q,d.value=T;}}catch{I=!1;}finally{f.value=!1;}return I}let M=ve(p,m??200);async function F(){try{O.value=!0;let D=!1;if(ie(t.value)&&t.value._async)D=await M();else {let k=E.$validator.value,I=k(l.value,...E.$params.value);if(I 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(I!=null)if(typeof I=="boolean")D=I;else {let{$valid:$,...b}=I;D=$,d.value=b;}}return x.value=D,D}catch{return !1}finally{O.value=!1;}}function w(){x.value=!0,d.value={},f.value=!1,O.value=!1,o();}function _(){j(),S.stop(),S=effectScope();}return reactive({...E,$pending:f,$valid:x,$metadata:d,$haveAsync:A,$validating:O,$validate:F,$unwatch:_,$watch:o,$reset:w})}function he({state:e,rulesDef:r,customMessages:t,path:n,fieldName:l,storage:R,options:y,externalErrors:m,onUnwatch:g,$isArray:S,initialState:E,shortcuts:j}){let A=effectScope(),f,x=[],d=ref(!1),O=ref(!1),o,c,p,M,F=()=>{};function w(){let a=r.value,P=R.checkRuleDeclEntry(n,a);b.value=Object.fromEntries(Object.entries(a).filter(([G])=>G.startsWith("$"))),k(),$.value=Object.fromEntries(Object.entries(r.value).filter(([G])=>!G.startsWith("$")).map(([G,W])=>{if(W){let se=toRef(()=>W);return [G,ot({fieldProperties:{$dirty:d,$error:f.$error,$invalid:f.$invalid,$pending:f.$pending,$valid:f.$valid},modifiers:{$autoDirty:f.$autoDirty,$rewardEarly:f.$rewardEarly},customMessages:t,rule:se,ruleKey:G,state:e,path:n,storage:R,$debounce:b.value.$debounce})]}return []}).filter(G=>!!G.length)),f.processShortcuts(),_(),P?.valid!=null&&(d.value=R.getDirtyState(n),d.value&&F()),R.addRuleDeclEntry(n,a);}function _(){F=f.$debounce.value?ve(I,f.$debounce.value??f.$haveAnyAsyncRule?100:0):I;}function D(){$.value&&Object.entries($.value).forEach(([a,P])=>{P.$unwatch();}),p(),d.value&&R.setDirtyEntry(n,d.value),o?.(),c?.(),A.stop(),A=effectScope(),x.forEach(a=>a.stop()),x=[],g?.(),M?.();}function k(){$.value&&Object.entries($.value).forEach(([a,P])=>{P.$watch();}),f=A.run(()=>{let a=computed(()=>d.value),P=computed(()=>b.value.$debounce),G=computed(()=>b.value.$lazy!=null?b.value.$lazy:unref(y.lazy)),W=computed(()=>Ne.value===!0?!1:b.value.$rewardEarly!=null?b.value.$rewardEarly:unref(y.rewardEarly)),se=computed(()=>b.value.$clearExternalErrorsOnChange!=null?b.value.$clearExternalErrorsOnChange:unref(y.clearExternalErrorsOnChange)),Ne=computed(()=>b.value.$autoDirty!=null?b.value.$autoDirty:unref(y.autoDirty)),ke=computed(()=>Object.entries($.value).some(([Y,Z])=>Z.$validating)),Te=computed(()=>ye.value&&!me.value&&d.value),We=computed(()=>Te.value?we({field:{$dirty:d.value,$externalErrors:m?.value,$rules:$.value}}):[]),Ue=computed(()=>at({field:{$rules:$.value}})),Be=computed(()=>we({field:{$dirty:d.value,$externalErrors:m?.value,$rules:$.value},silent:!0})),He=computed(()=>!(ye.value||me.value)),me=computed(()=>O.value||!W.value?Object.entries($.value).some(([Y,Z])=>Z.$pending):!1),ye=computed(()=>m?.value?.length?!0:L($.value)?!1:!W.value||W.value&&O.value?Object.entries($.value).some(([Y,Z])=>!Z.$valid):!1),Le=computed(()=>l),Ee=computed(()=>m?.value?.length||L($.value)?!1:d.value&&!L(e.value)&&!ke.value?Object.values($.value).every(Y=>Y.$valid&&Y.$active):!1),vt=computed(()=>Object.entries($.value).some(([Y,Z])=>Z.$haveAsync));function $t(){j?.fields&&Object.entries(j.fields).forEach(([Y,Z])=>{let ze=effectScope();qe[Y]=ze.run(()=>{let Je=ref();return watchEffect(()=>{Je.value=Z(reactive({$dirty:d,$externalErrors:m?.value??[],$value:e,$rules:$,$error:Te,$pending:me,$invalid:ye,$valid:Ee,$errors:We,$ready:He,$silentErrors:Be,$anyDirty:a,$tooltips:Ue,$name:Le}));}),Je}),x.push(ze);});}let qe={};return watch(Ee,Y=>{Y&&(O.value=!1);}),{$error:Te,$pending:me,$invalid:ye,$valid:Ee,$debounce:P,$lazy:G,$errors:We,$ready:He,$silentErrors:Be,$rewardEarly:W,$autoDirty:Ne,$clearExternalErrorsOnChange:se,$anyDirty:a,$name:Le,$haveAnyAsyncRule:vt,$shortcuts:qe,$validating:ke,$tooltips:Ue,processShortcuts:$t}}),o=watch(e,()=>{f.$autoDirty.value&&(d.value||(d.value=!0)),r.value instanceof Function&&w(),(f.$autoDirty.value||f.$rewardEarly.value&&f.$error.value)&&F(),f.$rewardEarly.value!==!0&&f.$clearExternalErrorsOnChange.value&&v();},{deep:S?!0:$e?1:!0}),p=watch(d,()=>{R.setDirtyEntry(n,d.value);}),c=watch(f.$valid,a=>{f.$rewardEarly.value&&a&&(O.value=!1);}),M=watch(f.$haveAnyAsyncRule,_);}function I(){Object.values($.value).forEach(a=>{a.$validate();});}let $=ref({}),b=ref({});w();function q(){v(),d.value=!1,R.setDirtyEntry(n,!1),Object.entries($.value).forEach(([a,P])=>{P.$reset();}),!f.$lazy.value&&f.$autoDirty.value&&Object.values($.value).forEach(a=>a.$validate());}function T(a=!0,P=!1){d.value||(d.value=!0),P&&a?(f.$autoDirty.value||f.$rewardEarly.value&&f.$error.value)&&F():a&&F();}async function C(){try{let a=e.value;if(O.value=!0,!d.value)d.value=!0;else if(f.$autoDirty.value&&d.value&&!f.$pending.value)return {result:!f.$error.value,data:a};return L($.value)?{result:!0,data:a}:{result:(await Promise.allSettled(Object.entries($.value).map(([W,se])=>se.$validate()))).every(W=>W.status==="fulfilled"?W.value===!0:!1),data:a}}catch{return {result:!1,data:e.value}}}function i(){D(),e.value=B(E),q();}function s(a=!0){return d.value?e.value:a?{_null:!0}:null}function v(){m?.value?.length&&(m.value=[]);}!f.$lazy.value&&!d.value&&f.$autoDirty.value&&F();let{$shortcuts:u,$validating:h,$autoDirty:z,$rewardEarly:X,$clearExternalErrorsOnChange:K,$haveAnyAsyncRule:le,$debounce:oe,$lazy:ue,...V}=f;return reactive({$dirty:d,...V,$externalErrors:m,$value:e,$rules:$,...u,$reset:q,$touch:T,$validate:C,$unwatch:D,$watch:k,$resetAll:i,$extractDirtyFields:s,$clearExternalErrors:v})}function Ae({$id:e,path:r,index:t,options:n,storage:l,stateValue:R,customMessages:y,rules:m,externalErrors:g,initialState:S,shortcuts:E,fieldName:j}){let A=m.$key?m.$key:ge(),f=`${r}.${String(A)}`;typeof R.value=="object"&&R.value!=null&&(R.value.$id?f=`${r}.${R.value.$id}`:Object.defineProperties(R.value,{$id:{value:A,enumerable:!1,configurable:!1,writable:!1}}));let x=pe({state:R,rulesDef:toRef(()=>m),customMessages:y,path:f,storage:l,options:n,externalErrors:toRef(g?.value??[],t),initialState:S?.[t],shortcuts:E,fieldName:j});if(x){let d=R.value?.$id;x.$id=d??String(A),l.addArrayStatus(e,x.$id,x);}return x}function ct({state:e,rulesDef:r,customMessages:t,path:n,storage:l,options:R,externalErrors:y,initialState:m,shortcuts:g,fieldName:S}){let E=effectScope(),j,A=effectScope(),f,x=[];if(!Array.isArray(e.value)&&!r.value.$each)return null;let d=ref(),O=ref(e.value),o,c=ref({}),p=l.getCollectionsEntry(n);f=A.run(()=>({isPrimitiveArray:computed(()=>Array.isArray(e.value)&&e.value.length?e.value.some(s=>typeof s!="object"):r.value.$each&&!(r.value.$each instanceof Function)?Object.values(r.value.$each).every(s=>ie(s)):!1)})),M(),w();function M(){typeof e.value=="object"&&(e.value!=null&&!e.value?.$id&&e.value!==null?(d.value=ge(),Object.defineProperties(e.value,{$id:{value:d.value,enumerable:!1,configurable:!1,writable:!1}})):e.value?.$id&&(d.value=e.value.$id)),!f.isPrimitiveArray.value&&(O.value=c.value.$value,Array.isArray(e.value)?p.value=e.value.map((i,s)=>{let v=Ie(r.value.$each,toRef(()=>i),s),u=Ae({$id:d.value,path:n,customMessages:t,rules:v??{},stateValue:toRef(()=>i),index:s,options:R,storage:l,externalErrors:toRef(y?.value??{},"$each"),initialState:m?.[s],shortcuts:g,fieldName:S});return u||null}).filter(i=>!!i):p.value=[],c.value=he({state:e,rulesDef:r,customMessages:t,path:n,storage:l,options:R,externalErrors:toRef(y?.value??{},"$self"),$isArray:!0,initialState:m,shortcuts:g,fieldName:S}));}function F(){if(Array.isArray(e.value)){let i=B(p.value);p.value=e.value.map((s,v)=>{let u=toRef(()=>s);if(s.$id&&p.value.find(h=>h.$id===s.$id)){let h=l.getArrayStatus(d.value,s.$id);return h?(h.$value=u,h):null}else {let h=Ie(r.value.$each,u,v);if(h){let z=Ae({$id:d.value,path:n,customMessages:t,rules:h,stateValue:u,index:v,options:R,storage:l,externalErrors:toRef(y?.value??{},"$each"),initialState:m?.[v],shortcuts:g,fieldName:S});return z||null}}}).filter(s=>!!s),i.filter(s=>!e.value.find(v=>s.$id===v.$id)).forEach((s,v)=>{l.deleteArrayStatus(d.value,v.toString());});}else p.value=[];}function w(){o=watch(e,()=>{e.value!=null&&!Object.hasOwn(e.value,"$id")?M():F();},{deep:$e?1:!0,flush:"pre"}),j=E.run(()=>{let i=computed(()=>c.value.$dirty&&p.value.every(a=>a.$dirty)),s=computed(()=>c.value.$anyDirty||p.value.some(a=>a.$dirty)),v=computed(()=>c.value.$invalid||p.value.some(a=>a.$invalid)),u=computed(()=>(L(c.value.$rules)?!0:c.value.$valid)&&p.value.every(a=>a.$valid)),h=computed(()=>c.value.$error||p.value.some(a=>a.$error)),z=computed(()=>!(v.value||X.value)),X=computed(()=>c.value.$pending||p.value.some(a=>a.$pending)),K=computed(()=>({$self:c.value.$errors,$each:p.value.map(a=>a.$errors)})),le=computed(()=>({$self:c.value.$silentErrors,$each:p.value.map(a=>a.$silentErrors)})),oe=computed(()=>S);function ue(){g?.collections&&Object.entries(g?.collections).forEach(([a,P])=>{let G=effectScope();V[a]=G.run(()=>{let W=ref();return watchEffect(()=>{W.value=P(reactive({$dirty:i,$error:h,$pending:X,$invalid:v,$valid:u,$errors:K,$ready:z,$silentErrors:le,$anyDirty:s,$name:oe,$each:p,$field:c,$value:e}));}),W}),x.push(G);});}let V={};return ue(),{$dirty:i,$anyDirty:s,$invalid:v,$valid:u,$error:h,$pending:X,$errors:K,$silentErrors:le,$ready:z,$name:oe,$shortcuts:V}}),f.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`),o());}function _(){o&&o(),c.value&&c.value.$unwatch(),p.value&&p.value.forEach(i=>{"$dirty"in i&&i.$unwatch();}),E.stop(),E=effectScope(),A.stop(),A=effectScope(!0),x.forEach(i=>i.stop()),x=[];}function D(i=!0,s=!1){c.value.$touch(i,s),p.value.forEach(v=>{v.$touch(i,s);});}function k(){c.value.$reset(),p.value.forEach(i=>{i.$reset();});}async function I(){let i=e.value;try{return {result:(await Promise.allSettled([c.value.$validate(),...p.value.map(u=>u.$validate())])).every(u=>u.status==="fulfilled"?u.value.result===!0:!1),data:i}}catch{return {result:!1,data:i}}}function $(){c.value.$clearExternalErrors(),p.value.forEach(i=>{i.$clearExternalErrors();});}function b(i=!0){let s=p.value.map(v=>{if(nt(v))return v.$extractDirtyFields(i)});return i&&s.every(v=>L(v))&&(s=[]),s}function q(){_(),e.value=B(m),k();}let{$shortcuts:T,...C}=j;return reactive({$field:c,...C,...T,$each:p,$value:e,$validate:I,$unwatch:_,$watch:w,$touch:D,$reset:k,$resetAll:q,$extractDirtyFields:b,$clearExternalErrors:$})}function je({rulesDef:e,state:r,path:t="",rootRules:n,externalErrors:l,validationGroups:R,initialState:y,fieldName:m,...g}){let S=effectScope(),E,j=[],A=null,f=null,x=null;async function O(T=!0){let C=Object.entries(e.value),i=Object.fromEntries(C.filter(([u,h])=>!!h).map(([u,h])=>{if(h){let z=toRef(r.value,u),X=toRef(()=>h),K=toRef(l?.value??{},u);return [u,pe({state:z,rulesDef:X,path:t?`${t}.${u}`:u,externalErrors:K,initialState:y?.[u],fieldName:u,...g})]}return []})),s=Object.fromEntries(Object.entries(unref(l)??{}).filter(([u,h])=>!(u in e.value)&&!!h).map(([u])=>{let h=toRef(r.value,u);return [u,pe({state:h,rulesDef:computed(()=>({})),path:t?`${t}.${u}`:u,externalErrors:toRef(l?.value??{},u),initialState:y?.[u],fieldName:u,...g})]})),v=Object.fromEntries(Object.entries(r.value).filter(([u])=>!(u in e.value)&&!(u in(s.value??{}))).map(([u])=>{let h=toRef(r.value,u);return [u,pe({state:h,rulesDef:computed(()=>({})),path:t?`${t}.${u}`:u,externalErrors:toRef(l?.value??{},u),initialState:y?.[u],fieldName:u,...g})]}));o.value={...i,...s,...v},T&&F();}let o=g.storage.getFieldsEntry(t);O();function c(){f?.(),Object.values(o.value).forEach(T=>{T.$reset();}),M();}function p(T=!0,C=!1){Object.values(o.value).forEach(i=>{i.$touch(T,C);});}function M(){l?.value&&(f=watch(l,()=>{w(),O();},{deep:!0}));}function F(){n&&(A=watch(n,()=>{w(),O();},{deep:!0,flush:"post"}),M()),x=watch(r,()=>{w(),O(),p(!0,!0);},{flush:"sync"}),E=S.run(()=>{let T=computed(()=>!!Object.entries(o.value).length&&Object.entries(o.value).every(([V,a])=>a?.$dirty)),C=computed(()=>Object.entries(o.value).some(([V,a])=>a?.$dirty)),i=computed(()=>Object.entries(o.value).some(([V,a])=>a?.$invalid)),s=computed(()=>Object.entries(o.value).every(([V,a])=>a?.$valid)),v=computed(()=>C.value&&!h.value&&i.value),u=computed(()=>unref(g.options.autoDirty)?C.value&&!(i.value||h.value):!(i.value||h.value)),h=computed(()=>Object.entries(o.value).some(([V,a])=>a?.$pending)),z=computed(()=>Object.fromEntries(Object.entries(o.value).map(([V,a])=>[V,a?.$errors]))),X=computed(()=>Object.fromEntries(Object.entries(o.value).map(([V,a])=>[V,a?.$silentErrors]))),K=computed(()=>m);function le(){g.shortcuts?.nested&&Object.entries(g.shortcuts.nested).forEach(([V,a])=>{let P=effectScope();ue[V]=P.run(()=>{let G=ref();return watchEffect(()=>{G.value=a(reactive({$dirty:T,$value:r,$error:v,$pending:h,$invalid:i,$valid:s,$ready:u,$anyDirty:C,$name:K,$silentErrors:X,$errors:z,$fields:o}));}),G}),j.push(P);});}let oe=computed(()=>R?Object.fromEntries(Object.entries(R?.(o.value)??{}).map(([V,a])=>a.length?[V,{...Object.fromEntries(["$invalid","$error","$pending","$dirty","$valid"].map(P=>[P,Ye(a,P)])),...Object.fromEntries(["$errors","$silentErrors"].map(P=>[P,Qe(a,P)]))}]:[])):{}),ue={};return le(),{$dirty:T,$anyDirty:C,$invalid:i,$valid:s,$error:v,$pending:h,$errors:z,$silentErrors:X,$ready:u,$name:K,$shortcuts:ue,$groups:oe}});}function w(){A?.(),f?.(),x?.(),j.forEach(T=>T.stop()),j=[],o.value&&Object.entries(o.value).forEach(([T,C])=>{C.$unwatch();});}function _(){Object.entries(o.value).forEach(([T,C])=>{C.$clearExternalErrors();});}async function D(){w(),r.value=B({...y??{}}),c(),O();}function k(T){return T.filter(([C,i])=>Q(i)?!(i&&typeof i=="object"&&"_null"in i)&&!L(i):Array.isArray(i)?i.length:!0)}function I(T=!0){let C=Object.entries(o.value).map(([i,s])=>[i,s.$extractDirtyFields(T)]);return T&&(C=k(C)),Object.fromEntries(C)}async function $(){try{let T=r.value;return {result:(await Promise.allSettled(Object.values(o.value).map(s=>s.$validate()))).every(s=>s.status==="fulfilled"?s.value.result===!0:!1),data:T}}catch{return {result:!1,data:r.value}}}let{$shortcuts:b,...q}=E;return reactive({...q,...b,$fields:o,$value:r,$resetAll:D,$reset:c,$touch:p,$validate:$,$unwatch:w,$watch:F,$clearExternalErrors:_,$extractDirtyFields:I})}function pe({rulesDef:e,externalErrors:r,...t}){return tt(e,t.state)?ct({rulesDef:e,externalErrors:r,...t}):et(t.state,e)&&Ke(t.state)?je({rulesDef:e,externalErrors:r,...t}):rt(e)?he({rulesDef:e,externalErrors:r,...t}):null}function Me({initialState:e,options:r,scopeRules:t,state:n,customRules:l,shortcuts:R}){let y=Pe();return reactive(je({rootRules:t,rulesDef:t,state:n,customMessages:l?.(),storage:y,options:r,externalErrors:r.externalErrors,validationGroups:r.validationGroups,initialState:e,shortcuts:R,fieldName:"root",path:""}))}function _e(e,r,t){let n={autoDirty:r?.autoDirty??!0,lazy:r?.lazy??!1,rewardEarly:r?.rewardEarly??!1,clearExternalErrorsOnChange:r?.clearExternalErrorsOnChange??!0};function l(R,y,m){let g=isRef(y)?y:computed(typeof y=="function"?y:()=>y),S={...n,...m},E=isRef(R)?R:ref(R),j={...B(E.value)};return {r$:Me({scopeRules:g,state:E,options:S,initialState:j,customRules:e,shortcuts:t})}}return l}var mt=_e();function Ve(){function e(r,t){return t}return e}var Ge=Ve();function yt({rules:e,modifiers:r,shortcuts:t}){let n=_e(e,r,t),l=Ve();return {useRegle:n,inferRules:l}}
|
|
2
2
|
export{xe as InternalRuleType,Ce as createRule,yt as defineRegleConfig,Ge as inferRules,U as unwrapRuleParameters,mt as useRegle};
|