@oxog/vld 2.0.3 → 2.1.0

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 (449) hide show
  1. package/CHANGELOG.md +33 -1
  2. package/README.md +101 -37
  3. package/dist/chunks/errors-core-BeiFUtZM.js +81 -0
  4. package/dist/chunks/{index-DO8CFMxD.js → index-0R2ntSud.js} +16 -402
  5. package/dist/chunks/index-BvH403Yy.js +88 -0
  6. package/dist/chunks/security-B0Pd_vSY.js +35 -0
  7. package/dist/chunks/string-BJRQod3t.js +530 -0
  8. package/dist/cjs/chunks/errors-core-DWxLFs2f.cjs +83 -0
  9. package/dist/cjs/chunks/index-BkI37108.cjs +538 -0
  10. package/dist/cjs/chunks/index-Cc3bjUMX.cjs +91 -0
  11. package/dist/cjs/chunks/security-Dc3Jh13T.cjs +37 -0
  12. package/dist/cjs/chunks/string-BKZrc4hs.cjs +533 -0
  13. package/dist/cjs/cli/bin.cjs +506 -0
  14. package/dist/cjs/cli/index.cjs +209 -0
  15. package/dist/cjs/codecs/index.cjs +45 -0
  16. package/dist/{chunks/date-50JV_Mfj.js → cjs/coercion/index.cjs} +185 -103
  17. package/dist/cjs/compat/emitter.cjs +184 -0
  18. package/dist/cjs/compat/result.cjs +189 -0
  19. package/dist/cjs/errors.cjs +6 -213
  20. package/dist/cjs/index.cjs +1471 -10336
  21. package/dist/cjs/kernel.cjs +415 -0
  22. package/dist/cjs/locales/af.cjs +108 -0
  23. package/dist/cjs/locales/ar.cjs +108 -0
  24. package/dist/cjs/locales/bn.cjs +108 -0
  25. package/dist/cjs/locales/da.cjs +108 -0
  26. package/dist/cjs/locales/de.cjs +108 -0
  27. package/dist/cjs/locales/en.cjs +108 -0
  28. package/dist/cjs/locales/es-MX.cjs +107 -0
  29. package/dist/cjs/locales/es.cjs +96 -0
  30. package/dist/cjs/locales/fi.cjs +108 -0
  31. package/dist/cjs/locales/fr.cjs +96 -0
  32. package/dist/cjs/locales/hi.cjs +108 -0
  33. package/dist/cjs/locales/id.cjs +108 -0
  34. package/dist/cjs/locales/index.cjs +41 -2875
  35. package/dist/cjs/locales/it.cjs +108 -0
  36. package/dist/cjs/locales/ja.cjs +108 -0
  37. package/dist/cjs/locales/ko.cjs +108 -0
  38. package/dist/cjs/locales/lazy.cjs +42 -3023
  39. package/dist/cjs/locales/nl.cjs +108 -0
  40. package/dist/cjs/locales/no.cjs +108 -0
  41. package/dist/cjs/locales/pl.cjs +108 -0
  42. package/dist/cjs/locales/pt-BR.cjs +108 -0
  43. package/dist/cjs/locales/pt.cjs +108 -0
  44. package/dist/cjs/locales/ru.cjs +108 -0
  45. package/dist/cjs/locales/runtime.cjs +51 -0
  46. package/dist/cjs/locales/sv.cjs +108 -0
  47. package/dist/cjs/locales/sw.cjs +108 -0
  48. package/dist/cjs/locales/th.cjs +108 -0
  49. package/dist/cjs/locales/tr.cjs +108 -0
  50. package/dist/cjs/locales/vi.cjs +108 -0
  51. package/dist/cjs/locales/zh.cjs +108 -0
  52. package/dist/cjs/mini.cjs +121 -7353
  53. package/dist/cjs/pigment.cjs +207 -0
  54. package/dist/cjs/plugins/index.cjs +12 -0
  55. package/dist/cjs/registry.cjs +37 -0
  56. package/dist/cjs/v3/index.cjs +425 -0
  57. package/dist/cjs/v4/core/index.cjs +894 -0
  58. package/dist/cjs/v4/index.cjs +425 -0
  59. package/dist/cjs/v4/locales/index.cjs +130 -0
  60. package/dist/cjs/v4/mini/index.cjs +509 -0
  61. package/dist/cjs/v4-mini/index.cjs +532 -0
  62. package/dist/cjs/validators/any.cjs +40 -0
  63. package/dist/cjs/validators/array.cjs +283 -0
  64. package/dist/cjs/validators/base.cjs +887 -0
  65. package/dist/cjs/validators/base64.cjs +73 -0
  66. package/dist/cjs/validators/bigint.cjs +232 -0
  67. package/dist/cjs/validators/boolean.cjs +146 -0
  68. package/dist/cjs/validators/codec.cjs +205 -0
  69. package/dist/cjs/validators/custom.cjs +71 -0
  70. package/dist/cjs/validators/date.cjs +278 -0
  71. package/dist/cjs/validators/discriminated-union.cjs +130 -0
  72. package/dist/cjs/validators/enum.cjs +154 -0
  73. package/dist/cjs/validators/file.cjs +130 -0
  74. package/dist/cjs/validators/function.cjs +63 -0
  75. package/dist/cjs/validators/hex.cjs +70 -0
  76. package/dist/cjs/validators/index.cjs +123 -0
  77. package/dist/cjs/validators/intersection.cjs +120 -0
  78. package/dist/cjs/validators/json.cjs +70 -0
  79. package/dist/cjs/validators/lazy.cjs +53 -0
  80. package/dist/cjs/validators/literal.cjs +64 -0
  81. package/dist/cjs/validators/map.cjs +218 -0
  82. package/dist/cjs/validators/nan.cjs +41 -0
  83. package/dist/cjs/validators/never.cjs +36 -0
  84. package/dist/cjs/validators/null.cjs +43 -0
  85. package/dist/cjs/validators/number.cjs +427 -0
  86. package/dist/cjs/validators/object.cjs +868 -0
  87. package/dist/cjs/validators/promise.cjs +115 -0
  88. package/dist/cjs/validators/record.cjs +262 -0
  89. package/dist/cjs/validators/set.cjs +203 -0
  90. package/dist/cjs/validators/string-bool.cjs +124 -0
  91. package/dist/cjs/validators/string-formats.cjs +168 -0
  92. package/dist/cjs/validators/string.cjs +12 -0
  93. package/dist/cjs/validators/symbol.cjs +62 -0
  94. package/dist/cjs/validators/template-literal.cjs +108 -0
  95. package/dist/cjs/validators/tuple.cjs +187 -0
  96. package/dist/cjs/validators/uint8array.cjs +106 -0
  97. package/dist/cjs/validators/undefined.cjs +43 -0
  98. package/dist/cjs/validators/union.cjs +191 -0
  99. package/dist/cjs/validators/unknown.cjs +40 -0
  100. package/dist/cjs/validators/void.cjs +48 -0
  101. package/dist/cjs/validators/xor.cjs +69 -0
  102. package/dist/cli/bin.d.ts +0 -1
  103. package/dist/cli/bin.js +407 -0
  104. package/dist/cli/commands/benchmark.d.ts +1 -2
  105. package/dist/cli/commands/validate.d.ts +1 -2
  106. package/dist/cli/index.d.ts +0 -1
  107. package/dist/cli/index.js +205 -0
  108. package/dist/codecs/index.d.ts +21 -4
  109. package/dist/codecs/index.js +11 -4
  110. package/dist/coercion/bigint.d.ts +2 -3
  111. package/dist/coercion/boolean.d.ts +3 -3
  112. package/dist/coercion/date.d.ts +3 -3
  113. package/dist/coercion/index.d.ts +5 -6
  114. package/dist/coercion/index.js +473 -5
  115. package/dist/coercion/number.d.ts +2 -3
  116. package/dist/coercion/string.d.ts +2 -3
  117. package/dist/compat/emitter.d.ts +0 -1
  118. package/dist/compat/emitter.js +0 -1
  119. package/dist/compat/index.d.ts +4 -5
  120. package/dist/compat/result.d.ts +1 -2
  121. package/dist/compat/result.js +0 -1
  122. package/dist/errors-core.d.ts +39 -0
  123. package/dist/errors.d.ts +4 -54
  124. package/dist/errors.js +4 -68
  125. package/dist/events.d.ts +3 -4
  126. package/dist/index.d.ts +1186 -835
  127. package/dist/index.js +1046 -367
  128. package/dist/kernel.d.ts +2 -3
  129. package/dist/kernel.js +10 -6
  130. package/dist/locales/af.d.ts +1 -2
  131. package/dist/locales/af.js +0 -1
  132. package/dist/locales/ar.d.ts +1 -2
  133. package/dist/locales/ar.js +0 -1
  134. package/dist/locales/bn.d.ts +1 -2
  135. package/dist/locales/bn.js +0 -1
  136. package/dist/locales/da.d.ts +1 -2
  137. package/dist/locales/da.js +0 -1
  138. package/dist/locales/de.d.ts +1 -2
  139. package/dist/locales/de.js +0 -1
  140. package/dist/locales/en.d.ts +1 -2
  141. package/dist/locales/en.js +0 -1
  142. package/dist/locales/es-MX.d.ts +1 -2
  143. package/dist/locales/es-MX.js +0 -1
  144. package/dist/locales/es.d.ts +1 -2
  145. package/dist/locales/es.js +0 -1
  146. package/dist/locales/fi.d.ts +1 -2
  147. package/dist/locales/fi.js +0 -1
  148. package/dist/locales/fr.d.ts +1 -2
  149. package/dist/locales/fr.js +0 -1
  150. package/dist/locales/hi.d.ts +1 -2
  151. package/dist/locales/hi.js +0 -1
  152. package/dist/locales/id.d.ts +1 -2
  153. package/dist/locales/id.js +0 -1
  154. package/dist/locales/index.d.ts +10 -15
  155. package/dist/locales/index.js +28 -2
  156. package/dist/locales/it.d.ts +1 -2
  157. package/dist/locales/it.js +0 -1
  158. package/dist/locales/ja.d.ts +1 -2
  159. package/dist/locales/ja.js +0 -1
  160. package/dist/locales/ko.d.ts +1 -2
  161. package/dist/locales/ko.js +0 -1
  162. package/dist/locales/lazy.d.ts +4 -26
  163. package/dist/locales/lazy.js +12 -55
  164. package/dist/locales/nl.d.ts +1 -2
  165. package/dist/locales/nl.js +0 -1
  166. package/dist/locales/no.d.ts +1 -2
  167. package/dist/locales/no.js +0 -1
  168. package/dist/locales/pl.d.ts +1 -2
  169. package/dist/locales/pl.js +0 -1
  170. package/dist/locales/pt-BR.d.ts +1 -2
  171. package/dist/locales/pt-BR.js +0 -1
  172. package/dist/locales/pt.d.ts +1 -2
  173. package/dist/locales/pt.js +0 -1
  174. package/dist/locales/ru.d.ts +1 -2
  175. package/dist/locales/ru.js +0 -1
  176. package/dist/locales/runtime.d.ts +10 -0
  177. package/dist/locales/runtime.js +41 -0
  178. package/dist/locales/sv.d.ts +1 -2
  179. package/dist/locales/sv.js +0 -1
  180. package/dist/locales/sw.d.ts +1 -2
  181. package/dist/locales/sw.js +0 -1
  182. package/dist/locales/th.d.ts +1 -2
  183. package/dist/locales/th.js +0 -1
  184. package/dist/locales/tr.d.ts +1 -2
  185. package/dist/locales/tr.js +0 -1
  186. package/dist/locales/types.d.ts +0 -1
  187. package/dist/locales/vi.d.ts +1 -2
  188. package/dist/locales/vi.js +0 -1
  189. package/dist/locales/zh.d.ts +1 -2
  190. package/dist/locales/zh.js +0 -1
  191. package/dist/logger.d.ts +0 -1
  192. package/dist/mini.d.ts +64 -65
  193. package/dist/mini.js +31 -7
  194. package/dist/pigment.d.ts +0 -1
  195. package/dist/pigment.js +6 -4
  196. package/dist/plugins/index.d.ts +2 -3
  197. package/dist/plugins/index.js +1 -0
  198. package/dist/plugins/types.d.ts +4 -5
  199. package/dist/registry.d.ts +23 -0
  200. package/dist/registry.js +34 -0
  201. package/dist/utils/codec-utils.d.ts +0 -1
  202. package/dist/utils/deep-merge.d.ts +0 -1
  203. package/dist/utils/ip-validation.d.ts +0 -1
  204. package/dist/utils/json-schema.d.ts +16 -6
  205. package/dist/utils/security.d.ts +2 -6
  206. package/dist/v3/index.d.ts +2 -0
  207. package/dist/v3/index.js +46 -0
  208. package/dist/v4/core/index.d.ts +260 -0
  209. package/dist/v4/core/index.js +277 -0
  210. package/dist/v4/index.d.ts +4 -0
  211. package/dist/v4/index.js +50 -0
  212. package/dist/v4/locales/index.d.ts +53 -0
  213. package/dist/v4/locales/index.js +77 -0
  214. package/dist/v4/mini/index.d.ts +2 -0
  215. package/dist/v4/mini/index.js +47 -0
  216. package/dist/v4-mini/index.d.ts +22 -0
  217. package/dist/v4-mini/index.js +75 -0
  218. package/dist/validators/any.d.ts +7 -2
  219. package/dist/validators/any.js +37 -0
  220. package/dist/validators/array.d.ts +9 -2
  221. package/dist/validators/array.js +279 -0
  222. package/dist/validators/base.d.ts +150 -6
  223. package/dist/validators/base.js +868 -0
  224. package/dist/validators/base64.d.ts +1 -2
  225. package/dist/validators/base64.js +68 -0
  226. package/dist/validators/bigint.d.ts +21 -3
  227. package/dist/validators/bigint.js +228 -0
  228. package/dist/validators/boolean.d.ts +13 -4
  229. package/dist/validators/boolean.js +142 -0
  230. package/dist/validators/codec.d.ts +9 -2
  231. package/dist/validators/codec.js +200 -0
  232. package/dist/validators/custom.d.ts +15 -2
  233. package/dist/validators/custom.js +67 -0
  234. package/dist/validators/date.d.ts +19 -3
  235. package/dist/validators/date.js +274 -0
  236. package/dist/validators/discriminated-union.d.ts +4 -3
  237. package/dist/validators/discriminated-union.js +123 -0
  238. package/dist/validators/enum.d.ts +10 -7
  239. package/dist/validators/enum.js +150 -0
  240. package/dist/validators/file.d.ts +7 -2
  241. package/dist/validators/file.js +125 -0
  242. package/dist/validators/function.d.ts +11 -5
  243. package/dist/validators/function.js +58 -0
  244. package/dist/validators/hex.d.ts +1 -2
  245. package/dist/validators/hex.js +65 -0
  246. package/dist/validators/index.d.ts +38 -39
  247. package/dist/validators/index.js +35 -515
  248. package/dist/validators/intersection.d.ts +1 -2
  249. package/dist/validators/intersection.js +116 -0
  250. package/dist/validators/json.d.ts +1 -2
  251. package/dist/validators/json.js +66 -0
  252. package/dist/validators/lazy.d.ts +5 -9
  253. package/dist/validators/lazy.js +50 -0
  254. package/dist/validators/literal.d.ts +2 -2
  255. package/dist/validators/literal.js +60 -0
  256. package/dist/validators/map.d.ts +15 -2
  257. package/dist/validators/map.js +214 -0
  258. package/dist/validators/nan.d.ts +2 -3
  259. package/dist/validators/nan.js +38 -0
  260. package/dist/validators/never.d.ts +1 -2
  261. package/dist/validators/never.js +32 -0
  262. package/dist/validators/null.d.ts +3 -3
  263. package/dist/validators/null.js +40 -0
  264. package/dist/validators/number.d.ts +56 -27
  265. package/dist/validators/number.js +423 -0
  266. package/dist/validators/object.d.ts +30 -9
  267. package/dist/validators/object.js +864 -0
  268. package/dist/validators/promise.d.ts +15 -10
  269. package/dist/validators/promise.js +111 -0
  270. package/dist/validators/record.d.ts +11 -2
  271. package/dist/validators/record.js +258 -0
  272. package/dist/validators/set.d.ts +11 -2
  273. package/dist/validators/set.js +199 -0
  274. package/dist/validators/string-bool.d.ts +7 -10
  275. package/dist/validators/string-bool.js +120 -0
  276. package/dist/validators/string-formats.d.ts +7 -4
  277. package/dist/validators/string-formats.js +135 -0
  278. package/dist/validators/string.d.ts +39 -18
  279. package/dist/validators/string.js +4 -0
  280. package/dist/validators/symbol.d.ts +8 -3
  281. package/dist/validators/symbol.js +58 -0
  282. package/dist/validators/template-literal.d.ts +1 -2
  283. package/dist/validators/template-literal.js +103 -0
  284. package/dist/validators/tuple.d.ts +15 -2
  285. package/dist/validators/tuple.js +183 -0
  286. package/dist/validators/uint8array.d.ts +3 -4
  287. package/dist/validators/uint8array.js +101 -0
  288. package/dist/validators/undefined.d.ts +3 -3
  289. package/dist/validators/undefined.js +40 -0
  290. package/dist/validators/union.d.ts +7 -4
  291. package/dist/validators/union.js +187 -0
  292. package/dist/validators/unknown.d.ts +7 -2
  293. package/dist/{chunks/unknown-Dhzri_T-.js → validators/unknown.js} +12 -3
  294. package/dist/validators/void.d.ts +3 -2
  295. package/dist/validators/void.js +44 -0
  296. package/dist/validators/xor.d.ts +2 -3
  297. package/dist/validators/xor.js +66 -0
  298. package/package.json +114 -30
  299. package/dist/chunks/bigint-CRS0QVsy.js +0 -1854
  300. package/dist/chunks/bigint-CRS0QVsy.js.map +0 -1
  301. package/dist/chunks/date-50JV_Mfj.js.map +0 -1
  302. package/dist/chunks/index-DO8CFMxD.js.map +0 -1
  303. package/dist/chunks/json-Cp4WO0M9.js +0 -2021
  304. package/dist/chunks/json-Cp4WO0M9.js.map +0 -1
  305. package/dist/chunks/unknown-Dhzri_T-.js.map +0 -1
  306. package/dist/cjs/errors.cjs.map +0 -1
  307. package/dist/cjs/index.cjs.map +0 -1
  308. package/dist/cjs/locales/index.cjs.map +0 -1
  309. package/dist/cjs/locales/lazy.cjs.map +0 -1
  310. package/dist/cjs/mini.cjs.map +0 -1
  311. package/dist/cli/bin.d.ts.map +0 -1
  312. package/dist/cli/commands/benchmark.d.ts.map +0 -1
  313. package/dist/cli/commands/validate.d.ts.map +0 -1
  314. package/dist/cli/index.d.ts.map +0 -1
  315. package/dist/codecs/index.d.ts.map +0 -1
  316. package/dist/codecs/index.js.map +0 -1
  317. package/dist/coercion/bigint.d.ts.map +0 -1
  318. package/dist/coercion/boolean.d.ts.map +0 -1
  319. package/dist/coercion/date.d.ts.map +0 -1
  320. package/dist/coercion/index.d.ts.map +0 -1
  321. package/dist/coercion/index.js.map +0 -1
  322. package/dist/coercion/number.d.ts.map +0 -1
  323. package/dist/coercion/string.d.ts.map +0 -1
  324. package/dist/compat/emitter.d.ts.map +0 -1
  325. package/dist/compat/emitter.js.map +0 -1
  326. package/dist/compat/index.d.ts.map +0 -1
  327. package/dist/compat/result.d.ts.map +0 -1
  328. package/dist/compat/result.js.map +0 -1
  329. package/dist/errors.d.ts.map +0 -1
  330. package/dist/errors.js.map +0 -1
  331. package/dist/events.d.ts.map +0 -1
  332. package/dist/index.d.ts.map +0 -1
  333. package/dist/index.js.map +0 -1
  334. package/dist/kernel.d.ts.map +0 -1
  335. package/dist/kernel.js.map +0 -1
  336. package/dist/locales/af.d.ts.map +0 -1
  337. package/dist/locales/af.js.map +0 -1
  338. package/dist/locales/ar.d.ts.map +0 -1
  339. package/dist/locales/ar.js.map +0 -1
  340. package/dist/locales/backup-en.d.ts +0 -3
  341. package/dist/locales/backup-en.d.ts.map +0 -1
  342. package/dist/locales/bn.d.ts.map +0 -1
  343. package/dist/locales/bn.js.map +0 -1
  344. package/dist/locales/da.d.ts.map +0 -1
  345. package/dist/locales/da.js.map +0 -1
  346. package/dist/locales/de.d.ts.map +0 -1
  347. package/dist/locales/de.js.map +0 -1
  348. package/dist/locales/en.d.ts.map +0 -1
  349. package/dist/locales/en.js.map +0 -1
  350. package/dist/locales/es-MX.d.ts.map +0 -1
  351. package/dist/locales/es-MX.js.map +0 -1
  352. package/dist/locales/es.d.ts.map +0 -1
  353. package/dist/locales/es.js.map +0 -1
  354. package/dist/locales/fi.d.ts.map +0 -1
  355. package/dist/locales/fi.js.map +0 -1
  356. package/dist/locales/fr.d.ts.map +0 -1
  357. package/dist/locales/fr.js.map +0 -1
  358. package/dist/locales/hi.d.ts.map +0 -1
  359. package/dist/locales/hi.js.map +0 -1
  360. package/dist/locales/id.d.ts.map +0 -1
  361. package/dist/locales/id.js.map +0 -1
  362. package/dist/locales/index.d.ts.map +0 -1
  363. package/dist/locales/index.js.map +0 -1
  364. package/dist/locales/it.d.ts.map +0 -1
  365. package/dist/locales/it.js.map +0 -1
  366. package/dist/locales/ja.d.ts.map +0 -1
  367. package/dist/locales/ja.js.map +0 -1
  368. package/dist/locales/ko.d.ts.map +0 -1
  369. package/dist/locales/ko.js.map +0 -1
  370. package/dist/locales/lazy.d.ts.map +0 -1
  371. package/dist/locales/lazy.js.map +0 -1
  372. package/dist/locales/nl.d.ts.map +0 -1
  373. package/dist/locales/nl.js.map +0 -1
  374. package/dist/locales/no.d.ts.map +0 -1
  375. package/dist/locales/no.js.map +0 -1
  376. package/dist/locales/pl.d.ts.map +0 -1
  377. package/dist/locales/pl.js.map +0 -1
  378. package/dist/locales/pt-BR.d.ts.map +0 -1
  379. package/dist/locales/pt-BR.js.map +0 -1
  380. package/dist/locales/pt.d.ts.map +0 -1
  381. package/dist/locales/pt.js.map +0 -1
  382. package/dist/locales/ru.d.ts.map +0 -1
  383. package/dist/locales/ru.js.map +0 -1
  384. package/dist/locales/sv.d.ts.map +0 -1
  385. package/dist/locales/sv.js.map +0 -1
  386. package/dist/locales/sw.d.ts.map +0 -1
  387. package/dist/locales/sw.js.map +0 -1
  388. package/dist/locales/th.d.ts.map +0 -1
  389. package/dist/locales/th.js.map +0 -1
  390. package/dist/locales/tr.d.ts.map +0 -1
  391. package/dist/locales/tr.js.map +0 -1
  392. package/dist/locales/types.d.ts.map +0 -1
  393. package/dist/locales/vi.d.ts.map +0 -1
  394. package/dist/locales/vi.js.map +0 -1
  395. package/dist/locales/zh.d.ts.map +0 -1
  396. package/dist/locales/zh.js.map +0 -1
  397. package/dist/logger.d.ts.map +0 -1
  398. package/dist/mini.d.ts.map +0 -1
  399. package/dist/mini.js.map +0 -1
  400. package/dist/pigment.d.ts.map +0 -1
  401. package/dist/pigment.js.map +0 -1
  402. package/dist/plugins/index.d.ts.map +0 -1
  403. package/dist/plugins/types.d.ts.map +0 -1
  404. package/dist/utils/codec-utils.d.ts.map +0 -1
  405. package/dist/utils/deep-merge.d.ts.map +0 -1
  406. package/dist/utils/ip-validation.d.ts.map +0 -1
  407. package/dist/utils/json-schema.d.ts.map +0 -1
  408. package/dist/utils/security.d.ts.map +0 -1
  409. package/dist/validators/any.d.ts.map +0 -1
  410. package/dist/validators/array.d.ts.map +0 -1
  411. package/dist/validators/base.d.ts.map +0 -1
  412. package/dist/validators/base64.d.ts.map +0 -1
  413. package/dist/validators/bigint.d.ts.map +0 -1
  414. package/dist/validators/boolean.d.ts.map +0 -1
  415. package/dist/validators/codec.d.ts.map +0 -1
  416. package/dist/validators/custom.d.ts.map +0 -1
  417. package/dist/validators/date.d.ts.map +0 -1
  418. package/dist/validators/discriminated-union.d.ts.map +0 -1
  419. package/dist/validators/enum.d.ts.map +0 -1
  420. package/dist/validators/file.d.ts.map +0 -1
  421. package/dist/validators/function.d.ts.map +0 -1
  422. package/dist/validators/hex.d.ts.map +0 -1
  423. package/dist/validators/index.d.ts.map +0 -1
  424. package/dist/validators/index.js.map +0 -1
  425. package/dist/validators/intersection.d.ts.map +0 -1
  426. package/dist/validators/json.d.ts.map +0 -1
  427. package/dist/validators/lazy.d.ts.map +0 -1
  428. package/dist/validators/literal.d.ts.map +0 -1
  429. package/dist/validators/map.d.ts.map +0 -1
  430. package/dist/validators/nan.d.ts.map +0 -1
  431. package/dist/validators/never.d.ts.map +0 -1
  432. package/dist/validators/null.d.ts.map +0 -1
  433. package/dist/validators/number.d.ts.map +0 -1
  434. package/dist/validators/object.d.ts.map +0 -1
  435. package/dist/validators/promise.d.ts.map +0 -1
  436. package/dist/validators/record.d.ts.map +0 -1
  437. package/dist/validators/set.d.ts.map +0 -1
  438. package/dist/validators/string-bool.d.ts.map +0 -1
  439. package/dist/validators/string-formats.d.ts.map +0 -1
  440. package/dist/validators/string.d.ts.map +0 -1
  441. package/dist/validators/symbol.d.ts.map +0 -1
  442. package/dist/validators/template-literal.d.ts.map +0 -1
  443. package/dist/validators/tuple.d.ts.map +0 -1
  444. package/dist/validators/uint8array.d.ts.map +0 -1
  445. package/dist/validators/undefined.d.ts.map +0 -1
  446. package/dist/validators/union.d.ts.map +0 -1
  447. package/dist/validators/unknown.d.ts.map +0 -1
  448. package/dist/validators/void.d.ts.map +0 -1
  449. package/dist/validators/xor.d.ts.map +0 -1
