@regle/core 1.1.0-beta.2 → 1.1.0-beta.3
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/regle-core.d.ts +203 -145
- package/dist/regle-core.min.mjs +2 -2
- package/dist/regle-core.mjs +59 -14
- package/package.json +8 -19
- package/dist/regle-core.cjs +0 -2710
- package/dist/regle-core.d.cts +0 -2536
- package/dist/regle-core.min.cjs +0 -2
- package/index.cjs +0 -7
- package/index.js +0 -7
package/dist/regle-core.min.cjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
'use strict';var vue=require('vue');function te(e,t=true){return e==null?true:e instanceof Date?isNaN(e.getTime()):e.constructor.name=="File"||e.constructor.name=="FileList"?e.size<=0:Array.isArray(e)?t?e.length===0:false:typeof e=="object"&&e!=null?Object.keys(e).length===0:!String(e).length}var bt=Symbol("regle-rule");function er(e){if(typeof e.source.flags=="string")return e.source.flags;{let t=[];return e.global&&t.push("g"),e.ignoreCase&&t.push("i"),e.multiline&&t.push("m"),e.sticky&&t.push("y"),e.unicode&&t.push("u"),t.join("")}}function N(e){let t=e,r={}.toString.call(e).slice(8,-1);if(r=="Set"&&(t=new Set([...e].map(n=>N(n)))),r=="Map"&&(t=new Map([...e].map(n=>[N(n[0]),N(n[1])]))),r=="Date"&&(t=new Date(e.getTime())),r=="RegExp"&&(t=RegExp(e.source,er(e))),r=="Array"||r=="Object"){t=Array.isArray(e)?[]:{};for(let n in e)t[n]=N(e[n]);}return t}function k(e){return e&&(e instanceof Date||e.constructor.name=="File"||e.constructor.name=="FileList")?false:typeof e=="object"&&e!==null&&!Array.isArray(e)}function qe(e){let t=Object.prototype.toString.call(e);return e==null?new Date(NaN):e instanceof Date||typeof e=="object"&&t==="[object Date]"?new Date(e.getTime()):typeof e=="number"||t==="[object Number]"?new Date(e):typeof e=="string"||t==="[object String]"?new Date(e):new Date(NaN)}function _e(e,t,r){let n,a=(...o)=>new Promise(i=>{clearTimeout(n),n=setTimeout(()=>{n=void 0,Promise.resolve(e.apply(this,[...o])).then(i);},t);});return a.cancel=()=>{clearTimeout(n),n=void 0;},a}var Je={Inline:"__inline",Async:"__async"};function Et(e,t){return e.some(r=>r[t])}function xt(e,t){return e.reduce((r,n)=>{let a=n[t]||[];return r.concat(a)},[])}function re(e){try{return e.map(t=>vue.toValue(t))}catch{return []}}function Dt(e){return e.map(t=>t instanceof Function?vue.computed(t):vue.isRef(t)?t:vue.toRef(()=>t))}function It(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(i=>i.trim()).filter(i=>i.length>0).length:0}function Ye(e,...t){let{validator:r,type:n}=e,a=n===Je.Async||r.constructor.name==="AsyncFunction";return {...{validator(c,...v){return e.validator(c,...re(v.length?v:t))},message(c){return typeof e.message=="function"?e.message({...c,$params:re(c?.$params?.length?c.$params:t)}):e.message},active(c){return typeof e.active=="function"?e.active({...c,$params:re(c?.$params?.length?c.$params:t)}):e.active??true},tooltip(c){return typeof e.tooltip=="function"?e.tooltip({...c,$params:re(c?.$params?.length?c.$params:t)}):e.tooltip??[]},exec(c){let v=e.validator(c,...re(t)),y;return v instanceof Promise?v.then(T=>(y=T,typeof y=="object"&&"$valid"in y?y.$valid:typeof y=="boolean"?y:false)):(y=v,typeof y=="object"&&"$valid"in y?y.$valid:typeof y=="boolean"?y:false)}},_validator:e.validator,_message:e.message,_active:e.active,_tooltip:e.tooltip,_type:e.type,_message_patched:false,_tooltip_patched:false,_async:a,_params:Dt(t),_brand:bt}}function Qe(e){if(typeof e.validator=="function"){let r=Ye(e,...[]),n=e.async??e.validator.constructor.name==="AsyncFunction";if(It(e.validator)>1){let a=function(...o){return Ye(e,...o)};return a.validator=r.validator,a.message=r.message,a.active=r.active,a.tooltip=r.tooltip,a.type=r.type,a.exec=r.exec,a._validator=r.validator,a._message=r.message,a._active=r.active,a._tooltip=r.tooltip,a._type=e.type,a._message_pacthed=false,a._tooltip_pacthed=false,a._async=n,a}else return r}throw new Error("Validator must be a function")}function Xe(){let e=vue.shallowRef(new Map),t=vue.shallowRef(new Map),r=vue.shallowRef(new Map),n=vue.shallowRef(new Map),a=vue.shallowRef(new Map),o=vue.shallowRef(new Map);function i(S){let E=t.value.get(S);if(E)return E;{let D=vue.ref({});return t.value.set(S,D),D}}function c(S){let E=r.value.get(S);if(E)return E;{let D=vue.ref([]);return r.value.set(S,D),D}}function v(S,E,D){o.value.set(`${S}-${E}`,D);}function y(S,E){return o.value.get(`${S}-${E}`)}function T(S,E){S&&E!=null&&o.value.delete(`${S}-${E}`);}function j(S,E){n.value.set(S,E);}function I(S){return n.value.get(S)??false}function M(S,E){e.value.set(S,E);}function w(S,E){let D=e.value.get(S);return D?O(E,D)?{valid:true}:{valid:false}:void 0}function O(S,E){let D=Object.keys(E),R=Object.keys(S);return R.length!==D.length||!R.every(f=>D.includes(f))?false:R.every(f=>{let s=S[f],h=E[f];return !h||!s||typeof s=="function"||typeof h=="function"||typeof s=="number"||typeof s=="boolean"?false:s._params?s._params?.every((V,B)=>{if(typeof h=="number"||typeof h=="boolean")return true;{let U=re(h._params),X=re(s._params);return U?.[B]===X?.[B]}}):true})}function l(S){let E=a.value.get(S);if(E)return E;{let D=vue.ref(false),R=vue.ref(true),b=vue.ref({}),f=vue.ref(false);return a.value.set(S,{$pending:D,$valid:R,$metadata:b,$validating:f}),{$pending:D,$valid:R,$metadata:b,$validating:f}}}return vue.getCurrentScope()&&vue.onScopeDispose(()=>{e.value.clear(),t.value.clear(),r.value.clear(),n.value.clear(),a.value.clear(),o.value.clear();}),{addRuleDeclEntry:M,setDirtyEntry:j,checkRuleDeclEntry:w,getDirtyState:I,trySetRuleStatusRef:l,getFieldsEntry:i,getCollectionsEntry:c,getArrayStatus:y,addArrayStatus:v,deleteArrayStatus:T,arrayStatusStorage:o}}function ke(e){return k(e.value)}function Ze(e,t,r){let n=vue.effectScope(),a;return e instanceof Function?a=n.run(()=>e(t,r??0)):a=e,{scope:n,unwrapped:a}}var Pe={LessThan:-1,EqualTo:0,GreaterThan:1};function ur(e,t){let r=String(e).split("."),n=String(t).split(".");for(let a=0;a<Math.min(r.length,n.length);a++){let o=Number(r[a]),i=Number(n[a]);if(o>i)return Pe.GreaterThan;if(i>o)return Pe.LessThan;if(!isNaN(o)&&isNaN(i))return Pe.GreaterThan;if(isNaN(o)&&!isNaN(i))return Pe.LessThan}return Pe.EqualTo}var Ne=ur(vue.version,"3.5.0")!==-1;function cr(){return Math.floor(Math.random()*Date.now()).toString()}function Se(){return typeof window>"u"?cr():window.crypto.getRandomValues(new Uint32Array(1))[0].toString(10)}function Ct(e){return vue.getCurrentScope()?(vue.onScopeDispose(e),true):false}function Ot(e){let t=false,r,n=vue.effectScope(true);return (...a)=>(t||(r=n.run(()=>e(...a)),t=true),r)}function Ge(e,t){return ke(e)||k(t.value)&&!te(t.value)&&!Object.entries(t.value).some(([r,n])=>ye(n)||typeof n=="function")}function wt(e,t,r=false){return !!e.value&&k(e.value)&&"$each"in e.value||r&&Array.isArray(t.value)&&t.value.some(k)||Array.isArray(t.value)&&t.value.some(k)}function Ue(e){return !!e.value&&k(e.value)}function ye(e){return k(e)&&"_validator"in e}function Ve(e){return typeof e.value!="function"}function Pt(e){return k(e)&&"$fields"in e}function Vt(e){return !!e&&"$rules"in e}function et({field:e,silent:t=false}){return Object.entries(e.$rules??{}).map(([r,n])=>t&&!n.$valid||!n.$valid&&e.$error&&!n.$validating?n.$message:null).filter(r=>!!r).reduce((r,n)=>typeof n=="string"?r?.concat([n]):r?.concat(n),[]).concat(e.$error?e.$externalErrors??[]:[]).concat(e.$error?e.$schemaErrors??[]:[])}function Mt({field:e}){return Object.entries(e.$rules??{}).map(([t,r])=>r.$tooltip).filter(t=>!!t).reduce((t,r)=>typeof r=="string"?t?.concat([r]):t?.concat(r),[])}function At(e){return k(e)&&"$each"in e}function tt(e,t){let{includePath:r=false}=t??{};if(Array.isArray(e)&&e.every(n=>!k(n)))return e;if(At(e)){let n=r?e.$self?.map(o=>({error:o,path:""}))??[]:e.$self??[],a=e.$each?.map(o=>We(o,r))??[];return n?.concat(a.flat())}else return Object.entries(e).map(([n,a])=>We(a,r,[n])).flat()}function We(e,t=false,r){let n=t&&!r?[]:r;if(Array.isArray(e)&&e.every(a=>!k(a)))return t?e.map(a=>({error:a,path:n?.join(".")??""})):e;if(At(e)){let a=n?.length?e.$self?.map(i=>({error:i,path:n.join(".")}))??[]:e.$self??[],o=e.$each?.map((i,c)=>We(i,t,n?.concat(c.toString())))??[];return a?.concat(o.flat())}else return Object.entries(e).map(([a,o])=>We(o,t,n?.concat(a))).flat()}function Ft({customMessages:e,rule:t,ruleKey:r,state:n,path:a,storage:o,$debounce:i,modifiers:c}){let v=vue.effectScope(),y={},T,j=vue.ref(false),{$pending:I,$valid:M,$metadata:w,$validating:O}=o.trySetRuleStatusRef(`${a}.${r}`);function l(){v=vue.effectScope(),y=v.run(()=>{let s=vue.ref(false),h=vue.ref(false),V=vue.ref(true),B=vue.ref(false),U=vue.ref(false),X=vue.computed(()=>({$value:n.value,$error:h.value,$dirty:s.value,$pending:B.value,$correct:U.value,$invalid:V.value,$rule:{$valid:M.value,$invalid:!M.value,$pending:I.value},$params:p.value,...w.value})),oe=vue.computed(()=>Ve(t)?typeof t.value.active=="function"?t.value.active(X.value):!!t.value.active:true);function C(x){let A="",K=e?e[r]?.[x]:void 0;if(K&&(typeof K=="function"?A=K(X.value):A=K),Ve(t)){let m=`_${x}_patched`;K&&!t.value[m]||(typeof t.value[x]=="function"?A=t.value[x](X.value):A=t.value[x]??"");}return A}let z=vue.computed(()=>{let x=C("message");return te(x)&&(x="This field is not valid"),x}),me=vue.computed(()=>C("tooltip")),ue=vue.computed(()=>Ve(t)&&t.value.type?t.value.type:r),u=vue.computed(()=>Ve(t)?t.value.validator:t.value),p=vue.computed(()=>typeof t.value=="function"?[]:re(t.value._params??[])),d=vue.computed(()=>`${a}.${ue.value}`);return {$active:oe,$message:z,$type:ue,$validator:u,$params:p,$path:d,$tooltip:me,$fieldCorrect:U,$fieldError:h,$fieldDirty:s,$fieldPending:B,$fieldInvalid:V}}),T=vue.watch(y?.$params,()=>{(c.$autoDirty.value||c.$rewardEarly.value&&y.$fieldError.value)&&R();});}l();function S(){M.value=true,y.$fieldDirty.value&&(I.value=true);}async function E(){let s=false;try{let h=y.$validator.value;if(typeof h!="function")return console.error(`${a}: Incorrect rule format, it needs to be either a function or created with "createRule".`),!1;let V=h(n.value,...y.$params.value),B=n.value;S();let U;if(V instanceof Promise?U=await V:U=V,n.value!==B)return !0;if(typeof U=="boolean")s=U;else {let{$valid:X,...oe}=U;s=X,w.value=oe;}}catch{s=false;}finally{I.value=false;}return s}let D=_e(E,i??200);async function R(){try{O.value=!0;let s=!1;if(ye(t.value)&&t.value._async)s=await D();else {let h=y.$validator.value,V=h(n.value,...y.$params.value);if(V 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(V!=null)if(typeof V=="boolean")s=V;else {let{$valid:B,...U}=V;s=B,w.value=U;}}return M.value=s,s}catch{return false}finally{O.value=false;}}function b(){M.value=true,w.value={},I.value=false,O.value=false,l();}function f(){T(),v.stop(),v=vue.effectScope();}return vue.reactive({...y,$pending:I,$valid:M,$metadata:w,$haveAsync:j,$validating:O,$parse:R,$unwatch:f,$watch:l,$reset:b})}function be({state:e,rulesDef:t,customMessages:r,path:n,fieldName:a,storage:o,options:i,externalErrors:c,schemaErrors:v,schemaMode:y,onUnwatch:T,$isArray:j,initialState:I,shortcuts:M,onValidate:w}){let O=vue.effectScope(),l,S=[],E,D,R,b,f,s=()=>{};function h(){let $=t.value,F=o.checkRuleDeclEntry(n,$);z.value=Object.fromEntries(Object.entries($).filter(([g])=>g.startsWith("$"))),U(),C.value=Object.fromEntries(Object.entries(t.value).filter(([g])=>!g.startsWith("$")).map(([g,ee])=>{if(ee){let se=vue.toRef(()=>ee);return [g,Ft({modifiers:{$autoDirty:l.$autoDirty,$rewardEarly:l.$rewardEarly},customMessages:r,rule:se,ruleKey:g,state:e,path:n,storage:o,$debounce:z.value.$debounce})]}return []}).filter(g=>!!g.length)),l.processShortcuts(),V(),F?.valid!=null&&(l.$dirty.value=o.getDirtyState(n),(l.$dirty.value&&l.$autoDirty.value||l.$rewardEarly.value&&l.$error.value)&&s()),o.addRuleDeclEntry(n,$);}function V(){s=l.$debounce.value?_e(oe,l.$debounce.value??l.$haveAnyAsyncRule?100:0):oe;}function B(){C.value&&Object.entries(C.value).forEach(([$,F])=>{F.$unwatch();}),R(),f?.(),l.$dirty.value&&o.setDirtyEntry(n,l.$dirty.value),E?.(),D?.(),O.stop(),O=vue.effectScope(),S.forEach($=>$.stop()),S=[],T?.(),b?.();}function U(){C.value&&Object.entries(C.value).forEach(([$,F])=>{F.$watch();}),l=O.run(()=>{let $=vue.ref(false),F=vue.ref(false),g=vue.computed(()=>$.value),ee=vue.computed(()=>z.value.$debounce),se=vue.computed(()=>z.value.$lazy!=null?z.value.$lazy:vue.unref(i.lazy)!=null?vue.unref(i.lazy):false),le=vue.computed(()=>z.value.$rewardEarly!=null?z.value.$rewardEarly:vue.unref(i.rewardEarly)!=null?vue.unref(i.rewardEarly):false),W=vue.computed(()=>z.value.$clearExternalErrorsOnChange!=null?z.value.$clearExternalErrorsOnChange:vue.unref(i.clearExternalErrorsOnChange)!=null?vue.unref(i.clearExternalErrorsOnChange):true),P=vue.computed(()=>z.value.$autoDirty!=null?z.value.$autoDirty:vue.unref(i.autoDirty)!=null?vue.unref(i.autoDirty):!le.value),H=vue.computed(()=>Object.entries(C.value).some(([ie,Q])=>Q.$validating)),Oe=vue.computed({get:()=>e.value,set(ie){E(),e.value=ie,X();}}),Fe=vue.computed(()=>ge.value&&!we.value&&$.value),dt=vue.computed(()=>et({field:{$rules:C.value,$error:Fe.value,$externalErrors:c?.value,$schemaErrors:v?.value}})),pt=vue.computed(()=>et({field:{$rules:C.value,$error:Fe.value,$externalErrors:c?.value,$schemaErrors:v?.value},silent:true})),ze=vue.computed(()=>$.value?I.value instanceof Date&&e.value instanceof Date?qe(I.value).getDate()!==qe(e.value).getDate():I.value==null?!!e.value:Array.isArray(e.value)&&Array.isArray(I.value)?e.value.length!==I.value.length:I.value!==e.value:false),yt=vue.computed(()=>ze.value),mt=vue.computed(()=>Mt({field:{$rules:C.value}})),gt=vue.computed(()=>P.value?g.value&&!(ge.value||we.value):!(ge.value||we.value)),we=vue.computed(()=>F.value||!le.value?Object.entries(C.value).some(([ie,Q])=>Q.$pending):false),ge=vue.computed(()=>c?.value?.length||v?.value?.length?true:je.value?false:!le.value||le.value&&F.value?Object.entries(C.value).some(([ie,Q])=>!Q.$valid):false),vt=vue.computed(()=>a),je=vue.computed(()=>!!(te(C.value)&&!y)),$t=vue.computed(()=>c?.value?.length||je.value?false:$.value&&!te(e.value)&&!H.value?y?!v?.value?.length:Object.values(C.value).some(Q=>Q.$active)?Object.values(C.value).filter(Q=>Q.$active).every(Q=>Q.$valid):false:false),Xt=vue.computed(()=>Object.entries(C.value).some(([ie,Q])=>Q.$haveAsync));function Zt(){M?.fields&&Object.entries(M.fields).forEach(([ie,Q])=>{let Tt=vue.effectScope();St[ie]=Tt.run(()=>{let ht=vue.ref();return vue.watchEffect(()=>{ht.value=Q(vue.reactive({$dirty:$,$externalErrors:c?.value??[],$value:e,$silentValue:Oe,$rules:C,$error:Fe,$pending:we,$invalid:ge,$correct:$t,$errors:dt,$ready:gt,$silentErrors:pt,$anyDirty:g,$tooltips:mt,$name:vt,$inactive:je,$edited:ze,$anyEdited:yt}));}),ht}),S.push(Tt);});}let St={};return vue.watch(ge,ie=>{ie||(F.value=false);}),{$error:Fe,$pending:we,$invalid:ge,$correct:$t,$debounce:ee,$lazy:se,$errors:dt,$ready:gt,$silentErrors:pt,$rewardEarly:le,$autoDirty:P,$clearExternalErrorsOnChange:W,$anyDirty:g,$edited:ze,$anyEdited:yt,$name:vt,$haveAnyAsyncRule:Xt,$shortcuts:St,$validating:H,$tooltips:mt,$dirty:$,triggerPunishment:F,processShortcuts:Zt,$silentValue:Oe,$inactive:je}}),X(),R=vue.watch(l.$dirty,$=>{o.setDirtyEntry(n,$),Object.values(C.value).forEach(F=>{F.$fieldDirty=$;});}),f=vue.watch([l.$error,l.$correct,l.$invalid,l.$pending],()=>{Object.values(C.value).forEach($=>{$.$fieldError=l.$error.value,$.$fieldInvalid=l.$invalid.value,$.$fieldPending=l.$pending.value,$.$fieldCorrect=l.$correct.value;});}),D=vue.watch(l.$invalid,$=>{l.$rewardEarly.value&&!$&&(l.triggerPunishment.value=false);}),b=vue.watch(l.$haveAnyAsyncRule,V);}function X(){E=vue.watch(e,()=>{l.$autoDirty.value&&(l.$dirty.value||(l.$dirty.value=true)),t.value instanceof Function&&h(),(l.$autoDirty.value||l.$rewardEarly.value&&l.$error.value)&&s(),l.$rewardEarly.value!==true&&l.$clearExternalErrorsOnChange.value&&d();},{deep:j?true:Ne?1:true});}function oe(){Object.values(C.value).forEach($=>{$.$parse();});}let C=vue.ref({}),z=vue.ref({});h();function me($,F){if(d(),l.$dirty.value=false,l.triggerPunishment.value=false,o.setDirtyEntry(n,false),!F)if($?.toInitialState)B(),e.value=N(I);else if($?.toState){B();let g;typeof $?.toState=="function"?g=$?.toState():g=$?.toState,I.value=N(g),e.value=N(g);}else I.value=k(e.value)?N(e.value):Array.isArray(e.value)?[...e.value]:e.value;$?.clearExternalErrors&&d(),F||Object.entries(C.value).forEach(([g,ee])=>{ee.$reset();}),!l.$lazy.value&&l.$autoDirty.value&&Object.values(C.value).forEach(g=>g.$parse()),F||h();}function ue($=true,F=false){l.$dirty.value||(l.$dirty.value=true),F&&$?(l.$autoDirty.value||l.$rewardEarly.value&&l.$error.value)&&s():$&&s();}async function u(){try{if(y)return w?(ue(!1),w()):{valid:!1,data:e.value};let $=e.value;if(l.triggerPunishment.value=!0,!l.$dirty.value)l.$dirty.value=!0;else if(l.$autoDirty.value&&l.$dirty.value&&!l.$pending.value)return {valid:!l.$error.value,data:$};return y?{valid:!v?.value?.length,data:$}:te(C.value)?{valid:!0,data:$}:{valid:(await Promise.allSettled(Object.entries(C.value).map(([ee,se])=>se.$parse()))).every(ee=>ee.status==="fulfilled"?ee.value===!0:!1),data:$}}catch{return {valid:false,data:e.value}}}function p($=true){return l.$dirty.value?e.value:$?{_null:true}:null}function d(){c?.value?.length&&(c.value=[]);}!l.$lazy.value&&!l.$dirty.value&&l.$autoDirty.value&&s();let{$shortcuts:x,$validating:A,$autoDirty:K,$rewardEarly:m,$clearExternalErrorsOnChange:_,$haveAnyAsyncRule:q,$debounce:Z,$lazy:Y,triggerPunishment:fe,...ce}=l;return vue.reactive({...ce,$externalErrors:c,$value:e,$rules:C,...x,$reset:me,$touch:ue,$validate:u,$unwatch:B,$watch:U,$extractDirtyFields:p,$clearExternalErrors:d})}function at({$id:e,path:t,index:r,options:n,storage:a,stateValue:o,customMessages:i,rules:c,externalErrors:v,schemaErrors:y,initialState:T,shortcuts:j,fieldName:I,schemaMode:M}){let w=c.$key?c.$key:Se(),O=`${t}.${String(w)}`;typeof o.value=="object"&&o.value!=null&&(o.value.$id?O=`${t}.${o.value.$id}`:Object.defineProperties(o.value,{$id:{value:w,enumerable:false,configurable:false,writable:false}}));let l=vue.toRef(v?.value??[],r),S=vue.computed(()=>y?.value?.[r]),E=Ee({state:o,rulesDef:vue.toRef(()=>c),customMessages:i,path:O,storage:a,options:n,externalErrors:l,schemaErrors:S,initialState:T,shortcuts:j,fieldName:I,schemaMode:M});if(E){let D=o.value?.$id;E.$id=D??String(w),a.addArrayStatus(e,E.$id,E);}return E}function Nt({state:e,rulesDef:t,customMessages:r,path:n,storage:a,options:o,externalErrors:i,schemaErrors:c,schemaMode:v,initialState:y,shortcuts:T,fieldName:j}){let I=vue.effectScope(),M,w=vue.effectScope(),O,l=[];if(!Array.isArray(e.value)&&!t.value.$each)return;let S=vue.ref(),E=vue.ref(e.value),D,R=vue.ref({}),b=a.getCollectionsEntry(n);O=w.run(()=>({isPrimitiveArray:vue.computed(()=>Array.isArray(e.value)&&e.value.length?e.value.every(p=>typeof p!="object"):t.value.$each&&!(t.value.$each instanceof Function)?Object.values(t.value.$each).every(p=>ye(p)||typeof p=="function"):false)})),f(),V();function f(){typeof e.value=="object"&&(e.value!=null&&!e.value?.$id&&e.value!==null?(S.value=Se(),Object.defineProperties(e.value,{$id:{value:S.value,enumerable:false,configurable:false,writable:false}})):e.value?.$id&&(S.value=e.value.$id)),E.value=R.value.$value,Array.isArray(e.value)&&!O.isPrimitiveArray.value?b.value=e.value.filter(u=>typeof u=="object").map((u,p)=>{let{scope:d,unwrapped:x}=Ze(t.value.$each,vue.toRef(()=>u),p);d&&l.push(d);let A=vue.toRef(y.value??[],p),K=vue.toRef(i?.value??{},"$each"),m=vue.computed(()=>c?.value?.$each),_=at({$id:S.value,path:n,customMessages:r,rules:x??{},stateValue:vue.toRef(()=>u),index:p,options:o,storage:a,externalErrors:K,schemaErrors:m,initialState:A,shortcuts:T,fieldName:j,schemaMode:v});return _||null}).filter(u=>!!u):b.value=[],R.value=be({state:e,rulesDef:t,customMessages:r,path:n,storage:a,options:o,externalErrors:vue.toRef(i?.value??{},"$self"),schemaErrors:vue.computed(()=>c?.value?.$self),$isArray:true,initialState:y,shortcuts:T,fieldName:j,schemaMode:v});}function s(){if(Array.isArray(e.value)&&!O.isPrimitiveArray.value){let u=N(b.value);b.value=e.value.filter(p=>typeof p=="object").map((p,d)=>{let x=vue.toRef(()=>p);if(p.$id&&b.value.find(A=>A.$id===p.$id)){let A=a.getArrayStatus(S.value,p.$id);return A?(A.$value=x,A):null}else {let{scope:A,unwrapped:K}=Ze(t.value.$each,x,d);A&&l.push(A);let m=vue.toRef(i?.value??{},"$each"),_=vue.computed(()=>c?.value?.$each??[]),q=at({$id:S.value,path:n,customMessages:r,rules:K??{},stateValue:x,index:d,options:o,storage:a,externalErrors:m,schemaErrors:_,initialState:vue.toRef(y.value??[],d),shortcuts:T,fieldName:j,schemaMode:v});return q||null}}).filter(p=>!!p),u.filter(p=>!e.value?.find(d=>p.$id===d.$id)).forEach((p,d)=>{a.deleteArrayStatus(S.value,d.toString());});}else b.value=[];}function h(){D=vue.watch(e,()=>{e.value!=null&&!Object.hasOwn(e.value,"$id")?f():s();},{deep:Ne?1:true,flush:"pre"});}function V(){h(),I=vue.effectScope(),M=I.run(()=>{let u=vue.computed({get:()=>e.value,set(g){D(),e.value=g,h();}}),p=vue.computed(()=>R.value.$dirty&&(!b.value.length||b.value.every(g=>g.$dirty))),d=vue.computed(()=>R.value.$anyDirty||b.value.some(g=>g.$anyDirty)),x=vue.computed(()=>R.value.$invalid||b.value.some(g=>g.$invalid)),A=vue.computed(()=>(te(R.value.$rules)?true:R.value.$correct)&&(!b.value.length||b.value.every(g=>g.$correct||g.$anyDirty&&!g.$invalid))),K=vue.computed(()=>R.value.$error||b.value.some(g=>g.$error)),m=vue.computed(()=>!(x.value||_.value)),_=vue.computed(()=>R.value.$pending||b.value.some(g=>g.$pending)),q=vue.computed(()=>!!b.value.length&&b.value.every(g=>g.$edited)),Z=vue.computed(()=>R.value.$anyEdited||b.value.some(g=>g.$anyEdited)),Y=vue.computed(()=>({$self:R.value.$errors,$each:b.value.map(g=>g.$errors)})),fe=vue.computed(()=>({$self:R.value.$silentErrors,$each:b.value.map(g=>g.$silentErrors)})),ce=vue.computed(()=>j);function $(){T?.collections&&Object.entries(T?.collections).forEach(([g,ee])=>{let se=vue.effectScope();F[g]=se.run(()=>{let le=vue.ref();return vue.watchEffect(()=>{le.value=ee(vue.reactive({$dirty:p,$error:K,$silentValue:u,$pending:_,$invalid:x,$correct:A,$errors:Y,$ready:m,$silentErrors:fe,$anyDirty:d,$name:ce,$each:b,$self:R,$value:e,$edited:q,$anyEdited:Z}));}),le}),l.push(se);});}let F={};return $(),{$dirty:p,$anyDirty:d,$invalid:x,$correct:A,$error:K,$pending:_,$errors:Y,$silentErrors:fe,$ready:m,$name:ce,$shortcuts:F,$silentValue:u,$edited:q,$anyEdited:Z}}),O.isPrimitiveArray.value&&t.value.$each&&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`);}function B(){D&&D(),R.value&&R.value.$unwatch(),b.value&&b.value.forEach(u=>{"$dirty"in u&&u.$unwatch();}),I.stop(),I=vue.effectScope(),w.stop(),w=vue.effectScope(true),l.forEach(u=>u.stop()),l=[];}function U(u=true,p=false){R.value.$touch(u,p),b.value.forEach(d=>{d.$touch(u,p);});}function X(u,p){if(B(),!p)if(u?.toInitialState)e.value=N(y.value);else if(u?.toState){let d;typeof u?.toState=="function"?d=u?.toState():d=u?.toState,y.value=N(d),e.value=N(d);}else y.value=N(e.value);u?.clearExternalErrors&&C(),R.value.$reset(),b.value.forEach(d=>{d.$reset(u,true);}),p||f();}async function oe(){let u=e.value;try{return {valid:(await Promise.allSettled([R.value.$validate(),...b.value.map(x=>x.$validate())])).every(x=>x.status==="fulfilled"?x.value.valid===!0:!1),data:u}}catch{return {valid:false,data:u}}}function C(){R.value.$clearExternalErrors(),b.value.forEach(u=>{u.$clearExternalErrors();});}function z(u=true){let p=b.value.map(d=>{if(Pt(d))return d.$extractDirtyFields(u)});return u&&p.every(d=>te(d))&&(p=[]),p}let{$shortcuts:me,...ue}=M;return vue.reactive({$self:R,...ue,...me,$each:b,$value:e,$validate:oe,$unwatch:B,$watch:V,$touch:U,$reset:X,$extractDirtyFields:z,$clearExternalErrors:C})}function Be({rulesDef:e,state:t,path:r="",rootRules:n,externalErrors:a,schemaErrors:o,rootSchemaErrors:i,validationGroups:c,initialState:v,fieldName:y,...T}){let j=vue.effectScope(),I,M=[],w=null,O=null,l=null,S=null;async function D(u=true){let p=Object.entries(e.value),d=Object.fromEntries(p.filter(([m,_])=>!!_).map(([m,_])=>{if(_){let q=vue.toRef(t.value??{},m),Z=vue.toRef(()=>_),Y=vue.toRef(a?.value??{},m),fe=vue.computed(()=>o?.value?.[m]),ce=vue.toRef(v?.value??{},m);return [m,Ee({state:q,rulesDef:Z,path:r?`${r}.${m}`:m,externalErrors:Y,schemaErrors:fe,initialState:ce,fieldName:m,...T})]}return []})),x=Object.fromEntries(Object.entries(vue.unref(a)??{}).filter(([m,_])=>!(m in e.value)&&!!_).map(([m])=>{let _=vue.toRef(t.value??{},m),q=vue.toRef(a?.value??{},m),Z=vue.computed(()=>o?.value?.[m]),Y=vue.toRef(v?.value??{},m);return [m,Ee({state:_,rulesDef:vue.computed(()=>({})),path:r?`${r}.${m}`:m,externalErrors:q,schemaErrors:Z,initialState:Y,fieldName:m,...T})]})),A=Object.fromEntries(Object.entries(vue.unref(o)??{}).map(([m])=>{let _=vue.toRef(t.value??{},m),q=vue.toRef(a?.value??{},m),Z=vue.computed(()=>o?.value?.[m]),Y=vue.toRef(v?.value??{},m);return [m,Ee({state:_,rulesDef:vue.computed(()=>({})),path:r?`${r}.${m}`:m,externalErrors:q,schemaErrors:Z,initialState:Y,fieldName:m,...T})]})),K=Object.fromEntries(Object.entries(t.value??{}).filter(([m])=>!(m in e.value)&&!(m in(x??{}))&&!(m in(A??{}))).map(([m])=>{let _=vue.toRef(t.value??{},m),q=vue.toRef(a?.value??{},m),Z=vue.computed(()=>o?.value?.[m]),Y=vue.toRef(v?.value??{},m);return [m,Ee({state:_,rulesDef:vue.computed(()=>({})),path:r?`${r}.${m}`:m,externalErrors:q,schemaErrors:Z,initialState:Y,fieldName:m,...T})]}));R.value={...d,...x,...A,...K},u&&s();}let R=T.storage.getFieldsEntry(r);D();function b(){a&&(l=vue.watch(a,()=>{h(),D();},{deep:true}));}function f(){S=vue.watch(t,()=>{h(),D(),U(true,true);},{flush:"sync"});}function s(){n&&(w?.(),w=vue.watch(n,()=>{h(),D();},{deep:true,flush:"pre"}),b()),i&&(O?.(),O=vue.watch(i,()=>{h(),D();},{deep:true,flush:"post"})),f(),I=j.run(()=>{let u=vue.computed({get:()=>t.value,set(W){h(),t.value=W,D();}}),p=vue.computed(()=>!!Object.entries(R.value).length&&Object.entries(R.value).every(([W,P])=>P?.$dirty)),d=vue.computed(()=>Object.entries(R.value).some(([W,P])=>P?.$anyDirty)),x=vue.computed(()=>!!Object.entries(R.value).length&&Object.entries(R.value).some(([W,P])=>P?.$invalid)),A=vue.computed(()=>{let W=Object.entries(R.value).filter(([P,H])=>Vt(H)?!H.$inactive:true);return W.length?W.every(([P,H])=>H?.$correct||H.$anyDirty&&!H.$invalid):false}),K=vue.computed(()=>!!Object.entries(R.value).length&&Object.entries(R.value).some(([W,P])=>P?.$error)),m=vue.computed(()=>vue.unref(T.options.rewardEarly)!=null?vue.unref(T.options.rewardEarly):false),_=vue.computed(()=>vue.unref(T.options.autoDirty)!=null?vue.unref(T.options.autoDirty):!m.value),q=vue.computed(()=>_.value?d.value&&!(x.value||Y.value):!(x.value||Y.value)),Z=vue.ref(false),Y=vue.computed(()=>Z.value||Object.entries(R.value).some(([W,P])=>P?.$pending)),fe=vue.computed(()=>Object.fromEntries(Object.entries(R.value).map(([W,P])=>[W,P?.$errors]))),ce=vue.computed(()=>Object.fromEntries(Object.entries(R.value).map(([W,P])=>[W,P?.$silentErrors]))),$=vue.computed(()=>!!Object.entries(R.value).length&&Object.entries(R.value).every(([W,P])=>P?.$edited)),F=vue.computed(()=>Object.entries(R.value).some(([W,P])=>P?.$anyEdited)),g=vue.computed(()=>y);function ee(){T.shortcuts?.nested&&Object.entries(T.shortcuts.nested).forEach(([W,P])=>{let H=vue.effectScope();le[W]=H.run(()=>{let Oe=vue.ref();return vue.watchEffect(()=>{Oe.value=P(vue.reactive({$dirty:p,$value:t,$silentValue:u,$error:K,$pending:Y,$invalid:x,$correct:A,$ready:q,$anyDirty:d,$name:g,$silentErrors:ce,$errors:fe,$fields:R,$edited:$,$anyEdited:F}));}),Oe}),M.push(H);});}let se=vue.computed({get:()=>c?Object.fromEntries(Object.entries(c?.(R.value)??{}).map(([W,P])=>P.length?[W,{...Object.fromEntries(["$invalid","$error","$pending","$dirty","$correct"].map(H=>[H,Et(P,H)])),...Object.fromEntries(["$errors","$silentErrors"].map(H=>[H,xt(P,H)]))}]:[])):{},set(){}}),le={};return ee(),{$dirty:p,$anyDirty:d,$invalid:x,$correct:A,$error:K,$pending:Y,$errors:fe,$silentErrors:ce,$ready:q,$name:g,$shortcuts:le,$groups:se,$silentValue:u,$edited:$,$anyEdited:F,$localPending:Z}});}function h(){w?.(),l?.(),S?.(),O?.(),M=[],I={},R.value&&Object.entries(R.value).forEach(([u,p])=>{p.$unwatch();});}function V(){Object.entries(R.value).forEach(([u,p])=>{p.$clearExternalErrors();});}function B(u,p){if(l?.(),h(),!p)if(u?.toInitialState)t.value=N({...v.value??{}});else if(u?.toState){let d;typeof u?.toState=="function"?d=u?.toState():d=u?.toState,v.value=N(d),t.value=N(d);}else v.value=N(t.value);Object.values(R.value).forEach(d=>{d.$reset(u,true);}),u?.clearExternalErrors&&V(),b(),p||D();}function U(u=true,p=false){Object.values(R.value).forEach(d=>{d.$touch(u,p);});}function X(u){return u.filter(([p,d])=>k(d)?!(d&&typeof d=="object"&&"_null"in d)&&!te(d):Array.isArray(d)?d.length:true)}function oe(u=true){let p=Object.entries(R.value).map(([d,x])=>[d,x.$extractDirtyFields(u)]);return u&&(p=X(p)),Object.fromEntries(p)}async function C(){try{if(T.schemaMode)return T.onValidate?(U(!1),I.$localPending.value=!0,T.onValidate()):{valid:!1,data:t.value};{let u=t.value;return {valid:(await Promise.allSettled(Object.values(R.value).map(x=>x.$validate()))).every(x=>x.status==="fulfilled"?x.value.valid===!0:!1),data:u}}}catch{return {valid:false,data:t.value}}finally{I.$localPending.value=false;}}let{$shortcuts:z,$localPending:me,...ue}=I;return vue.reactive({...ue,...z,$fields:R,$value:t,$reset:B,$touch:U,$validate:C,$unwatch:h,$watch:s,$clearExternalErrors:V,$extractDirtyFields:oe})}function Ee({rulesDef:e,...t}){if(wt(e,t.state,t.schemaMode))return Nt({rulesDef:e,...t});if(Ge(t.state,e)){if(ke(t.state))return Be({rulesDef:e,...t});{let n=vue.effectScope().run(()=>{let i=vue.toRef(t.state.value?t.state:vue.ref({}));return vue.watch(()=>t.state.value,c=>{i.value=c;},{deep:true}),vue.watch(i,c=>{t.state.value=c;},{deep:true}),{fakeState:i}}),{state:a,...o}=t;return Be({rulesDef:e,...o,state:n.fakeState})}}else if(Ue(e))return be({rulesDef:e,...t})}function Ce({initialState:e,options:t,scopeRules:r,state:n,customRules:a,shortcuts:o,schemaErrors:i,schemaMode:c=false,onValidate:v}){let y=Xe(),T=vue.ref();return Ge(n,r)?T.value=Be({rootRules:r,rulesDef:r,state:n,customMessages:a?.(),storage:y,options:t,externalErrors:t.externalErrors,validationGroups:t.validationGroups,initialState:e,shortcuts:o,fieldName:"root",path:"",schemaErrors:i,rootSchemaErrors:i,schemaMode:c,onValidate:v}):Ue(r)&&(T.value=be({rulesDef:r,state:n,customMessages:a?.(),storage:y,options:t,externalErrors:t.externalErrors,initialState:e,shortcuts:o,fieldName:"root",path:"",schemaMode:c,schemaErrors:i,onValidate:v})),vue.getCurrentScope()&&vue.onScopeDispose(()=>{T.value?.$unwatch();}),vue.reactive({regle:T})}function st(e,t,r){let n={autoDirty:t?.autoDirty,lazy:t?.lazy,rewardEarly:t?.rewardEarly,clearExternalErrorsOnChange:t?.clearExternalErrorsOnChange};function a(o,i,c){let v=vue.isRef(i)?i:vue.computed(typeof i=="function"?i:()=>i),y={...n,...c},T=vue.isRef(o)?o:vue.ref(o),j=vue.ref(k(T.value)?{...N(T.value)}:N(T.value));return {r$:Ce({scopeRules:v,state:T,options:y,initialState:j,customRules:e,shortcuts:r}).regle}}return a}var Ke=st();function it(){function e(t,r){return r}return e}var ut=it();function Lt({rules:e,modifiers:t,shortcuts:r}){let n=st(e,t,r),a=it();return {useRegle:n,inferRules:a}}function Ae(e,t){let r=t??false,n=vue.computed({get:()=>r?Object.values(e).map(f=>f.$value):Object.fromEntries(Object.entries(e).map(([f,s])=>[f,s.$value])),set:f=>{r||typeof f=="object"&&Object.entries(f).forEach(([s,h])=>e[s].$value=h);}}),a=vue.computed({get:()=>Object.fromEntries(Object.entries(e).map(([f,s])=>[f,s.$silentValue])),set:f=>{typeof f=="object"&&Object.entries(f).forEach(([s,h])=>e[s].$silentValue=h);}}),o=vue.computed(()=>{let f=Object.entries(e);return !!f.length&&f.every(([s,h])=>h?.$dirty)}),i=vue.computed(()=>Object.entries(e).some(([f,s])=>s?.$anyDirty)),c=vue.computed(()=>Object.entries(e).some(([f,s])=>s?.$invalid)),v=vue.computed(()=>{let f=Object.entries(e);return !!f.length&&f.every(([s,h])=>h?.$correct||h.$anyDirty&&!h.$invalid)}),y=vue.computed(()=>Object.entries(e).some(([f,s])=>s?.$error)),T=vue.computed(()=>{let f=Object.entries(e);return !!f.length&&f.every(([s,h])=>h?.$ready)}),j=vue.computed(()=>Object.entries(e).some(([f,s])=>s?.$pending)),I=vue.computed(()=>r?Object.entries(e).map(([f,s])=>s.$errors):Object.fromEntries(Object.entries(e).map(([f,s])=>[f,s.$errors]))),M=vue.computed(()=>r?Object.entries(e).map(([f,s])=>s.$silentErrors):Object.fromEntries(Object.entries(e).map(([f,s])=>[f,s.$silentErrors]))),w=vue.computed(()=>{let f=Object.entries(e);return !!f.length&&f.every(([s,h])=>h?.$edited)}),O=vue.computed(()=>Object.entries(e).some(([f,s])=>s?.$anyEdited)),l=vue.computed(()=>r?Object.values(e):e);function S(f){Object.values(e).forEach(s=>{s.$reset(f);});}function E(){Object.values(e).forEach(f=>{f.$touch();});}function D(f=true){return Object.values(e).map(s=>s.$extractDirtyFields(f))}function R(){Object.values(e).forEach(f=>{f.$clearExternalErrors();});}async function b(){try{let f=n.value;return {valid:(await Promise.allSettled(Object.values(e).map(V=>V.$validate()))).every(V=>V.status==="fulfilled"?V.value.valid===!0:!1),data:f}}catch{return {valid:false,data:n.value}}}return vue.reactive({...!r&&{$silentValue:a},$errors:I,$silentErrors:M,$instances:l,$value:n,$dirty:o,$anyDirty:i,$invalid:c,$correct:v,$error:y,$pending:j,$ready:T,$edited:w,$anyEdited:O,$reset:S,$touch:E,$validate:b,$extractDirtyFields:D,$clearExternalErrors:R})}function Kt(e){function t(r){let n=vue.computed(()=>vue.toValue(r));i();let a=vue.ref(c(e.value)),o=vue.reactive({r$:a});function i(){n.value&&!e.value[n.value]&&(e.value[n.value]={});}vue.watch(n,i),vue.watch(e,v=>{a.value=c(v);},{deep:true});function c(v){if(n.value){let y=v[n.value]??{};return Ae(y,true)}else return Ae(v["~~global"]??{},true)}return {r$:o.r$}}return {useCollectScope:t}}function qt(e,t){let r=t??Ke;return {useScopedRegle:(a,o,i)=>{let{namespace:c,...v}=i??{},y=vue.computed(()=>vue.toValue(c)),T=vue.ref(`${Object.keys(e.value).length+1}-${Se()}`),j=vue.computed(()=>`instance-${T.value}`),{r$:I}=r(a,o,v);w(),Ct(M),vue.watch(y,(O,l)=>{M(l),w();}),vue.getCurrentInstance()&&vue.onMounted(()=>{let O=vue.getCurrentInstance();typeof window<"u"&&O?.proxy?.$el?.parentElement&&document.documentElement&&!document.documentElement.contains(O?.proxy?.$el?.parentElement)&&M();});function M(O){let l=O??y.value;l?e.value[l]&&delete e.value[l][j.value]:e.value["~~global"][j.value]&&delete e.value["~~global"][j.value];}function w(){y.value?(e.value[y.value]||(e.value[y.value]={}),e.value[y.value][j.value]=I):(e.value["~~global"]||(e.value["~~global"]={}),e.value["~~global"][j.value]=I);}return {r$:I,dispose:M,register:w}}}}function He(e){let r=(e?.customStore?()=>(e.customStore&&(e.customStore?.value["~~global"]?e.customStore?.value&&(e.customStore.value={"~~global":{}}):e.customStore.value["~~global"]={}),e.customStore):Ot(()=>vue.ref({"~~global":{}})))(),{useScopedRegle:n}=qt(r,e?.customUseRegle),{useCollectScope:a}=Kt(r);return {useScopedRegle:n,useCollectScope:a}}var {useCollectScope:ct,useScopedRegle:ft}=He();function Yt(e,t,r){let n=vue.computed(()=>vue.toValue(e)[t]);return vue.computed(()=>{let o=r.find(i=>{if(i[t]&&"literal"in i[t]){let c=i[t].literal;if(ye(c))return vue.unref(c._params?.[0])===n.value}});if(o)return o;{let i=r.find(c=>k(c[t])&&!Object.keys(c[t]).some(v=>v==="literal"));return i||{}}})}function Rt(e,t,r){return k(e[t])&&"$value"in e[t]&&e[t]?.$value===r}function Qt(e,t,r){let n;return Rt(e,t,r)&&(n=vue.toRef(e)),n}
|
|
2
|
-
exports.InternalRuleType=Je;exports.createRule=Qe;exports.createScopedUseRegle=He;exports.createVariant=Yt;exports.defineRegleConfig=Lt;exports.discriminateVariant=Rt;exports.flatErrors=tt;exports.inferRules=ut;exports.inferVariantToRef=Qt;exports.mergeRegles=Ae;exports.unwrapRuleParameters=re;exports.useCollectScope=ct;exports.useRegle=Ke;exports.useRootStorage=Ce;exports.useScopedRegle=ft;
|
package/index.cjs
DELETED