@oxog/vld 2.0.2 → 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 (450) hide show
  1. package/CHANGELOG.md +75 -1
  2. package/LICENSE +20 -20
  3. package/README.md +101 -37
  4. package/dist/chunks/errors-core-BeiFUtZM.js +81 -0
  5. package/dist/chunks/{index-CETyGkrv.js → index-0R2ntSud.js} +16 -402
  6. package/dist/chunks/index-BvH403Yy.js +88 -0
  7. package/dist/chunks/security-B0Pd_vSY.js +35 -0
  8. package/dist/chunks/string-BJRQod3t.js +530 -0
  9. package/dist/cjs/chunks/errors-core-DWxLFs2f.cjs +83 -0
  10. package/dist/cjs/chunks/index-BkI37108.cjs +538 -0
  11. package/dist/cjs/chunks/index-Cc3bjUMX.cjs +91 -0
  12. package/dist/cjs/chunks/security-Dc3Jh13T.cjs +37 -0
  13. package/dist/cjs/chunks/string-BKZrc4hs.cjs +533 -0
  14. package/dist/cjs/cli/bin.cjs +506 -0
  15. package/dist/cjs/cli/index.cjs +209 -0
  16. package/dist/cjs/codecs/index.cjs +45 -0
  17. package/dist/{chunks/date-ODue_rtq.js → cjs/coercion/index.cjs} +185 -103
  18. package/dist/cjs/compat/emitter.cjs +184 -0
  19. package/dist/cjs/compat/result.cjs +189 -0
  20. package/dist/cjs/errors.cjs +6 -213
  21. package/dist/cjs/index.cjs +1558 -9647
  22. package/dist/cjs/kernel.cjs +415 -0
  23. package/dist/cjs/locales/af.cjs +108 -0
  24. package/dist/cjs/locales/ar.cjs +108 -0
  25. package/dist/cjs/locales/bn.cjs +108 -0
  26. package/dist/cjs/locales/da.cjs +108 -0
  27. package/dist/cjs/locales/de.cjs +108 -0
  28. package/dist/cjs/locales/en.cjs +108 -0
  29. package/dist/cjs/locales/es-MX.cjs +107 -0
  30. package/dist/cjs/locales/es.cjs +96 -0
  31. package/dist/cjs/locales/fi.cjs +108 -0
  32. package/dist/cjs/locales/fr.cjs +96 -0
  33. package/dist/cjs/locales/hi.cjs +108 -0
  34. package/dist/cjs/locales/id.cjs +108 -0
  35. package/dist/cjs/locales/index.cjs +41 -2875
  36. package/dist/cjs/locales/it.cjs +108 -0
  37. package/dist/cjs/locales/ja.cjs +108 -0
  38. package/dist/cjs/locales/ko.cjs +108 -0
  39. package/dist/cjs/locales/lazy.cjs +42 -3023
  40. package/dist/cjs/locales/nl.cjs +108 -0
  41. package/dist/cjs/locales/no.cjs +108 -0
  42. package/dist/cjs/locales/pl.cjs +108 -0
  43. package/dist/cjs/locales/pt-BR.cjs +108 -0
  44. package/dist/cjs/locales/pt.cjs +108 -0
  45. package/dist/cjs/locales/ru.cjs +108 -0
  46. package/dist/cjs/locales/runtime.cjs +51 -0
  47. package/dist/cjs/locales/sv.cjs +108 -0
  48. package/dist/cjs/locales/sw.cjs +108 -0
  49. package/dist/cjs/locales/th.cjs +108 -0
  50. package/dist/cjs/locales/tr.cjs +108 -0
  51. package/dist/cjs/locales/vi.cjs +108 -0
  52. package/dist/cjs/locales/zh.cjs +108 -0
  53. package/dist/cjs/mini.cjs +121 -7208
  54. package/dist/cjs/pigment.cjs +207 -0
  55. package/dist/cjs/plugins/index.cjs +12 -0
  56. package/dist/cjs/registry.cjs +37 -0
  57. package/dist/cjs/v3/index.cjs +425 -0
  58. package/dist/cjs/v4/core/index.cjs +894 -0
  59. package/dist/cjs/v4/index.cjs +425 -0
  60. package/dist/cjs/v4/locales/index.cjs +130 -0
  61. package/dist/cjs/v4/mini/index.cjs +509 -0
  62. package/dist/cjs/v4-mini/index.cjs +532 -0
  63. package/dist/cjs/validators/any.cjs +40 -0
  64. package/dist/cjs/validators/array.cjs +283 -0
  65. package/dist/cjs/validators/base.cjs +887 -0
  66. package/dist/cjs/validators/base64.cjs +73 -0
  67. package/dist/cjs/validators/bigint.cjs +232 -0
  68. package/dist/cjs/validators/boolean.cjs +146 -0
  69. package/dist/cjs/validators/codec.cjs +205 -0
  70. package/dist/cjs/validators/custom.cjs +71 -0
  71. package/dist/cjs/validators/date.cjs +278 -0
  72. package/dist/cjs/validators/discriminated-union.cjs +130 -0
  73. package/dist/cjs/validators/enum.cjs +154 -0
  74. package/dist/cjs/validators/file.cjs +130 -0
  75. package/dist/cjs/validators/function.cjs +63 -0
  76. package/dist/cjs/validators/hex.cjs +70 -0
  77. package/dist/cjs/validators/index.cjs +123 -0
  78. package/dist/cjs/validators/intersection.cjs +120 -0
  79. package/dist/cjs/validators/json.cjs +70 -0
  80. package/dist/cjs/validators/lazy.cjs +53 -0
  81. package/dist/cjs/validators/literal.cjs +64 -0
  82. package/dist/cjs/validators/map.cjs +218 -0
  83. package/dist/cjs/validators/nan.cjs +41 -0
  84. package/dist/cjs/validators/never.cjs +36 -0
  85. package/dist/cjs/validators/null.cjs +43 -0
  86. package/dist/cjs/validators/number.cjs +427 -0
  87. package/dist/cjs/validators/object.cjs +868 -0
  88. package/dist/cjs/validators/promise.cjs +115 -0
  89. package/dist/cjs/validators/record.cjs +262 -0
  90. package/dist/cjs/validators/set.cjs +203 -0
  91. package/dist/cjs/validators/string-bool.cjs +124 -0
  92. package/dist/cjs/validators/string-formats.cjs +168 -0
  93. package/dist/cjs/validators/string.cjs +12 -0
  94. package/dist/cjs/validators/symbol.cjs +62 -0
  95. package/dist/cjs/validators/template-literal.cjs +108 -0
  96. package/dist/cjs/validators/tuple.cjs +187 -0
  97. package/dist/cjs/validators/uint8array.cjs +106 -0
  98. package/dist/cjs/validators/undefined.cjs +43 -0
  99. package/dist/cjs/validators/union.cjs +191 -0
  100. package/dist/cjs/validators/unknown.cjs +40 -0
  101. package/dist/cjs/validators/void.cjs +48 -0
  102. package/dist/cjs/validators/xor.cjs +69 -0
  103. package/dist/cli/bin.d.ts +0 -1
  104. package/dist/cli/bin.js +407 -0
  105. package/dist/cli/commands/benchmark.d.ts +1 -2
  106. package/dist/cli/commands/validate.d.ts +1 -2
  107. package/dist/cli/index.d.ts +0 -1
  108. package/dist/cli/index.js +205 -0
  109. package/dist/codecs/index.d.ts +21 -4
  110. package/dist/codecs/index.js +11 -4
  111. package/dist/coercion/bigint.d.ts +2 -3
  112. package/dist/coercion/boolean.d.ts +3 -3
  113. package/dist/coercion/date.d.ts +3 -3
  114. package/dist/coercion/index.d.ts +5 -6
  115. package/dist/coercion/index.js +473 -5
  116. package/dist/coercion/number.d.ts +2 -3
  117. package/dist/coercion/string.d.ts +2 -3
  118. package/dist/compat/emitter.d.ts +0 -1
  119. package/dist/compat/emitter.js +0 -1
  120. package/dist/compat/index.d.ts +4 -5
  121. package/dist/compat/result.d.ts +1 -2
  122. package/dist/compat/result.js +0 -1
  123. package/dist/errors-core.d.ts +39 -0
  124. package/dist/errors.d.ts +4 -54
  125. package/dist/errors.js +4 -68
  126. package/dist/events.d.ts +3 -4
  127. package/dist/index.d.ts +1195 -600
  128. package/dist/index.js +1262 -44
  129. package/dist/kernel.d.ts +2 -3
  130. package/dist/kernel.js +10 -6
  131. package/dist/locales/af.d.ts +1 -2
  132. package/dist/locales/af.js +0 -1
  133. package/dist/locales/ar.d.ts +1 -2
  134. package/dist/locales/ar.js +0 -1
  135. package/dist/locales/bn.d.ts +1 -2
  136. package/dist/locales/bn.js +0 -1
  137. package/dist/locales/da.d.ts +1 -2
  138. package/dist/locales/da.js +0 -1
  139. package/dist/locales/de.d.ts +1 -2
  140. package/dist/locales/de.js +0 -1
  141. package/dist/locales/en.d.ts +1 -2
  142. package/dist/locales/en.js +0 -1
  143. package/dist/locales/es-MX.d.ts +1 -2
  144. package/dist/locales/es-MX.js +0 -1
  145. package/dist/locales/es.d.ts +1 -2
  146. package/dist/locales/es.js +0 -1
  147. package/dist/locales/fi.d.ts +1 -2
  148. package/dist/locales/fi.js +0 -1
  149. package/dist/locales/fr.d.ts +1 -2
  150. package/dist/locales/fr.js +0 -1
  151. package/dist/locales/hi.d.ts +1 -2
  152. package/dist/locales/hi.js +0 -1
  153. package/dist/locales/id.d.ts +1 -2
  154. package/dist/locales/id.js +0 -1
  155. package/dist/locales/index.d.ts +10 -15
  156. package/dist/locales/index.js +28 -2
  157. package/dist/locales/it.d.ts +1 -2
  158. package/dist/locales/it.js +0 -1
  159. package/dist/locales/ja.d.ts +1 -2
  160. package/dist/locales/ja.js +0 -1
  161. package/dist/locales/ko.d.ts +1 -2
  162. package/dist/locales/ko.js +0 -1
  163. package/dist/locales/lazy.d.ts +4 -26
  164. package/dist/locales/lazy.js +12 -55
  165. package/dist/locales/nl.d.ts +1 -2
  166. package/dist/locales/nl.js +0 -1
  167. package/dist/locales/no.d.ts +1 -2
  168. package/dist/locales/no.js +0 -1
  169. package/dist/locales/pl.d.ts +1 -2
  170. package/dist/locales/pl.js +0 -1
  171. package/dist/locales/pt-BR.d.ts +1 -2
  172. package/dist/locales/pt-BR.js +0 -1
  173. package/dist/locales/pt.d.ts +1 -2
  174. package/dist/locales/pt.js +0 -1
  175. package/dist/locales/ru.d.ts +1 -2
  176. package/dist/locales/ru.js +0 -1
  177. package/dist/locales/runtime.d.ts +10 -0
  178. package/dist/locales/runtime.js +41 -0
  179. package/dist/locales/sv.d.ts +1 -2
  180. package/dist/locales/sv.js +0 -1
  181. package/dist/locales/sw.d.ts +1 -2
  182. package/dist/locales/sw.js +0 -1
  183. package/dist/locales/th.d.ts +1 -2
  184. package/dist/locales/th.js +0 -1
  185. package/dist/locales/tr.d.ts +1 -2
  186. package/dist/locales/tr.js +0 -1
  187. package/dist/locales/types.d.ts +0 -1
  188. package/dist/locales/vi.d.ts +1 -2
  189. package/dist/locales/vi.js +0 -1
  190. package/dist/locales/zh.d.ts +1 -2
  191. package/dist/locales/zh.js +0 -1
  192. package/dist/logger.d.ts +0 -1
  193. package/dist/mini.d.ts +64 -65
  194. package/dist/mini.js +31 -7
  195. package/dist/pigment.d.ts +0 -1
  196. package/dist/pigment.js +6 -4
  197. package/dist/plugins/index.d.ts +2 -3
  198. package/dist/plugins/index.js +1 -0
  199. package/dist/plugins/types.d.ts +4 -5
  200. package/dist/registry.d.ts +23 -0
  201. package/dist/registry.js +34 -0
  202. package/dist/utils/codec-utils.d.ts +0 -1
  203. package/dist/utils/deep-merge.d.ts +0 -1
  204. package/dist/utils/ip-validation.d.ts +0 -1
  205. package/dist/utils/json-schema.d.ts +77 -0
  206. package/dist/utils/security.d.ts +2 -6
  207. package/dist/v3/index.d.ts +2 -0
  208. package/dist/v3/index.js +46 -0
  209. package/dist/v4/core/index.d.ts +260 -0
  210. package/dist/v4/core/index.js +277 -0
  211. package/dist/v4/index.d.ts +4 -0
  212. package/dist/v4/index.js +50 -0
  213. package/dist/v4/locales/index.d.ts +53 -0
  214. package/dist/v4/locales/index.js +77 -0
  215. package/dist/v4/mini/index.d.ts +2 -0
  216. package/dist/v4/mini/index.js +47 -0
  217. package/dist/v4-mini/index.d.ts +22 -0
  218. package/dist/v4-mini/index.js +75 -0
  219. package/dist/validators/any.d.ts +7 -2
  220. package/dist/validators/any.js +37 -0
  221. package/dist/validators/array.d.ts +9 -2
  222. package/dist/validators/array.js +279 -0
  223. package/dist/validators/base.d.ts +228 -5
  224. package/dist/validators/base.js +868 -0
  225. package/dist/validators/base64.d.ts +1 -2
  226. package/dist/validators/base64.js +68 -0
  227. package/dist/validators/bigint.d.ts +21 -3
  228. package/dist/validators/bigint.js +228 -0
  229. package/dist/validators/boolean.d.ts +13 -4
  230. package/dist/validators/boolean.js +142 -0
  231. package/dist/validators/codec.d.ts +9 -2
  232. package/dist/validators/codec.js +200 -0
  233. package/dist/validators/custom.d.ts +15 -2
  234. package/dist/validators/custom.js +67 -0
  235. package/dist/validators/date.d.ts +19 -3
  236. package/dist/validators/date.js +274 -0
  237. package/dist/validators/discriminated-union.d.ts +4 -3
  238. package/dist/validators/discriminated-union.js +123 -0
  239. package/dist/validators/enum.d.ts +10 -7
  240. package/dist/validators/enum.js +150 -0
  241. package/dist/validators/file.d.ts +7 -2
  242. package/dist/validators/file.js +125 -0
  243. package/dist/validators/function.d.ts +11 -5
  244. package/dist/validators/function.js +58 -0
  245. package/dist/validators/hex.d.ts +1 -2
  246. package/dist/validators/hex.js +65 -0
  247. package/dist/validators/index.d.ts +38 -38
  248. package/dist/validators/index.js +35 -5
  249. package/dist/validators/intersection.d.ts +1 -2
  250. package/dist/validators/intersection.js +116 -0
  251. package/dist/validators/json.d.ts +1 -2
  252. package/dist/validators/json.js +66 -0
  253. package/dist/validators/lazy.d.ts +5 -9
  254. package/dist/validators/lazy.js +50 -0
  255. package/dist/validators/literal.d.ts +2 -2
  256. package/dist/validators/literal.js +60 -0
  257. package/dist/validators/map.d.ts +15 -2
  258. package/dist/validators/map.js +214 -0
  259. package/dist/validators/nan.d.ts +2 -3
  260. package/dist/validators/nan.js +38 -0
  261. package/dist/validators/never.d.ts +1 -2
  262. package/dist/validators/never.js +32 -0
  263. package/dist/validators/null.d.ts +3 -3
  264. package/dist/validators/null.js +40 -0
  265. package/dist/validators/number.d.ts +80 -21
  266. package/dist/validators/number.js +423 -0
  267. package/dist/validators/object.d.ts +30 -9
  268. package/dist/validators/object.js +864 -0
  269. package/dist/validators/promise.d.ts +58 -0
  270. package/dist/validators/promise.js +111 -0
  271. package/dist/validators/record.d.ts +11 -2
  272. package/dist/validators/record.js +258 -0
  273. package/dist/validators/set.d.ts +11 -2
  274. package/dist/validators/set.js +199 -0
  275. package/dist/validators/string-bool.d.ts +7 -10
  276. package/dist/validators/string-bool.js +120 -0
  277. package/dist/validators/string-formats.d.ts +13 -4
  278. package/dist/validators/string-formats.js +135 -0
  279. package/dist/validators/string.d.ts +39 -18
  280. package/dist/validators/string.js +4 -0
  281. package/dist/validators/symbol.d.ts +8 -3
  282. package/dist/validators/symbol.js +58 -0
  283. package/dist/validators/template-literal.d.ts +1 -2
  284. package/dist/validators/template-literal.js +103 -0
  285. package/dist/validators/tuple.d.ts +15 -2
  286. package/dist/validators/tuple.js +183 -0
  287. package/dist/validators/uint8array.d.ts +3 -4
  288. package/dist/validators/uint8array.js +101 -0
  289. package/dist/validators/undefined.d.ts +3 -3
  290. package/dist/validators/undefined.js +40 -0
  291. package/dist/validators/union.d.ts +7 -4
  292. package/dist/validators/union.js +187 -0
  293. package/dist/validators/unknown.d.ts +7 -2
  294. package/dist/{chunks/unknown-SLIH1VCf.js → validators/unknown.js} +12 -3
  295. package/dist/validators/void.d.ts +3 -2
  296. package/dist/validators/void.js +44 -0
  297. package/dist/validators/xor.d.ts +2 -3
  298. package/dist/validators/xor.js +66 -0
  299. package/package.json +116 -31
  300. package/dist/chunks/bigint-DgsCr2dC.js +0 -1709
  301. package/dist/chunks/bigint-DgsCr2dC.js.map +0 -1
  302. package/dist/chunks/date-ODue_rtq.js.map +0 -1
  303. package/dist/chunks/index-BZqWZvVe.js +0 -426
  304. package/dist/chunks/index-BZqWZvVe.js.map +0 -1
  305. package/dist/chunks/index-CETyGkrv.js.map +0 -1
  306. package/dist/chunks/json-o20GFhTh.js +0 -2021
  307. package/dist/chunks/json-o20GFhTh.js.map +0 -1
  308. package/dist/chunks/unknown-SLIH1VCf.js.map +0 -1
  309. package/dist/cjs/errors.cjs.map +0 -1
  310. package/dist/cjs/index.cjs.map +0 -1
  311. package/dist/cjs/locales/index.cjs.map +0 -1
  312. package/dist/cjs/locales/lazy.cjs.map +0 -1
  313. package/dist/cjs/mini.cjs.map +0 -1
  314. package/dist/cli/bin.d.ts.map +0 -1
  315. package/dist/cli/commands/benchmark.d.ts.map +0 -1
  316. package/dist/cli/commands/validate.d.ts.map +0 -1
  317. package/dist/cli/index.d.ts.map +0 -1
  318. package/dist/codecs/index.d.ts.map +0 -1
  319. package/dist/codecs/index.js.map +0 -1
  320. package/dist/coercion/bigint.d.ts.map +0 -1
  321. package/dist/coercion/boolean.d.ts.map +0 -1
  322. package/dist/coercion/date.d.ts.map +0 -1
  323. package/dist/coercion/index.d.ts.map +0 -1
  324. package/dist/coercion/index.js.map +0 -1
  325. package/dist/coercion/number.d.ts.map +0 -1
  326. package/dist/coercion/string.d.ts.map +0 -1
  327. package/dist/compat/emitter.d.ts.map +0 -1
  328. package/dist/compat/emitter.js.map +0 -1
  329. package/dist/compat/index.d.ts.map +0 -1
  330. package/dist/compat/result.d.ts.map +0 -1
  331. package/dist/compat/result.js.map +0 -1
  332. package/dist/errors.d.ts.map +0 -1
  333. package/dist/errors.js.map +0 -1
  334. package/dist/events.d.ts.map +0 -1
  335. package/dist/index.d.ts.map +0 -1
  336. package/dist/index.js.map +0 -1
  337. package/dist/kernel.d.ts.map +0 -1
  338. package/dist/kernel.js.map +0 -1
  339. package/dist/locales/af.d.ts.map +0 -1
  340. package/dist/locales/af.js.map +0 -1
  341. package/dist/locales/ar.d.ts.map +0 -1
  342. package/dist/locales/ar.js.map +0 -1
  343. package/dist/locales/backup-en.d.ts +0 -3
  344. package/dist/locales/backup-en.d.ts.map +0 -1
  345. package/dist/locales/bn.d.ts.map +0 -1
  346. package/dist/locales/bn.js.map +0 -1
  347. package/dist/locales/da.d.ts.map +0 -1
  348. package/dist/locales/da.js.map +0 -1
  349. package/dist/locales/de.d.ts.map +0 -1
  350. package/dist/locales/de.js.map +0 -1
  351. package/dist/locales/en.d.ts.map +0 -1
  352. package/dist/locales/en.js.map +0 -1
  353. package/dist/locales/es-MX.d.ts.map +0 -1
  354. package/dist/locales/es-MX.js.map +0 -1
  355. package/dist/locales/es.d.ts.map +0 -1
  356. package/dist/locales/es.js.map +0 -1
  357. package/dist/locales/fi.d.ts.map +0 -1
  358. package/dist/locales/fi.js.map +0 -1
  359. package/dist/locales/fr.d.ts.map +0 -1
  360. package/dist/locales/fr.js.map +0 -1
  361. package/dist/locales/hi.d.ts.map +0 -1
  362. package/dist/locales/hi.js.map +0 -1
  363. package/dist/locales/id.d.ts.map +0 -1
  364. package/dist/locales/id.js.map +0 -1
  365. package/dist/locales/index.d.ts.map +0 -1
  366. package/dist/locales/index.js.map +0 -1
  367. package/dist/locales/it.d.ts.map +0 -1
  368. package/dist/locales/it.js.map +0 -1
  369. package/dist/locales/ja.d.ts.map +0 -1
  370. package/dist/locales/ja.js.map +0 -1
  371. package/dist/locales/ko.d.ts.map +0 -1
  372. package/dist/locales/ko.js.map +0 -1
  373. package/dist/locales/lazy.d.ts.map +0 -1
  374. package/dist/locales/lazy.js.map +0 -1
  375. package/dist/locales/nl.d.ts.map +0 -1
  376. package/dist/locales/nl.js.map +0 -1
  377. package/dist/locales/no.d.ts.map +0 -1
  378. package/dist/locales/no.js.map +0 -1
  379. package/dist/locales/pl.d.ts.map +0 -1
  380. package/dist/locales/pl.js.map +0 -1
  381. package/dist/locales/pt-BR.d.ts.map +0 -1
  382. package/dist/locales/pt-BR.js.map +0 -1
  383. package/dist/locales/pt.d.ts.map +0 -1
  384. package/dist/locales/pt.js.map +0 -1
  385. package/dist/locales/ru.d.ts.map +0 -1
  386. package/dist/locales/ru.js.map +0 -1
  387. package/dist/locales/sv.d.ts.map +0 -1
  388. package/dist/locales/sv.js.map +0 -1
  389. package/dist/locales/sw.d.ts.map +0 -1
  390. package/dist/locales/sw.js.map +0 -1
  391. package/dist/locales/th.d.ts.map +0 -1
  392. package/dist/locales/th.js.map +0 -1
  393. package/dist/locales/tr.d.ts.map +0 -1
  394. package/dist/locales/tr.js.map +0 -1
  395. package/dist/locales/types.d.ts.map +0 -1
  396. package/dist/locales/vi.d.ts.map +0 -1
  397. package/dist/locales/vi.js.map +0 -1
  398. package/dist/locales/zh.d.ts.map +0 -1
  399. package/dist/locales/zh.js.map +0 -1
  400. package/dist/logger.d.ts.map +0 -1
  401. package/dist/mini.d.ts.map +0 -1
  402. package/dist/mini.js.map +0 -1
  403. package/dist/pigment.d.ts.map +0 -1
  404. package/dist/pigment.js.map +0 -1
  405. package/dist/plugins/index.d.ts.map +0 -1
  406. package/dist/plugins/types.d.ts.map +0 -1
  407. package/dist/utils/codec-utils.d.ts.map +0 -1
  408. package/dist/utils/deep-merge.d.ts.map +0 -1
  409. package/dist/utils/ip-validation.d.ts.map +0 -1
  410. package/dist/utils/security.d.ts.map +0 -1
  411. package/dist/validators/any.d.ts.map +0 -1
  412. package/dist/validators/array.d.ts.map +0 -1
  413. package/dist/validators/base.d.ts.map +0 -1
  414. package/dist/validators/base64.d.ts.map +0 -1
  415. package/dist/validators/bigint.d.ts.map +0 -1
  416. package/dist/validators/boolean.d.ts.map +0 -1
  417. package/dist/validators/codec.d.ts.map +0 -1
  418. package/dist/validators/custom.d.ts.map +0 -1
  419. package/dist/validators/date.d.ts.map +0 -1
  420. package/dist/validators/discriminated-union.d.ts.map +0 -1
  421. package/dist/validators/enum.d.ts.map +0 -1
  422. package/dist/validators/file.d.ts.map +0 -1
  423. package/dist/validators/function.d.ts.map +0 -1
  424. package/dist/validators/hex.d.ts.map +0 -1
  425. package/dist/validators/index.d.ts.map +0 -1
  426. package/dist/validators/index.js.map +0 -1
  427. package/dist/validators/intersection.d.ts.map +0 -1
  428. package/dist/validators/json.d.ts.map +0 -1
  429. package/dist/validators/lazy.d.ts.map +0 -1
  430. package/dist/validators/literal.d.ts.map +0 -1
  431. package/dist/validators/map.d.ts.map +0 -1
  432. package/dist/validators/nan.d.ts.map +0 -1
  433. package/dist/validators/never.d.ts.map +0 -1
  434. package/dist/validators/null.d.ts.map +0 -1
  435. package/dist/validators/number.d.ts.map +0 -1
  436. package/dist/validators/object.d.ts.map +0 -1
  437. package/dist/validators/record.d.ts.map +0 -1
  438. package/dist/validators/set.d.ts.map +0 -1
  439. package/dist/validators/string-bool.d.ts.map +0 -1
  440. package/dist/validators/string-formats.d.ts.map +0 -1
  441. package/dist/validators/string.d.ts.map +0 -1
  442. package/dist/validators/symbol.d.ts.map +0 -1
  443. package/dist/validators/template-literal.d.ts.map +0 -1
  444. package/dist/validators/tuple.d.ts.map +0 -1
  445. package/dist/validators/uint8array.d.ts.map +0 -1
  446. package/dist/validators/undefined.d.ts.map +0 -1
  447. package/dist/validators/union.d.ts.map +0 -1
  448. package/dist/validators/unknown.d.ts.map +0 -1
  449. package/dist/validators/void.d.ts.map +0 -1
  450. package/dist/validators/xor.d.ts.map +0 -1
