@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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -7,12 +7,18 @@
7
7
  * - Secure deepMerge (no prototype pollution)
8
8
  * - TypeScript strict mode support
9
9
  * - Better performance through pooling and memoization
10
+ * - Plugin system for extensibility
11
+ * - Event system for validation lifecycle hooks
12
+ * - Result pattern for functional error handling
13
+ * - Colored console output for better debugging
14
+ * - Debug logging system
10
15
  */
11
16
  // Import validators
12
17
  import { VldString } from './validators/string.js';
13
18
  import { VldNumber } from './validators/number.js';
14
19
  import { VldBoolean } from './validators/boolean.js';
15
20
  import { VldDate } from './validators/date.js';
21
+ import { VldStringBool } from './validators/string-bool.js';
16
22
  import { VldArray } from './validators/array.js';
17
23
  import { VldObject } from './validators/object.js';
18
24
  import { VldUnion } from './validators/union.js';
@@ -29,6 +35,18 @@ import { VldAny } from './validators/any.js';
29
35
  import { VldUnknown } from './validators/unknown.js';
30
36
  import { VldVoid } from './validators/void.js';
31
37
  import { VldNever } from './validators/never.js';
38
+ import { VldNull } from './validators/null.js';
39
+ import { VldUndefined } from './validators/undefined.js';
40
+ import { VldNan } from './validators/nan.js';
41
+ import { VldLazy } from './validators/lazy.js';
42
+ import { VldDiscriminatedUnion } from './validators/discriminated-union.js';
43
+ import { VldXor } from './validators/xor.js';
44
+ import { VldJson } from './validators/json.js';
45
+ import { templateLiteral } from './validators/template-literal.js';
46
+ import { custom as customFn } from './validators/custom.js';
47
+ import { file as fileFn } from './validators/file.js';
48
+ import { functionValidator as functionFn } from './validators/function.js';
49
+ import { VldPreprocess } from './validators/base.js';
32
50
  import { VldOptional } from './validators/base.js';
33
51
  import { VldNullable } from './validators/base.js';
34
52
  import { VldNullish } from './validators/base.js';
@@ -42,13 +60,15 @@ import { VldCoerceNumber } from './coercion/number.js';
42
60
  import { VldCoerceBoolean } from './coercion/boolean.js';
43
61
  import { VldCoerceDate } from './coercion/date.js';
44
62
  import { VldCoerceBigInt } from './coercion/bigint.js';
63
+ // Import string format validators
64
+ import * as stringFormats from './validators/string-formats.js';
45
65
  // Re-export base classes for extension
46
66
  export { VldBase } from './validators/base.js';
47
67
  export { VldIntersection } from './validators/intersection.js';
48
68
  // Re-export locale functionality
49
- export { setLocale, getLocale, getMessages } from './locales.js';
69
+ export { setLocale, getLocale, getMessages } from './locales/index.js';
50
70
  // Re-export error formatting utilities
51
- export { VldError, treeifyError, prettifyError, flattenError } from './errors.js';
71
+ export { VldError, treeifyError, prettifyError, prettifyErrorColored, prettifyErrorPlain, flattenError } from './errors.js';
52
72
  // Re-export codec utilities
53
73
  export { base64ToUint8Array, uint8ArrayToBase64, uint8ArrayToBase64Url, hexToUint8Array, uint8ArrayToHex, stringToUint8Array, uint8ArrayToString } from './utils/codec-utils.js';
54
74
  // Re-export predefined codecs
@@ -64,7 +84,7 @@ stringToURL, stringToHttpURL, uriComponent,
64
84
  // Byte conversion codecs
65
85
  base64ToBytes, base64UrlToBytes, base64urlToBytes, hexToBytes, hexLowerToBytes, utf8ToBytes, bytesToUtf8,
66
86
  // Complex codecs
67
- base64Json, jwtPayload } from './codecs.js';
87
+ base64Json, jwtPayload } from './codecs/index.js';
68
88
  /**
69
89
  * Main API object with factory methods for all validators
70
90
  */