@@ -0,0 +1,103 @@
1
+ import { VldBase, VLD_VALIDATOR_TYPES } from './base.js';
2
+ import { getMessages } from '../locales/runtime.js';
3
+
4
+ /**
5
+ * Immutable template literal validator
6
+ * Validates strings matching a template pattern
7
+ */
8
+ class VldTemplateLiteral extends VldBase {
9
+ constructor(pattern) {
10
+ super(VLD_VALIDATOR_TYPES.TEMPLATE_LITERAL);
11
+ this.pattern = pattern;
12
+ }
13
+ /**
14
+ * Create a template literal validator from components
15
+ */
16
+ static create(...components) {
17
+ // Build regex pattern from components
18
+ let pattern = '^';
19
+ for (const comp of components) {
20
+ if (typeof comp === 'string') {
21
+ // Escape special regex characters
22
+ pattern += comp.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
23
+ }
24
+ else {
25
+ // Add appropriate pattern based on validator type
26
+ pattern += getPatternForValidator(comp);
27
+ }
28
+ }
29
+ pattern += '$';
30
+ return new VldTemplateLiteral(new RegExp(pattern));
31
+ }
32
+ /**
33
+ * Parse and validate a template literal string
34
+ */
35
+ parse(value) {
36
+ if (typeof value !== 'string') {
37
+ throw new Error(getMessages().invalidString);
38
+ }
39
+ if (!this.pattern.test(value)) {
40
+ throw new Error(getMessages().stringPatternInvalid);
41
+ }
42
+ return value;
43
+ }
44
+ /**
45
+ * Safely parse and validate a template literal string
46
+ */
47
+ safeParse(value) {
48
+ try {
49
+ return { success: true, data: this.parse(value) };
50
+ }
51
+ catch (error) {
52
+ return {
53
+ success: false,
54
+ error: error
55
+ };
56
+ }
57
+ }
58
+ }
59
+ /**
60
+ * Get regex pattern for a validator type
61
+ */
62
+ function getPatternForValidator(validator) {
63
+ // For template literals, we need to identify the validator type
64
+ // and return an appropriate capture group pattern
65
+ switch (validator.validatorType) {
66
+ case VLD_VALIDATOR_TYPES.STRING:
67
+ case VLD_VALIDATOR_TYPES.STRING_FORMAT:
68
+ return '(.+)';
69
+ case VLD_VALIDATOR_TYPES.NUMBER:
70
+ case VLD_VALIDATOR_TYPES.COERCE_NUMBER:
71
+ return '(-?\\d+(?:\\.\\d+)?)';
72
+ case VLD_VALIDATOR_TYPES.BIGINT:
73
+ case VLD_VALIDATOR_TYPES.COERCE_BIGINT:
74
+ return '(-?\\d+)';
75
+ case VLD_VALIDATOR_TYPES.BOOLEAN:
76
+ case VLD_VALIDATOR_TYPES.COERCE_BOOLEAN:
77
+ return '(true|false)';
78
+ case VLD_VALIDATOR_TYPES.NULL:
79
+ return '(null)';
80
+ case VLD_VALIDATOR_TYPES.UNDEFINED:
81
+ case VLD_VALIDATOR_TYPES.VOID:
82
+ return '(undefined)';
83
+ case VLD_VALIDATOR_TYPES.LITERAL: {
84
+ const literalValidator = validator;
85
+ if (literalValidator.literal !== undefined) {
86
+ const valueStr = String(literalValidator.literal);
87
+ return '(' + valueStr.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') + ')';
88
+ }
89
+ break;
90
+ }
91
+ }
92
+ // Default: match any string
93
+ return '(.+)';
94
+ }
95
+ /**
96
+ * Helper function to create template literal validators
97
+ * Usage: v.templateLiteral(v.string(), '-', v.number())
98
+ */
99
+ function templateLiteral(...components) {
100
+ return VldTemplateLiteral.create(...components);
101
+ }
102
+
103
+ export { VldTemplateLiteral, templateLiteral };
@@ -1,4 +1,4 @@
1
- import { VldBase, ParseResult } from './base';
1
+ import { VldBase, ParseResult } from './base.js';
2
2
  /**
3
3
  * Immutable tuple validator for fixed-length arrays
4
4
  */