@@ -0,0 +1,214 @@
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 createMapError(message) {
6
+ return new VldError([{ code: 'invalid_type', path: [], message }]);
7
+ }
8
+ /**
9
+ * Immutable Map validator
10
+ */
11
+ class VldMap extends VldBase {
12
+ /**
13
+ * Private constructor to enforce immutability
14
+ */
15
+ constructor(keyValidator, valueValidator, errorMessage) {
16
+ super(VLD_VALIDATOR_TYPES.MAP);
17
+ this.keyValidator = keyValidator;
18
+ this.valueValidator = valueValidator;
19
+ this.errorMessage = errorMessage;
20
+ this._simpleKeyMode = this.getSimpleItemMode(keyValidator);
21
+ this._simpleValueMode = this.getSimpleItemMode(valueValidator);
22
+ this._simpleKeyValue = this._simpleKeyMode === 'literal' ? keyValidator.literal : undefined;
23
+ this._simpleValueValue = this._simpleValueMode === 'literal' ? valueValidator.literal : undefined;
24
+ }
25
+ get keySchema() {
26
+ return this.keyValidator;
27
+ }
28
+ get valueSchema() {
29
+ return this.valueValidator;
30
+ }
31
+ /**
32
+ * Create a new Map validator
33
+ */
34
+ static create(keyValidator, valueValidator) {
35
+ return new VldMap(keyValidator, valueValidator);
36
+ }
37
+ getSimpleItemMode(validator) {
38
+ if (validator.isSimple !== true) {
39
+ return undefined;
40
+ }
41
+ switch (validator.validatorType) {
42
+ case VLD_VALIDATOR_TYPES.STRING:
43
+ return 'string';
44
+ case VLD_VALIDATOR_TYPES.NUMBER:
45
+ return 'number';
46
+ case VLD_VALIDATOR_TYPES.BOOLEAN:
47
+ return 'boolean';
48
+ case VLD_VALIDATOR_TYPES.BIGINT:
49
+ return 'bigint';
50
+ case VLD_VALIDATOR_TYPES.SYMBOL:
51
+ return 'symbol';
52
+ case VLD_VALIDATOR_TYPES.NULL:
53
+ return 'null';
54
+ case VLD_VALIDATOR_TYPES.UNDEFINED:
55
+ case VLD_VALIDATOR_TYPES.VOID:
56
+ return 'undefinedValue';
57
+ case VLD_VALIDATOR_TYPES.LITERAL:
58
+ return 'literal';
59
+ case VLD_VALIDATOR_TYPES.ANY:
60
+ case VLD_VALIDATOR_TYPES.UNKNOWN:
61
+ return 'passthrough';
62
+ default:
63
+ return undefined;
64
+ }
65
+ }
66
+ getSimpleItemError(mode, expected, received) {
67
+ switch (mode) {
68
+ case 'string':
69
+ return getMessages().invalidString;
70
+ case 'number':
71
+ return getMessages().invalidNumber;
72
+ case 'boolean':
73
+ return getMessages().invalidBoolean;
74
+ case 'bigint':
75
+ return getMessages().invalidBigint;
76
+ case 'symbol':
77
+ return getMessages().invalidSymbol;
78
+ case 'null':
79
+ return `Expected null, received ${typeof received}`;
80
+ case 'undefinedValue':
81
+ return getMessages().expectedUndefined;
82
+ case 'literal':
83
+ return getMessages().literalExpected(JSON.stringify(expected), JSON.stringify(received));
84
+ default:
85
+ return getMessages().invalidMap;
86
+ }
87
+ }
88
+ parseSimpleItem(mode, expected, value) {
89
+ switch (mode) {
90
+ case 'string':
91
+ if (typeof value !== 'string') {
92
+ throw new Error(this.getSimpleItemError(mode, expected, value));
93
+ }
94
+ return value;
95
+ case 'number':
96
+ if (typeof value !== 'number' || isNaN(value)) {
97
+ throw new Error(this.getSimpleItemError(mode, expected, value));
98
+ }
99
+ return value;
100
+ case 'boolean':
101
+ if (typeof value !== 'boolean') {
102
+ throw new Error(this.getSimpleItemError(mode, expected, value));
103
+ }
104
+ return value;
105
+ case 'bigint':
106
+ if (typeof value !== 'bigint') {
107
+ throw new Error(this.getSimpleItemError(mode, expected, value));
108
+ }
109
+ return value;
110
+ case 'symbol':
111
+ if (typeof value !== 'symbol') {
112
+ throw new Error(this.getSimpleItemError(mode, expected, value));
113
+ }
114
+ return value;
115
+ case 'null':
116
+ if (value !== null) {
117
+ throw new Error(this.getSimpleItemError(mode, expected, value));
118
+ }
119
+ return null;
120
+ case 'undefinedValue':
121
+ if (value !== undefined) {
122
+ throw new Error(this.getSimpleItemError(mode, expected, value));
123
+ }
124
+ return undefined;
125
+ case 'literal':
126
+ if (value !== expected) {
127
+ throw new Error(this.getSimpleItemError(mode, expected, value));
128
+ }
129
+ return expected;
130
+ case 'passthrough':
131
+ return value;
132
+ }
133
+ }
134
+ /**
135
+ * Parse and validate a Map value
136
+ */
137
+ parse(value) {
138
+ if (!(value instanceof Map)) {
139
+ throw new Error(this.errorMessage || getMessages().invalidMap);
140
+ }
141
+ return this.parseKnownMap(value);
142
+ }
143
+ /**
144
+ * Parse a value that has already passed the Map instance guard.
145
+ * @internal Used by object validators to avoid duplicate hot-path checks.
146
+ */
147
+ parseKnownMap(value) {
148
+ const result = new Map();
149
+ const simpleKeyMode = this._simpleKeyMode;
150
+ const simpleValueMode = this._simpleValueMode;
151
+ if (simpleKeyMode === 'string' && simpleValueMode === 'number') {
152
+ for (const [key, val] of value) {
153
+ if (typeof key !== 'string') {
154
+ throw new Error(this.getSimpleItemError(simpleKeyMode, this._simpleKeyValue, key));
155
+ }
156
+ if (typeof val !== 'number' || isNaN(val)) {
157
+ throw new Error(this.getSimpleItemError(simpleValueMode, this._simpleValueValue, val));
158
+ }
159
+ result.set(key, val);
160
+ }
161
+ return result;
162
+ }
163
+ if (simpleKeyMode === 'string' && simpleValueMode === 'string') {
164
+ for (const [key, val] of value) {
165
+ if (typeof key !== 'string') {
166
+ throw new Error(this.getSimpleItemError(simpleKeyMode, this._simpleKeyValue, key));
167
+ }
168
+ if (typeof val !== 'string') {
169
+ throw new Error(this.getSimpleItemError(simpleValueMode, this._simpleValueValue, val));
170
+ }
171
+ result.set(key, val);
172
+ }
173
+ return result;
174
+ }
175
+ if (simpleKeyMode !== undefined && simpleValueMode !== undefined) {
176
+ const keyMode = simpleKeyMode;
177
+ const valueMode = simpleValueMode;
178
+ for (const [key, val] of value) {
179
+ const validKey = this.parseSimpleItem(keyMode, this._simpleKeyValue, key);
180
+ const validValue = this.parseSimpleItem(valueMode, this._simpleValueValue, val);
181
+ result.set(validKey, validValue);
182
+ }
183
+ return result;
184
+ }
185
+ for (const [key, val] of value) {
186
+ try {
187
+ const validKey = simpleKeyMode === undefined
188
+ ? this.keyValidator.parse(key)
189
+ : this.parseSimpleItem(simpleKeyMode, this._simpleKeyValue, key);
190
+ const validValue = simpleValueMode === undefined
191
+ ? this.valueValidator.parse(val)
192
+ : this.parseSimpleItem(simpleValueMode, this._simpleValueValue, val);
193
+ result.set(validKey, validValue);
194
+ }
195
+ catch (error) {
196
+ throw new Error(error.message);
197
+ }
198
+ }
199
+ return result;
200
+ }
201
+ /**
202
+ * Safely parse and validate a Map value
203
+ */
204
+ safeParse(value) {
205
+ try {
206
+ return { success: true, data: this.parse(value) };
207
+ }
208
+ catch (error) {
209
+ return { success: false, error: createMapError(error.message) };
210
+ }
211
+ }
212
+ }
213
+
214
+ export { VldMap };
@@ -2,8 +2,8 @@
2
2
  * VldNan - Validates that a value is NaN (Not a Number)
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
  * NaN validator - validates that a value is NaN
