@oxog/vld 2.2.7 → 3.0.1

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.
Files changed (159) hide show
  1. package/CHANGELOG.md +92 -0
  2. package/README.md +113 -1
  3. package/dist/chunks/errors-core-BU14-Dk8.js +1 -0
  4. package/dist/chunks/index-CKPStM3V.js +1 -0
  5. package/dist/cjs/chunks/errors-core-C0mA6tfa.cjs +1 -0
  6. package/dist/cjs/chunks/index-lejEpLfv.cjs +1 -0
  7. package/dist/cjs/cli/bin.cjs +1 -1
  8. package/dist/cjs/codecs/index.cjs +1 -1
  9. package/dist/cjs/coercion/index.cjs +1 -1
  10. package/dist/cjs/compile.cjs +1 -0
  11. package/dist/cjs/errors.cjs +1 -1
  12. package/dist/cjs/index.cjs +1 -1
  13. package/dist/cjs/locales/gu.cjs +1 -0
  14. package/dist/cjs/locales/index.cjs +1 -1
  15. package/dist/cjs/locales/kn.cjs +1 -0
  16. package/dist/cjs/locales/ne.cjs +1 -0
  17. package/dist/cjs/locales/pt-BR-v4.cjs +1 -0
  18. package/dist/cjs/locales/sk.cjs +1 -0
  19. package/dist/cjs/mini.cjs +1 -1
  20. package/dist/cjs/v3/index.cjs +1 -1
  21. package/dist/cjs/v4/core/index.cjs +1 -1
  22. package/dist/cjs/v4/index.cjs +1 -1
  23. package/dist/cjs/v4/locales/index.cjs +1 -1
  24. package/dist/cjs/v4/mini/index.cjs +1 -1
  25. package/dist/cjs/v4-mini/index.cjs +1 -1
  26. package/dist/cjs/validators/any.cjs +1 -1
  27. package/dist/cjs/validators/array-v2.cjs +1 -0
  28. package/dist/cjs/validators/array.cjs +1 -1
  29. package/dist/cjs/validators/base.cjs +1 -1
  30. package/dist/cjs/validators/base64.cjs +1 -1
  31. package/dist/cjs/validators/bigint-v2.cjs +1 -0
  32. package/dist/cjs/validators/bigint.cjs +1 -1
  33. package/dist/cjs/validators/boolean.cjs +1 -1
  34. package/dist/cjs/validators/codec.cjs +1 -1
  35. package/dist/cjs/validators/composite-v2.cjs +1 -0
  36. package/dist/cjs/validators/custom.cjs +1 -1
  37. package/dist/cjs/validators/date-v2.cjs +1 -0
  38. package/dist/cjs/validators/date.cjs +1 -1
  39. package/dist/cjs/validators/discriminated-union.cjs +1 -1
  40. package/dist/cjs/validators/enum.cjs +1 -1
  41. package/dist/cjs/validators/file.cjs +1 -1
  42. package/dist/cjs/validators/function.cjs +1 -1
  43. package/dist/cjs/validators/hex.cjs +1 -1
  44. package/dist/cjs/validators/index.cjs +1 -1
  45. package/dist/cjs/validators/intersection.cjs +1 -1
  46. package/dist/cjs/validators/json.cjs +1 -1
  47. package/dist/cjs/validators/lazy.cjs +1 -1
  48. package/dist/cjs/validators/leaf-v2.cjs +1 -0
  49. package/dist/cjs/validators/literal.cjs +1 -1
  50. package/dist/cjs/validators/map.cjs +1 -1
  51. package/dist/cjs/validators/nan.cjs +1 -1
  52. package/dist/cjs/validators/never.cjs +1 -1
  53. package/dist/cjs/validators/null.cjs +1 -1
  54. package/dist/cjs/validators/number-v2.cjs +1 -0
  55. package/dist/cjs/validators/number.cjs +1 -1
  56. package/dist/cjs/validators/object-v2.cjs +1 -0
  57. package/dist/cjs/validators/object.cjs +1 -1
  58. package/dist/cjs/validators/promise.cjs +1 -1
  59. package/dist/cjs/validators/record.cjs +1 -1
  60. package/dist/cjs/validators/set.cjs +1 -1
  61. package/dist/cjs/validators/string-bool.cjs +1 -1
  62. package/dist/cjs/validators/string-formats.cjs +1 -1
  63. package/dist/cjs/validators/string-v2.cjs +1 -0
  64. package/dist/cjs/validators/string.cjs +1 -1
  65. package/dist/cjs/validators/symbol.cjs +1 -1
  66. package/dist/cjs/validators/template-literal.cjs +1 -1
  67. package/dist/cjs/validators/tuple.cjs +1 -1
  68. package/dist/cjs/validators/uint8array.cjs +1 -1
  69. package/dist/cjs/validators/undefined.cjs +1 -1
  70. package/dist/cjs/validators/union-v2.cjs +1 -0
  71. package/dist/cjs/validators/union.cjs +1 -1
  72. package/dist/cjs/validators/unknown.cjs +1 -1
  73. package/dist/cjs/validators/void.cjs +1 -1
  74. package/dist/cjs/validators/wrapper-v2.cjs +1 -0
  75. package/dist/cjs/validators/xor.cjs +1 -1
  76. package/dist/compile.d.ts +81 -0
  77. package/dist/compile.js +1 -0
  78. package/dist/errors-core.d.ts +3 -0
  79. package/dist/errors.js +1 -1
  80. package/dist/index.d.ts +484 -21
  81. package/dist/index.js +1 -1
  82. package/dist/locales/gu.d.ts +2 -0
  83. package/dist/locales/gu.js +1 -0
  84. package/dist/locales/index.js +1 -1
  85. package/dist/locales/kn.d.ts +2 -0
  86. package/dist/locales/kn.js +1 -0
  87. package/dist/locales/ne.d.ts +2 -0
  88. package/dist/locales/ne.js +1 -0
  89. package/dist/locales/pt-BR-v4.d.ts +2 -0
  90. package/dist/locales/pt-BR-v4.js +1 -0
  91. package/dist/locales/sk.d.ts +2 -0
  92. package/dist/locales/sk.js +1 -0
  93. package/dist/v3/index.js +1 -1
  94. package/dist/v4/core/index.d.ts +13 -0
  95. package/dist/v4/core/index.js +1 -1
  96. package/dist/v4/index.d.ts +1 -0
  97. package/dist/v4/index.js +1 -1
  98. package/dist/v4/locales/index.d.ts +6 -0
  99. package/dist/v4/locales/index.js +1 -1
  100. package/dist/v4/mini/index.js +1 -1
  101. package/dist/v4-mini/index.d.ts +2 -0
  102. package/dist/v4-mini/index.js +1 -1
  103. package/dist/validators/array-v2.d.ts +113 -0
  104. package/dist/validators/array-v2.js +1 -0
  105. package/dist/validators/array.js +1 -1
  106. package/dist/validators/base.js +1 -1
  107. package/dist/validators/base64.js +1 -1
  108. package/dist/validators/bigint-v2.d.ts +105 -0
  109. package/dist/validators/bigint-v2.js +1 -0
  110. package/dist/validators/bigint.js +1 -1
  111. package/dist/validators/boolean.js +1 -1
  112. package/dist/validators/codec.js +1 -1
  113. package/dist/validators/composite-v2.d.ts +59 -0
  114. package/dist/validators/composite-v2.js +1 -0
  115. package/dist/validators/custom.js +1 -1
  116. package/dist/validators/date-v2.d.ts +140 -0
  117. package/dist/validators/date-v2.js +1 -0
  118. package/dist/validators/date.js +1 -1
  119. package/dist/validators/enum.js +1 -1
  120. package/dist/validators/file.js +1 -1
  121. package/dist/validators/function.js +1 -1
  122. package/dist/validators/hex.js +1 -1
  123. package/dist/validators/intersection.js +1 -1
  124. package/dist/validators/leaf-v2.d.ts +138 -0
  125. package/dist/validators/leaf-v2.js +1 -0
  126. package/dist/validators/literal.js +1 -1
  127. package/dist/validators/map.js +1 -1
  128. package/dist/validators/nan.js +1 -1
  129. package/dist/validators/never.js +1 -1
  130. package/dist/validators/null.js +1 -1
  131. package/dist/validators/number-v2.d.ts +252 -0
  132. package/dist/validators/number-v2.js +1 -0
  133. package/dist/validators/number.js +1 -1
  134. package/dist/validators/object-v2.d.ts +40 -0
  135. package/dist/validators/object-v2.js +1 -0
  136. package/dist/validators/object.d.ts +9 -0
  137. package/dist/validators/object.js +1 -1
  138. package/dist/validators/record.js +1 -1
  139. package/dist/validators/set.js +1 -1
  140. package/dist/validators/string-formats.d.ts +1 -0
  141. package/dist/validators/string-formats.js +1 -1
  142. package/dist/validators/string-v2.d.ts +274 -0
  143. package/dist/validators/string-v2.js +1 -0
  144. package/dist/validators/string.js +1 -1
  145. package/dist/validators/symbol.js +1 -1
  146. package/dist/validators/tuple.js +1 -1
  147. package/dist/validators/uint8array.js +1 -1
  148. package/dist/validators/undefined.js +1 -1
  149. package/dist/validators/union-v2.d.ts +28 -0
  150. package/dist/validators/union-v2.js +1 -0
  151. package/dist/validators/void.js +1 -1
  152. package/dist/validators/wrapper-v2.d.ts +74 -0
  153. package/dist/validators/wrapper-v2.js +1 -0
  154. package/dist/zod-error.d.ts +84 -0
  155. package/package.json +7 -2
  156. package/dist/chunks/errors-core-CerMg2rq.js +0 -1
  157. package/dist/chunks/index-yjpbvFgw.js +0 -1
  158. package/dist/cjs/chunks/errors-core-DrydF46s.cjs +0 -1
  159. package/dist/cjs/chunks/index-BEV9nG0N.cjs +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oxog/vld",