@@ -10,7 +10,14 @@ export declare class VldTuple<T extends readonly VldBase<any, any>[]> extends Vl
10
10
  /**
11
11
  * Private constructor to enforce immutability
12
12
  */
13
+ private readonly _length;
14
+ private readonly _validatorTypes;
15
+ private readonly _simpleItemModes;
16
+ private readonly _simpleItemValues;
13
17
  private constructor();
18
+ get items(): T;
19
+ private getSimpleItemMode;
20
+ private getSimpleItemError;
14
21
  /**
15
22
  * Create a new tuple validator
16
23
  */
@@ -21,6 +28,13 @@ export declare class VldTuple<T extends readonly VldBase<any, any>[]> extends Vl
21
28
  parse(value: unknown): {
22
29
  [K in keyof T]: T[K] extends VldBase<any, infer U> ? U : never;
23
30
  };
31
+ /**
32
+ * Parse a value that has already passed the tuple array type guard.
33
+ * @internal Used by object validators to avoid duplicate hot-path checks.
34
+ */
35
+ parseKnownTuple(value: unknown[]): {
36
+ [K in keyof T]: T[K] extends VldBase<any, infer U> ? U : never;
37
+ };
24
38
  /**
25
39
  * Safely parse and validate a tuple value
26
40
  */