9
9
  * Note: Uses Number.isNaN() which is more strict than global isNaN()
@@ -14,4 +14,3 @@ export declare class VldNan extends VldBase<unknown, number> {
14
14
  parse(value: unknown): number;
15
15
  safeParse(value: unknown): ParseResult<number>;
16
16
  }
17
- //# sourceMappingURL=nan.d.ts.map
@@ -0,0 +1,38 @@
1
+ import { VldBase, VLD_VALIDATOR_TYPES } from './base.js';
2
+ import { V as VldError } from '../chunks/errors-core-BeiFUtZM.js';
3
+
4
+ /**
5
+ * VldNan - Validates that a value is NaN (Not a Number)
6
+ * Part of Zod 4 API parity implementation
7
+ */
8
+ function createNanError(message) {
9
+ return new VldError([{ code: 'invalid_number', path: [], message }]);
10
+ }
11
+ /**
12
+ * NaN validator - validates that a value is NaN
13
+ * Note: Uses Number.isNaN() which is more strict than global isNaN()
14
+ */
15
+ class VldNan extends VldBase {
16
+ constructor() {
17
+ super(VLD_VALIDATOR_TYPES.NAN);
18
+ }
19
+ static create() {
20
+ return new VldNan();
21
+ }
22
+ parse(value) {
23
+ if (typeof value !== 'number' || !Number.isNaN(value)) {
24
+ throw new Error(`Expected NaN, received ${typeof value === 'number' ? 'a valid number' : typeof value}`);
25
+ }
26
+ return value;
27
+ }
28
+ safeParse(value) {
29
+ try {
30
+ return { success: true, data: this.parse(value) };
31
+ }
32
+ catch (error) {
33
+ return { success: false, error: createNanError(error.message) };
34
+ }
35
+ }
36
+ }
37
+
38
+ export { VldNan };
@@ -1,4 +1,4 @@
1
- import { VldBase, ParseResult } from './base';
1
+ import { VldBase, ParseResult } from './base.js';
2
2
  /**
3
3
  * Validator that never succeeds
4
4
  */
