ivl 0.4.3 → 0.4.5

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.
@@ -1 +1 @@
1
- var u=(n)=>typeof n==="string"||n!==null&&typeof n==="object"&&("length"in n)&&typeof n.length==="number",i=(n)=>(e)=>typeof e===n,a=(n)=>(e)=>typeof e==="string"&&n.test(e),c=(n=1/0)=>(e)=>typeof e==="number"&&e<=n,C=(n=-1/0)=>(e)=>typeof e==="number"&&e>=n,R=(n=1/0)=>(e)=>u(e)&&e.length<=n,l=(n=0)=>(e)=>u(e)&&e.length>=n,w=(n=1/0,e=0)=>(t)=>typeof t==="string"&&t.length>=e&&t.length<=n,_=(n=1/0,e=-1/0)=>(t)=>typeof t==="number"&&t>=e&&t<=n,y=(n)=>(e)=>e===n||Number.isNaN(n)&&Number.isNaN(e),N=(n=[])=>{let e=new Set(n);return(t)=>e.has(t)},p=()=>(n)=>Number.isInteger(n),f=()=>(n)=>Array.isArray(n),O=(n)=>(e)=>e instanceof n,A=(n)=>(e,...t)=>{try{return!n(e,...t)}catch{return!0}},m=(n)=>async(e,...t)=>{try{return!await n(e,...t)}catch{return!0}},k=(n)=>(e,...t)=>{if(!Array.isArray(e))return!1;for(let r=0;r<e.length;r++)if(!n(e[r],...t))return!1;return!0},U=(n)=>async(e,...t)=>{if(!Array.isArray(e))return!1;for(let r=0;r<e.length;r++)if(!await n(e[r],...t))return!1;return!0},L=(n=[])=>async(e,...t)=>(await Promise.all(n.map((r)=>r(e,...t)))).some((r)=>r),x=(n=[])=>(e,...t)=>n.map((r)=>r(e,...t)).some((r)=>r);var S=(n)=>typeof n==="function"&&n.constructor.name==="AsyncFunction";var E=(n,e)=>Object.fromEntries(Object.entries(n).map(([t,r])=>[t,S(r)?async(o,...s)=>e(r,o,s):(o,...s)=>e(r,o,s)])),b=(n)=>E(n,(e,t,r)=>typeof t>"u"?!0:e(t,...r)),h=(n)=>E(n,(e,t,r)=>t===null?!0:e(t,...r)),H=(n,e)=>E(e,(t,r,o)=>t(n(r),...o));export{L as acceptAnyAsync,x as acceptAnySync,h as allowNull,b as allowUndefined,y as equals,U as everyElementAsync,k as everyElementSync,f as isArray,O as isInstanceOf,p as isInteger,N as isOneOf,i as isType,a as matchesRegex,c as max,R as maxLength,C as min,l as minLength,m as notAsync,A as notSync,_ as numberBetween,H as preprocess,w as stringBetween};
1
+ var E=(n)=>typeof n==="string"||n!==null&&typeof n==="object"&&("length"in n)&&typeof n.length==="number",a=(n)=>(e)=>typeof e===n,i=(n)=>(e)=>typeof e==="string"&&n.test(e),S=(n=1/0)=>(e)=>typeof e==="number"&&e<=n,l=(n=-1/0)=>(e)=>typeof e==="number"&&e>=n,C=(n=1/0)=>(e)=>E(e)&&e.length<=n,R=(n=0)=>(e)=>E(e)&&e.length>=n,f=(n=1/0,e=0)=>(t)=>typeof t==="string"&&t.length>=e&&t.length<=n,y=(n=1/0,e=-1/0)=>(t)=>typeof t==="number"&&t>=e&&t<=n,w=(n)=>(e)=>e===n||Number.isNaN(n)&&Number.isNaN(e),p=(n=[])=>{let e=new Set(n);return(t)=>e.has(t)},k=()=>(n)=>Number.isInteger(n),_=()=>(n)=>Array.isArray(n),N=(n)=>(e)=>e instanceof n,O=(n)=>(e,...t)=>{try{return!n(e,...t)}catch{return!0}},m=(n)=>async(e,...t)=>{try{return!await n(e,...t)}catch{return!0}},A=(n)=>(e,...t)=>{if(!Array.isArray(e))return!1;for(let o=0;o<e.length;o++)if(!n(e[o],...t))return!1;return!0},U=(n)=>async(e,...t)=>{if(!Array.isArray(e))return!1;for(let o=0;o<e.length;o++)if(!await n(e[o],...t))return!1;return!0},L=(n=[])=>async(e,...t)=>(await Promise.all(n.map((o)=>o(e,...t)))).some((o)=>o),g=(n=[])=>(e,...t)=>n.map((o)=>o(e,...t)).some((o)=>o);var c=(n)=>typeof n==="function"&&n.constructor.name==="AsyncFunction";var u=(n,e)=>Object.fromEntries(Object.entries(n).map(([t,o])=>[t,c(o)?async(s,...r)=>e(o,s,r):(s,...r)=>e(o,s,r)])),d=(n)=>u(n,(e,t,o)=>typeof t>"u"?!0:e(t,...o)),b=(n)=>u(n,(e,t,o)=>t===null?!0:e(t,...o)),H=(n,e)=>u(e,(t,o,s)=>t(n(o),...s));export{L as acceptAnyAsync,g as acceptAnySync,b as allowNull,d as allowUndefined,w as equals,U as everyElementAsync,A as everyElementSync,_ as isArray,N as isInstanceOf,k as isInteger,p as isOneOf,a as isType,i as matchesRegex,S as max,C as maxLength,l as min,R as minLength,m as notAsync,O as notSync,y as numberBetween,H as preprocess,f as stringBetween};
package/lib/index.js CHANGED
@@ -1 +1 @@
1
- var A={strict:!1};var l=(t)=>typeof t==="function"&&t.constructor.name==="AsyncFunction",N=(t)=>{if(Array.isArray(t))return t.some((r)=>Object.values(r).some(l));return Object.values(t).some(l)},a=async(t,r,...S)=>{let s={};return Object.entries(r).forEach(([e,E])=>{s[e]=Promise.resolve(!1).then(()=>E(t,...S)).then((n)=>s[e]=n).catch(()=>s[e]=!1)}),await Promise.allSettled(Object.values(s)),Object.entries(s).reduce((e,[E,n])=>n?e:[...e,E],[])},O=async(t,r,S=A,...s)=>{let e={},E=[];if(Object.entries(r).forEach(([n,C])=>{let i;if(Array.isArray(C))i=Promise.allSettled(C.map((o)=>a(t[n],o,...s))).then((o)=>{let u=o.map((c)=>{if(c.status==="fulfilled")return c.value;return["Unknown error occurred"]});if(u.some((c)=>!c.length))e[n]=[];else e[n]=u}).catch((o)=>{if(o instanceof Error)e[n]=[o.message];else e[n]=["Unknown error occurred"]});else i=a(t[n],C,...s).then((o)=>{e[n]=o}).catch((o)=>{e[n]=[o instanceof Error?o.message:"Unknown error occurred"]});E.push(i)}),S.strict){let n=Object.keys(t),C=new Set(Object.keys(r));n.filter((o)=>!C.has(o)).forEach((o)=>{e[o]=["Key not allowed"]})}return await Promise.allSettled(E),e},_=(t,r,...S)=>Object.entries(r).reduce((s,[e,E])=>{try{let n=E(t,...S);if(n!==null&&(typeof n==="object"||typeof n==="function")&&typeof n.then==="function")return[...s,e];return n?s:[...s,e]}catch(n){return[...s,e]}},[]),H=(t,r,S=A,...s)=>{let e=Object.entries(r).reduce((E,[n,C])=>{if(Array.isArray(C)){let i=C.map((o)=>_(t[n],o,...s));if(i.some((o)=>!o.length))return{...E,[n]:[]};return{...E,[n]:i}}return{...E,[n]:_(t[n],C,...s)}},{});if(S.strict){let E=Object.keys(t),n=new Set(Object.keys(r));E.filter((i)=>!n.has(i)).forEach((i)=>{e[i]=["Key not allowed"]})}return e},m=(t,r,...S)=>N(r)?a(t,r,...S):_(t,r,...S),f=(t)=>Object.values(t).some(N),M=(t,r,S=A,...s)=>f(r)?O(t,r,S,...s):H(t,r,S,...s);export{M as getSchemaErrors,O as getSchemaErrorsAsync,H as getSchemaErrorsSync,m as getValueErrors,a as getValueErrorsAsync,_ as getValueErrorsSync,N as hasAsyncFunction,l as isAsyncFunction};
1
+ var f={strict:!1};var C=(e)=>typeof e==="function"&&e.constructor.name==="AsyncFunction",A=(e)=>{if(Array.isArray(e))return e.some((r)=>Object.values(r).some(C));return Object.values(e).some(C)},l=async(e,r,...E)=>{let t={},s=[];for(let[n,S]of Object.entries(r)){if(t[n]=!1,C(S)){s.push(S(e,...E).then((o)=>{t[n]=Boolean(o)}).catch(()=>{t[n]=!1}));continue}try{let o=S(e,...E);if(o!==null&&(typeof o==="object"||typeof o==="function")&&typeof o.then==="function")s.push(Promise.resolve(o).then((i)=>{t[n]=Boolean(i)}).catch(()=>{t[n]=!1}));else t[n]=Boolean(o)}catch{t[n]=!1}}if(s.length)await Promise.allSettled(s);let c=[];for(let[n,S]of Object.entries(t))if(!S)c.push(n);return c},y=async(e,r,E=f,...t)=>{let s={},c=[];if(Object.entries(r).forEach(([n,S])=>{let o;if(Array.isArray(S))o=Promise.allSettled(S.map((i)=>l(e[n],i,...t))).then((i)=>{let _=i.map((a)=>{if(a.status==="fulfilled")return a.value;return["Unknown error occurred"]});if(_.some((a)=>!a.length))s[n]=[];else s[n]=_}).catch((i)=>{if(i instanceof Error)s[n]=[i.message];else s[n]=["Unknown error occurred"]});else o=l(e[n],S,...t).then((i)=>{s[n]=i}).catch((i)=>{s[n]=[i instanceof Error?i.message:"Unknown error occurred"]});c.push(o)}),E.strict){let n=Object.keys(e),S=new Set(Object.keys(r));n.filter((i)=>!S.has(i)).forEach((i)=>{s[i]=["Key not allowed"]})}return await Promise.allSettled(c),s},u=(e,r,...E)=>{let t=[];for(let[s,c]of Object.entries(r))try{let n=c(e,...E);if(n!==null&&(typeof n==="object"||typeof n==="function")&&typeof n.then==="function")t.push(s);else if(!n)t.push(s)}catch(n){t.push(s)}return t},N=(e,r,E=f,...t)=>{let s={};for(let[c,n]of Object.entries(r))if(Array.isArray(n)){let S=n.map((o)=>u(e[c],o,...t));s[c]=S.some((o)=>!o.length)?[]:S}else s[c]=u(e[c],n,...t);if(E.strict){let c=Object.keys(e),n=new Set(Object.keys(r));c.filter((o)=>!n.has(o)).forEach((o)=>{s[o]=["Key not allowed"]})}return s},O=(e,r,...E)=>A(r)?l(e,r,...E):u(e,r,...E),H=(e)=>Object.values(e).some(A),m=(e,r,E=f,...t)=>H(r)?y(e,r,E,...t):N(e,r,E,...t);export{m as getSchemaErrors,y as getSchemaErrorsAsync,N as getSchemaErrorsSync,O as getValueErrors,l as getValueErrorsAsync,u as getValueErrorsSync,A as hasAsyncFunction,C as isAsyncFunction};
@@ -1 +1 @@
1
- var E=/^[\w.%+-]+@[\w.-]+\.[a-zA-Z]{1,}$/,_=/^(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})$/,t=/^(https?:\/\/)?([^\s$.?#].[^\s]*)\.[a-z]{2,}(\/[^ \t\r\n\v\f]*)?$/i,o=/^(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d(?:\.\d+)?(?:[+-][0-2]\d:[0-5]\d|Z)?)$/,a=/^(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d(?::[0-5]\d(?:\.\d+)?)?)$/,R=/^(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(Z|[+-](?:2[0-3]|[01][0-9]):([0-5][0-9]))?$/,d=/^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$/,T=(A)=>`[0-9a-f]{8}-[0-9a-f]{4}-${A}[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}`;var f=new RegExp(`^(?:${T("[1-8]")}|0{8}-0{4}-0{4}-0{4}-0{12}|f{8}-f{4}-f{4}-f{4}-f{12})$`,"i"),e=new RegExp(`^${T("4")}$`,"i"),P=new RegExp("^(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)$"),n=new RegExp("^(?:"+["(?:[0-9a-f]{1,4}:){7}[0-9a-f]{1,4}","(?:[0-9a-f]{1,4}:){1,7}:","(?:[0-9a-f]{1,4}:){1,6}:[0-9a-f]{1,4}","(?:[0-9a-f]{1,4}:){1,5}(?::[0-9a-f]{1,4}){1,2}","(?:[0-9a-f]{1,4}:){1,4}(?::[0-9a-f]{1,4}){1,3}","(?:[0-9a-f]{1,4}:){1,3}(?::[0-9a-f]{1,4}){1,4}","(?:[0-9a-f]{1,4}:){1,2}(?::[0-9a-f]{1,4}){1,5}","[0-9a-f]{1,4}:(?::[0-9a-f]{1,4}){1,6}",":(?:(?::[0-9a-f]{1,4}){1,7}|:)","::(?:ffff(?::0{1,4})?:)?(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)","(?:[0-9a-f]{1,4}:){1,4}:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)"].join("|")+")$","i"),N=/^[0-9a-f]{2}([:-])(?:[0-9a-f]{2}\1){4}[0-9a-f]{2}$/i,s=/^#([0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i,p=/^[a-z0-9]+(-[a-z0-9]+)*$/,r=/^\+[1-9]\d{1,14}$/,x=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/,c=/^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$/,I=/^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$/,S=/[a-z]/,C=/[A-Z]/,z=/\d/,O=/[^\w\s]/;export{c as BASE64_PATTERN,z as CONTAINS_DIGIT_CHARACTER_PATTERN,S as CONTAINS_LOWERCASE_CHARACTER_PATTERN,O as CONTAINS_SYMBOL_CHARACTER_PATTERN,C as CONTAINS_UPPERCASE_CHARACTER_PATTERN,r as E164_PHONE_PATTERN,E as EMAIL_PATTERN,s as HEX_COLOR_PATTERN,P as IPV4_PATTERN,n as IPV6_PATTERN,a as ISO_8601_DATETIME_PATTERN,o as ISO_8601_DATETIME_PATTERN_STRICT,d as ISO_8601_DATE_PATTERN,R as ISO_8601_TIME_PATTERN,I as JWT_PATTERN,N as MAC_ADDRESS_PATTERN,_ as MYSQL_TIMESTAMP_PATTERN,x as SEMVER_PATTERN,p as SLUG_PATTERN,t as URL_PATTERN,f as UUID_PATTERN,e as UUID_V4_PATTERN};
1
+ var E=/^[\w.%+-]+@[\w.-]+\.[a-zA-Z]{1,}$/,t=/^(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})$/,_=/^(https?:\/\/)?([^\s$.?#].[^\s]*)\.[a-z]{2,}(\/[^ \t\r\n\v\f]*)?$/i,o=/^(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d(?:\.\d+)?(?:[+-][0-2]\d:[0-5]\d|Z)?)$/,R=/^(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d(?::[0-5]\d(?:\.\d+)?)?)$/,a=/^(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(Z|[+-](?:2[0-3]|[01][0-9]):([0-5][0-9]))?$/,d=/^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$/,T=(A)=>`[0-9a-f]{8}-[0-9a-f]{4}-${A}[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}`;var f=new RegExp(`^(?:${T("[1-8]")}|0{8}-0{4}-0{4}-0{4}-0{12}|f{8}-f{4}-f{4}-f{4}-f{12})$`,"i"),e=new RegExp(`^${T("4")}$`,"i"),n=new RegExp("^(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)$"),p=new RegExp("^(?:"+["(?:[0-9a-f]{1,4}:){7}[0-9a-f]{1,4}","(?:[0-9a-f]{1,4}:){1,7}:","(?:[0-9a-f]{1,4}:){1,6}:[0-9a-f]{1,4}","(?:[0-9a-f]{1,4}:){1,5}(?::[0-9a-f]{1,4}){1,2}","(?:[0-9a-f]{1,4}:){1,4}(?::[0-9a-f]{1,4}){1,3}","(?:[0-9a-f]{1,4}:){1,3}(?::[0-9a-f]{1,4}){1,4}","(?:[0-9a-f]{1,4}:){1,2}(?::[0-9a-f]{1,4}){1,5}","[0-9a-f]{1,4}:(?::[0-9a-f]{1,4}){1,6}",":(?:(?::[0-9a-f]{1,4}){1,7}|:)","::(?:ffff(?::0{1,4})?:)?(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)","(?:[0-9a-f]{1,4}:){1,4}:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)"].join("|")+")$","i"),P=/^[0-9a-f]{2}([:-])(?:[0-9a-f]{2}\1){4}[0-9a-f]{2}$/i,s=/^#([0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i,x=/^[a-z0-9]+(-[a-z0-9]+)*$/,N=/^\+[1-9]\d{1,14}$/,r=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/,c=/^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$/,I=/^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$/,S=/[a-z]/,C=/[A-Z]/,z=/\d/,O=/[^\w\s]/;export{c as BASE64_PATTERN,z as CONTAINS_DIGIT_CHARACTER_PATTERN,S as CONTAINS_LOWERCASE_CHARACTER_PATTERN,O as CONTAINS_SYMBOL_CHARACTER_PATTERN,C as CONTAINS_UPPERCASE_CHARACTER_PATTERN,N as E164_PHONE_PATTERN,E as EMAIL_PATTERN,s as HEX_COLOR_PATTERN,n as IPV4_PATTERN,p as IPV6_PATTERN,R as ISO_8601_DATETIME_PATTERN,o as ISO_8601_DATETIME_PATTERN_STRICT,d as ISO_8601_DATE_PATTERN,a as ISO_8601_TIME_PATTERN,I as JWT_PATTERN,P as MAC_ADDRESS_PATTERN,t as MYSQL_TIMESTAMP_PATTERN,r as SEMVER_PATTERN,x as SLUG_PATTERN,_ as URL_PATTERN,f as UUID_PATTERN,e as UUID_V4_PATTERN};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ivl",
3
- "version": "0.4.3",
3
+ "version": "0.4.5",
4
4
  "author": {
5
5
  "name": "Oskar Voorel",
6
6
  "email": "oskar@voorel.com"
@@ -14,7 +14,6 @@
14
14
  "devDependencies": {
15
15
  "@types/bun": "^1.4.0",
16
16
  "mitata": "^1.0.34",
17
- "tsc-alias": "^1.9.2",
18
17
  "typescript": "^7.0.2",
19
18
  "yup": "^1.7.1",
20
19
  "zod": "^4.5.2"
@@ -49,7 +48,7 @@
49
48
  ],
50
49
  "license": "MIT",
51
50
  "scripts": {
52
- "build": "rm -rf ./lib && bun run build.mjs && tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json",
51
+ "build": "rm -rf ./lib && bun run build.mjs && tsc -p tsconfig.build.json",
53
52
  "prepublishOnly": "bun run build",
54
53
  "benchmark": "bun run ./benchmark/index.ts",
55
54
  "typecheck": "tsc --noEmit -p tsconfig.test.json",