@@ -72,20 +92,29 @@ export const v = {
72
92
  // Primitive validators
73
93
  string: () => VldString.create(),
74
94
  number: () => VldNumber.create(),
95
+ int: () => VldNumber.create().int(),
96
+ int32: () => VldNumber.create().int().min(-2147483648).max(2147483647),
75
97
  boolean: () => VldBoolean.create(),
76
98
  date: () => VldDate.create(),
77
99
  bigint: () => VldBigInt.create(),
78
100
  symbol: () => VldSymbol.create(),
101
+ stringbool: (options) => VldStringBool.create(options),
79
102
  // Complex validators
80
103
  array: (item) => VldArray.create(item),
81
104
  object: (shape) => VldObject.create(shape),
105
+ strictObject: (shape) => VldObject.create(shape).strict(),
106
+ looseObject: (shape) => VldObject.create(shape).passthrough(),
82
107
  tuple: (...items) => VldTuple.create(...items),
83
108
  record: (value) => VldRecord.create(value),
109
+ partialRecord: (value) => VldRecord.create(value).partial(),
110
+ looseRecord: (value) => VldRecord.create(value).loose(),
84
111
  set: (item) => VldSet.create(item),
85
112
  map: (key, value) => VldMap.create(key, value),
86
113
  // Union and intersection
87
114
  union: (...validators) => VldUnion.create(...validators),
88
115
  intersection: (first, second) => VldIntersection.create(first, second),
116
+ discriminatedUnion: (discriminator, ...options) => VldDiscriminatedUnion.create(discriminator, [...options]),
117
+ xor: (...options) => VldXor.create([...options]),
89
118
  // Literal and enum
90
119
  literal: (value) => VldLiteral.create(value),
91
120
  enum: (...values) => VldEnum.create(values),
@@ -94,10 +123,27 @@ export const v = {
94
123
  unknown: () => VldUnknown.create(),
95
124
  void: () => VldVoid.create(),
96
125
  never: () => VldNever.create(),
126
+ null: () => VldNull.create(),
127
+ undefined: () => VldUndefined.create(),
128
+ nan: () => VldNan.create(),
129
+ // NEVER constant - Zod 4 API parity for use in transforms
130
+ NEVER: VldNever.create(),
97
131
  // Utility validators
98
132
  optional: (validator) => VldOptional.create(validator),
99
133
  nullable: (validator) => VldNullable.create(validator),
100
134
  nullish: (validator) => VldNullish.create(validator),
135
+ // Recursive schemas
136
+ lazy: (schemaGetter) => VldLazy.create(schemaGetter),
137
+ // JSON validator
138
+ json: (schema) => VldJson.create(schema),
139
+ // Custom validator for type-safe user-defined schemas
140
+ custom: (options) => customFn(options),
141
+ // File validator for file uploads
142
+ file: () => fileFn(),
143
+ // Function validator for function validation
144
+ function: () => functionFn(),
145
+ // Preprocessing
146
+ preprocess: (preprocessor, schema) => VldPreprocess.create(preprocessor, schema),
101
147
  // Coercion API
102
148
  coerce: {
103
149
  string: () => VldCoerceString.create(),
@@ -106,13 +152,66 @@ export const v = {
106
152
  date: () => VldCoerceDate.create(),
107
153
  bigint: () => VldCoerceBigInt.create(),
108
154
  },
109
- // Codec validators
110
- base64: () => VldBase64.create(),
111
- hex: () => VldHex.create(),
155
+ // String format validators (Zod 4 parity)
156
+ email: (options) => stringFormats.email(options),
157
+ uuid: (options) => stringFormats.uuid(options),
158
+ uuidv4: () => stringFormats.uuidv4(),
159
+ hostname: () => stringFormats.hostname(),
160
+ emoji: () => stringFormats.emoji(),
161
+ base64: () => stringFormats.base64(),
162
+ base64url: () => stringFormats.base64url(),
163
+ hex: () => stringFormats.hex(),
164
+ jwt: () => stringFormats.jwt(),
165
+ nanoid: () => stringFormats.nanoid(),
166
+ cuid: () => stringFormats.cuid(),
167
+ cuid2: () => stringFormats.cuid2(),
168
+ ulid: () => stringFormats.ulid(),
169
+ ipv4: () => stringFormats.ipv4(),
170
+ ipv6: () => stringFormats.ipv6(),
171
+ mac: () => stringFormats.mac(),
172
+ cidrv4: () => stringFormats.cidrv4(),
173
+ cidrv6: () => stringFormats.cidrv6(),
174
+ e164: () => stringFormats.e164(),
175
+ hash: (algorithm) => stringFormats.hash(algorithm),
176
+ iso: {
177
+ date: () => stringFormats.iso.date(),
178
+ time: () => stringFormats.iso.time(),
179
+ dateTime: () => stringFormats.iso.dateTime(),
180
+ duration: () => stringFormats.iso.duration(),
181
+ },
182
+ stringFormat: (name, validator) => stringFormats.stringFormat(name, validator),
183
+ // Template literal validator
184
+ templateLiteral: (...components) => templateLiteral(...components),
185
+ // Codec validators (binary data validators)
186
+ base64Bytes: () => VldBase64.create(),
187
+ hexBytes: () => VldHex.create(),
112
188
  uint8Array: () => VldUint8Array.create(),
113
189
  // Codec factory
114
190
  codec: (inputValidator, outputValidator, transform) => VldCodec.create(inputValidator, outputValidator, transform)
115
191
  };
192
+ export { Ok, Err, success, failure, isOk, isErr, isResult, unwrap, unwrapOr, map, mapErr, flatMap, match, tryCatch, tryCatchAsync, all, fromNullable, ResultUtils } from './compat/result.js';
193
+ // ============================================
194
+ // Event Emitter (v1.5+ features)
195
+ // ============================================
196
+ export {
197
+ // Factory functions
198
+ createEmitter, createEventBus, withEmitter } from './compat/emitter.js';
199
+ // ============================================
200
+ // Plugin System (v1.5+ features)
201
+ // ============================================
202
+ export {
203
+ // Kernel
204
+ createVldKernel, getVldKernel, resetVldKernel, usePlugin, definePlugin } from './kernel.js';
205
+ // ============================================
206
+ // Logger (v1.5+ features)
207
+ // ============================================
208
+ export {
209
+ // Logger
210
+ createLogger, initLogger, getLogger, setLogLevel, enableDebug, disableLogging, createNoOpLogger } from './logger.js';
211
+ // ============================================
212
+ // Pigment - Colored Output (v1.5+ features)
213
+ // ============================================
214
+ export { pigment, supportsColor, bold, dim, italic, underline, red, green, yellow, blue, magenta, cyan, white, gray, grey, strip, vldTheme, createTheme } from './pigment.js';
116
215
  // For backward compatibility during migration
117
216
  export default v;
118
217
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * VLD - Fast, Type-Safe Validation Library\n * Zero dependencies, blazing fast performance\n * \n * This is the new modular implementation with:\n * - Immutable validators (no memory leaks)\n * - Secure deepMerge (no prototype pollution)\n * - TypeScript strict mode support\n * - Better performance through pooling and memoization\n */\n\n// Import base class\nimport { VldBase } from './validators/base';\n\n// Import validators\nimport { VldString } from './validators/string';\nimport { VldNumber } from './validators/number';\nimport { VldBoolean } from './validators/boolean';\nimport { VldDate } from './validators/date';\nimport { VldArray } from './validators/array';\nimport { VldObject } from './validators/object';\nimport { VldUnion } from './validators/union';\nimport { VldLiteral } from './validators/literal';\nimport { VldBigInt } from './validators/bigint';\nimport { VldSymbol } from './validators/symbol';\nimport { VldTuple } from './validators/tuple';\nimport { VldRecord } from './validators/record';\nimport { VldSet } from './validators/set';\nimport { VldMap } from './validators/map';\nimport { VldEnum } from './validators/enum';\nimport { VldIntersection } from './validators/intersection';\nimport { VldAny } from './validators/any';\nimport { VldUnknown } from './validators/unknown';\nimport { VldVoid } from './validators/void';\nimport { VldNever } from './validators/never';\nimport { VldOptional } from './validators/base';\nimport { VldNullable } from './validators/base';\nimport { VldNullish } from './validators/base';\nimport { VldCodec } from './validators/codec';\nimport { VldBase64 } from './validators/base64';\nimport { VldHex } from './validators/hex';\nimport { VldUint8Array } from './validators/uint8array';\n\n// Import coercion validators\nimport { VldCoerceString } from './coercion/string';\nimport { VldCoerceNumber } from './coercion/number';\nimport { VldCoerceBoolean } from './coercion/boolean';\nimport { VldCoerceDate } from './coercion/date';\nimport { VldCoerceBigInt } from './coercion/bigint';\n\n// Re-export types\nexport type { ParseResult } from './validators/base';\nexport type { Infer } from './validators';\n\n// Re-export base classes for extension\nexport { VldBase } from './validators/base';\nexport { VldIntersection } from './validators/intersection';\n\n// Re-export locale functionality\nexport { setLocale, getLocale, getMessages, type Locale } from './locales';\n\n// Re-export error formatting utilities\nexport { \n VldError, \n VldIssue, \n VldErrorCode,\n VldErrorTree,\n VldFlattenedError,\n treeifyError, \n prettifyError, \n flattenError \n} from './errors';\n\n// Re-export codec utilities\nexport { \n base64ToUint8Array,\n uint8ArrayToBase64,\n uint8ArrayToBase64Url,\n hexToUint8Array,\n uint8ArrayToHex,\n stringToUint8Array,\n uint8ArrayToString\n} from './utils/codec-utils';\n\n// Re-export codec types\nexport type { CodecTransform } from './validators/codec';\n\n// Re-export predefined codecs\nexport {\n // String conversion codecs\n stringToNumber,\n stringToInt,\n stringToBigInt,\n numberToBigInt,\n stringToBoolean,\n \n // Date conversion codecs \n isoDatetimeToDate,\n epochSecondsToDate,\n epochMillisToDate,\n \n // JSON codec\n jsonCodec,\n \n // URL codecs\n stringToURL,\n stringToHttpURL,\n uriComponent,\n \n // Byte conversion codecs\n base64ToBytes,\n base64UrlToBytes,\n base64urlToBytes,\n hexToBytes,\n hexLowerToBytes,\n utf8ToBytes,\n bytesToUtf8,\n \n // Complex codecs\n base64Json,\n jwtPayload\n} from './codecs';\n\n/**\n * Main API object with factory methods for all validators\n */\nexport const v = {\n // Primitive validators\n string: () => VldString.create(),\n number: () => VldNumber.create(),\n boolean: () => VldBoolean.create(),\n date: () => VldDate.create(),\n bigint: () => VldBigInt.create(),\n symbol: () => VldSymbol.create(),\n \n // Complex validators\n array: <T>(item: VldBase<unknown, T>) => VldArray.create(item),\n object: <T extends Record<string, any>>(shape: { [K in keyof T]: VldBase<unknown, T[K]> }) => \n VldObject.create(shape),\n tuple: <T extends readonly VldBase<any, any>[]>(...items: T) => VldTuple.create(...items),\n record: <T>(value: VldBase<unknown, T>) => VldRecord.create(value),\n set: <T>(item: VldBase<unknown, T>) => VldSet.create(item),\n map: <K, V>(key: VldBase<unknown, K>, value: VldBase<unknown, V>) => VldMap.create(key, value),\n \n // Union and intersection\n union: <T extends readonly VldBase<any, any>[]>(...validators: T) => \n VldUnion.create(...validators),\n intersection: <A, B>(first: VldBase<unknown, A>, second: VldBase<unknown, B>) => \n VldIntersection.create(first, second),\n \n // Literal and enum\n literal: <T extends string | number | boolean | null | undefined>(value: T) => \n VldLiteral.create(value),\n enum: <T extends readonly [string, ...string[]]>(...values: T) => VldEnum.create(values as any),\n \n // Special validators\n any: () => VldAny.create(),\n unknown: () => VldUnknown.create(),\n void: () => VldVoid.create(),\n never: () => VldNever.create(),\n \n // Utility validators\n optional: <T>(validator: VldBase<unknown, T>) => VldOptional.create(validator),\n nullable: <T>(validator: VldBase<unknown, T>) => VldNullable.create(validator),\n nullish: <T>(validator: VldBase<unknown, T>) => VldNullish.create(validator),\n \n // Coercion API\n coerce: {\n string: () => VldCoerceString.create(),\n number: () => VldCoerceNumber.create(),\n boolean: () => VldCoerceBoolean.create(),\n date: () => VldCoerceDate.create(),\n bigint: () => VldCoerceBigInt.create(),\n },\n \n // Codec validators\n base64: () => VldBase64.create(),\n hex: () => VldHex.create(),\n uint8Array: () => VldUint8Array.create(),\n \n // Codec factory\n codec: <TInput, TOutput>(\n inputValidator: VldBase<unknown, TInput>,\n outputValidator: VldBase<unknown, TOutput>,\n transform: {\n decode: (value: TInput) => TOutput | Promise<TOutput>;\n encode: (value: TOutput) => TInput | Promise<TInput>;\n }\n ) => VldCodec.create(inputValidator, outputValidator, transform)\n};\n\n// For backward compatibility during migration\nexport default v;"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["/**\r\n * VLD - Fast, Type-Safe Validation Library\r\n * Zero dependencies, blazing fast performance\r\n *\r\n * This is the new modular implementation with:\r\n * - Immutable validators (no memory leaks)\r\n * - Secure deepMerge (no prototype pollution)\r\n * - TypeScript strict mode support\r\n * - Better performance through pooling and memoization\r\n * - Plugin system for extensibility\r\n * - Event system for validation lifecycle hooks\r\n * - Result pattern for functional error handling\r\n * - Colored console output for better debugging\r\n * - Debug logging system\r\n */\r\n\r\n// Import base class\r\nimport { VldBase } from './validators/base';\r\n\r\n// Import validators\r\nimport { VldString } from './validators/string';\r\nimport { VldNumber } from './validators/number';\r\nimport { VldBoolean } from './validators/boolean';\r\nimport { VldDate } from './validators/date';\r\nimport { VldStringBool } from './validators/string-bool';\r\nimport { VldArray } from './validators/array';\r\nimport { VldObject } from './validators/object';\r\nimport { VldUnion } from './validators/union';\r\nimport { VldLiteral } from './validators/literal';\r\nimport { VldBigInt } from './validators/bigint';\r\nimport { VldSymbol } from './validators/symbol';\r\nimport { VldTuple } from './validators/tuple';\r\nimport { VldRecord } from './validators/record';\r\nimport { VldSet } from './validators/set';\r\nimport { VldMap } from './validators/map';\r\nimport { VldEnum } from './validators/enum';\r\nimport { VldIntersection } from './validators/intersection';\r\nimport { VldAny } from './validators/any';\r\nimport { VldUnknown } from './validators/unknown';\r\nimport { VldVoid } from './validators/void';\r\nimport { VldNever } from './validators/never';\r\nimport { VldNull } from './validators/null';\r\nimport { VldUndefined } from './validators/undefined';\r\nimport { VldNan } from './validators/nan';\r\nimport { VldLazy } from './validators/lazy';\r\nimport { VldDiscriminatedUnion } from './validators/discriminated-union';\r\nimport { VldXor } from './validators/xor';\r\nimport { VldJson } from './validators/json';\r\nimport { templateLiteral } from './validators/template-literal';\r\nimport { custom as customFn, type CustomValidatorOptions } from './validators/custom';\r\nimport { file as fileFn } from './validators/file';\r\nimport { functionValidator as functionFn } from './validators/function';\r\nimport { VldPreprocess } from './validators/base';\r\nimport { VldOptional } from './validators/base';\r\nimport { VldNullable } from './validators/base';\r\nimport { VldNullish } from './validators/base';\r\nimport { VldCodec } from './validators/codec';\r\nimport { VldBase64 } from './validators/base64';\r\nimport { VldHex } from './validators/hex';\r\nimport { VldUint8Array } from './validators/uint8array';\r\n\r\n// Import coercion validators\r\nimport { VldCoerceString } from './coercion/string';\r\nimport { VldCoerceNumber } from './coercion/number';\r\nimport { VldCoerceBoolean } from './coercion/boolean';\r\nimport { VldCoerceDate } from './coercion/date';\r\nimport { VldCoerceBigInt } from './coercion/bigint';\r\n\r\n// Import string format validators\r\nimport * as stringFormats from './validators/string-formats';\r\n\r\n// Re-export types\r\nexport type { ParseResult } from './validators/base';\r\nexport type { Infer, Input, Output } from './validators';\r\n\r\n// Re-export base classes for extension\r\nexport { VldBase } from './validators/base';\r\nexport { VldIntersection } from './validators/intersection';\r\n\r\n// Re-export locale functionality\r\nexport { setLocale, getLocale, getMessages, type Locale } from './locales';\r\n\r\n// Re-export error formatting utilities\r\nexport {\r\n VldError,\r\n VldIssue,\r\n VldErrorCode,\r\n VldErrorTree,\r\n VldFlattenedError,\r\n VldErrorJSON,\r\n treeifyError,\r\n prettifyError,\r\n prettifyErrorColored,\r\n prettifyErrorPlain,\r\n flattenError,\r\n type PrettifyOptions\r\n} from './errors';\r\n\r\n// Re-export codec utilities\r\nexport { \r\n base64ToUint8Array,\r\n uint8ArrayToBase64,\r\n uint8ArrayToBase64Url,\r\n hexToUint8Array,\r\n uint8ArrayToHex,\r\n stringToUint8Array,\r\n uint8ArrayToString\r\n} from './utils/codec-utils';\r\n\r\n// Re-export codec types\r\nexport type { CodecTransform } from './validators/codec';\r\n\r\n// Re-export predefined codecs\r\nexport {\r\n // String conversion codecs\r\n stringToNumber,\r\n stringToInt,\r\n stringToBigInt,\r\n numberToBigInt,\r\n stringToBoolean,\r\n \r\n // Date conversion codecs \r\n isoDatetimeToDate,\r\n epochSecondsToDate,\r\n epochMillisToDate,\r\n \r\n // JSON codec\r\n jsonCodec,\r\n \r\n // URL codecs\r\n stringToURL,\r\n stringToHttpURL,\r\n uriComponent,\r\n \r\n // Byte conversion codecs\r\n base64ToBytes,\r\n base64UrlToBytes,\r\n base64urlToBytes,\r\n hexToBytes,\r\n hexLowerToBytes,\r\n utf8ToBytes,\r\n bytesToUtf8,\r\n \r\n // Complex codecs\r\n base64Json,\r\n jwtPayload\r\n} from './codecs';\r\n\r\n/**\r\n * Main API object with factory methods for all validators\r\n */\r\nexport const v = {\r\n // Primitive validators\r\n string: () => VldString.create(),\r\n number: () => VldNumber.create(),\r\n int: () => VldNumber.create().int(),\r\n int32: () => VldNumber.create().int().min(-2147483648).max(2147483647),\r\n boolean: () => VldBoolean.create(),\r\n date: () => VldDate.create(),\r\n bigint: () => VldBigInt.create(),\r\n symbol: () => VldSymbol.create(),\r\n stringbool: (options?: { truthy?: readonly string[]; falsy?: readonly string[]; caseSensitive?: boolean }) =>\r\n VldStringBool.create(options),\r\n \r\n // Complex validators\r\n array: <T>(item: VldBase<unknown, T>) => VldArray.create(item),\r\n object: <T extends Record<string, any>>(shape: { [K in keyof T]: VldBase<unknown, T[K]> }) =>\r\n VldObject.create(shape),\r\n strictObject: <T extends Record<string, any>>(shape: { [K in keyof T]: VldBase<unknown, T[K]> }) =>\r\n VldObject.create(shape).strict(),\r\n looseObject: <T extends Record<string, any>>(shape: { [K in keyof T]: VldBase<unknown, T[K]> }) =>\r\n VldObject.create(shape).passthrough(),\r\n tuple: <T extends readonly VldBase<any, any>[]>(...items: T) => VldTuple.create(...items),\r\n record: <T>(value: VldBase<unknown, T>) => VldRecord.create(value),\r\n partialRecord: <T>(value: VldBase<unknown, T>) => VldRecord.create(value).partial(),\r\n looseRecord: <T>(value: VldBase<unknown, T>) => VldRecord.create(value).loose(),\r\n set: <T>(item: VldBase<unknown, T>) => VldSet.create(item),\r\n map: <K, V>(key: VldBase<unknown, K>, value: VldBase<unknown, V>) => VldMap.create(key, value),\r\n \r\n // Union and intersection\r\n union: <T extends readonly VldBase<any, any>[]>(...validators: T) =>\r\n VldUnion.create(...validators),\r\n intersection: <A, B>(first: VldBase<unknown, A>, second: VldBase<unknown, B>) =>\r\n VldIntersection.create(first, second),\r\n discriminatedUnion: <K extends string, T extends readonly VldBase<any, any>[]>(\r\n discriminator: K,\r\n ...options: T\r\n ) => VldDiscriminatedUnion.create(discriminator, [...options] as any),\r\n xor: <T extends readonly VldBase<any, any>[]>(...options: T) =>\r\n VldXor.create([...options] as any),\r\n \r\n // Literal and enum\r\n literal: <T extends string | number | boolean | null | undefined>(value: T) => \r\n VldLiteral.create(value),\r\n enum: <T extends readonly [string, ...string[]]>(...values: T) => VldEnum.create(values as any),\r\n \r\n // Special validators\r\n any: () => VldAny.create(),\r\n unknown: () => VldUnknown.create(),\r\n void: () => VldVoid.create(),\r\n never: () => VldNever.create(),\r\n null: () => VldNull.create(),\r\n undefined: () => VldUndefined.create(),\r\n nan: () => VldNan.create(),\r\n\r\n // NEVER constant - Zod 4 API parity for use in transforms\r\n NEVER: VldNever.create(),\r\n \r\n // Utility validators\r\n optional: <T>(validator: VldBase<unknown, T>) => VldOptional.create(validator),\r\n nullable: <T>(validator: VldBase<unknown, T>) => VldNullable.create(validator),\r\n nullish: <T>(validator: VldBase<unknown, T>) => VldNullish.create(validator),\r\n\r\n // Recursive schemas\r\n lazy: <T>(schemaGetter: () => VldBase<unknown, T>) => VldLazy.create(schemaGetter),\r\n\r\n // JSON validator\r\n json: <T = unknown>(schema?: VldBase<unknown, T>) => VldJson.create(schema),\r\n\r\n // Custom validator for type-safe user-defined schemas\r\n custom: <TOutput = unknown>(\r\n options: CustomValidatorOptions<TOutput>\r\n ) => customFn<TOutput>(options),\r\n\r\n // File validator for file uploads\r\n file: () => fileFn(),\r\n\r\n // Function validator for function validation\r\n function: () => functionFn(),\r\n\r\n // Preprocessing\r\n preprocess: <TInput, TOutput>(\r\n preprocessor: (input: unknown) => unknown,\r\n schema: VldBase<TInput, TOutput>\r\n ) => VldPreprocess.create(preprocessor, schema),\r\n\r\n // Coercion API\r\n coerce: {\r\n string: () => VldCoerceString.create(),\r\n number: () => VldCoerceNumber.create(),\r\n boolean: () => VldCoerceBoolean.create(),\r\n date: () => VldCoerceDate.create(),\r\n bigint: () => VldCoerceBigInt.create(),\r\n },\r\n\r\n // String format validators (Zod 4 parity)\r\n email: (options?: { pattern?: RegExp }) => stringFormats.email(options),\r\n uuid: (options?: { version?: 'v4' | 'v6' | 'v7' }) => stringFormats.uuid(options),\r\n uuidv4: () => stringFormats.uuidv4(),\r\n hostname: () => stringFormats.hostname(),\r\n emoji: () => stringFormats.emoji(),\r\n base64: () => stringFormats.base64(),\r\n base64url: () => stringFormats.base64url(),\r\n hex: () => stringFormats.hex(),\r\n jwt: () => stringFormats.jwt(),\r\n nanoid: () => stringFormats.nanoid(),\r\n cuid: () => stringFormats.cuid(),\r\n cuid2: () => stringFormats.cuid2(),\r\n ulid: () => stringFormats.ulid(),\r\n ipv4: () => stringFormats.ipv4(),\r\n ipv6: () => stringFormats.ipv6(),\r\n mac: () => stringFormats.mac(),\r\n cidrv4: () => stringFormats.cidrv4(),\r\n cidrv6: () => stringFormats.cidrv6(),\r\n e164: () => stringFormats.e164(),\r\n hash: (algorithm: 'md5' | 'sha1' | 'sha256' | 'sha384' | 'sha512') =>\r\n stringFormats.hash(algorithm),\r\n iso: {\r\n date: () => stringFormats.iso.date(),\r\n time: () => stringFormats.iso.time(),\r\n dateTime: () => stringFormats.iso.dateTime(),\r\n duration: () => stringFormats.iso.duration(),\r\n },\r\n stringFormat: (name: string, validator: ((val: string) => boolean) | RegExp) =>\r\n stringFormats.stringFormat(name, validator),\r\n\r\n // Template literal validator\r\n templateLiteral: (...components: (VldBase<any, any> | string)[]) => templateLiteral(...components),\r\n\r\n // Codec validators (binary data validators)\r\n base64Bytes: () => VldBase64.create(),\r\n hexBytes: () => VldHex.create(),\r\n uint8Array: () => VldUint8Array.create(),\r\n \r\n // Codec factory\r\n codec: <TInput, TOutput>(\r\n inputValidator: VldBase<unknown, TInput>,\r\n outputValidator: VldBase<unknown, TOutput>,\r\n transform: {\r\n decode: (value: TInput) => TOutput | Promise<TOutput>;\r\n encode: (value: TOutput) => TInput | Promise<TInput>;\r\n }\r\n ) => VldCodec.create(inputValidator, outputValidator, transform)\r\n};\r\n\r\n// ============================================\r\n// Result Pattern (v1.5+ features)\r\n// ============================================\r\n\r\nexport type { Result, VldResult } from './compat/result';\r\n\r\nexport {\r\n Ok,\r\n Err,\r\n success,\r\n failure,\r\n isOk,\r\n isErr,\r\n isResult,\r\n unwrap,\r\n unwrapOr,\r\n map,\r\n mapErr,\r\n flatMap,\r\n match,\r\n tryCatch,\r\n tryCatchAsync,\r\n all,\r\n fromNullable,\r\n ResultUtils\r\n} from './compat/result';\r\n\r\n// ============================================\r\n// Event Emitter (v1.5+ features)\r\n// ============================================\r\n\r\nexport {\r\n // Types\r\n type EventMap,\r\n type EventHandler,\r\n type ListenerOptions,\r\n type Emitter,\r\n // Factory functions\r\n createEmitter,\r\n createEventBus,\r\n withEmitter\r\n} from './compat/emitter';\r\n\r\n// ============================================\r\n// VLD Events (v1.5+ features)\r\n// ============================================\r\n\r\nexport type {\r\n VldEvents,\r\n VldEventPayload,\r\n ParseStartEvent,\r\n ParseSuccessEvent,\r\n ParseErrorEvent,\r\n FieldValidationEvent,\r\n TransformEvent,\r\n PluginRegisteredEvent,\r\n LocaleChangedEvent,\r\n DebugEvent,\r\n MetricsEvent\r\n} from './events';\r\n\r\n// ============================================\r\n// Plugin System (v1.5+ features)\r\n// ============================================\r\n\r\nexport {\r\n // Kernel\r\n createVldKernel,\r\n getVldKernel,\r\n resetVldKernel,\r\n usePlugin,\r\n definePlugin,\r\n // Types\r\n type VldContext,\r\n type VldPlugin,\r\n type VldKernelInstance,\r\n type VldKernelOptions,\r\n type ValidatorFactory,\r\n type TransformFactory,\r\n type CodecFactory,\r\n type HookContext,\r\n type PluginBuilder,\r\n type PluginMeta,\r\n type PluginHooks\r\n} from './kernel';\r\n\r\n// ============================================\r\n// Logger (v1.5+ features)\r\n// ============================================\r\n\r\nexport {\r\n // Logger\r\n createLogger,\r\n initLogger,\r\n getLogger,\r\n setLogLevel,\r\n enableDebug,\r\n disableLogging,\r\n createNoOpLogger,\r\n // Types\r\n type Logger,\r\n type LoggerOptions,\r\n type LogLevel,\r\n type LogEntry,\r\n type LogHandler\r\n} from './logger';\r\n\r\n// ============================================\r\n// Pigment - Colored Output (v1.5+ features)\r\n// ============================================\r\n\r\nexport {\r\n pigment,\r\n supportsColor,\r\n bold,\r\n dim,\r\n italic,\r\n underline,\r\n red,\r\n green,\r\n yellow,\r\n blue,\r\n magenta,\r\n cyan,\r\n white,\r\n gray,\r\n grey,\r\n strip,\r\n vldTheme,\r\n createTheme,\r\n type Theme\r\n} from './pigment';\r\n\r\n// For backward compatibility during migration\r\nexport default v;"]}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * VLD Kernel
3
+ *
4
+ * The kernel is the core of the VLD plugin system.
5
+ * It manages plugins, validators, transforms, and codecs.
6
+ */
7
+ import type { VldPlugin, VldKernelInstance, VldKernelOptions, PluginBuilder } from './plugins/types';
8
+ /**
9
+ * Create the VLD kernel
10
+ */
11
+ export declare function createVldKernel(options?: VldKernelOptions): VldKernelInstance;
12
+ /**
13
+ * Create a plugin using the builder pattern
14
+ */
15
+ export declare function definePlugin(): PluginBuilder;
16
+ /**
17
+ * Get or create the global VLD kernel
18
+ */
19
+ export declare function getVldKernel(options?: VldKernelOptions): VldKernelInstance;
20
+ /**
21
+ * Reset the global VLD kernel
22
+ */
23
+ export declare function resetVldKernel(): Promise<void>;
24
+ /**
25
+ * Use a plugin with the global kernel
26
+ */
27
+ export declare function usePlugin(plugin: VldPlugin): VldKernelInstance;
28
+ export type { VldContext, VldPlugin, VldKernelInstance, VldKernelOptions, ValidatorFactory, TransformFactory, CodecFactory, HookContext, PluginBuilder, PluginMeta, PluginHooks } from './plugins/types';
29
+ //# sourceMappingURL=kernel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../src/kernel.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAEV,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAKhB,aAAa,EACd,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE,gBAAqB,GAAG,iBAAiB,CA6WjF;AAMD;;GAEG;AACH,wBAAgB,YAAY,IAAI,aAAa,CAsE5C;AAQD;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,iBAAiB,CAK1E;AAED;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAKpD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,iBAAiB,CAE9D;AAGD,YAAY,EACV,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,aAAa,EACb,UAAU,EACV,WAAW,EACZ,MAAM,iBAAiB,CAAC"}