@regle/rules 0.1.2 → 0.1.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.d.ts +1 -1
- package/dist/index.js +1 -1
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -98,7 +98,7 @@ declare function and<TRules extends FormRuleDeclaration<any, any>[]>(...rules: [
|
|
|
98
98
|
|
|
99
99
|
declare function or<TRules extends FormRuleDeclaration<any, any>[]>(...rules: [...TRules]): RegleRuleDefinition<ExtractValueFromRules<TRules>[number], UnwrapTuples<ExtractParamsFromRules<TRules>>, GuessAsyncFromRules<TRules>, GuessMetadataFromRules<TRules>>;
|
|
100
100
|
|
|
101
|
-
declare function not<TValue, TParams extends any[] =
|
|
101
|
+
declare function not<TValue, TParams extends any[] = [], TReturn extends RegleRuleMetadataDefinition | Promise<RegleRuleMetadataDefinition> = RegleRuleMetadataDefinition, TMetadata extends RegleRuleMetadataDefinition = TReturn extends Promise<infer M> ? M : TReturn, TAsync extends boolean = TReturn extends Promise<any> ? true : false>(rule: RegleRuleDefinition<TValue, TParams, TAsync, TMetadata> | InlineRuleDeclaration<TValue, TParams, TReturn>, message?: RegleRuleDefinitionWithMetadataProcessor<TValue, RegleRuleMetadataConsumer<TParams, TMetadata>, string | string[]>): RegleRuleDefinition<TValue, TParams, TAsync, TMetadata>;
|
|
102
102
|
|
|
103
103
|
declare const required: RegleRuleDefinition<unknown, [], false, boolean, unknown>;
|
|
104
104
|
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import {createRule,defineType,InternalRuleType,unwrapRuleParameters}from'@regle/core';import {unref}from'vue';function $(e,t){let a,o,l,u;typeof e=="function"&&!("_validator"in e)?(a=InternalRuleType.Inline,o=e):{_type:a,validator:o,_active:l,_params:u}=e;let f=createRule({type:a,validator:o,active:l,message:t});return f._params=u,f._patched=!0,f}function F(e,t){let a=async(l,...u)=>e(l,...u),o=createRule({type:defineType(InternalRuleType.Async),validator:a,message:""});return o._params=t,o}function I(e,t){let a=(l,...u)=>e(l,...u),o=createRule({type:defineType(InternalRuleType.Inline),validator:a,message:""});return o._params=t,o}function k(e,t){let a,o,l,u="";typeof t=="function"?(a=InternalRuleType.Inline,o=t):({_type:a,validator:o,_params:l,_message:u}=t,l?.push(e));function f(i,...m){let[p]=unwrapRuleParameters([e]);return p?o(i,...m):!0}function n(i,m){let[p]=unwrapRuleParameters([e]);return p}let s=createRule({type:a,validator:f,active:n,message:u});return s._params=l,s}function d(e){return e==null?!0:e===!1?!1:e instanceof Date?isNaN(e.getTime()):Array.isArray(e)?e.length===0:typeof e=="object"&&e!=null?Object.keys(e).length===0:!String(e).length}function c(e){return !d(typeof e=="string"?e.trim():e)}function T(e){return e==null||typeof e!="number"?!1:!isNaN(e)}function x(e,...t){if(d(e))return !0;let a=typeof e=="number"?e.toString():e;return t.every(o=>(o.lastIndex=0,o.test(a)))}function D(e){let t=unref(e);return Array.isArray(t)?t.length:typeof t=="object"?Object.keys(t).length:typeof t=="number"?isNaN(t)?0:t:String(t).length}function b(e){if(d(e))return !1;try{let t=null;if(e instanceof Date)t=e;else if(typeof e=="number"&&!isNaN(e))t=new Date(e);else if(typeof e=="string"){let a=new Date(e);if(a.toString()==="Invalid Date")return !1;t=a;}return !!t}catch{return !1}}function h(e){let t=Object.prototype.toString.call(e);return 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 P(e){return typeof e=="number"?e:e.trim()!==e?null:+e}var r={isEmpty:d,isFilled:c,size:D,regex:x,isNumber:T,isDate:b,toDate:h,toNumber:P};function L(...e){let t=e.some(n=>typeof n=="function"?n.constructor.name==="AsyncFunction":n._async),a=e.map(n=>{if(typeof n=="function")return null;{let s=n._params;return s?.length?s:[null]}}).flat().filter(n=>!!n);function o(n,s,...i){let m=[],p=0;for(let R of n)if(typeof R=="function")m.push(R(s)),p++;else {let y=R._params?.length??0;m.push(R.validator(s,...i.slice(p,y))),y&&(p+=y);}return m}function l(n){return n.some(i=>typeof i!="boolean")?{$valid:n.every(i=>typeof i=="boolean"?!!i:i.$valid),...n.reduce((i,m)=>{if(typeof m=="boolean")return i;let{$valid:p,...R}=m;return {...i,...R}},{})}:n.every(i=>!!i)}let u;e.length?u=t?async(n,...s)=>{let i=await Promise.all(o(e,n,...s));return l(i)}:(n,...s)=>{let i=o(e,n,...s);return l(i)}:u=n=>!1;let f=createRule({type:defineType("and"),validator:u,message:"The value does not match all of the provided validators"});return f._params=a,f}function j(...e){let t=e.some(n=>typeof n=="function"?n.constructor.name==="AsyncFunction":n._async),a=e.map(n=>typeof n=="function"?null:n._params).flat().filter(n=>!!n);function o(n,s,...i){let m=[],p=0;for(let R of n)if(typeof R=="function")m.push(R(s)),p++;else {let y=R._params?.length??0;m.push(R.validator(s,...i.slice(p,y))),y&&(p+=y);}return m}function l(n){return n.some(i=>typeof i!="boolean")?{$valid:n.some(i=>typeof i=="boolean"?!!i:i.$valid),...n.reduce((i,m)=>{if(typeof m=="boolean")return i;let{$valid:p,...R}=m;return {...i,...R}},{})}:n.some(i=>!!i)}let u=t?async(n,...s)=>{let i=await Promise.all(o(e,n,...s));return l(i)}:(n,...s)=>{let i=o(e,n,...s);return l(i)},f=createRule({type:defineType("or"),validator:u,message:"The value does not match any of the provided validators"});return f._params=a,f}function B(e,t){let a,o,l,u,f;typeof e=="function"?(o=e,f=e.constructor.name==="AsyncFunction"):({_type:a,validator:o,_params:u}=e,f=e._async),f?l=async(s,...i)=>r.isFilled(s)?!await o(s,...i):!0:l=(s,...i)=>r.isFilled(s)?!o(s,...i):!0;let n=createRule({type:defineType("not"),validator:l,message:t??"Error"});return n._params=u,n}var qt=createRule({type:defineType("required"),validator:e=>r.isFilled(e),message:"This field is required"});var Kt=createRule({type:defineType("maxLength"),validator:(e,t)=>r.isFilled(e)&&r.isFilled(t)?r.isNumber(t)?r.size(e)<=t:(console.warn(`[maxLength] Value or parameter isn't a number, got value: ${e}, parameter: ${t}`),!1):!0,message:(e,{$params:[t]})=>Array.isArray(e)?`This list should have maximum ${t} items`:`The maximum length allowed is ${t}`});var Jt=createRule({type:defineType("required"),validator(e,t){return t?r.isFilled(e):!0},message:"This field is required",active(e,{$params:[t]}){return t}});var re=/^[a-zA-Z]*$/,er=createRule({type:defineType("alpha"),validator(e){return r.isEmpty(e)?!0:r.regex(e,re)},message:"The value is not alphabetical"});var ie=/^[a-zA-Z0-9]*$/,ar=createRule({type:defineType("alpha"),validator(e){return r.isEmpty(e)?!0:r.regex(e,ie)},message:"The value must be alpha-numeric"});var lr=createRule({type:defineType("between"),validator:(e,t,a)=>{if(r.isFilled(e)&&r.isFilled(t)&&r.isFilled(a)){let o=r.toNumber(e),l=r.toNumber(t),u=r.toNumber(a);return r.isNumber(o)&&r.isNumber(l)&&r.isNumber(u)?o>=l&&o<=u:(console.warn(`[between] Value or parameters aren't numbers, got value: ${e}, min: ${t}, max: ${a}`),!1)}return !0},message:(e,{$params:[t,a]})=>`The value must be between ${t} and ${a}`});var me=/^[-]?\d*(\.\d+)?$/,pr=createRule({type:defineType("decimal"),validator(e){return r.isEmpty(e)?!0:r.regex(e,me)},message:"Value must be decimal"});var Re=/^(?:[A-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[A-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9]{2,}(?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$/i,gr=createRule({type:defineType("email"),validator(e){return r.isEmpty(e)?!0:r.regex(e,Re)},message:"Value must be an valid email address"});var ge=/(^[0-9]*$)|(^-[0-9]+$)/,Dr=createRule({type:defineType("integer"),validator(e){return r.isEmpty(e)?!0:r.regex(e,ge)},message:"Value must be an integer"});var Mr=createRule({type:defineType("maxValue"),validator:(e,t)=>r.isFilled(e)&&r.isFilled(t)?r.isNumber(t)&&r.isNumber(e)?e<=t:(console.warn(`[maxValue] Value or parameter isn't a number, got value: ${e}, parameter: ${t}`),!1):!0,message:(e,{$params:[t]})=>`The maximum value allowed is ${t}`});var Vr=createRule({type:defineType("minLength"),validator:(e,t)=>r.isFilled(e)&&r.isFilled(t)?r.isNumber(t)?r.size(e)>=t:(console.warn(`[minLength] Parameter isn't a number, got parameter: ${t}`),!1):!0,message:(e,{$params:[t]})=>Array.isArray(e)?`This list should have at least ${t} items`:`This field should be at least ${t} characters long`});var _r=createRule({type:defineType("minValue"),validator:(e,t)=>r.isFilled(e)&&r.isFilled(t)?r.isNumber(t)&&r.isNumber(e)?e>=t:(console.warn(`[minValue] Value or parameter isn't a number, got value: ${e}, parameter: ${t}`),!1):!0,message:(e,{$params:[t]})=>`The minimum value allowed is ${t}`});var Er=createRule({type:defineType("exactLength"),validator:(e,t)=>r.isFilled(e)&&r.isFilled(t)?r.isNumber(t)?r.size(e)===t:(console.warn(`[minLength] Parameter isn't a number, got parameter: ${t}`),!1):!0,message:(e,{$params:[t]})=>`This field should be exactly ${t} characters long`});var Ae=/^\d*(\.\d+)?$/,Cr=createRule({type:defineType("numeric"),validator(e){return r.isEmpty(e)?!0:r.regex(e,Ae)},message:"This field must be numeric"});var jr=createRule({type:defineType("required"),validator(e,t){return t?!0:r.isFilled(e)},message:"This field is required",active(e,{$params:[t]}){return !t}});var Or=createRule({type:defineType("sameAs"),validator(e,t){return r.isEmpty(e)?!0:e===t},message(e,{$params:[t]}){return `Value must be equal to "${t}"`}});var Ie=/^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u00a1-\uffff][a-z0-9\u00a1-\uffff_-]{0,62})?[a-z0-9\u00a1-\uffff]\.)+(?:[a-z\u00a1-\uffff]{2,}\.?))(?::\d{2,5})?(?:[/?#]\S*)?$/i,Xr=createRule({type:defineType("url"),validator(e){return r.isEmpty(e)?!0:r.regex(e,Ie)},message:"The value is not a valid URL address"});var rn=createRule({type:defineType("dateAfter"),validator:(e,t)=>r.isDate(e)&&r.isDate(t)?r.toDate(e).getTime()>r.toDate(t).getTime():!0,message:(e,{$params:[t]})=>`The date must be after ${t}`});var sn=createRule({type:defineType("dateBefore"),validator:(e,t)=>r.isFilled(e)&&r.isFilled(t)?r.isDate(e)&&r.isDate(t)?r.toDate(e).getTime()<r.toDate(t).getTime()?!0:{$valid:!1,error:"date-not-before"}:{$valid:!1,error:"value-or-paramater-not-a-date"}:!0,message:(e,{$params:[t],error:a})=>a==="value-or-paramater-not-a-date"?"The inputs must be Dates":`The date must be before ${t}`});var fn=createRule({type:defineType("dateBetween"),validator:(e,t,a)=>r.isDate(e)&&r.isDate(t)&&r.isDate(a)?r.toDate(e).getTime()>r.toDate(t).getTime()&&r.toDate(e).getTime()<r.toDate(a).getTime():!0,message:(e,{$params:[t,a]})=>`The date must be between ${t} and ${a}`});function Se(e){if(e.length>3||e.length===0||e[0]==="0"&&e!=="0"||!e.match(/^\d+$/))return !1;let t=+e|0;return t>=0&&t<=255}var yn=createRule({type:defineType("ipAddress"),validator(e){if(r.isEmpty(e))return !0;if(typeof e!="string")return !1;let t=e.split(".");return t.length===4&&t.every(Se)},message:"The value is not a valid IP address"});var xn=createRule({type:defineType("macAddress"),validator(e,t=":"){if(r.isEmpty(e))return !0;if(typeof e!="string")return !1;let a=typeof t=="string"&&t!==""?e.split(t):e.length===12||e.length===16?e.match(/.{2}/g):null;return a!==null&&(a.length===6||a.length===8)&&a.every(Ke)},message:"The value is not a valid MAC Address"}),Ke=e=>e.toLowerCase().match(/^[0-9a-f]{2}$/);var hn=createRule({type:defineType("checked"),validator:e=>e===!0,message:"This field must be checked"});export{er as alpha,ar as alphaNum,L as and,k as applyIf,lr as between,hn as checked,rn as dateAfter,sn as dateBefore,fn as dateBetween,pr as decimal,gr as email,Er as exactLength,Dr as integer,yn as ipAddress,xn as macAddress,Kt as maxLength,Mr as maxValue,Vr as minLength,_r as minValue,B as not,Cr as numeric,j as or,qt as required,Jt as requiredIf,jr as requiredUnless,r as ruleHelpers,Or as sameAs,Xr as url,F as withAsync,$ as withMessage,I as withParams};
|
|
1
|
+
import {createRule,InternalRuleType,unwrapRuleParameters}from'@regle/core';import {unref}from'vue';function $(e,t){let a,o,l,u;typeof e=="function"&&!("_validator"in e)?(a=InternalRuleType.Inline,o=e):{_type:a,validator:o,_active:l,_params:u}=e;let f=createRule({type:a,validator:o,active:l,message:t});return f._params=u,f._patched=!0,f}function v(e,t){let a=async(l,...u)=>e(l,...u),o=createRule({type:InternalRuleType.Async,validator:a,message:""});return o._params=t,o}function _(e,t){let a=(l,...u)=>e(l,...u),o=createRule({type:InternalRuleType.Inline,validator:a,message:""});return o._params=t,o}function E(e,t){let a,o,l,u="";typeof t=="function"?(a=InternalRuleType.Inline,o=t):({_type:a,validator:o,_params:l,_message:u}=t,l?.push(e));function f(i,...m){let[p]=unwrapRuleParameters([e]);return p?o(i,...m):!0}function n(i,m){let[p]=unwrapRuleParameters([e]);return p}let s=createRule({type:a,validator:f,active:n,message:u});return s._params=l,s}function y(e){return e==null?!0:e===!1?!1:e instanceof Date?isNaN(e.getTime()):Array.isArray(e)?e.length===0:typeof e=="object"&&e!=null?Object.keys(e).length===0:!String(e).length}function c(e){return !y(typeof e=="string"?e.trim():e)}function b(e){return e==null||typeof e!="number"?!1:!isNaN(e)}function x(e,...t){if(y(e))return !0;let a=typeof e=="number"?e.toString():e;return t.every(o=>(o.lastIndex=0,o.test(a)))}function D(e){let t=unref(e);return Array.isArray(t)?t.length:typeof t=="object"?Object.keys(t).length:typeof t=="number"?isNaN(t)?0:t:String(t).length}function T(e){if(y(e))return !1;try{let t=null;if(e instanceof Date)t=e;else if(typeof e=="number"&&!isNaN(e))t=new Date(e);else if(typeof e=="string"){let a=new Date(e);if(a.toString()==="Invalid Date")return !1;t=a;}return !!t}catch{return !1}}function M(e){let t=Object.prototype.toString.call(e);return 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 h(e){return typeof e=="number"?e:e.trim()!==e?null:+e}var r={isEmpty:y,isFilled:c,size:D,regex:x,isNumber:b,isDate:T,toDate:M,toNumber:h};function z(...e){let t=e.some(n=>typeof n=="function"?n.constructor.name==="AsyncFunction":n._async),a=e.map(n=>{if(typeof n=="function")return null;{let s=n._params;return s?.length?s:[null]}}).flat().filter(n=>!!n);function o(n,s,...i){let m=[],p=0;for(let R of n)if(typeof R=="function")m.push(R(s)),p++;else {let d=R._params?.length??0;m.push(R.validator(s,...i.slice(p,d))),d&&(p+=d);}return m}function l(n){return n.some(i=>typeof i!="boolean")?{$valid:n.every(i=>typeof i=="boolean"?!!i:i.$valid),...n.reduce((i,m)=>{if(typeof m=="boolean")return i;let{$valid:p,...R}=m;return {...i,...R}},{})}:n.every(i=>!!i)}let u;e.length?u=t?async(n,...s)=>{let i=await Promise.all(o(e,n,...s));return l(i)}:(n,...s)=>{let i=o(e,n,...s);return l(i)}:u=n=>!1;let f=createRule({type:"and",validator:u,message:"The value does not match all of the provided validators"});return f._params=a,f}function C(...e){let t=e.some(n=>typeof n=="function"?n.constructor.name==="AsyncFunction":n._async),a=e.map(n=>typeof n=="function"?null:n._params).flat().filter(n=>!!n);function o(n,s,...i){let m=[],p=0;for(let R of n)if(typeof R=="function")m.push(R(s)),p++;else {let d=R._params?.length??0;m.push(R.validator(s,...i.slice(p,d))),d&&(p+=d);}return m}function l(n){return n.some(i=>typeof i!="boolean")?{$valid:n.some(i=>typeof i=="boolean"?!!i:i.$valid),...n.reduce((i,m)=>{if(typeof m=="boolean")return i;let{$valid:p,...R}=m;return {...i,...R}},{})}:n.some(i=>!!i)}let f=createRule({type:"or",validator:t?async(n,...s)=>{let i=await Promise.all(o(e,n,...s));return l(i)}:(n,...s)=>{let i=o(e,n,...s);return l(i)},message:"The value does not match any of the provided validators"});return f._params=a,f}function q(e,t){let a,o,l,u,f;typeof e=="function"?(o=e,f=e.constructor.name==="AsyncFunction"):({_type:a,validator:o,_params:u}=e,f=e._async),f?l=async(s,...i)=>r.isFilled(s)?!await o(s,...i):!0:l=(s,...i)=>r.isFilled(s)?!o(s,...i):!0;let n=createRule({type:"not",validator:l,message:t??"Error"});return n._params=u,n}var yt=createRule({type:"required",validator:e=>r.isFilled(e),message:"This field is required"});var bt=createRule({type:"maxLength",validator:(e,t)=>r.isFilled(e)&&r.isFilled(t)?r.isNumber(t)?r.size(e)<=t:(console.warn(`[maxLength] Value or parameter isn't a number, got value: ${e}, parameter: ${t}`),!1):!0,message:(e,{$params:[t]})=>Array.isArray(e)?`This list should have maximum ${t} items`:`The maximum length allowed is ${t}`});var ht=createRule({type:"required",validator(e,t){return t?r.isFilled(e):!0},message:"This field is required",active(e,{$params:[t]}){return t}});var B=/^[a-zA-Z]*$/,At=createRule({type:"alpha",validator(e){return r.isEmpty(e)?!0:r.regex(e,B)},message:"The value is not alphabetical"});var Z=/^[a-zA-Z0-9]*$/,Wt=createRule({type:"alpha",validator(e){return r.isEmpty(e)?!0:r.regex(e,Z)},message:"The value must be alpha-numeric"});var Et=createRule({type:"between",validator:(e,t,a)=>{if(r.isFilled(e)&&r.isFilled(t)&&r.isFilled(a)){let o=r.toNumber(e),l=r.toNumber(t),u=r.toNumber(a);return r.isNumber(o)&&r.isNumber(l)&&r.isNumber(u)?o>=l&&o<=u:(console.warn(`[between] Value or parameters aren't numbers, got value: ${e}, min: ${t}, max: ${a}`),!1)}return !0},message:(e,{$params:[t,a]})=>`The value must be between ${t} and ${a}`});var X=/^[-]?\d*(\.\d+)?$/,Ut=createRule({type:"decimal",validator(e){return r.isEmpty(e)?!0:r.regex(e,X)},message:"Value must be decimal"});var ee=/^(?:[A-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[A-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9]{2,}(?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$/i,St=createRule({type:"email",validator(e){return r.isEmpty(e)?!0:r.regex(e,ee)},message:"Value must be an valid email address"});var re=/(^[0-9]*$)|(^-[0-9]+$)/,Bt=createRule({type:"integer",validator(e){return r.isEmpty(e)?!0:r.regex(e,re)},message:"Value must be an integer"});var Qt=createRule({type:"maxValue",validator:(e,t)=>r.isFilled(e)&&r.isFilled(t)?r.isNumber(t)&&r.isNumber(e)?e<=t:(console.warn(`[maxValue] Value or parameter isn't a number, got value: ${e}, parameter: ${t}`),!1):!0,message:(e,{$params:[t]})=>`The maximum value allowed is ${t}`});var tr=createRule({type:"minLength",validator:(e,t)=>r.isFilled(e)&&r.isFilled(t)?r.isNumber(t)?r.size(e)>=t:(console.warn(`[minLength] Parameter isn't a number, got parameter: ${t}`),!1):!0,message:(e,{$params:[t]})=>Array.isArray(e)?`This list should have at least ${t} items`:`This field should be at least ${t} characters long`});var ir=createRule({type:"minValue",validator:(e,t)=>r.isFilled(e)&&r.isFilled(t)?r.isNumber(t)&&r.isNumber(e)?e>=t:(console.warn(`[minValue] Value or parameter isn't a number, got value: ${e}, parameter: ${t}`),!1):!0,message:(e,{$params:[t]})=>`The minimum value allowed is ${t}`});var ur=createRule({type:"exactLength",validator:(e,t)=>r.isFilled(e)&&r.isFilled(t)?r.isNumber(t)?r.size(e)===t:(console.warn(`[minLength] Parameter isn't a number, got parameter: ${t}`),!1):!0,message:(e,{$params:[t]})=>`This field should be exactly ${t} characters long`});var le=/^\d*(\.\d+)?$/,Rr=createRule({type:"numeric",validator(e){return r.isEmpty(e)?!0:r.regex(e,le)},message:"This field must be numeric"});var cr=createRule({type:"required",validator(e,t){return t?!0:r.isFilled(e)},message:"This field is required",active(e,{$params:[t]}){return !t}});var Tr=createRule({type:"sameAs",validator(e,t){return r.isEmpty(e)?!0:e===t},message(e,{$params:[t]}){return `Value must be equal to "${t}"`}});var pe=/^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u00a1-\uffff][a-z0-9\u00a1-\uffff_-]{0,62})?[a-z0-9\u00a1-\uffff]\.)+(?:[a-z\u00a1-\uffff]{2,}\.?))(?::\d{2,5})?(?:[/?#]\S*)?$/i,wr=createRule({type:"url",validator(e){return r.isEmpty(e)?!0:r.regex(e,pe)},message:"The value is not a valid URL address"});var vr=createRule({type:"dateAfter",validator:(e,t)=>r.isDate(e)&&r.isDate(t)?r.toDate(e).getTime()>r.toDate(t).getTime():!0,message:(e,{$params:[t]})=>`The date must be after ${t}`});var Nr=createRule({type:"dateBefore",validator:(e,t)=>r.isFilled(e)&&r.isFilled(t)?r.isDate(e)&&r.isDate(t)?r.toDate(e).getTime()<r.toDate(t).getTime()?!0:{$valid:!1,error:"date-not-before"}:{$valid:!1,error:"value-or-paramater-not-a-date"}:!0,message:(e,{$params:[t],error:a})=>a==="value-or-paramater-not-a-date"?"The inputs must be Dates":`The date must be before ${t}`});var kr=createRule({type:"dateBetween",validator:(e,t,a)=>r.isDate(e)&&r.isDate(t)&&r.isDate(a)?r.toDate(e).getTime()>r.toDate(t).getTime()&&r.toDate(e).getTime()<r.toDate(a).getTime():!0,message:(e,{$params:[t,a]})=>`The date must be between ${t} and ${a}`});function ce(e){if(e.length>3||e.length===0||e[0]==="0"&&e!=="0"||!e.match(/^\d+$/))return !1;let t=+e|0;return t>=0&&t<=255}var Lr=createRule({type:"ipAddress",validator(e){if(r.isEmpty(e))return !0;if(typeof e!="string")return !1;let t=e.split(".");return t.length===4&&t.every(ce)},message:"The value is not a valid IP address"});var Gr=createRule({type:"macAddress",validator(e,t=":"){if(r.isEmpty(e))return !0;if(typeof e!="string")return !1;let a=typeof t=="string"&&t!==""?e.split(t):e.length===12||e.length===16?e.match(/.{2}/g):null;return a!==null&&(a.length===6||a.length===8)&&a.every(xe)},message:"The value is not a valid MAC Address"}),xe=e=>e.toLowerCase().match(/^[0-9a-f]{2}$/);var Or=createRule({type:"checked",validator:e=>e===!0,message:"This field must be checked"});export{At as alpha,Wt as alphaNum,z as and,E as applyIf,Et as between,Or as checked,vr as dateAfter,Nr as dateBefore,kr as dateBetween,Ut as decimal,St as email,ur as exactLength,Bt as integer,Lr as ipAddress,Gr as macAddress,bt as maxLength,Qt as maxValue,tr as minLength,ir as minValue,q as not,Rr as numeric,C as or,yt as required,ht as requiredIf,cr as requiredUnless,r as ruleHelpers,Tr as sameAs,wr as url,v as withAsync,$ as withMessage,_ as withParams};
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@regle/rules",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "Collection of rules and helpers for Regle",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@regle/core": "0.1.
|
|
6
|
+
"@regle/core": "0.1.4"
|
|
7
7
|
},
|
|
8
8
|
"devDependencies": {
|
|
9
9
|
"@types/prettier": "3.0.0",
|