@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,187 @@
1
+ import { VldBase, VLD_VALIDATOR_TYPES } from './base.js';
2
+ import { getMessages } from '../locales/runtime.js';
3
+
4
+ /**
5
+ * Optimized immutable union validator for multiple type options
6
+ * Features type-checking shortcuts for 110x performance improvement
7
+ */
8
+ class VldUnion extends VldBase {
9
+ /**
10
+ * Private constructor to enforce immutability
11
+ */
12
+ constructor(validators, errorMessage) {
13
+ super(VLD_VALIDATOR_TYPES.UNION);
14
+ this.validators = validators;
15
+ this.errorMessage = errorMessage;
16
+ this.typeCheckers = validators.map(validator => this.createTypeChecker(validator));
17
+ this.simpleModes = validators.map(validator => this.createSimpleMode(validator));
18
+ this.simpleValues = validators.map((validator, i) => this.simpleModes[i] === 'literal' ? validator.literal : undefined);
19
+ }
20
+ createSimpleMode(validator) {
21
+ if (validator.isSimple !== true) {
22
+ return undefined;
23
+ }
24
+ switch (validator.validatorType) {
25
+ case VLD_VALIDATOR_TYPES.STRING:
26
+ return 'string';
27
+ case VLD_VALIDATOR_TYPES.NUMBER:
28
+ return 'number';
29
+ case VLD_VALIDATOR_TYPES.BOOLEAN:
30
+ return 'boolean';
31
+ case VLD_VALIDATOR_TYPES.BIGINT:
32
+ return 'bigint';
33
+ case VLD_VALIDATOR_TYPES.SYMBOL:
34
+ return 'symbol';
35
+ case VLD_VALIDATOR_TYPES.NULL:
36
+ return 'null';
37
+ case VLD_VALIDATOR_TYPES.UNDEFINED:
38
+ case VLD_VALIDATOR_TYPES.VOID:
39
+ return 'undefined';
40
+ case VLD_VALIDATOR_TYPES.LITERAL:
41
+ return 'literal';
42
+ case VLD_VALIDATOR_TYPES.ANY:
43
+ case VLD_VALIDATOR_TYPES.UNKNOWN:
44
+ return 'passthrough';
45
+ default:
46
+ return undefined;
47
+ }
48
+ }
49
+ parseSimpleValue(mode, index, value) {
50
+ switch (mode) {
51
+ case 'string':
52
+ case 'number':
53
+ case 'boolean':
54
+ case 'bigint':
55
+ case 'symbol':
56
+ return value;
57
+ case 'null':
58
+ return null;
59
+ case 'undefined':
60
+ return undefined;
61
+ case 'literal':
62
+ return this.simpleValues[index];
63
+ case 'passthrough':
64
+ return value;
65
+ default:
66
+ return undefined;
67
+ }
68
+ }
69
+ /**
70
+ * Create type checker based on validator type for fast path optimization
71
+ * Uses a safer approach that's less prone to spoofing
72
+ */
73
+ createTypeChecker(validator) {
74
+ switch (validator.validatorType) {
75
+ case VLD_VALIDATOR_TYPES.STRING:
76
+ return (v) => typeof v === 'string';
77
+ case VLD_VALIDATOR_TYPES.NUMBER:
78
+ return (v) => typeof v === 'number' && !isNaN(v);
79
+ case VLD_VALIDATOR_TYPES.BOOLEAN:
80
+ return (v) => typeof v === 'boolean';
81
+ case VLD_VALIDATOR_TYPES.BIGINT:
82
+ return (v) => typeof v === 'bigint';
83
+ case VLD_VALIDATOR_TYPES.SYMBOL:
84
+ return (v) => typeof v === 'symbol';
85
+ case VLD_VALIDATOR_TYPES.NAN:
86
+ return (v) => typeof v === 'number' && Number.isNaN(v);
87
+ case VLD_VALIDATOR_TYPES.ARRAY:
88
+ return Array.isArray;
89
+ case VLD_VALIDATOR_TYPES.OBJECT:
90
+ return (v) => typeof v === 'object' && v !== null && !Array.isArray(v);
91
+ case VLD_VALIDATOR_TYPES.NULL:
92
+ return (v) => v === null;
93
+ case VLD_VALIDATOR_TYPES.UNDEFINED:
94
+ case VLD_VALIDATOR_TYPES.VOID:
95
+ return (v) => v === undefined;
96
+ case VLD_VALIDATOR_TYPES.ENUM:
97
+ return (v) => typeof v === 'string' || typeof v === 'number';
98
+ case VLD_VALIDATOR_TYPES.LITERAL: {
99
+ const literal = validator.literal;
100
+ return (v) => v === literal;
101
+ }
102
+ case VLD_VALIDATOR_TYPES.NEVER:
103
+ return () => false;
104
+ case VLD_VALIDATOR_TYPES.ANY:
105
+ case VLD_VALIDATOR_TYPES.UNKNOWN:
106
+ return () => true;
107
+ default:
108
+ return () => true;
109
+ }
110
+ }
111
+ /**
112
+ * Create a new union validator
113
+ */
114
+ static create(...validators) {
115
+ return new VldUnion(validators);
116
+ }
117
+ /**
118
+ * Parse and validate a value against union options
119
+ * Optimized with type checking and direct parsing to avoid success-result allocations
120
+ * BUG-NEW-013 FIX: Single-pass error collection to avoid double parsing
121
+ */
122
+ parse(value) {
123
+ // Single pass: collect errors during validation
124
+ const errors = [];
125
+ for (let i = 0; i < this.validators.length; i++) {
126
+ const validator = this.validators[i];
127
+ const typeChecker = this.typeCheckers[i];
128
+ // Skip validators that definitely won't match based on type
129
+ if (typeChecker && !typeChecker(value)) {
130
+ continue;
131
+ }
132
+ const simpleMode = this.simpleModes[i];
133
+ if (simpleMode !== undefined) {
134
+ return this.parseSimpleValue(simpleMode, i, value);
135
+ }
136
+ try {
137
+ return validator.parse(value);
138
+ }
139
+ catch (error) {
140
+ const message = error instanceof Error ? error.message : String(error);
141
+ errors.push(message);
142
+ }
143
+ }
144
+ // All validators failed - throw with collected errors
145
+ throw new Error(this.errorMessage ||
146
+ getMessages().unionNoMatch(errors));
147
+ }
148
+ /**
149
+ * Safely parse and validate a value against union options
150
+ * Optimized version using type checking shortcuts
151
+ * BUG-NEW-013 FIX: Single-pass error collection to avoid double parsing
152
+ */
153
+ safeParse(value) {
154
+ // Single pass: collect errors during validation
155
+ const errors = [];
156
+ for (let i = 0; i < this.validators.length; i++) {
157
+ const validator = this.validators[i];
158
+ const typeChecker = this.typeCheckers[i];
159
+ // Skip validators that definitely won't match based on type
160
+ if (typeChecker && !typeChecker(value)) {
161
+ continue;
162
+ }
163
+ const simpleMode = this.simpleModes[i];
164
+ if (simpleMode !== undefined) {
165
+ return {
166
+ success: true,
167
+ data: this.parseSimpleValue(simpleMode, i, value)
168
+ };
169
+ }
170
+ try {
171
+ return { success: true, data: validator.parse(value) };
172
+ }
173
+ catch (error) {
174
+ const message = error instanceof Error ? error.message : String(error);
175
+ errors.push(message);
176
+ }
177
+ }
178
+ // All validators failed - return error with collected messages
179
+ return {
180
+ success: false,
181
+ error: new Error(this.errorMessage ||
182
+ getMessages().unionNoMatch(errors))
183
+ };
184
+ }
185
+ }
186
+
187
+ export { VldUnion };
@@ -1,12 +1,18 @@
1
- import { VldBase, ParseResult } from './base';
1
+ import { VldBase, ParseResult } from './base.js';
2
2
  /**
3
3
  * Validator that accepts unknown values
4
4
  */
