@oxog/vld 1.3.1 → 1.5.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 (334) hide show
  1. package/CHANGELOG.md +333 -284
  2. package/README.md +13 -12
  3. package/dist/cli/benchmark.d.ts +15 -0
  4. package/dist/cli/benchmark.d.ts.map +1 -0
  5. package/dist/cli/benchmark.js +248 -0
  6. package/dist/cli/benchmark.js.map +1 -0
  7. package/dist/cli/bin.d.ts +8 -0
  8. package/dist/cli/bin.d.ts.map +1 -0
  9. package/dist/cli/bin.js +35 -0
  10. package/dist/cli/bin.js.map +1 -0
  11. package/dist/cli/commands/benchmark.d.ts +11 -0
  12. package/dist/cli/commands/benchmark.d.ts.map +1 -0
  13. package/dist/cli/commands/benchmark.js +204 -0
  14. package/dist/cli/commands/benchmark.js.map +1 -0
  15. package/dist/cli/commands/validate.d.ts +11 -0
  16. package/dist/cli/commands/validate.d.ts.map +1 -0
  17. package/dist/cli/commands/validate.js +157 -0
  18. package/dist/cli/commands/validate.js.map +1 -0
  19. package/dist/cli/generate.d.ts +14 -0
  20. package/dist/cli/generate.d.ts.map +1 -0
  21. package/dist/cli/generate.js +233 -0
  22. package/dist/cli/generate.js.map +1 -0
  23. package/dist/cli/index.d.ts +59 -0
  24. package/dist/cli/index.d.ts.map +1 -0
  25. package/dist/cli/index.js +182 -0
  26. package/dist/cli/index.js.map +1 -0
  27. package/dist/cli/validate.d.ts +15 -0
  28. package/dist/cli/validate.d.ts.map +1 -0
  29. package/dist/cli/validate.js +162 -0
  30. package/dist/cli/validate.js.map +1 -0
  31. package/dist/codecs/index.d.ts.map +1 -1
  32. package/dist/codecs/index.js +29 -10
  33. package/dist/codecs/index.js.map +1 -1
  34. package/dist/coercion/bigint.js +1 -1
  35. package/dist/coercion/boolean.d.ts.map +1 -1
  36. package/dist/coercion/boolean.js +24 -32
  37. package/dist/coercion/boolean.js.map +1 -1
  38. package/dist/coercion/date.js +2 -2
  39. package/dist/coercion/date.js.map +1 -1
  40. package/dist/coercion/number.d.ts.map +1 -1
  41. package/dist/coercion/number.js +20 -4
  42. package/dist/coercion/number.js.map +1 -1
  43. package/dist/coercion/string.d.ts.map +1 -1
  44. package/dist/coercion/string.js +9 -73
  45. package/dist/coercion/string.js.map +1 -1
  46. package/dist/compat/emitter.d.ts +73 -0
  47. package/dist/compat/emitter.d.ts.map +1 -0
  48. package/dist/compat/emitter.js +179 -0
  49. package/dist/compat/emitter.js.map +1 -0
  50. package/dist/compat/index.d.ts +15 -0
  51. package/dist/compat/index.d.ts.map +1 -0
  52. package/dist/compat/index.js +14 -0
  53. package/dist/compat/index.js.map +1 -0
  54. package/dist/compat/result.d.ts +128 -0
  55. package/dist/compat/result.d.ts.map +1 -0
  56. package/dist/compat/result.js +169 -0
  57. package/dist/compat/result.js.map +1 -0
  58. package/dist/errors.d.ts +58 -1
  59. package/dist/errors.d.ts.map +1 -1
  60. package/dist/errors.js +97 -9
  61. package/dist/errors.js.map +1 -1
  62. package/dist/events.d.ts +140 -0
  63. package/dist/events.d.ts.map +1 -0
  64. package/dist/events.js +8 -0
  65. package/dist/events.js.map +1 -0
  66. package/dist/guards.d.ts +143 -0
  67. package/dist/guards.d.ts.map +1 -0
  68. package/dist/guards.js +238 -0
  69. package/dist/guards.js.map +1 -0
  70. package/dist/index.d.ts +606 -4
  71. package/dist/index.d.ts.map +1 -1
  72. package/dist/index.js +105 -6
  73. package/dist/index.js.map +1 -1
  74. package/dist/kernel.d.ts +29 -0
  75. package/dist/kernel.d.ts.map +1 -0
  76. package/dist/kernel.js +402 -0
  77. package/dist/kernel.js.map +1 -0
  78. package/dist/locales/af.d.ts.map +1 -1
  79. package/dist/locales/af.js +18 -1
  80. package/dist/locales/af.js.map +1 -1
  81. package/dist/locales/ar.d.ts.map +1 -1
  82. package/dist/locales/ar.js +18 -1
  83. package/dist/locales/ar.js.map +1 -1
  84. package/dist/locales/backup-en.d.ts +3 -0
  85. package/dist/locales/backup-en.d.ts.map +1 -0
  86. package/dist/locales/backup-en.js +105 -0
  87. package/dist/locales/backup-en.js.map +1 -0
  88. package/dist/locales/bn.d.ts.map +1 -1
  89. package/dist/locales/bn.js +18 -1
  90. package/dist/locales/bn.js.map +1 -1
  91. package/dist/locales/da.d.ts.map +1 -1
  92. package/dist/locales/da.js +18 -1
  93. package/dist/locales/da.js.map +1 -1
  94. package/dist/locales/de.d.ts.map +1 -1
  95. package/dist/locales/de.js +18 -1
  96. package/dist/locales/de.js.map +1 -1
  97. package/dist/locales/en.d.ts.map +1 -1
  98. package/dist/locales/en.js +18 -1
  99. package/dist/locales/en.js.map +1 -1
  100. package/dist/locales/es-MX.d.ts.map +1 -1
  101. package/dist/locales/es-MX.js +17 -1
  102. package/dist/locales/es-MX.js.map +1 -1
  103. package/dist/locales/es.d.ts.map +1 -1
  104. package/dist/locales/es.js +18 -1
  105. package/dist/locales/es.js.map +1 -1
  106. package/dist/locales/fi.d.ts.map +1 -1
  107. package/dist/locales/fi.js +18 -1
  108. package/dist/locales/fi.js.map +1 -1
  109. package/dist/locales/fr.d.ts.map +1 -1
  110. package/dist/locales/fr.js +18 -1
  111. package/dist/locales/fr.js.map +1 -1
  112. package/dist/locales/hi.d.ts.map +1 -1
  113. package/dist/locales/hi.js +18 -1
  114. package/dist/locales/hi.js.map +1 -1
  115. package/dist/locales/id.d.ts.map +1 -1
  116. package/dist/locales/id.js +18 -1
  117. package/dist/locales/id.js.map +1 -1
  118. package/dist/locales/it.d.ts.map +1 -1
  119. package/dist/locales/it.js +18 -1
  120. package/dist/locales/it.js.map +1 -1
  121. package/dist/locales/ja.d.ts.map +1 -1
  122. package/dist/locales/ja.js +18 -1
  123. package/dist/locales/ja.js.map +1 -1
  124. package/dist/locales/ko.d.ts.map +1 -1
  125. package/dist/locales/ko.js +18 -1
  126. package/dist/locales/ko.js.map +1 -1
  127. package/dist/locales/nl.d.ts.map +1 -1
  128. package/dist/locales/nl.js +18 -1
  129. package/dist/locales/nl.js.map +1 -1
  130. package/dist/locales/no.d.ts.map +1 -1
  131. package/dist/locales/no.js +18 -1
  132. package/dist/locales/no.js.map +1 -1
  133. package/dist/locales/pl.d.ts.map +1 -1
  134. package/dist/locales/pl.js +18 -1
  135. package/dist/locales/pl.js.map +1 -1
  136. package/dist/locales/pt-BR.d.ts.map +1 -1
  137. package/dist/locales/pt-BR.js +18 -1
  138. package/dist/locales/pt-BR.js.map +1 -1
  139. package/dist/locales/pt.d.ts.map +1 -1
  140. package/dist/locales/pt.js +18 -1
  141. package/dist/locales/pt.js.map +1 -1
  142. package/dist/locales/ru.d.ts.map +1 -1
  143. package/dist/locales/ru.js +18 -1
  144. package/dist/locales/ru.js.map +1 -1
  145. package/dist/locales/sv.d.ts.map +1 -1
  146. package/dist/locales/sv.js +18 -1
  147. package/dist/locales/sv.js.map +1 -1
  148. package/dist/locales/sw.d.ts.map +1 -1
  149. package/dist/locales/sw.js +18 -1
  150. package/dist/locales/sw.js.map +1 -1
  151. package/dist/locales/th.d.ts.map +1 -1
  152. package/dist/locales/th.js +18 -1
  153. package/dist/locales/th.js.map +1 -1
  154. package/dist/locales/tr.d.ts.map +1 -1
  155. package/dist/locales/tr.js +18 -1
  156. package/dist/locales/tr.js.map +1 -1
  157. package/dist/locales/types.d.ts +13 -0
  158. package/dist/locales/types.d.ts.map +1 -1
  159. package/dist/locales/types.js.map +1 -1
  160. package/dist/locales/vi.d.ts.map +1 -1
  161. package/dist/locales/vi.js +18 -1
  162. package/dist/locales/vi.js.map +1 -1
  163. package/dist/locales/zh.d.ts.map +1 -1
  164. package/dist/locales/zh.js +18 -1
  165. package/dist/locales/zh.js.map +1 -1
  166. package/dist/logger.d.ts +94 -0
  167. package/dist/logger.d.ts.map +1 -0
  168. package/dist/logger.js +184 -0
  169. package/dist/logger.js.map +1 -0
  170. package/dist/pigment.d.ts +124 -0
  171. package/dist/pigment.d.ts.map +1 -0
  172. package/dist/pigment.js +177 -0
  173. package/dist/pigment.js.map +1 -0
  174. package/dist/plugins/codecs.d.ts +17 -0
  175. package/dist/plugins/codecs.d.ts.map +1 -0
  176. package/dist/plugins/codecs.js +29 -0
  177. package/dist/plugins/codecs.js.map +1 -0
  178. package/dist/plugins/coercion.d.ts +13 -0
  179. package/dist/plugins/coercion.d.ts.map +1 -0
  180. package/dist/plugins/coercion.js +34 -0
  181. package/dist/plugins/coercion.js.map +1 -0
  182. package/dist/plugins/core-validators.d.ts +13 -0
  183. package/dist/plugins/core-validators.d.ts.map +1 -0
  184. package/dist/plugins/core-validators.js +96 -0
  185. package/dist/plugins/core-validators.js.map +1 -0
  186. package/dist/plugins/index.d.ts +8 -0
  187. package/dist/plugins/index.d.ts.map +1 -0
  188. package/dist/plugins/index.js +8 -0
  189. package/dist/plugins/index.js.map +1 -0
  190. package/dist/plugins/kernel.d.ts +29 -0
  191. package/dist/plugins/kernel.d.ts.map +1 -0
  192. package/dist/plugins/kernel.js +486 -0
  193. package/dist/plugins/kernel.js.map +1 -0
  194. package/dist/plugins/types.d.ts +186 -0
  195. package/dist/plugins/types.d.ts.map +1 -0
  196. package/dist/plugins/types.js +8 -0
  197. package/dist/plugins/types.js.map +1 -0
  198. package/dist/style.d.ts +123 -0
  199. package/dist/style.d.ts.map +1 -0
  200. package/dist/style.js +369 -0
  201. package/dist/style.js.map +1 -0
  202. package/dist/utils/codec-utils.d.ts +2 -0
  203. package/dist/utils/codec-utils.d.ts.map +1 -1
  204. package/dist/utils/codec-utils.js +28 -4
  205. package/dist/utils/codec-utils.js.map +1 -1
  206. package/dist/utils/deep-merge.d.ts +2 -0
  207. package/dist/utils/deep-merge.d.ts.map +1 -1
  208. package/dist/utils/deep-merge.js +22 -39
  209. package/dist/utils/deep-merge.js.map +1 -1
  210. package/dist/utils/ip-validation.d.ts +11 -0
  211. package/dist/utils/ip-validation.d.ts.map +1 -0
  212. package/dist/utils/ip-validation.js +98 -0
  213. package/dist/utils/ip-validation.js.map +1 -0
  214. package/dist/utils/security.d.ts +12 -0
  215. package/dist/utils/security.d.ts.map +1 -0
  216. package/dist/utils/security.js +61 -0
  217. package/dist/utils/security.js.map +1 -0
  218. package/dist/validators/array.d.ts +3 -1
  219. package/dist/validators/array.d.ts.map +1 -1
  220. package/dist/validators/array.js +41 -15
  221. package/dist/validators/array.js.map +1 -1
  222. package/dist/validators/base.d.ts +134 -0
  223. package/dist/validators/base.d.ts.map +1 -1
  224. package/dist/validators/base.js +255 -1
  225. package/dist/validators/base.js.map +1 -1
  226. package/dist/validators/base64.js +1 -1
  227. package/dist/validators/bigint.d.ts +20 -0
  228. package/dist/validators/bigint.d.ts.map +1 -1
  229. package/dist/validators/bigint.js +39 -1
  230. package/dist/validators/bigint.js.map +1 -1
  231. package/dist/validators/boolean.js +29 -1
  232. package/dist/validators/boolean.js.map +1 -1
  233. package/dist/validators/codec.js +1 -1
  234. package/dist/validators/custom.d.ts +47 -0
  235. package/dist/validators/custom.d.ts.map +1 -0
  236. package/dist/validators/custom.js +50 -0
  237. package/dist/validators/custom.js.map +1 -0
  238. package/dist/validators/date.d.ts +16 -0
  239. package/dist/validators/date.d.ts.map +1 -1
  240. package/dist/validators/date.js +62 -7
  241. package/dist/validators/date.js.map +1 -1
  242. package/dist/validators/discriminated-union.d.ts +29 -0
  243. package/dist/validators/discriminated-union.d.ts.map +1 -0
  244. package/dist/validators/discriminated-union.js +98 -0
  245. package/dist/validators/discriminated-union.js.map +1 -0
  246. package/dist/validators/enum.d.ts +10 -0
  247. package/dist/validators/enum.d.ts.map +1 -1
  248. package/dist/validators/enum.js +38 -1
  249. package/dist/validators/enum.js.map +1 -1
  250. package/dist/validators/file.d.ts +57 -0
  251. package/dist/validators/file.d.ts.map +1 -0
  252. package/dist/validators/file.js +114 -0
  253. package/dist/validators/file.js.map +1 -0
  254. package/dist/validators/function.d.ts +26 -0
  255. package/dist/validators/function.d.ts.map +1 -0
  256. package/dist/validators/function.js +45 -0
  257. package/dist/validators/function.js.map +1 -0
  258. package/dist/validators/hex.d.ts.map +1 -1
  259. package/dist/validators/hex.js +3 -2
  260. package/dist/validators/hex.js.map +1 -1
  261. package/dist/validators/index.d.ts +18 -1
  262. package/dist/validators/index.d.ts.map +1 -1
  263. package/dist/validators/index.js +16 -1
  264. package/dist/validators/index.js.map +1 -1
  265. package/dist/validators/intersection.d.ts.map +1 -1
  266. package/dist/validators/intersection.js +15 -8
  267. package/dist/validators/intersection.js.map +1 -1
  268. package/dist/validators/json.d.ts +26 -0
  269. package/dist/validators/json.d.ts.map +1 -0
  270. package/dist/validators/json.js +64 -0
  271. package/dist/validators/json.js.map +1 -0
  272. package/dist/validators/lazy.d.ts +28 -0
  273. package/dist/validators/lazy.d.ts.map +1 -0
  274. package/dist/validators/lazy.js +42 -0
  275. package/dist/validators/lazy.js.map +1 -0
  276. package/dist/validators/literal.js +1 -1
  277. package/dist/validators/map.js +1 -1
  278. package/dist/validators/nan.d.ts +17 -0
  279. package/dist/validators/nan.d.ts.map +1 -0
  280. package/dist/validators/nan.js +32 -0
  281. package/dist/validators/nan.js.map +1 -0
  282. package/dist/validators/never.js +1 -1
  283. package/dist/validators/null.d.ts +16 -0
  284. package/dist/validators/null.d.ts.map +1 -0
  285. package/dist/validators/null.js +31 -0
  286. package/dist/validators/null.js.map +1 -0
  287. package/dist/validators/number.d.ts +22 -0
  288. package/dist/validators/number.d.ts.map +1 -1
  289. package/dist/validators/number.js +47 -8
  290. package/dist/validators/number.js.map +1 -1
  291. package/dist/validators/object.d.ts +32 -0
  292. package/dist/validators/object.d.ts.map +1 -1
  293. package/dist/validators/object.js +125 -8
  294. package/dist/validators/object.js.map +1 -1
  295. package/dist/validators/record.d.ts +15 -2
  296. package/dist/validators/record.d.ts.map +1 -1
  297. package/dist/validators/record.js +74 -4
  298. package/dist/validators/record.js.map +1 -1
  299. package/dist/validators/set.js +1 -1
  300. package/dist/validators/string-bool.d.ts +61 -0
  301. package/dist/validators/string-bool.d.ts.map +1 -0
  302. package/dist/validators/string-bool.js +127 -0
  303. package/dist/validators/string-bool.js.map +1 -0
  304. package/dist/validators/string-formats.d.ts +97 -0
  305. package/dist/validators/string-formats.d.ts.map +1 -0
  306. package/dist/validators/string-formats.js +120 -0
  307. package/dist/validators/string-formats.js.map +1 -0
  308. package/dist/validators/string.d.ts.map +1 -1
  309. package/dist/validators/string.js +2 -73
  310. package/dist/validators/string.js.map +1 -1
  311. package/dist/validators/symbol.js +1 -1
  312. package/dist/validators/template-literal.d.ts +32 -0
  313. package/dist/validators/template-literal.d.ts.map +1 -0
  314. package/dist/validators/template-literal.js +102 -0
  315. package/dist/validators/template-literal.js.map +1 -0
  316. package/dist/validators/tuple.js +1 -1
  317. package/dist/validators/uint8array.d.ts +21 -4
  318. package/dist/validators/uint8array.d.ts.map +1 -1
  319. package/dist/validators/uint8array.js +34 -23
  320. package/dist/validators/uint8array.js.map +1 -1
  321. package/dist/validators/undefined.d.ts +16 -0
  322. package/dist/validators/undefined.d.ts.map +1 -0
  323. package/dist/validators/undefined.js +31 -0
  324. package/dist/validators/undefined.js.map +1 -0
  325. package/dist/validators/union.d.ts +2 -0
  326. package/dist/validators/union.d.ts.map +1 -1
  327. package/dist/validators/union.js +15 -21
  328. package/dist/validators/union.js.map +1 -1
  329. package/dist/validators/void.js +1 -1
  330. package/dist/validators/xor.d.ts +23 -0
  331. package/dist/validators/xor.d.ts.map +1 -0
  332. package/dist/validators/xor.js +64 -0
  333. package/dist/validators/xor.js.map +1 -0
  334. package/package.json +95 -79
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xor.js","sourceRoot":"","sources":["../../src/validators/xor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAGjC;;;GAGG;AACH,MAAM,OAAO,MAA4C,SAAQ,OAA2E;IAC1I,YAA6B,QAAiB;QAC5C,KAAK,EAAE,CAAC;QADmB,aAAQ,GAAR,QAAQ,CAAS;IAE9C,CAAC;IAED,MAAM,CAAC,MAAM,CACX,OAAgB;QAEhB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,KAAc;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,MAAM,CAAC,KAAK,CAAC;QACrB,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,SAAS,CAAC,KAAc;QACtB,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,WAAW,GAA4B,IAAI,CAAC;QAEhD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACvC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,UAAU,EAAE,CAAC;gBACb,WAAW,GAAG,MAAM,CAAC;gBACrB,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;oBACnB,oCAAoC;oBACpC,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,IAAI,KAAK,CAAC,gCAAgC,CAAC;aACnD,CAAC;QACJ,CAAC;QAED,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,IAAI,KAAK,CACd,iBAAiB,UAAU,oDAAoD,CAChF;aACF,CAAC;QACJ,CAAC;QAED,OAAO,WAAY,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF","sourcesContent":["/**\r\n * VldXor - Exclusive union validator\r\n * Part of Zod 4 API parity implementation\r\n * Ensures exactly one schema in the union matches\r\n */\r\n\r\nimport { VldBase } from './base';\r\nimport type { ParseResult } from './base';\r\n\r\n/**\r\n * XOR validator - ensures exactly one option matches\r\n * Unlike regular union which allows multiple matches, XOR requires exactly one\r\n */\r\nexport class VldXor<Options extends VldBase<any, any>[]> extends VldBase<unknown, Options[number] extends VldBase<any, infer T> ? T : never> {\r\n constructor(private readonly _options: Options) {\r\n super();\r\n }\r\n\r\n static create<Options extends VldBase<any, any>[]>(\r\n options: Options\r\n ): VldXor<Options> {\r\n if (options.length < 2) {\r\n throw new Error('XOR requires at least 2 options');\r\n }\r\n return new VldXor(options);\r\n }\r\n\r\n parse(value: unknown): Options[number] extends VldBase<any, infer T> ? T : never {\r\n const result = this.safeParse(value);\r\n if (!result.success) {\r\n throw result.error;\r\n }\r\n return result.data;\r\n }\r\n\r\n safeParse(value: unknown): ParseResult<Options[number] extends VldBase<any, infer T> ? T : never> {\r\n let matchCount = 0;\r\n let lastSuccess: ParseResult<any> | null = null;\r\n\r\n for (const option of this._options) {\r\n const result = option.safeParse(value);\r\n if (result.success) {\r\n matchCount++;\r\n lastSuccess = result;\r\n if (matchCount > 1) {\r\n // Early exit if more than one match\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (matchCount === 0) {\r\n return {\r\n success: false,\r\n error: new Error('No schema matched in XOR union')\r\n };\r\n }\r\n\r\n if (matchCount > 1) {\r\n return {\r\n success: false,\r\n error: new Error(\r\n `Input matches ${matchCount} schemas in XOR union, but exactly one is required`\r\n )\r\n };\r\n }\r\n\r\n return lastSuccess!;\r\n }\r\n\r\n /**\r\n * Get all options\r\n */\r\n getOptions(): Options {\r\n return this._options;\r\n }\r\n}\r\n"]}
package/package.json CHANGED
@@ -1,79 +1,95 @@
1
- {
2
- "name": "@oxog/vld",
3
- "version": "1.3.1",
4
- "description": "Ultra-fast TypeScript-first schema validation with zero dependencies and 27+ language support",
5
- "type": "module",
6
- "main": "./dist/index.js",
7
- "module": "./dist/index.js",
8
- "types": "./dist/index.d.ts",
9
- "exports": {
10
- ".": {
11
- "require": "./dist/index.js",
12
- "import": "./dist/index.js",
13
- "types": "./dist/index.d.ts"
14
- }
15
- },
16
- "sideEffects": false,
17
- "scripts": {
18
- "build": "tsc && node scripts/fix-imports.js",
19
- "test": "jest --coverage",
20
- "test:types": "tsc --noEmit",
21
- "benchmark": "node benchmarks/quick-bench.cjs",
22
- "benchmark:full": "node benchmarks/performance.cjs",
23
- "benchmark:memory": "node --expose-gc benchmarks/memory.cjs",
24
- "benchmark:startup": "node benchmarks/startup.cjs",
25
- "benchmark:all": "npm run benchmark && npm run benchmark:memory && npm run benchmark:startup",
26
- "lint": "eslint src --ext .ts",
27
- "format": "prettier --write \"src/**/*.ts\"",
28
- "prepublishOnly": "npm run build && npm test"
29
- },
30
- "keywords": [
31
- "validation",
32
- "schema",
33
- "typescript",
34
- "zod",
35
- "alternative",
36
- "zero-dependency",
37
- "fast",
38
- "type-safe",
39
- "runtime-validation",
40
- "i18n",
41
- "internationalization",
42
- "multilingual"
43
- ],
44
- "files": [
45
- "dist",
46
- "README.md",
47
- "LICENSE",
48
- "CHANGELOG.md"
49
- ],
50
- "author": "Ersin Koc",
51
- "license": "MIT",
52
- "repository": {
53
- "type": "git",
54
- "url": "https://github.com/ersinkoc/vld.git"
55
- },
56
- "bugs": {
57
- "url": "https://github.com/ersinkoc/vld/issues"
58
- },
59
- "homepage": "https://github.com/ersinkoc/vld#readme",
60
- "devDependencies": {
61
- "@rollup/plugin-terser": "^0.4.4",
62
- "@rollup/plugin-typescript": "^12.1.4",
63
- "@types/jest": "^29.5.14",
64
- "@types/node": "^20.10.5",
65
- "@typescript-eslint/eslint-plugin": "^6.15.0",
66
- "@typescript-eslint/parser": "^6.15.0",
67
- "benchmark": "^2.1.4",
68
- "eslint": "^8.56.0",
69
- "fast-glob": "^3.3.3",
70
- "jest": "^29.7.0",
71
- "jest-junit": "^16.0.0",
72
- "prettier": "^3.1.1",
73
- "rollup": "^4.46.2",
74
- "rollup-plugin-typescript2": "^0.36.0",
75
- "ts-jest": "^29.4.1",
76
- "typescript": "^5.3.3",
77
- "zod": "^4.0.17"
78
- }
79
- }
1
+ {
2
+ "name": "@oxog/vld",
3
+ "version": "1.5.0",
4
+ "description": "Ultra-fast TypeScript-first schema validation with zero dependencies, 27+ language support, plugin system, and CLI tools",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "module": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "bin": {
10
+ "vld": "./dist/cli/bin.js"
11
+ },
12
+ "exports": {
13
+ ".": {
14
+ "require": "./dist/index.js",
15
+ "import": "./dist/index.js",
16
+ "types": "./dist/index.d.ts"
17
+ },
18
+ "./cli": {
19
+ "import": "./dist/cli/index.js",
20
+ "types": "./dist/cli/index.d.ts"
21
+ },
22
+ "./plugins": {
23
+ "import": "./dist/plugins/index.js",
24
+ "types": "./dist/plugins/index.d.ts"
25
+ }
26
+ },
27
+ "sideEffects": false,
28
+ "scripts": {
29
+ "build": "tsc && node scripts/fix-imports.cjs",
30
+ "test": "jest --coverage",
31
+ "test:types": "tsc --noEmit",
32
+ "benchmark": "node benchmarks/quick-bench.cjs",
33
+ "benchmark:full": "node benchmarks/performance.cjs",
34
+ "benchmark:memory": "node --expose-gc benchmarks/memory.cjs",
35
+ "benchmark:startup": "node benchmarks/startup.cjs",
36
+ "benchmark:all": "npm run benchmark && npm run benchmark:memory && npm run benchmark:startup",
37
+ "lint": "eslint src --ext .ts",
38
+ "format": "prettier --write \"src/**/*.ts\"",
39
+ "prepublishOnly": "npm run build && npm test"
40
+ },
41
+ "keywords": [
42
+ "validation",
43
+ "schema",
44
+ "typescript",
45
+ "zod",
46
+ "alternative",
47
+ "zero-dependency",
48
+ "fast",
49
+ "type-safe",
50
+ "runtime-validation",
51
+ "i18n",
52
+ "internationalization",
53
+ "multilingual",
54
+ "plugin-system",
55
+ "event-driven",
56
+ "cli",
57
+ "result-pattern",
58
+ "functional"
59
+ ],
60
+ "files": [
61
+ "dist",
62
+ "README.md",
63
+ "LICENSE",
64
+ "CHANGELOG.md"
65
+ ],
66
+ "author": "Ersin Koc",
67
+ "license": "MIT",
68
+ "repository": {
69
+ "type": "git",
70
+ "url": "https://github.com/ersinkoc/vld.git"
71
+ },
72
+ "bugs": {
73
+ "url": "https://github.com/ersinkoc/vld/issues"
74
+ },
75
+ "homepage": "https://github.com/ersinkoc/vld#readme",
76
+ "devDependencies": {
77
+ "@rollup/plugin-terser": "^0.4.4",
78
+ "@rollup/plugin-typescript": "^12.1.4",
79
+ "@types/jest": "^29.5.14",
80
+ "@types/node": "^20.10.5",
81
+ "@typescript-eslint/eslint-plugin": "^6.15.0",
82
+ "@typescript-eslint/parser": "^6.15.0",
83
+ "benchmark": "^2.1.4",
84
+ "eslint": "^8.56.0",
85
+ "fast-glob": "^3.3.3",
86
+ "jest": "^29.7.0",
87
+ "jest-junit": "^16.0.0",
88
+ "prettier": "^3.1.1",
89
+ "rollup": "^4.46.2",
90
+ "rollup-plugin-typescript2": "^0.36.0",
91
+ "ts-jest": "^29.4.1",
92
+ "typescript": "^5.3.3",
93
+ "zod": "^4.0.17"
94
+ }
95
+ }