@@ -28,4 +42,3 @@ export declare class VldTuple<T extends readonly VldBase<any, any>[]> extends Vl
28
42
  [K in keyof T]: T[K] extends VldBase<any, infer U> ? U : never;
29
43
  }>;
30
44
  }
31
- //# sourceMappingURL=tuple.d.ts.map
@@ -0,0 +1,183 @@
1
+ import { VldBase, VLD_VALIDATOR_TYPES } from './base.js';
2
+ import { getMessages } from '../locales/runtime.js';
3
+ import { V as VldError } from '../chunks/errors-core-BeiFUtZM.js';
4
+
5
+ function createTupleError(message) {
6
+ return new VldError([{ code: 'invalid_array', path: [], message }]);
7
+ }
8
+ /**
9
+ * Immutable tuple validator for fixed-length arrays
10
+ */
11
+ class VldTuple extends VldBase {
12
+ constructor(validators, errorMessage) {
13
+ super(VLD_VALIDATOR_TYPES.TUPLE);
14
+ this.validators = validators;
15
+ this.errorMessage = errorMessage;
16
+ this._length = validators.length;
17
+ this._validatorTypes = validators.map(validator => validator.validatorType);
18
+ this._simpleItemModes = validators.map((validator, index) => this.getSimpleItemMode(validator, this._validatorTypes[index]));
19
+ this._simpleItemValues = validators.map((validator, index) => this._simpleItemModes[index] === 'literal' ? validator.literal : undefined);
20
+ }
21
+ get items() {
22
+ return this.validators;
23
+ }
24
+ getSimpleItemMode(validator, type) {
25
+ if (validator.isSimple !== true) {
26
+ return undefined;
27
+ }
28
+ switch (type) {
29
+ case VLD_VALIDATOR_TYPES.STRING:
30
+ return 'string';
31
+ case VLD_VALIDATOR_TYPES.NUMBER:
32
+ return 'number';
33
+ case VLD_VALIDATOR_TYPES.BOOLEAN:
34
+ return 'boolean';
35
+ case VLD_VALIDATOR_TYPES.BIGINT:
36
+ return 'bigint';
37
+ case VLD_VALIDATOR_TYPES.SYMBOL:
38
+ return 'symbol';
39
+ case VLD_VALIDATOR_TYPES.NULL:
40
+ return 'null';
41
+ case VLD_VALIDATOR_TYPES.UNDEFINED:
42
+ case VLD_VALIDATOR_TYPES.VOID:
43
+ return 'undefinedValue';
44
+ case VLD_VALIDATOR_TYPES.LITERAL:
45
+ return 'literal';
46
+ case VLD_VALIDATOR_TYPES.ANY:
47
+ case VLD_VALIDATOR_TYPES.UNKNOWN:
48
+ return 'passthrough';
49
+ default:
50
+ return undefined;
51
+ }
52
+ }
53
+ getSimpleItemError(mode, expected, received) {
54
+ switch (mode) {
55
+ case 'string':
56
+ return getMessages().invalidString;
57
+ case 'number':
58
+ return getMessages().invalidNumber;
59
+ case 'boolean':
60
+ return getMessages().invalidBoolean;
61
+ case 'bigint':
62
+ return getMessages().invalidBigint;
63
+ case 'symbol':
64
+ return getMessages().invalidSymbol;
65
+ case 'null':
66
+ return `Expected null, received ${typeof received}`;
67
+ case 'undefinedValue':
68
+ return getMessages().expectedUndefined;
69
+ case 'literal':
70
+ return getMessages().literalExpected(JSON.stringify(expected), JSON.stringify(received));
71
+ default:
72
+ return getMessages().invalidTuple;
73
+ }
74
+ }
75
+ /**
76
+ * Create a new tuple validator
77
+ */
78
+ static create(...validators) {
79
+ return new VldTuple(validators);
80
+ }
81
+ /**
82
+ * Parse and validate a tuple value
83
+ */
84
+ parse(value) {
85
+ if (!Array.isArray(value)) {
86
+ throw new Error(this.errorMessage || getMessages().invalidTuple);
87
+ }
88
+ return this.parseKnownTuple(value);
89
+ }
90
+ /**
91
+ * Parse a value that has already passed the tuple array type guard.
92
+ * @internal Used by object validators to avoid duplicate hot-path checks.
93
+ */
94
+ parseKnownTuple(value) {
95
+ if (value.length !== this._length) {
96
+ throw new Error(this.errorMessage ||
97
+ getMessages().tupleLength(this._length, value.length));
98
+ }
99
+ const result = new Array(this._length);
100
+ for (let i = 0; i < this._length; i++) {
101
+ const simpleMode = this._simpleItemModes[i];
102
+ const item = value[i];
103
+ if (simpleMode !== undefined) {
104
+ switch (simpleMode) {
105
+ case 'string':
106
+ if (typeof item !== 'string') {
107
+ throw new Error(getMessages().arrayItem(i, getMessages().invalidString));
108
+ }
109
+ result[i] = item;
110
+ continue;
111
+ case 'number':
112
+ if (typeof item !== 'number' || isNaN(item)) {
113
+ throw new Error(getMessages().arrayItem(i, getMessages().invalidNumber));
114
+ }
115
+ result[i] = item;
116
+ continue;
117
+ case 'boolean':
118
+ if (typeof item !== 'boolean') {
119
+ throw new Error(getMessages().arrayItem(i, getMessages().invalidBoolean));
120
+ }
121
+ result[i] = item;
122
+ continue;
123
+ case 'bigint':
124
+ if (typeof item !== 'bigint') {
125
+ throw new Error(getMessages().arrayItem(i, getMessages().invalidBigint));
126
+ }
127
+ result[i] = item;
128
+ continue;
129
+ case 'symbol':
130
+ if (typeof item !== 'symbol') {
131
+ throw new Error(getMessages().arrayItem(i, getMessages().invalidSymbol));
132
+ }
133
+ result[i] = item;
134
+ continue;
135
+ case 'null':
136
+ if (item !== null) {
137
+ throw new Error(getMessages().arrayItem(i, this.getSimpleItemError(simpleMode, undefined, item)));
138
+ }
139
+ result[i] = null;
140
+ continue;
141
+ case 'undefinedValue':
142
+ if (item !== undefined) {
143
+ throw new Error(getMessages().arrayItem(i, getMessages().expectedUndefined));
144
+ }
145
+ result[i] = undefined;
146
+ continue;
147
+ case 'literal': {
148
+ const literal = this._simpleItemValues[i];
149
+ if (item !== literal) {
150
+ throw new Error(getMessages().arrayItem(i, this.getSimpleItemError(simpleMode, literal, item)));
151
+ }
152
+ result[i] = literal;
153
+ continue;
154
+ }
155
+ case 'passthrough':
156
+ result[i] = item;
157
+ continue;
158
+ }
159
+ }
160
+ try {
161
+ const validator = this.validators[i];
162
+ result[i] = validator.parse(item);
163
+ }
164
+ catch (error) {
165
+ throw new Error(getMessages().arrayItem(i, error.message));
166
+ }
167
+ }
168
+ return result;
169
+ }
170
+ /**
171
+ * Safely parse and validate a tuple value
172
+ */
173
+ safeParse(value) {
174
+ try {
175
+ return { success: true, data: this.parse(value) };
176
+ }
177
+ catch (error) {
178
+ return { success: false, error: createTupleError(error.message) };
179
+ }
180
+ }
181
+ }
182
+
183
+ export { VldTuple };
@@ -1,11 +1,11 @@
1
- import { VldBase, ParseResult } from './base';
1
+ import { VldBase, ParseResult } from './base.js';
2
2
  /**
3
3
  * Configuration for Uint8Array validator
4
4
  * BUG-NEW-010 FIX: Use config object pattern for immutability
5
5
  */