@@ -16,4 +16,3 @@ export declare class VldNever extends VldBase<never, never> {
16
16
  */
17
17
  safeParse(_value: unknown): ParseResult<never>;
18
18
  }
19
- //# sourceMappingURL=never.d.ts.map
@@ -0,0 +1,32 @@
1
+ import { VldBase } from './base.js';
2
+ import { getMessages } from '../locales/runtime.js';
3
+ import { V as VldError } from '../chunks/errors-core-BeiFUtZM.js';
4
+
5
+ /**
6
+ * Validator that never succeeds
7
+ */
8
+ class VldNever extends VldBase {
9
+ /**
10
+ * Create a new never validator
11
+ */
12
+ static create() {
13
+ return new VldNever();
14
+ }
15
+ /**
16
+ * Parse never value (always fails)
17
+ */
18
+ parse(_value) {
19
+ throw new Error(getMessages().neverType);
20
+ }
21
+ /**
22
+ * Safely parse never value (always fails)
23
+ */
24
+ safeParse(_value) {
25
+ return {
26
+ success: false,
27
+ error: new VldError([{ code: 'invalid_type', path: [], message: getMessages().neverType }])
28
+ };
29
+ }
30
+ }
31
+
32
+ export { VldNever };
@@ -2,15 +2,15 @@
2
2
  * VldNull - Validates that a value is exactly null
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
  * Null validator - validates that a value is exactly null