3
- "version": "2.2.7",
3
+ "version": "3.0.1",
4
4
  "description": "Ultra-fast TypeScript-first schema validation with zero dependencies, 27+ language support, plugin system, and CLI tools",
5
5
  "type": "module",
6
6
  "main": "./dist/cjs/index.cjs",
@@ -90,6 +90,11 @@
90
90
  "import": "./dist/locales/*.js",
91
91
  "require": "./dist/cjs/locales/*.cjs"
92
92
  },
93
+ "./compile": {
94
+ "types": "./dist/compile.d.ts",
95
+ "import": "./dist/compile.js",
96
+ "require": "./dist/cjs/compile.cjs"
97
+ },
93
98
  "./locales/lazy": {
94
99
  "types": "./dist/locales/lazy.d.ts",
95
100
  "import": "./dist/locales/lazy.js",
@@ -230,7 +235,7 @@
230
235
  "ts-jest": "^29.4.11",
231
236
  "tslib": "^2.8.1",
232
237
  "typescript": "^5.3.3",
233
- "zod": "^4.4.3"
238
+ "zod": "^4.5.4"
234
239
  },
235
240
  "overrides": {
236
241
  "@babel/core": "^7.29.7",
@@ -1 +0,0 @@
1
- function e(e){return null===e?"null":void 0===e?"undefined":Array.isArray(e)?"array":"number"==typeof e?Number.isNaN(e)?"nan":e===1/0?"Infinity":e===-1/0?"-Infinity":"number":e instanceof Date?"date":e instanceof Map?"map":e instanceof Set?"set":typeof e}function s(e,s,r){return{code:"invalid_type",path:[],expected:e,received:s,message:r??`Invalid input: expected ${e}, received ${s}`}}function r(e){const s={code:e.code,path:e.path,message:e.message};return void 0!==e.expected&&(s.expected=e.expected),void 0!==e.received&&(s.received=e.received),void 0!==e.keys&&(s.keys=e.keys),void 0!==e.minimum&&(s.minimum=e.minimum),void 0!==e.maximum&&(s.maximum=e.maximum),void 0!==e.exact&&(s.exact=e.exact),void 0!==e.inclusive&&(s.inclusive=e.inclusive),void 0!==e.origin&&(s.origin=e.origin),void 0!==e.format&&(s.format=e.format),void 0!==e.values&&(s.values=e.values),void 0!==e.pattern&&(s.pattern=e.pattern),s}function i(e){const s={code:e.code,path:e.path,message:e.message};return void 0!==e.expected&&(s.expected=e.expected),void 0!==e.received&&(s.received=e.received),void 0!==e.keys&&(s.keys=e.keys),void 0!==e.minimum&&(s.minimum=e.minimum),void 0!==e.maximum&&(s.maximum=e.maximum),void 0!==e.exact&&(s.exact=e.exact),void 0!==e.inclusive&&(s.inclusive=e.inclusive),void 0!==e.origin&&(s.origin=e.origin),void 0!==e.format&&(s.format=e.format),void 0!==e.values&&(s.values=e.values),void 0!==e.pattern&&(s.pattern=e.pattern),s}class VldError extends Error{constructor(e,s){const r=e[0];super(void 0!==s?s:1===e.length&&void 0!==r?r.message:`${e.length} validation errors`),this.name="VldError",this.issues=e,Error.captureStackTrace&&Error.captureStackTrace(this,VldError)}get firstError(){return this.issues[0]}get errors(){return this.issues}get isEmpty(){return 0===this.issues.length}get formattedErrors(){return this.issues.map(e=>e.message)}addIssue(e){this.issues.push(e)}addIssues(e=[]){this.issues.push(...e)}format(){const e={_errors:[]};for(const s of this.issues)if(s.path&&0!==s.path.length){let r=e;for(const e of s.path)r[e]||(r[e]={_errors:[]}),r=r[e];r._errors.push(s.message)}else e._errors.push(s.message);return e}flatten(e){const s=e??(e=>e.message),r=[],i={};for(const e of this.issues)if(e.path&&0!==e.path.length){const r=String(e.path[0]);i[r]=i[r]??[],i[r].push(s(e))}else r.push(s(e));return{formErrors:r,fieldErrors:i}}toJSON(){return{name:this.name,message:this.message,code:"VLD_VALIDATION_ERROR",issues:this.issues.map(r)}}static fromJSON(e){const s=e.issues.map(i);return new VldError(s)}static isVldError(e){return e instanceof VldError}}export{VldError as V,s as c,e as g};
@@ -1 +0,0 @@
1
- import{registerLocale as o,registerFallbackLocale as s,setLocale as r,getLocale as l,getMessages as e,getMessagesForLocale as t,getSupportedLocales as m,isLocaleLoaded as a,isLocaleSupported as i}from"../locales/runtime.js";import{en as c}from"../locales/en.js";import{tr as f}from"../locales/tr.js";import{es as p}from"../locales/es.js";import{fr as j}from"../locales/fr.js";import{de as n}from"../locales/de.js";import{it as d}from"../locales/it.js";import{pt as h}from"../locales/pt.js";import{ru as u}from"../locales/ru.js";import{ja as g}from"../locales/ja.js";import{ko as k}from"../locales/ko.js";import{zh as v}from"../locales/zh.js";import{ar as L}from"../locales/ar.js";import{hi as y}from"../locales/hi.js";import{nl as z}from"../locales/nl.js";import{pl as b}from"../locales/pl.js";import{da as M}from"../locales/da.js";import{sv as R}from"../locales/sv.js";import{no as _}from"../locales/no.js";import{fi as w}from"../locales/fi.js";import{th as A}from"../locales/th.js";import{vi as B}from"../locales/vi.js";import{id as X}from"../locales/id.js";import{bn as q}from"../locales/bn.js";import{sw as x}from"../locales/sw.js";import{af as S}from"../locales/af.js";import{ptBR as C}from"../locales/pt-BR.js";import{esMX as F}from"../locales/es-MX.js";const O=["en","tr","es","fr","de","it","pt","ru","ja","ko","zh","ar","hi","nl","pl","da","sv","no","fi","th","vi","id","bn","sw","af","pt-BR","es-MX"],D=["is","cs","sk","hu","ro","bg","hr","sl","lv","lt","et","el","mk","sq","sr","bs","me","mt","ga","cy","eu","ca","ms","tl","ur","fa","he","ka","am","hy","az","kk","ky","uz","tg","mn","my","km","lo","si","ta","te","ml","kn","gu","pa","or","as","ne","mr","sd","dv","ha","yo","ig","zu","xh","st","tn","ts","ve","nr","ss","es-AR","fr-CA","qu","gn","ay"],E={en:c,tr:f,es:p,fr:j,de:n,it:d,pt:h,ru:u,ja:g,ko:k,zh:v,ar:L,hi:y,nl:z,pl:b,da:M,sv:R,no:_,fi:w,th:A,vi:B,id:X,bn:q,sw:x,af:S,"pt-BR":C,"es-MX":F};for(const s of O)o(s,E[s]);for(const o of D)s(o);async function G(o){r(o)}var H=Object.freeze({__proto__:null,getLocale:l,getMessages:e,getMessagesForLocale:t,getSupportedLocales:m,isLocaleLoaded:a,isLocaleSupported:i,registerLocale:o,setLocale:r,setLocaleAsync:G});export{H as l,G as s};
@@ -1 +0,0 @@
1
- "use strict";function e(e){const s={code:e.code,path:e.path,message:e.message};return void 0!==e.expected&&(s.expected=e.expected),void 0!==e.received&&(s.received=e.received),void 0!==e.keys&&(s.keys=e.keys),void 0!==e.minimum&&(s.minimum=e.minimum),void 0!==e.maximum&&(s.maximum=e.maximum),void 0!==e.exact&&(s.exact=e.exact),void 0!==e.inclusive&&(s.inclusive=e.inclusive),void 0!==e.origin&&(s.origin=e.origin),void 0!==e.format&&(s.format=e.format),void 0!==e.values&&(s.values=e.values),void 0!==e.pattern&&(s.pattern=e.pattern),s}function s(e){const s={code:e.code,path:e.path,message:e.message};return void 0!==e.expected&&(s.expected=e.expected),void 0!==e.received&&(s.received=e.received),void 0!==e.keys&&(s.keys=e.keys),void 0!==e.minimum&&(s.minimum=e.minimum),void 0!==e.maximum&&(s.maximum=e.maximum),void 0!==e.exact&&(s.exact=e.exact),void 0!==e.inclusive&&(s.inclusive=e.inclusive),void 0!==e.origin&&(s.origin=e.origin),void 0!==e.format&&(s.format=e.format),void 0!==e.values&&(s.values=e.values),void 0!==e.pattern&&(s.pattern=e.pattern),s}class VldError extends Error{constructor(e,s){const r=e[0];super(void 0!==s?s:1===e.length&&void 0!==r?r.message:`${e.length} validation errors`),this.name="VldError",this.issues=e,Error.captureStackTrace&&Error.captureStackTrace(this,VldError)}get firstError(){return this.issues[0]}get errors(){return this.issues}get isEmpty(){return 0===this.issues.length}get formattedErrors(){return this.issues.map(e=>e.message)}addIssue(e){this.issues.push(e)}addIssues(e=[]){this.issues.push(...e)}format(){const e={_errors:[]};for(const s of this.issues)if(s.path&&0!==s.path.length){let r=e;for(const e of s.path)r[e]||(r[e]={_errors:[]}),r=r[e];r._errors.push(s.message)}else e._errors.push(s.message);return e}flatten(e){const s=e??(e=>e.message),r=[],t={};for(const e of this.issues)if(e.path&&0!==e.path.length){const r=String(e.path[0]);t[r]=t[r]??[],t[r].push(s(e))}else r.push(s(e));return{formErrors:r,fieldErrors:t}}toJSON(){return{name:this.name,message:this.message,code:"VLD_VALIDATION_ERROR",issues:this.issues.map(e)}}static fromJSON(e){const r=e.issues.map(s);return new VldError(r)}static isVldError(e){return e instanceof VldError}}exports.VldError=VldError,exports.createInvalidTypeIssue=function(e,s,r){return{code:"invalid_type",path:[],expected:e,received:s,message:r??`Invalid input: expected ${e}, received ${s}`}},exports.getTypeName=function(e){return null===e?"null":void 0===e?"undefined":Array.isArray(e)?"array":"number"==typeof e?Number.isNaN(e)?"nan":e===1/0?"Infinity":e===-1/0?"-Infinity":"number":e instanceof Date?"date":e instanceof Map?"map":e instanceof Set?"set":typeof e};
@@ -1 +0,0 @@
1
- "use strict";var e=require("../locales/runtime.cjs"),s=require("../locales/en.cjs"),r=require("../locales/tr.cjs"),l=require("../locales/es.cjs"),c=require("../locales/fr.cjs"),a=require("../locales/de.cjs"),o=require("../locales/it.cjs"),i=require("../locales/pt.cjs"),t=require("../locales/ru.cjs"),u=require("../locales/ja.cjs"),j=require("../locales/ko.cjs"),n=require("../locales/zh.cjs"),q=require("../locales/ar.cjs"),p=require("../locales/hi.cjs"),d=require("../locales/nl.cjs"),g=require("../locales/pl.cjs"),L=require("../locales/da.cjs"),f=require("../locales/sv.cjs"),h=require("../locales/no.cjs"),k=require("../locales/fi.cjs"),v=require("../locales/th.cjs"),m=require("../locales/vi.cjs"),y=require("../locales/id.cjs"),b=require("../locales/bn.cjs"),z=require("../locales/sw.cjs"),M=require("../locales/af.cjs"),R=require("../locales/pt-BR.cjs"),w=require("../locales/es-MX.cjs");const A=["en","tr","es","fr","de","it","pt","ru","ja","ko","zh","ar","hi","nl","pl","da","sv","no","fi","th","vi","id","bn","sw","af","pt-BR","es-MX"],B=["is","cs","sk","hu","ro","bg","hr","sl","lv","lt","et","el","mk","sq","sr","bs","me","mt","ga","cy","eu","ca","ms","tl","ur","fa","he","ka","am","hy","az","kk","ky","uz","tg","mn","my","km","lo","si","ta","te","ml","kn","gu","pa","or","as","ne","mr","sd","dv","ha","yo","ig","zu","xh","st","tn","ts","ve","nr","ss","es-AR","fr-CA","qu","gn","ay"],S={en:s.en,tr:r.tr,es:l.es,fr:c.fr,de:a.de,it:o.it,pt:i.pt,ru:t.ru,ja:u.ja,ko:j.ko,zh:n.zh,ar:q.ar,hi:p.hi,nl:d.nl,pl:g.pl,da:L.da,sv:f.sv,no:h.no,fi:k.fi,th:v.th,vi:m.vi,id:y.id,bn:b.bn,sw:z.sw,af:M.af,"pt-BR":R.ptBR,"es-MX":w.esMX};for(const s of A)e.registerLocale(s,S[s]);for(const s of B)e.registerFallbackLocale(s);async function X(s){e.setLocale(s)}var _=Object.freeze({__proto__:null,getLocale:e.getLocale,getMessages:e.getMessages,getMessagesForLocale:e.getMessagesForLocale,getSupportedLocales:e.getSupportedLocales,isLocaleLoaded:e.isLocaleLoaded,isLocaleSupported:e.isLocaleSupported,registerLocale:e.registerLocale,setLocale:e.setLocale,setLocaleAsync:X});exports.localeNamespace=_,exports.setLocaleAsync=X;