6
6
  interface Uint8ArrayValidatorConfig {
7
- readonly minLength?: number;
8
- readonly maxLength?: number;
7
+ readonly minLength?: number | undefined;
8
+ readonly maxLength?: number | undefined;
9
9
  readonly exactLength?: number;
10
10
  }
11
11
  /**
@@ -39,4 +39,3 @@ export declare class VldUint8Array extends VldBase<Uint8Array, Uint8Array> {
39
39
  static create(): VldUint8Array;
40
40
  }
41
41
  export {};
42
- //# sourceMappingURL=uint8array.d.ts.map
@@ -0,0 +1,101 @@
1
+ import { VldBase, VLD_VALIDATOR_TYPES } from './base.js';
2
+ import { createIssue } from '../errors.js';
3
+ import { getMessages } from '../locales/runtime.js';
4
+ import { V as VldError } from '../chunks/errors-core-BeiFUtZM.js';
5
+
6
+ /**
7
+ * Uint8Array validator with immutable configuration
8
+ * BUG-NEW-010 FIX: Refactored to follow immutability pattern
9
+ */
10
+ class VldUint8Array extends VldBase {
11
+ /**
12
+ * Protected constructor to maintain immutability
13
+ */
14
+ constructor(config) {
15
+ super(VLD_VALIDATOR_TYPES.UINT8_ARRAY);
16
+ this.config = config || {};
17
+ }
18
+ parse(value) {
19
+ const result = this.safeParse(value);
20
+ if (!result.success) {
21
+ throw result.error;
22
+ }
23
+ return result.data;
24
+ }
25
+ safeParse(value) {
26
+ if (!(value instanceof Uint8Array)) {
27
+ return {
28
+ success: false,
29
+ error: new VldError([
30
+ createIssue('invalid_type', [], getMessages().expectedUint8Array)
31
+ ])
32
+ };
33
+ }
34
+ // Check exact length if specified
35
+ if (this.config.exactLength !== undefined && value.length !== this.config.exactLength) {
36
+ return {
37
+ success: false,
38
+ error: new VldError([
39
+ createIssue('custom', [], getMessages().uint8ArrayExactLength(this.config.exactLength))
40
+ ])
41
+ };
42
+ }
43
+ // Check minimum length
44
+ if (this.config.minLength !== undefined && value.length < this.config.minLength) {
45
+ return {
46
+ success: false,
47
+ error: new VldError([
48
+ createIssue('custom', [], getMessages().uint8ArrayMinLength(this.config.minLength))
49
+ ])
50
+ };
51
+ }
52
+ // Check maximum length
53
+ if (this.config.maxLength !== undefined && value.length > this.config.maxLength) {
54
+ return {
55
+ success: false,
56
+ error: new VldError([
57
+ createIssue('custom', [], getMessages().uint8ArrayMaxLength(this.config.maxLength))
58
+ ])
59
+ };
60
+ }
61
+ return { success: true, data: value };
62
+ }
63
+ /**
64
+ * Set minimum byte length
65
+ * Returns new immutable validator instance
66
+ */
67
+ min(length) {
68
+ return new VldUint8Array({
69
+ ...this.config,
70
+ minLength: length
71
+ });
72
+ }
73
+ /**
74
+ * Set maximum byte length
75
+ * Returns new immutable validator instance
76
+ */
77
+ max(length) {
78
+ return new VldUint8Array({
79
+ ...this.config,
80
+ maxLength: length
81
+ });
82
+ }
83
+ /**
84
+ * Set exact byte length
85
+ * Returns new immutable validator instance
86
+ * Clears min/max when setting exact length
87
+ */
88
+ length(length) {
89
+ return new VldUint8Array({
90
+ exactLength: length,
91
+ // Clear min/max when exact length is set
92
+ minLength: undefined,
93
+ maxLength: undefined
94
+ });
95
+ }
96
+ static create() {
97
+ return new VldUint8Array();
98
+ }
99
+ }
100
+
101
+ export { VldUint8Array };
@@ -2,15 +2,15 @@
2
2
  * VldUndefined - Validates that a value is exactly undefined