9
9
  */
10
10
  export declare class VldNull extends VldBase<unknown, null> {
11
11
  private constructor();
12
12
  static create(): VldNull;
13
+ get isSimple(): boolean;
13
14
  parse(value: unknown): null;
14
15
  safeParse(value: unknown): ParseResult<null>;
15
16
  }
16
- //# sourceMappingURL=null.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
+ * VldNull - Validates that a value is exactly null
6
+ * Part of Zod 4 API parity implementation
7
+ */
8
+ function createNullError(message) {
9
+ return new VldError([{ code: 'invalid_type', path: [], message }]);
10
+ }
11
+ /**
12
+ * Null validator - validates that a value is exactly null
13
+ */
14
+ class VldNull extends VldBase {
15
+ constructor() {
16
+ super(VLD_VALIDATOR_TYPES.NULL);
17
+ }
18
+ static create() {
19
+ return new VldNull();
20
+ }
21
+ get isSimple() {
22
+ return true;
23
+ }
24
+ parse(value) {
25
+ if (value !== null) {
26
+ throw new Error(`Expected null, received ${typeof value}`);
27
+ }
28
+ return null;
29
+ }
30
+ safeParse(value) {
31
+ try {
32
+ return { success: true, data: this.parse(value) };
33
+ }
34
+ catch (error) {
35
+ return { success: false, error: createNullError(error.message) };
36
+ }
37
+ }
38
+ }
39
+
40
+ export { VldNull };
@@ -1,24 +1,48 @@
1
- import { VldBase, ParseResult } from './base';
1
+ import { VldBase, ParseResult, ValidatorType, type ErrorParam } from './base.js';
2
2
  /**
3
3
  * Type for number validation check functions
4
4
  */