5
5
  export declare class VldUnknown extends VldBase<unknown, unknown> {
6
+ private constructor();
6
7
  /**
7
8
  * Create a new unknown validator
8
9
  */
9
10
  static create(): VldUnknown;
11
+ /**
12
+ * Returns true because unknown accepts every input without checks.
13
+ * Used by composite validators for passthrough fast paths.
14
+ */
15
+ get isSimple(): boolean;
10
16
  /**
11
17
  * Parse unknown value (always succeeds)
12
18
  */
@@ -16,4 +22,3 @@ export declare class VldUnknown extends VldBase<unknown, unknown> {
16
22
  */
17
23
  safeParse(value: unknown): ParseResult<unknown>;
18
24
  }
19
- //# sourceMappingURL=unknown.d.ts.map
@@ -1,15 +1,25 @@
1
- import { i as VldBase } from './bigint-DgsCr2dC.js';
1
+ import { VldBase, VLD_VALIDATOR_TYPES } from './base.js';
2
2
 
3
3
  /**
4
4
  * Validator that accepts unknown values
5
5
  */
6
6
  class VldUnknown extends VldBase {
7
+ constructor() {
8
+ super(VLD_VALIDATOR_TYPES.UNKNOWN);
9
+ }
7
10
  /**
8
11
  * Create a new unknown validator
9
12
  */
10
13
  static create() {
11
14
  return new VldUnknown();
12
15
  }
16
+ /**
17
+ * Returns true because unknown accepts every input without checks.
18
+ * Used by composite validators for passthrough fast paths.
19
+ */
20
+ get isSimple() {
21
+ return true;
22
+ }
13
23
  /**
14
24
  * Parse unknown value (always succeeds)
15
25
  */
@@ -24,5 +34,4 @@ class VldUnknown extends VldBase {
24
34
  }
25
35
  }
26
36
 
27
- export { VldUnknown as V };
28
- //# sourceMappingURL=unknown-SLIH1VCf.js.map
37
+ export { VldUnknown };
@@ -1,12 +1,14 @@
1
- import { VldBase, ParseResult } from './base';
1
+ import { VldBase, ParseResult } from './base.js';
2
2
  /**
3
3
  * Validator that only accepts undefined
4
4
  */
5
5
  export declare class VldVoid extends VldBase<void, void> {
6
+ private constructor();
6
7
  /**
7
8
  * Create a new void validator
8
9
  */
9
10
  static create(): VldVoid;
11
+ get isSimple(): boolean;
10
12
  /**
11
13
  * Parse void value (must be undefined)
12
14
  */
@@ -16,4 +18,3 @@ export declare class VldVoid extends VldBase<void, void> {
16
18
  */
17
19
  safeParse(value: unknown): ParseResult<void>;
18
20
  }
19
- //# sourceMappingURL=void.d.ts.map
@@ -0,0 +1,44 @@
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
+ /**
6
+ * Validator that only accepts undefined
7
+ */
8
+ class VldVoid extends VldBase {
9
+ constructor() {
10
+ super(VLD_VALIDATOR_TYPES.VOID);
11
+ }
12
+ /**
13
+ * Create a new void validator
14
+ */
15
+ static create() {
16
+ return new VldVoid();
17
+ }
18
+ get isSimple() {
19
+ return true;
20
+ }
21
+ /**
22
+ * Parse void value (must be undefined)
23
+ */
24
+ parse(value) {
25
+ if (value !== undefined) {
26
+ throw new Error(getMessages().expectedUndefined);
27
+ }
28
+ return undefined;
29
+ }
30
+ /**
31
+ * Safely parse void value
32
+ */
33
+ safeParse(value) {
34
+ if (value === undefined) {
35
+ return { success: true, data: undefined };
36
+ }
37
+ return {
38
+ success: false,
39
+ error: new VldError([{ code: 'invalid_type', path: [], message: getMessages().expectedUndefined }])
40
+ };
41
+ }
42
+ }
43
+
44
+ export { VldVoid };
@@ -3,8 +3,8 @@
3
3
  * Part of Zod 4 API parity implementation
4
4
  * Ensures exactly one schema in the union matches
5
5
  */
6
- import { VldBase } from './base';
7
- import type { ParseResult } from './base';
6
+ import { VldBase } from './base.js';
7
+ import type { ParseResult } from './base.js';
8
8
  /**
9
9
  * XOR validator - ensures exactly one option matches
10
10
  * Unlike regular union which allows multiple matches, XOR requires exactly one
@@ -20,4 +20,3 @@ export declare class VldXor<Options extends VldBase<any, any>[]> extends VldBase
20
20
  */
21
21
  getOptions(): Options;
22
22
  }
23
- //# sourceMappingURL=xor.d.ts.map
@@ -0,0 +1,66 @@
1
+ import { VldBase, VLD_VALIDATOR_TYPES } from './base.js';
2
+
3
+ /**
4
+ * VldXor - Exclusive union validator
5
+ * Part of Zod 4 API parity implementation
6
+ * Ensures exactly one schema in the union matches
7
+ */
8
+ /**
9
+ * XOR validator - ensures exactly one option matches
10
+ * Unlike regular union which allows multiple matches, XOR requires exactly one
11
+ */
12
+ class VldXor extends VldBase {
13
+ constructor(_options) {
14
+ super(VLD_VALIDATOR_TYPES.XOR);
15
+ this._options = _options;
16
+ }
17
+ static create(options) {
18
+ if (options.length < 2) {
19
+ throw new Error('XOR requires at least 2 options');
20
+ }
21
+ return new VldXor(options);
22
+ }
23
+ parse(value) {
24
+ const result = this.safeParse(value);
25
+ if (!result.success) {
26
+ throw result.error;
27
+ }
28
+ return result.data;
29
+ }
30
+ safeParse(value) {
31
+ let matchCount = 0;
32
+ let lastSuccess = null;
33
+ for (const option of this._options) {
34
+ const result = option.safeParse(value);
35
+ if (result.success) {
36
+ matchCount++;
37
+ lastSuccess = result;
38
+ if (matchCount > 1) {
39
+ // Early exit if more than one match
40
+ break;
41
+ }
42
+ }
43
+ }
44
+ if (matchCount === 0) {
45
+ return {
46
+ success: false,
47
+ error: new Error('No schema matched in XOR union')
48
+ };
49
+ }
50
+ if (matchCount > 1) {
51
+ return {
52
+ success: false,
53
+ error: new Error(`Input matches ${matchCount} schemas in XOR union, but exactly one is required`)
54
+ };
55
+ }
56
+ return lastSuccess;
57
+ }
58
+ /**
59
+ * Get all options
60
+ */
61
+ getOptions() {
62
+ return this._options;
63
+ }
64
+ }
65
+
66
+ export { VldXor };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oxog/vld",
3
- "version": "2.0.2",
3
+ "version": "2.1.0",
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",
@@ -9,6 +9,9 @@
9
9
  "bin": {
10
10
  "vld": "./dist/cli/bin.js"
11
11
  },
12
+ "engines": {
13
+ "node": ">=18"
14
+ },
12
15
  "exports": {
13
16
  ".": {
14
17
  "types": "./dist/index.d.ts",
@@ -27,75 +30,152 @@
27
30
  },
28
31
  "./validators": {
29
32
  "types": "./dist/validators/index.d.ts",
30
- "import": "./dist/validators/index.js"
33
+ "import": "./dist/validators/index.js",
34
+ "require": "./dist/cjs/validators/index.cjs"
31
35
  },
32
36
  "./validators/*": {
33
37
  "types": "./dist/validators/*.d.ts",
34
- "import": "./dist/validators/*.js"
38
+ "import": "./dist/validators/*.js",
39
+ "require": "./dist/cjs/validators/*.cjs"
35
40
  },
36
41
  "./coercion": {
37
42
  "types": "./dist/coercion/index.d.ts",
38
- "import": "./dist/coercion/index.js"
43
+ "import": "./dist/coercion/index.js",
44
+ "require": "./dist/cjs/coercion/index.cjs"
39
45
  },
40
46
  "./codecs": {
41
47
  "types": "./dist/codecs/index.d.ts",
42
- "import": "./dist/codecs/index.js"
48
+ "import": "./dist/codecs/index.js",
49
+ "require": "./dist/cjs/codecs/index.cjs"
43
50
  },
44
51
  "./locales": {
45
52
  "types": "./dist/locales/index.d.ts",
46
53
  "import": "./dist/locales/index.js",
47
54
  "require": "./dist/cjs/locales/index.cjs"
48
55
  },
56
+ "./v3": {
57
+ "types": "./dist/v3/index.d.ts",
58
+ "import": "./dist/v3/index.js",
59
+ "require": "./dist/cjs/v3/index.cjs"
60
+ },
61
+ "./v4": {
62
+ "types": "./dist/v4/index.d.ts",
63
+ "import": "./dist/v4/index.js",
64
+ "require": "./dist/cjs/v4/index.cjs"
65
+ },
66
+ "./v4-mini": {
67
+ "types": "./dist/v4-mini/index.d.ts",
68
+ "import": "./dist/v4-mini/index.js",
69
+ "require": "./dist/cjs/v4-mini/index.cjs"
70
+ },
71
+ "./v4/mini": {
72
+ "types": "./dist/v4/mini/index.d.ts",
73
+ "import": "./dist/v4/mini/index.js",
74
+ "require": "./dist/cjs/v4/mini/index.cjs"
75
+ },
76
+ "./v4/core": {
77
+ "types": "./dist/v4/core/index.d.ts",
78
+ "import": "./dist/v4/core/index.js",
79
+ "require": "./dist/cjs/v4/core/index.cjs"
80
+ },
81
+ "./v4/locales": {
82
+ "types": "./dist/v4/locales/index.d.ts",
83
+ "import": "./dist/v4/locales/index.js",
84
+ "require": "./dist/cjs/v4/locales/index.cjs"
85
+ },
86
+ "./v4/locales/types": null,
87
+ "./v4/locales/runtime": null,
88
+ "./v4/locales/*": {
89
+ "types": "./dist/locales/*.d.ts",
90
+ "import": "./dist/locales/*.js",
91
+ "require": "./dist/cjs/locales/*.cjs"
92
+ },
49
93
  "./locales/lazy": {
50
94
  "types": "./dist/locales/lazy.d.ts",
51
95
  "import": "./dist/locales/lazy.js",
52
96
  "require": "./dist/cjs/locales/lazy.cjs"
53
97
  },
98
+ "./locales/types": null,
99
+ "./locales/runtime": null,
100
+ "./locales/backup-en": null,
54
101
  "./locales/*": {
55
102
  "types": "./dist/locales/*.d.ts",
56
- "import": "./dist/locales/*.js"
103
+ "import": "./dist/locales/*.js",
104
+ "require": "./dist/cjs/locales/*.cjs"
57
105
  },
58
106
  "./result": {
59
107
  "types": "./dist/compat/result.d.ts",
60
- "import": "./dist/compat/result.js"
108
+ "import": "./dist/compat/result.js",
109
+ "require": "./dist/cjs/compat/result.cjs"
61
110
  },
62
111
  "./kernel": {
63
112
  "types": "./dist/kernel.d.ts",
64
- "import": "./dist/kernel.js"
113
+ "import": "./dist/kernel.js",
114
+ "require": "./dist/cjs/kernel.cjs"
115
+ },
116
+ "./registry": {
117
+ "types": "./dist/registry.d.ts",
118
+ "import": "./dist/registry.js",
119
+ "require": "./dist/cjs/registry.cjs"
65
120
  },
66
121
  "./pigment": {
67
122
  "types": "./dist/pigment.d.ts",
68
- "import": "./dist/pigment.js"
123
+ "import": "./dist/pigment.js",
124
+ "require": "./dist/cjs/pigment.cjs"
69
125
  },
70
126
  "./cli": {
71
127
  "types": "./dist/cli/index.d.ts",
72
- "import": "./dist/cli/index.js"
128
+ "import": "./dist/cli/index.js",
129
+ "require": "./dist/cjs/cli/index.cjs"
73
130
  },
74
131
  "./plugins": {
75
132
  "types": "./dist/plugins/index.d.ts",
76
- "import": "./dist/plugins/index.js"
133
+ "import": "./dist/plugins/index.js",
134
+ "require": "./dist/cjs/plugins/index.cjs"
77
135
  },
78
136
  "./package.json": "./package.json"
79
137
  },
80
138
  "sideEffects": false,
139
+ "publishConfig": {
140
+ "access": "public"
141
+ },
81
142
  "scripts": {
82
- "build": "npm run build:clean && npm run build:esm && npm run build:cjs && npm run build:types && npm run build:fix",
143
+ "build": "npm run build:clean && npm run build:bundle && npm run build:types && npm run build:fix",
83
144
  "build:clean": "node -e \"require('fs').rmSync('./dist', { recursive: true, force: true })\"",
84
- "build:esm": "rollup -c rollup.config.mjs",
85
- "build:cjs": "echo 'CJS built by rollup'",
145
+ "build:bundle": "rollup -c rollup.config.mjs",
146
+ "build:esm": "npm run build:bundle",
147
+ "build:cjs": "npm run build:bundle",
86
148
  "build:types": "tsc -p tsconfig.build.json",
87
149
  "build:fix": "node scripts/fix-imports.cjs",
88
150
  "build:legacy": "tsc && node scripts/fix-imports.cjs",
151
+ "verify:exports": "node scripts/verify-exports.cjs",
152
+ "verify:ascii": "node scripts/verify-ascii.cjs",
153
+ "verify:bundle": "node scripts/verify-bundle.cjs",
154
+ "verify:docs": "node scripts/verify-docs.cjs",
155
+ "verify:drop-in": "node scripts/verify-drop-in-app.cjs",
156
+ "verify:install": "node scripts/verify-install.cjs",
157
+ "verify:package": "node scripts/verify-package.cjs",
158
+ "verify:security": "npm audit --audit-level=low",
159
+ "verify:types": "node scripts/verify-types.cjs",
160
+ "verify:zod": "node scripts/verify-zod-parity.cjs",
89
161
  "test": "jest --coverage",
90
162
  "test:types": "tsc --noEmit",
91
- "benchmark": "node benchmarks/quick-bench.cjs",
92
- "benchmark:full": "node benchmarks/performance.cjs",
93
- "benchmark:memory": "node --expose-gc benchmarks/memory.cjs",
94
- "benchmark:startup": "node benchmarks/startup.cjs",
95
- "benchmark:all": "npm run benchmark && npm run benchmark:memory && npm run benchmark:startup",
163
+ "benchmark": "npm run build && node benchmarks/quick-bench.cjs",
164
+ "benchmark:stable": "npm run build && node benchmarks/stable-bench.cjs",
165
+ "benchmark:guard": "npm run build && npm run benchmark:guard:built",
166
+ "benchmark:guard:built": "node benchmarks/performance-guard.cjs",
167
+ "benchmark:startup:guard": "node benchmarks/startup-guard.cjs",
168
+ "benchmark:memory:guard": "node benchmarks/memory-guard.cjs",
169
+ "benchmark:truth": "npm run build && node benchmarks/performance.cjs",
170
+ "benchmark:full": "npm run build && node benchmarks/performance.cjs",
171
+ "benchmark:memory": "npm run build && node --expose-gc benchmarks/memory.cjs",
172
+ "benchmark:startup": "npm run build && node benchmarks/startup.cjs",
173
+ "benchmark:all": "npm run build && node benchmarks/quick-bench.cjs && node --expose-gc benchmarks/memory.cjs && node benchmarks/startup.cjs",
96
174
  "lint": "eslint src --ext .ts",
97
175
  "format": "prettier --write \"src/**/*.ts\"",
98
- "prepublishOnly": "npm run build && npm test"
176
+ "prepack": "npm run build",
177
+ "release:check": "npm run lint && npm run test:types && npm test -- --runInBand && npm run build && npm run verify:ascii && npm run verify:docs && npm run verify:exports && npm run verify:bundle && npm run verify:types && npm run verify:package && npm run verify:install && npm run verify:security && npm run verify:zod && npm run verify:drop-in && npm run benchmark:guard:built && npm run benchmark:startup:guard && npm run benchmark:memory:guard",
178
+ "prepublishOnly": "npm run release:check"
99
179
  },
100
180
  "keywords": [
101
181
  "validation",
@@ -133,21 +213,26 @@
133
213
  },
134
214
  "homepage": "https://github.com/ersinkoc/vld#readme",
135
215
  "devDependencies": {
136
- "@rollup/plugin-terser": "^0.4.4",
216
+ "@rollup/plugin-terser": "^1.0.0",
137
217
  "@rollup/plugin-typescript": "^12.1.4",
138
- "@types/jest": "^29.5.14",
139
- "@types/node": "^20.10.5",
140
- "@typescript-eslint/eslint-plugin": "^6.15.0",
141
- "@typescript-eslint/parser": "^6.15.0",
218
+ "@types/jest": "^30.0.0",
219
+ "@types/node": "^20.19.43",
220
+ "@typescript-eslint/eslint-plugin": "^8.61.0",
221
+ "@typescript-eslint/parser": "^8.61.0",
142
222
  "benchmark": "^2.1.4",
143
223
  "eslint": "^8.56.0",
144
224
  "fast-glob": "^3.3.3",
145
- "jest": "^29.7.0",
146
- "jest-junit": "^16.0.0",
147
- "prettier": "^3.1.1",
148
- "rollup": "^4.46.2",
149
- "ts-jest": "^29.4.1",
225
+ "jest": "^30.4.2",
226
+ "jest-junit": "^17.0.0",
227
+ "prettier": "^3.8.4",
228
+ "rollup": "^4.62.0",
229
+ "ts-jest": "^29.4.11",
230
+ "tslib": "^2.8.1",
150
231
  "typescript": "^5.3.3",
151
- "zod": "^4.0.17"
232
+ "zod": "^4.4.3"
233
+ },
234
+ "overrides": {
235
+ "@babel/core": "^7.29.7",
236
+ "js-yaml": "^4.2.0"
152
237
  }
153
238
  }