3
3
  * Part of Zod 4 API parity implementation
4
4
  */
5
- import { VldBase } from './base';
6
- import type { ParseResult } from './base';
5
+ import { VldBase } from './base.js';
6
+ import type { ParseResult } from './base.js';
7
7
  /**
8
8
  * Undefined validator - validates that a value is exactly undefined
9
9
  */
10
10
  export declare class VldUndefined extends VldBase<unknown, undefined> {
11
11
  private constructor();
12
12
  static create(): VldUndefined;
13
+ get isSimple(): boolean;
13
14
  parse(value: unknown): undefined;
14
15
  safeParse(value: unknown): ParseResult<undefined>;
15
16
  }
16
- //# sourceMappingURL=undefined.d.ts.map
@@ -0,0 +1,40 @@
1
+ import { VldBase, VLD_VALIDATOR_TYPES } from './base.js';
2
+ import { V as VldError } from '../chunks/errors-core-BeiFUtZM.js';
3
+
4
+ /**
5
+ * VldUndefined - Validates that a value is exactly undefined
6
+ * Part of Zod 4 API parity implementation
7
+ */
8
+ function createUndefinedError(message) {
9
+ return new VldError([{ code: 'invalid_type', path: [], message }]);
10
+ }
11
+ /**
12
+ * Undefined validator - validates that a value is exactly undefined
13
+ */
14
+ class VldUndefined extends VldBase {
15
+ constructor() {
16
+ super(VLD_VALIDATOR_TYPES.UNDEFINED);
17
+ }
18
+ static create() {
19
+ return new VldUndefined();
20
+ }
21
+ get isSimple() {
22
+ return true;
23
+ }
24
+ parse(value) {
25
+ if (value !== undefined) {
26
+ throw new Error(`Expected undefined, received ${typeof value}`);
27
+ }
28
+ return undefined;
29
+ }
30
+ safeParse(value) {
31
+ try {
32
+ return { success: true, data: this.parse(value) };
33
+ }
34
+ catch (error) {
35
+ return { success: false, error: createUndefinedError(error.message) };
36
+ }
37
+ }
38
+ }
39
+
40
+ export { VldUndefined };
@@ -1,16 +1,20 @@
1
- import { VldBase, ParseResult } from './base';
1
+ import { VldBase, ParseResult } from './base.js';
2
2
  /**
3
3
  * Optimized immutable union validator for multiple type options
4
4
  * Features type-checking shortcuts for 110x performance improvement
5
5
  */