5
5
  type NumberCheck = (value: number) => boolean;
6
+ interface NumberJSONSchemaHints {
7
+ type?: 'number' | 'integer';
8
+ minimum?: number;
9
+ maximum?: number;
10
+ exclusiveMinimum?: number;
11
+ exclusiveMaximum?: number;
12
+ multipleOf?: number;
13
+ }
6
14
  /**
7
15
  * Configuration for number validator
8
16
  */
9
17
  interface NumberValidatorConfig {
10
18
  readonly checks: ReadonlyArray<NumberCheck>;
11
- readonly errorMessage?: string;
19
+ readonly errorMessage: string | undefined;
20
+ readonly validatorType?: ValidatorType;
21
+ readonly jsonSchema: NumberJSONSchemaHints | undefined;
12
22
  }
13
23
  /**
14
24
  * Immutable number validator with chainable methods
15
25
  */
16
26
  export declare class VldNumber extends VldBase<number, number> {
17
27
  protected readonly config: NumberValidatorConfig;
28
+ private readonly _checks;
29
+ private readonly _isSimple;
30
+ private readonly _fastCheckMode;
18
31
  /**
19
32
  * Protected constructor to allow extension while maintaining immutability
20
33
  */
21
34
  protected constructor(config?: Partial<NumberValidatorConfig>);
35
+ private detectFastCheckMode;
36
+ /**
37
+ * Returns true if this validator has custom checks (min, max, positive, etc.)
38
+ * Used by VldObject for optimized fast-path dispatch
39
+ */
40
+ get hasCustomChecks(): boolean;
41
+ /**
42
+ * Returns true if this is a simple number validator with no custom checks
43
+ * Used by VldObject for optimized fast-path dispatch
44
+ */
45
+ get isSimple(): boolean;
22
46
  /**
23
47
  * Create a new number validator
24
48
  */
@@ -27,6 +51,12 @@ export declare class VldNumber extends VldBase<number, number> {
27
51
  * Parse and validate a number value
28
52
  */
29
53
  parse(value: unknown): number;
54
+ /**
55
+ * Parse a value that has already passed the number type guard.
56
+ * @internal Used by object validators to avoid duplicate hot-path checks.
57
+ */
58
+ parseKnownNumber(value: number): number;
59
+ private passesChecks;
30
60
  /**
31
61
  * Safely parse and validate a number value
32
62
  */
@@ -34,81 +64,110 @@ export declare class VldNumber extends VldBase<number, number> {
34
64
  /**
35
65
  * Create a new validator with minimum value constraint
36
66
  */
37
- min(value: number, message?: string): VldNumber;
67
+ min(value: number, message?: ErrorParam): VldNumber;
38
68
  /**
39
69
  * Create a new validator with maximum value constraint
40
70
  */
41
- max(value: number, message?: string): VldNumber;
71
+ max(value: number, message?: ErrorParam): VldNumber;
42
72
  /**
43
73
  * Create a new validator that checks for integer values
44
74
  */
45
- int(message?: string): VldNumber;
75
+ int(message?: ErrorParam): VldNumber;
46
76
  /**
47
77
  * Create a new validator that checks for positive values
48
78
  */
49
- positive(message?: string): VldNumber;
79
+ positive(message?: ErrorParam): VldNumber;
50
80
  /**
51
81
  * Create a new validator that checks for negative values
52
82
  */
53
- negative(message?: string): VldNumber;
83
+ negative(message?: ErrorParam): VldNumber;
54
84
  /**
55
85
  * Create a new validator that checks for non-negative values
56
86
  */
57
- nonnegative(message?: string): VldNumber;
87
+ nonnegative(message?: ErrorParam): VldNumber;
58
88
  /**
59
89
  * Create a new validator that checks for non-positive values
60
90
  */
61
- nonpositive(message?: string): VldNumber;
91
+ nonpositive(message?: ErrorParam): VldNumber;
62
92
  /**
63
93
  * Create a new validator that checks for finite values
64
94
  */
65
- finite(message?: string): VldNumber;
95
+ finite(message?: ErrorParam): VldNumber;
66
96
  /**
67
97
  * Create a new validator that checks for safe integer values
68
98
  */
69
- safe(message?: string): VldNumber;
99
+ safe(message?: ErrorParam): VldNumber;
70
100
  /**
71
101
  * Create a new validator that checks if value is multiple of another
72
102
  */
73
- multipleOf(value: number, message?: string): VldNumber;
103
+ multipleOf(value: number, message?: ErrorParam): VldNumber;
74
104
  /**
75
105
  * Alias for multipleOf
76
106
  */
77
- step(value: number, message?: string): VldNumber;
107
+ step(value: number, message?: ErrorParam): VldNumber;
78
108
  /**
79
109
  * Create a new validator with a range constraint
80
110
  */
81
- between(min: number, max: number, message?: string): VldNumber;
111
+ between(min: number, max: number, message?: ErrorParam): VldNumber;
82
112
  /**
83
113
  * Create a new validator that checks for even numbers
84
114
  * BUG-011 FIX: Require integers for even/odd validation (more mathematically correct)
85
115
  */
86
- even(message?: string): VldNumber;
116
+ even(message?: ErrorParam): VldNumber;
87
117
  /**
88
118
  * Create a new validator that checks for odd numbers
89
119
  * BUG-011 FIX: Require integers for even/odd validation (more mathematically correct)
90
120
  */
91
- odd(message?: string): VldNumber;
121
+ odd(message?: ErrorParam): VldNumber;
92
122
  /**
93
123
  * Create a new validator with strict greater than constraint
94
124
  * Zod 4 API parity - strictly greater than (not equal to)
95
125
  */
96
- gt(value: number, message?: string): VldNumber;
126
+ gt(value: number, message?: ErrorParam): VldNumber;
97
127
  /**
98
128
  * Create a new validator with strict less than constraint
99
129
  * Zod 4 API parity - strictly less than (not equal to)
100
130
  */
101
- lt(value: number, message?: string): VldNumber;
131
+ lt(value: number, message?: ErrorParam): VldNumber;
102
132
  /**
103
133
  * Create a new validator with greater than or equal constraint
104
134
  * Zod 4 API parity - alias for min()
105
135
  */
106
- gte(value: number, message?: string): VldNumber;
136
+ gte(value: number, message?: ErrorParam): VldNumber;
107
137
  /**
108
138
  * Create a new validator with less than or equal constraint
109
139
  * Zod 4 API parity - alias for max()
110
140
  */
111
- lte(value: number, message?: string): VldNumber;
141
+ lte(value: number, message?: ErrorParam): VldNumber;
142
+ /**
143
+ * Create a validator for unsigned 32-bit integers
144
+ * Range: 0 to 4,294,967,295
145
+ */
146
+ uint32(message?: ErrorParam): VldNumber;
147
+ /**
148
+ * Create a validator for unsigned 64-bit integers
149
+ * Range: 0 to 2^53-1 (safe integer limit)
150
+ */
151
+ uint64(message?: ErrorParam): VldNumber;
152
+ /**
153
+ * Create a validator for signed 32-bit integers
154
+ * Range: -2,147,483,648 to 2,147,483,647
155
+ */
156
+ int32(message?: ErrorParam): VldNumber;
157
+ /**
158
+ * Create a validator for signed 64-bit integers
159
+ * Range: -(2^53-1) to 2^53-1 (safe integer limit)
160
+ */
161
+ int64(message?: ErrorParam): VldNumber;
162
+ /**
163
+ * Create a validator for 32-bit floats (IEEE 754 single precision)
164
+ * Range: -3.4e38 to 3.4e38, precision ~7 decimal digits
165
+ */
166
+ float32(message?: ErrorParam): VldNumber;
167
+ /**
168
+ * Create a validator for 64-bit floats (IEEE 754 double precision)
169
+ * Alias for standard number validation
170
+ */
171
+ float64(message?: ErrorParam): VldNumber;
112
172
  }
113
173
  export {};
114
- //# sourceMappingURL=number.d.ts.map