@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,506 @@
1
+ #!/usr/bin/env node
2
+ 'use strict';
3
+
4
+ var cli_index = require('./index.cjs');
5
+ var fs = require('fs');
6
+ var path = require('path');
7
+ var pigment = require('../pigment.cjs');
8
+ var errors = require('../errors.cjs');
9
+ var index = require('../index.cjs');
10
+ require('../chunks/errors-core-DWxLFs2f.cjs');
11
+ require('../validators/base.cjs');
12
+ require('../registry.cjs');
13
+ require('../chunks/string-BKZrc4hs.cjs');
14
+ require('../locales/runtime.cjs');
15
+ require('../locales/en.cjs');
16
+ require('../validators/number.cjs');
17
+ require('../validators/boolean.cjs');
18
+ require('../validators/date.cjs');
19
+ require('../validators/string-bool.cjs');
20
+ require('../validators/array.cjs');
21
+ require('../validators/object.cjs');
22
+ require('../validators/enum.cjs');
23
+ require('../chunks/security-Dc3Jh13T.cjs');
24
+ require('../validators/union.cjs');
25
+ require('../validators/literal.cjs');
26
+ require('../validators/bigint.cjs');
27
+ require('../validators/symbol.cjs');
28
+ require('../validators/tuple.cjs');
29
+ require('../validators/record.cjs');
30
+ require('../validators/set.cjs');
31
+ require('../validators/map.cjs');
32
+ require('../validators/intersection.cjs');
33
+ require('../validators/any.cjs');
34
+ require('../validators/unknown.cjs');
35
+ require('../validators/void.cjs');
36
+ require('../validators/never.cjs');
37
+ require('../validators/null.cjs');
38
+ require('../validators/undefined.cjs');
39
+ require('../validators/nan.cjs');
40
+ require('../validators/lazy.cjs');
41
+ require('../validators/discriminated-union.cjs');
42
+ require('../validators/xor.cjs');
43
+ require('../validators/json.cjs');
44
+ require('../validators/template-literal.cjs');
45
+ require('../validators/custom.cjs');
46
+ require('../validators/file.cjs');
47
+ require('../validators/function.cjs');
48
+ require('../validators/codec.cjs');
49
+ require('../validators/base64.cjs');
50
+ require('../validators/hex.cjs');
51
+ require('../validators/uint8array.cjs');
52
+ require('../validators/promise.cjs');
53
+ require('../compat/result.cjs');
54
+ require('../chunks/index-Cc3bjUMX.cjs');
55
+ require('../locales/tr.cjs');
56
+ require('../locales/es.cjs');
57
+ require('../locales/fr.cjs');
58
+ require('../locales/de.cjs');
59
+ require('../locales/it.cjs');
60
+ require('../locales/pt.cjs');
61
+ require('../locales/ru.cjs');
62
+ require('../locales/ja.cjs');
63
+ require('../locales/ko.cjs');
64
+ require('../locales/zh.cjs');
65
+ require('../locales/ar.cjs');
66
+ require('../locales/hi.cjs');
67
+ require('../locales/nl.cjs');
68
+ require('../locales/pl.cjs');
69
+ require('../locales/da.cjs');
70
+ require('../locales/sv.cjs');
71
+ require('../locales/no.cjs');
72
+ require('../locales/fi.cjs');
73
+ require('../locales/th.cjs');
74
+ require('../locales/vi.cjs');
75
+ require('../locales/id.cjs');
76
+ require('../locales/bn.cjs');
77
+ require('../locales/sw.cjs');
78
+ require('../locales/af.cjs');
79
+ require('../locales/pt-BR.cjs');
80
+ require('../locales/es-MX.cjs');
81
+ require('../coercion/index.cjs');
82
+ require('../validators/string-formats.cjs');
83
+ require('../chunks/index-BkI37108.cjs');
84
+ require('../compat/emitter.cjs');
85
+ require('../kernel.cjs');
86
+
87
+ var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
88
+ function _interopNamespace(e) {
89
+ if (e && e.__esModule) return e;
90
+ var n = Object.create(null);
91
+ if (e) {
92
+ Object.keys(e).forEach(function (k) {
93
+ if (k !== 'default') {
94
+ var d = Object.getOwnPropertyDescriptor(e, k);
95
+ Object.defineProperty(n, k, d.get ? d : {
96
+ enumerable: true,
97
+ get: function () { return e[k]; }
98
+ });
99
+ }
100
+ });
101
+ }
102
+ n.default = e;
103
+ return Object.freeze(n);
104
+ }
105
+
106
+ var fs__namespace = /*#__PURE__*/_interopNamespace(fs);
107
+ var path__namespace = /*#__PURE__*/_interopNamespace(path);
108
+
109
+ /**
110
+ * VLD CLI - Validate Command
111
+ *
112
+ * Validate JSON data against a VLD schema file.
113
+ */
114
+ function assertWithinCwd(absolutePath, label, original) {
115
+ const allowedDir = process.cwd();
116
+ if (!absolutePath.startsWith(allowedDir + path__namespace.sep) && absolutePath !== allowedDir) {
117
+ throw new Error(`${label} path escapes allowed directory: ${original}`);
118
+ }
119
+ }
120
+ /**
121
+ * Validate command
122
+ */
123
+ const validateCommand = {
124
+ name: 'validate',
125
+ description: 'Validate JSON data against a VLD schema',
126
+ aliases: ['v'],
127
+ arguments: [
128
+ {
129
+ name: 'schema',
130
+ description: 'Path to schema file (.ts or .js)',
131
+ required: true
132
+ },
133
+ {
134
+ name: 'data',
135
+ description: 'Path to JSON data file or JSON string',
136
+ required: true
137
+ }
138
+ ],
139
+ options: [
140
+ {
141
+ name: 'strict',
142
+ short: 's',
143
+ description: 'Enable strict mode (no extra keys)',
144
+ type: 'boolean',
145
+ default: false
146
+ },
147
+ {
148
+ name: 'quiet',
149
+ short: 'q',
150
+ description: 'Only output errors',
151
+ type: 'boolean',
152
+ default: false
153
+ },
154
+ {
155
+ name: 'json',
156
+ short: 'j',
157
+ description: 'Output as JSON',
158
+ type: 'boolean',
159
+ default: false
160
+ },
161
+ {
162
+ name: 'no-color',
163
+ description: 'Disable colored output',
164
+ type: 'boolean',
165
+ default: false
166
+ }
167
+ ],
168
+ action: async (args, options) => {
169
+ const schemaPath = args['schema'];
170
+ const dataArg = args['data'];
171
+ const quiet = options['quiet'];
172
+ const json = options['json'];
173
+ const noColor = options['no-color'];
174
+ // Load schema
175
+ let schema;
176
+ try {
177
+ const absoluteSchemaPath = path__namespace.resolve(process.cwd(), schemaPath);
178
+ // Security: Ensure resolved path is within allowed directories
179
+ assertWithinCwd(absoluteSchemaPath, 'Schema', schemaPath);
180
+ if (!fs__namespace.existsSync(absoluteSchemaPath)) {
181
+ throw new Error(`Schema file not found: ${schemaPath}`);
182
+ }
183
+ // Dynamic import for ESM/CJS compatibility
184
+ const schemaModule = await import(absoluteSchemaPath);
185
+ schema = schemaModule.default || schemaModule.schema || schemaModule;
186
+ if (!schema || typeof schema.parse !== 'function') {
187
+ throw new Error('Schema must export a VLD validator with parse() method');
188
+ }
189
+ }
190
+ catch (error) {
191
+ if (json) {
192
+ console.log(JSON.stringify({ success: false, error: error.message }));
193
+ }
194
+ else {
195
+ console.error(pigment.default.red('Schema Error:'), error.message);
196
+ }
197
+ process.exitCode = 1;
198
+ return;
199
+ }
200
+ // Load data
201
+ let data;
202
+ try {
203
+ // Check if it's a file path or JSON string
204
+ if (dataArg.startsWith('{') || dataArg.startsWith('[')) {
205
+ data = JSON.parse(dataArg);
206
+ }
207
+ else {
208
+ const absoluteDataPath = path__namespace.resolve(process.cwd(), dataArg);
209
+ // Security: Ensure resolved path is within allowed directories
210
+ assertWithinCwd(absoluteDataPath, 'Data', dataArg);
211
+ if (!fs__namespace.existsSync(absoluteDataPath)) {
212
+ throw new Error(`Data file not found: ${dataArg}`);
213
+ }
214
+ const content = fs__namespace.readFileSync(absoluteDataPath, 'utf-8');
215
+ data = JSON.parse(content);
216
+ }
217
+ }
218
+ catch (error) {
219
+ if (json) {
220
+ console.log(JSON.stringify({ success: false, error: error.message }));
221
+ }
222
+ else {
223
+ console.error(pigment.default.red('Data Error:'), error.message);
224
+ }
225
+ process.exitCode = 1;
226
+ return;
227
+ }
228
+ // Validate
229
+ const result = schema.safeParse(data);
230
+ if (json) {
231
+ if (result.success) {
232
+ console.log(JSON.stringify({ success: true, data: result.data }));
233
+ }
234
+ else {
235
+ const err = result.error;
236
+ const errorJson = {
237
+ success: false,
238
+ error: err?.message,
239
+ issues: err?.issues
240
+ };
241
+ console.log(JSON.stringify(errorJson));
242
+ }
243
+ }
244
+ else {
245
+ if (result.success) {
246
+ if (!quiet) {
247
+ console.log(pigment.default.green('Validation passed'));
248
+ console.log('');
249
+ console.log(pigment.default.dim('Data:'));
250
+ console.log(JSON.stringify(result.data, null, 2));
251
+ }
252
+ }
253
+ else {
254
+ console.error(pigment.default.red('Validation failed'));
255
+ console.error('');
256
+ // Check if it's a VldError with issues
257
+ if (result.error && 'issues' in result.error) {
258
+ const formatted = noColor
259
+ ? errors.prettifyError(result.error, { colored: false })
260
+ : errors.prettifyErrorColored(result.error);
261
+ console.error(formatted);
262
+ }
263
+ else {
264
+ console.error(result.error?.message || 'Unknown error');
265
+ }
266
+ process.exitCode = 1;
267
+ }
268
+ }
269
+ }
270
+ };
271
+
272
+ /**
273
+ * VLD CLI - Benchmark Command
274
+ *
275
+ * Run performance benchmarks for VLD validation.
276
+ */
277
+ /**
278
+ * Run a single benchmark
279
+ */
280
+ function runBenchmark(name, fn, iterations) {
281
+ // Warm up
282
+ for (let i = 0; i < Math.min(100, iterations / 10); i++) {
283
+ fn();
284
+ }
285
+ // Run benchmark
286
+ const start = performance.now();
287
+ for (let i = 0; i < iterations; i++) {
288
+ fn();
289
+ }
290
+ const end = performance.now();
291
+ const totalMs = end - start;
292
+ const avgMs = totalMs / iterations;
293
+ const opsPerSec = 1000 / avgMs;
294
+ return { name, iterations, totalMs, avgMs, opsPerSec };
295
+ }
296
+ /**
297
+ * Format number with comma separators
298
+ */
299
+ function formatNumber(n) {
300
+ return n.toLocaleString('en-US', { maximumFractionDigits: 2 });
301
+ }
302
+ /**
303
+ * Format benchmark result
304
+ */
305
+ function formatResult(result, colored) {
306
+ const name = colored ? pigment.default.cyan(result.name.padEnd(30)) : result.name.padEnd(30);
307
+ const ops = colored
308
+ ? pigment.default.green(formatNumber(result.opsPerSec).padStart(12))
309
+ : formatNumber(result.opsPerSec).padStart(12);
310
+ const avg = colored
311
+ ? pigment.default.yellow(result.avgMs.toFixed(6).padStart(12))
312
+ : result.avgMs.toFixed(6).padStart(12);
313
+ return `${name} ${ops} ops/sec ${avg} ms/op`;
314
+ }
315
+ /**
316
+ * Benchmark command
317
+ */
318
+ const benchmarkCommand = {
319
+ name: 'benchmark',
320
+ description: 'Run performance benchmarks',
321
+ aliases: ['bench', 'b'],
322
+ options: [
323
+ {
324
+ name: 'iterations',
325
+ short: 'n',
326
+ description: 'Number of iterations',
327
+ type: 'number',
328
+ default: 10000
329
+ },
330
+ {
331
+ name: 'suite',
332
+ short: 's',
333
+ description: 'Benchmark suite to run (all, primitives, objects, arrays)',
334
+ type: 'string',
335
+ default: 'all'
336
+ },
337
+ {
338
+ name: 'json',
339
+ short: 'j',
340
+ description: 'Output as JSON',
341
+ type: 'boolean',
342
+ default: false
343
+ },
344
+ {
345
+ name: 'no-color',
346
+ description: 'Disable colored output',
347
+ type: 'boolean',
348
+ default: false
349
+ }
350
+ ],
351
+ action: async (_args, options) => {
352
+ const iterations = options['iterations'];
353
+ const suite = options['suite'];
354
+ const json = options['json'];
355
+ const noColor = options['no-color'];
356
+ const colored = !noColor;
357
+ const results = [];
358
+ // Primitive validators
359
+ const stringSchema = index.default.string();
360
+ const numberSchema = index.default.number();
361
+ const booleanSchema = index.default.boolean();
362
+ const dateSchema = index.default.date();
363
+ // Object validator
364
+ const userSchema = index.default.object({
365
+ name: index.default.string(),
366
+ email: index.default.string(),
367
+ age: index.default.number(),
368
+ active: index.default.boolean()
369
+ });
370
+ // Array validator
371
+ const numbersSchema = index.default.array(index.default.number());
372
+ // Nested object validator
373
+ const nestedSchema = index.default.object({
374
+ user: index.default.object({
375
+ name: index.default.string(),
376
+ email: index.default.string()
377
+ }),
378
+ items: index.default.array(index.default.object({
379
+ id: index.default.number(),
380
+ name: index.default.string(),
381
+ price: index.default.number()
382
+ }))
383
+ });
384
+ // Test data
385
+ const testString = 'hello world';
386
+ const testNumber = 42;
387
+ const testBoolean = true;
388
+ const testDate = new Date();
389
+ const testUser = { name: 'John', email: 'john@example.com', age: 30, active: true };
390
+ const testNumbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
391
+ const testNested = {
392
+ user: { name: 'John', email: 'john@example.com' },
393
+ items: [
394
+ { id: 1, name: 'Item 1', price: 10.99 },
395
+ { id: 2, name: 'Item 2', price: 20.99 },
396
+ { id: 3, name: 'Item 3', price: 30.99 }
397
+ ]
398
+ };
399
+ if (!json) {
400
+ console.log(pigment.default.bold('VLD Performance Benchmark'));
401
+ console.log(pigment.default.dim(`Running ${formatNumber(iterations)} iterations per test`));
402
+ console.log('');
403
+ }
404
+ // Primitive benchmarks
405
+ if (suite === 'all' || suite === 'primitives') {
406
+ if (!json) {
407
+ console.log(pigment.default.bold('Primitives:'));
408
+ }
409
+ results.push(runBenchmark('string.parse()', () => stringSchema.parse(testString), iterations));
410
+ results.push(runBenchmark('number.parse()', () => numberSchema.parse(testNumber), iterations));
411
+ results.push(runBenchmark('boolean.parse()', () => booleanSchema.parse(testBoolean), iterations));
412
+ results.push(runBenchmark('date.parse()', () => dateSchema.parse(testDate), iterations));
413
+ results.push(runBenchmark('string.safeParse()', () => stringSchema.safeParse(testString), iterations));
414
+ if (!json) {
415
+ for (const result of results.slice(-5)) {
416
+ console.log(' ' + formatResult(result, colored));
417
+ }
418
+ console.log('');
419
+ }
420
+ }
421
+ // Object benchmarks
422
+ if (suite === 'all' || suite === 'objects') {
423
+ if (!json) {
424
+ console.log(pigment.default.bold('Objects:'));
425
+ }
426
+ results.push(runBenchmark('object.parse()', () => userSchema.parse(testUser), iterations));
427
+ results.push(runBenchmark('object.safeParse()', () => userSchema.safeParse(testUser), iterations));
428
+ results.push(runBenchmark('nested.parse()', () => nestedSchema.parse(testNested), iterations));
429
+ if (!json) {
430
+ for (const result of results.slice(-3)) {
431
+ console.log(' ' + formatResult(result, colored));
432
+ }
433
+ console.log('');
434
+ }
435
+ }
436
+ // Array benchmarks
437
+ if (suite === 'all' || suite === 'arrays') {
438
+ if (!json) {
439
+ console.log(pigment.default.bold('Arrays:'));
440
+ }
441
+ results.push(runBenchmark('array.parse()', () => numbersSchema.parse(testNumbers), iterations));
442
+ results.push(runBenchmark('array.safeParse()', () => numbersSchema.safeParse(testNumbers), iterations));
443
+ if (!json) {
444
+ for (const result of results.slice(-2)) {
445
+ console.log(' ' + formatResult(result, colored));
446
+ }
447
+ console.log('');
448
+ }
449
+ }
450
+ // Summary
451
+ if (!json) {
452
+ const totalOps = results.reduce((sum, r) => sum + r.opsPerSec, 0);
453
+ const avgOps = totalOps / results.length;
454
+ console.log(pigment.default.bold('Summary:'));
455
+ console.log(` Total benchmarks: ${results.length}`);
456
+ console.log(` Average ops/sec: ${formatNumber(avgOps)}`);
457
+ }
458
+ else {
459
+ console.log(JSON.stringify({
460
+ iterations,
461
+ suite,
462
+ results: results.map((r) => ({
463
+ name: r.name,
464
+ iterations: r.iterations,
465
+ totalMs: r.totalMs,
466
+ avgMs: r.avgMs,
467
+ opsPerSec: r.opsPerSec
468
+ }))
469
+ }));
470
+ }
471
+ }
472
+ };
473
+
474
+ /**
475
+ * VLD CLI Entry Point
476
+ *
477
+ * This is the main entry point for the `vld` command-line tool.
478
+ */
479
+ const packageJson = JSON.parse(fs.readFileSync(new URL('../../package.json', (typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('cli/bin.cjs', document.baseURI).href))), 'utf-8'));
480
+ const version = packageJson.version || '0.0.0';
481
+ cli_index.vldCli.version = version;
482
+ // Register commands
483
+ cli_index.vldCli.command(validateCommand);
484
+ cli_index.vldCli.command(benchmarkCommand);
485
+ // Help command
486
+ cli_index.vldCli.command({
487
+ name: 'help',
488
+ description: 'Show help information',
489
+ aliases: ['h'],
490
+ action: () => {
491
+ console.log(cli_index.vldCli.help());
492
+ }
493
+ });
494
+ // Version command
495
+ cli_index.vldCli.command({
496
+ name: 'version',
497
+ description: 'Show version information',
498
+ action: () => {
499
+ console.log(`vld v${version}`);
500
+ }
501
+ });
502
+ // Run CLI
503
+ cli_index.vldCli.run(process.argv.slice(2)).catch((error) => {
504
+ console.error('Fatal error:', error);
505
+ process.exitCode = 1;
506
+ });