6
6
  export declare class VldUnion<T extends readonly VldBase<any, any>[]> extends VldBase<unknown, T[number] extends VldBase<any, infer U> ? U : never> {
7
7
  private readonly validators;
8
- private readonly errorMessage?;
8
+ private readonly errorMessage;
9
9
  private readonly typeCheckers;
10
+ private readonly simpleModes;
11
+ private readonly simpleValues;
10
12
  /**
11
13
  * Private constructor to enforce immutability
12
14
  */
13
15
  private constructor();
16
+ private createSimpleMode;
17
+ private parseSimpleValue;
14
18
  /**
15
19
  * Create type checker based on validator type for fast path optimization
16
20
  * Uses a safer approach that's less prone to spoofing
@@ -22,7 +26,7 @@ export declare class VldUnion<T extends readonly VldBase<any, any>[]> extends Vl
22
26
  static create<T extends readonly VldBase<any, any>[]>(...validators: T): VldUnion<T>;
23
27
  /**
24
28
  * Parse and validate a value against union options
25
- * Optimized with type checking and safeParse to avoid try-catch overhead
29
+ * Optimized with type checking and direct parsing to avoid success-result allocations
26
30
  * BUG-NEW-013 FIX: Single-pass error collection to avoid double parsing
27
31
  */
28
32
  parse(value: unknown): T[number] extends VldBase<any, infer U> ? U : never;
@@ -33,4 +37,3 @@ export declare class VldUnion<T extends readonly VldBase<any, any>[]> extends Vl
33
37
  */
34
38
  safeParse(value: unknown): ParseResult<T[number] extends VldBase<any, infer U> ? U : never>;
35
39
  }
36
- //# sourceMappingURL=union.d.ts.map