@oxog/vld 1.5.0 → 2.0.2

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 (293) hide show
  1. package/CHANGELOG.md +168 -0
  2. package/LICENSE +20 -20
  3. package/README.md +558 -517
  4. package/dist/chunks/bigint-DgsCr2dC.js +1709 -0
  5. package/dist/chunks/bigint-DgsCr2dC.js.map +1 -0
  6. package/dist/{coercion/string.js → chunks/date-ODue_rtq.js} +271 -5
  7. package/dist/chunks/date-ODue_rtq.js.map +1 -0
  8. package/dist/chunks/index-BZqWZvVe.js +426 -0
  9. package/dist/chunks/index-BZqWZvVe.js.map +1 -0
  10. package/dist/chunks/index-CETyGkrv.js +894 -0
  11. package/dist/chunks/index-CETyGkrv.js.map +1 -0
  12. package/dist/chunks/json-o20GFhTh.js +2021 -0
  13. package/dist/chunks/json-o20GFhTh.js.map +1 -0
  14. package/dist/{validators/unknown.js → chunks/unknown-SLIH1VCf.js} +6 -3
  15. package/dist/chunks/unknown-SLIH1VCf.js.map +1 -0
  16. package/dist/cjs/errors.cjs +387 -0
  17. package/dist/cjs/errors.cjs.map +1 -0
  18. package/dist/cjs/index.cjs +9983 -0
  19. package/dist/cjs/index.cjs.map +1 -0
  20. package/dist/cjs/locales/index.cjs +2877 -0
  21. package/dist/cjs/locales/index.cjs.map +1 -0
  22. package/dist/cjs/locales/lazy.cjs +3169 -0
  23. package/dist/cjs/locales/lazy.cjs.map +1 -0
  24. package/dist/cjs/mini.cjs +7329 -0
  25. package/dist/cjs/mini.cjs.map +1 -0
  26. package/dist/codecs/index.js +4 -275
  27. package/dist/codecs/index.js.map +1 -1
  28. package/dist/coercion/index.d.ts +11 -0
  29. package/dist/coercion/index.d.ts.map +1 -0
  30. package/dist/coercion/{bigint.js → index.js} +7 -4
  31. package/dist/coercion/index.js.map +1 -0
  32. package/dist/compat/emitter.js +6 -4
  33. package/dist/compat/emitter.js.map +1 -1
  34. package/dist/compat/result.js +21 -19
  35. package/dist/compat/result.js.map +1 -1
  36. package/dist/errors.js +13 -10
  37. package/dist/errors.js.map +1 -1
  38. package/dist/index.js +225 -126
  39. package/dist/index.js.map +1 -1
  40. package/dist/kernel.js +10 -7
  41. package/dist/kernel.js.map +1 -1
  42. package/dist/locales/af.js +4 -2
  43. package/dist/locales/af.js.map +1 -1
  44. package/dist/locales/ar.js +4 -2
  45. package/dist/locales/ar.js.map +1 -1
  46. package/dist/locales/bn.js +4 -2
  47. package/dist/locales/bn.js.map +1 -1
  48. package/dist/locales/da.js +4 -2
  49. package/dist/locales/da.js.map +1 -1
  50. package/dist/locales/de.js +4 -2
  51. package/dist/locales/de.js.map +1 -1
  52. package/dist/locales/en.js +4 -2
  53. package/dist/locales/en.js.map +1 -1
  54. package/dist/locales/es-MX.js +4 -2
  55. package/dist/locales/es-MX.js.map +1 -1
  56. package/dist/locales/es.js +4 -2
  57. package/dist/locales/es.js.map +1 -1
  58. package/dist/locales/fi.js +4 -2
  59. package/dist/locales/fi.js.map +1 -1
  60. package/dist/locales/fr.js +4 -2
  61. package/dist/locales/fr.js.map +1 -1
  62. package/dist/locales/hi.js +4 -2
  63. package/dist/locales/hi.js.map +1 -1
  64. package/dist/locales/id.js +4 -2
  65. package/dist/locales/id.js.map +1 -1
  66. package/dist/locales/index.js +3 -91
  67. package/dist/locales/index.js.map +1 -1
  68. package/dist/locales/it.js +4 -2
  69. package/dist/locales/it.js.map +1 -1
  70. package/dist/locales/ja.js +4 -2
  71. package/dist/locales/ja.js.map +1 -1
  72. package/dist/locales/ko.js +4 -2
  73. package/dist/locales/ko.js.map +1 -1
  74. package/dist/locales/lazy.d.ts +111 -0
  75. package/dist/locales/lazy.d.ts.map +1 -0
  76. package/dist/locales/lazy.js +220 -0
  77. package/dist/locales/lazy.js.map +1 -0
  78. package/dist/locales/nl.js +4 -2
  79. package/dist/locales/nl.js.map +1 -1
  80. package/dist/locales/no.js +4 -2
  81. package/dist/locales/no.js.map +1 -1
  82. package/dist/locales/pl.js +4 -2
  83. package/dist/locales/pl.js.map +1 -1
  84. package/dist/locales/pt-BR.js +4 -2
  85. package/dist/locales/pt-BR.js.map +1 -1
  86. package/dist/locales/pt.js +4 -2
  87. package/dist/locales/pt.js.map +1 -1
  88. package/dist/locales/ru.js +4 -2
  89. package/dist/locales/ru.js.map +1 -1
  90. package/dist/locales/sv.js +4 -2
  91. package/dist/locales/sv.js.map +1 -1
  92. package/dist/locales/sw.js +4 -2
  93. package/dist/locales/sw.js.map +1 -1
  94. package/dist/locales/th.js +4 -2
  95. package/dist/locales/th.js.map +1 -1
  96. package/dist/locales/tr.js +4 -2
  97. package/dist/locales/tr.js.map +1 -1
  98. package/dist/locales/vi.js +4 -2
  99. package/dist/locales/vi.js.map +1 -1
  100. package/dist/locales/zh.js +4 -2
  101. package/dist/locales/zh.js.map +1 -1
  102. package/dist/mini.d.ts +182 -0
  103. package/dist/mini.d.ts.map +1 -0
  104. package/dist/mini.js +132 -0
  105. package/dist/mini.js.map +1 -0
  106. package/dist/pigment.js +8 -7
  107. package/dist/pigment.js.map +1 -1
  108. package/dist/validators/array.d.ts +5 -0
  109. package/dist/validators/array.d.ts.map +1 -1
  110. package/dist/validators/discriminated-union.d.ts.map +1 -1
  111. package/dist/validators/enum.d.ts +5 -1
  112. package/dist/validators/enum.d.ts.map +1 -1
  113. package/dist/validators/index.js +5 -45
  114. package/dist/validators/index.js.map +1 -1
  115. package/dist/validators/lazy.d.ts +8 -1
  116. package/dist/validators/lazy.d.ts.map +1 -1
  117. package/dist/validators/literal.d.ts +5 -1
  118. package/dist/validators/literal.d.ts.map +1 -1
  119. package/dist/validators/object.d.ts +30 -3
  120. package/dist/validators/object.d.ts.map +1 -1
  121. package/dist/validators/string.d.ts +12 -1
  122. package/dist/validators/string.d.ts.map +1 -1
  123. package/package.json +69 -11
  124. package/dist/cli/benchmark.d.ts +0 -15
  125. package/dist/cli/benchmark.d.ts.map +0 -1
  126. package/dist/cli/benchmark.js +0 -248
  127. package/dist/cli/benchmark.js.map +0 -1
  128. package/dist/cli/bin.js +0 -35
  129. package/dist/cli/bin.js.map +0 -1
  130. package/dist/cli/commands/benchmark.js +0 -204
  131. package/dist/cli/commands/benchmark.js.map +0 -1
  132. package/dist/cli/commands/validate.js +0 -157
  133. package/dist/cli/commands/validate.js.map +0 -1
  134. package/dist/cli/generate.d.ts +0 -14
  135. package/dist/cli/generate.d.ts.map +0 -1
  136. package/dist/cli/generate.js +0 -233
  137. package/dist/cli/generate.js.map +0 -1
  138. package/dist/cli/index.js +0 -182
  139. package/dist/cli/index.js.map +0 -1
  140. package/dist/cli/validate.d.ts +0 -15
  141. package/dist/cli/validate.d.ts.map +0 -1
  142. package/dist/cli/validate.js +0 -162
  143. package/dist/cli/validate.js.map +0 -1
  144. package/dist/coercion/bigint.js.map +0 -1
  145. package/dist/coercion/boolean.js +0 -59
  146. package/dist/coercion/boolean.js.map +0 -1
  147. package/dist/coercion/date.js +0 -52
  148. package/dist/coercion/date.js.map +0 -1
  149. package/dist/coercion/number.js +0 -160
  150. package/dist/coercion/number.js.map +0 -1
  151. package/dist/coercion/string.js.map +0 -1
  152. package/dist/compat/index.js +0 -14
  153. package/dist/compat/index.js.map +0 -1
  154. package/dist/events.js +0 -8
  155. package/dist/events.js.map +0 -1
  156. package/dist/guards.d.ts +0 -143
  157. package/dist/guards.d.ts.map +0 -1
  158. package/dist/guards.js +0 -238
  159. package/dist/guards.js.map +0 -1
  160. package/dist/index-new.d.ts.map +0 -1
  161. package/dist/locales/backup-en.js +0 -105
  162. package/dist/locales/backup-en.js.map +0 -1
  163. package/dist/locales/types.js +0 -2
  164. package/dist/locales/types.js.map +0 -1
  165. package/dist/locales.d.ts +0 -54
  166. package/dist/locales.d.ts.map +0 -1
  167. package/dist/locales.js +0 -732
  168. package/dist/locales.js.map +0 -1
  169. package/dist/logger.js +0 -184
  170. package/dist/logger.js.map +0 -1
  171. package/dist/plugins/codecs.d.ts +0 -17
  172. package/dist/plugins/codecs.d.ts.map +0 -1
  173. package/dist/plugins/codecs.js +0 -29
  174. package/dist/plugins/codecs.js.map +0 -1
  175. package/dist/plugins/coercion.d.ts +0 -13
  176. package/dist/plugins/coercion.d.ts.map +0 -1
  177. package/dist/plugins/coercion.js +0 -34
  178. package/dist/plugins/coercion.js.map +0 -1
  179. package/dist/plugins/core-validators.d.ts +0 -13
  180. package/dist/plugins/core-validators.d.ts.map +0 -1
  181. package/dist/plugins/core-validators.js +0 -96
  182. package/dist/plugins/core-validators.js.map +0 -1
  183. package/dist/plugins/index.js +0 -8
  184. package/dist/plugins/index.js.map +0 -1
  185. package/dist/plugins/kernel.d.ts +0 -29
  186. package/dist/plugins/kernel.d.ts.map +0 -1
  187. package/dist/plugins/kernel.js +0 -486
  188. package/dist/plugins/kernel.js.map +0 -1
  189. package/dist/plugins/types.js +0 -8
  190. package/dist/plugins/types.js.map +0 -1
  191. package/dist/style.d.ts +0 -123
  192. package/dist/style.d.ts.map +0 -1
  193. package/dist/style.js +0 -369
  194. package/dist/style.js.map +0 -1
  195. package/dist/utils/codec-utils.js +0 -229
  196. package/dist/utils/codec-utils.js.map +0 -1
  197. package/dist/utils/deep-merge.js +0 -76
  198. package/dist/utils/deep-merge.js.map +0 -1
  199. package/dist/utils/ip-validation.js +0 -98
  200. package/dist/utils/ip-validation.js.map +0 -1
  201. package/dist/utils/security.js +0 -61
  202. package/dist/utils/security.js.map +0 -1
  203. package/dist/validators/any.js +0 -25
  204. package/dist/validators/any.js.map +0 -1
  205. package/dist/validators/array.js +0 -190
  206. package/dist/validators/array.js.map +0 -1
  207. package/dist/validators/base.js +0 -499
  208. package/dist/validators/base.js.map +0 -1
  209. package/dist/validators/base64.js +0 -65
  210. package/dist/validators/base64.js.map +0 -1
  211. package/dist/validators/bigint.js +0 -142
  212. package/dist/validators/bigint.js.map +0 -1
  213. package/dist/validators/boolean.js +0 -114
  214. package/dist/validators/boolean.js.map +0 -1
  215. package/dist/validators/codec.js +0 -182
  216. package/dist/validators/codec.js.map +0 -1
  217. package/dist/validators/custom.js +0 -50
  218. package/dist/validators/custom.js.map +0 -1
  219. package/dist/validators/date.js +0 -227
  220. package/dist/validators/date.js.map +0 -1
  221. package/dist/validators/discriminated-union.js +0 -98
  222. package/dist/validators/discriminated-union.js.map +0 -1
  223. package/dist/validators/enum.js +0 -82
  224. package/dist/validators/enum.js.map +0 -1
  225. package/dist/validators/file.js +0 -114
  226. package/dist/validators/file.js.map +0 -1
  227. package/dist/validators/function.js +0 -45
  228. package/dist/validators/function.js.map +0 -1
  229. package/dist/validators/hex.js +0 -62
  230. package/dist/validators/hex.js.map +0 -1
  231. package/dist/validators/intersection.js +0 -64
  232. package/dist/validators/intersection.js.map +0 -1
  233. package/dist/validators/json.js +0 -64
  234. package/dist/validators/json.js.map +0 -1
  235. package/dist/validators/lazy.js +0 -42
  236. package/dist/validators/lazy.js.map +0 -1
  237. package/dist/validators/literal.js +0 -45
  238. package/dist/validators/literal.js.map +0 -1
  239. package/dist/validators/map.js +0 -54
  240. package/dist/validators/map.js.map +0 -1
  241. package/dist/validators/nan.js +0 -32
  242. package/dist/validators/nan.js.map +0 -1
  243. package/dist/validators/never.js +0 -29
  244. package/dist/validators/never.js.map +0 -1
  245. package/dist/validators/null.js +0 -31
  246. package/dist/validators/null.js.map +0 -1
  247. package/dist/validators/number.js +0 -225
  248. package/dist/validators/number.js.map +0 -1
  249. package/dist/validators/object-optimized.d.ts +0 -23
  250. package/dist/validators/object-optimized.d.ts.map +0 -1
  251. package/dist/validators/object-optimized.js +0 -179
  252. package/dist/validators/object-optimized.js.map +0 -1
  253. package/dist/validators/object-ultra.d.ts +0 -34
  254. package/dist/validators/object-ultra.d.ts.map +0 -1
  255. package/dist/validators/object-ultra.js +0 -175
  256. package/dist/validators/object-ultra.js.map +0 -1
  257. package/dist/validators/object.js +0 -458
  258. package/dist/validators/object.js.map +0 -1
  259. package/dist/validators/record.js +0 -128
  260. package/dist/validators/record.js.map +0 -1
  261. package/dist/validators/set.js +0 -51
  262. package/dist/validators/set.js.map +0 -1
  263. package/dist/validators/string-bool.js +0 -127
  264. package/dist/validators/string-bool.js.map +0 -1
  265. package/dist/validators/string-formats.js +0 -120
  266. package/dist/validators/string-formats.js.map +0 -1
  267. package/dist/validators/string-ultra.d.ts +0 -49
  268. package/dist/validators/string-ultra.d.ts.map +0 -1
  269. package/dist/validators/string-ultra.js +0 -217
  270. package/dist/validators/string-ultra.js.map +0 -1
  271. package/dist/validators/string.js +0 -253
  272. package/dist/validators/string.js.map +0 -1
  273. package/dist/validators/symbol.js +0 -42
  274. package/dist/validators/symbol.js.map +0 -1
  275. package/dist/validators/template-literal.js +0 -102
  276. package/dist/validators/template-literal.js.map +0 -1
  277. package/dist/validators/tuple.js +0 -55
  278. package/dist/validators/tuple.js.map +0 -1
  279. package/dist/validators/uint8array.js +0 -98
  280. package/dist/validators/uint8array.js.map +0 -1
  281. package/dist/validators/undefined.js +0 -31
  282. package/dist/validators/undefined.js.map +0 -1
  283. package/dist/validators/union-optimized.d.ts +0 -15
  284. package/dist/validators/union-optimized.d.ts.map +0 -1
  285. package/dist/validators/union-optimized.js +0 -92
  286. package/dist/validators/union-optimized.js.map +0 -1
  287. package/dist/validators/union.js +0 -126
  288. package/dist/validators/union.js.map +0 -1
  289. package/dist/validators/unknown.js.map +0 -1
  290. package/dist/validators/void.js +0 -35
  291. package/dist/validators/void.js.map +0 -1
  292. package/dist/validators/xor.js +0 -64
  293. package/dist/validators/xor.js.map +0 -1
package/dist/mini.d.ts ADDED
@@ -0,0 +1,182 @@
1
+ /**
2
+ * VLD Mini - Tree-Shakable Functional API
3
+ *
4
+ * This module provides a functional, tree-shakable alternative to the main `v` object.
5
+ * Use this when bundle size is critical.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { string, number, object, optional } from '@oxog/vld/mini';
10
+ *
11
+ * const schema = object({
12
+ * name: string().min(1),
13
+ * age: optional(number().int())
14
+ * });
15
+ * ```
16
+ */
17
+ export { VldBase, ParseResult, VldRefine, VldTransform, VldDefault, VldCatch, VldOptional, VldNullable, VldNullish, VldPipe, VldReadonly, VldBrand, VldPreprocess, SuperRefineContext, VldSuperRefine } from './validators/base';
18
+ export { VldString } from './validators/string';
19
+ export { VldNumber } from './validators/number';
20
+ export { VldBoolean } from './validators/boolean';
21
+ export { VldDate } from './validators/date';
22
+ export { VldBigInt } from './validators/bigint';
23
+ export { VldSymbol } from './validators/symbol';
24
+ export { VldStringBool } from './validators/string-bool';
25
+ export { VldArray } from './validators/array';
26
+ export { VldObject } from './validators/object';
27
+ export { VldTuple } from './validators/tuple';
28
+ export { VldRecord } from './validators/record';
29
+ export { VldSet } from './validators/set';
30
+ export { VldMap } from './validators/map';
31
+ export { VldUnion } from './validators/union';
32
+ export { VldIntersection } from './validators/intersection';
33
+ export { VldLiteral } from './validators/literal';
34
+ export { VldEnum } from './validators/enum';
35
+ export { VldAny } from './validators/any';
36
+ export { VldUnknown } from './validators/unknown';
37
+ export { VldVoid } from './validators/void';
38
+ export { VldNever } from './validators/never';
39
+ export { VldNull } from './validators/null';
40
+ export { VldUndefined } from './validators/undefined';
41
+ export { VldNan } from './validators/nan';
42
+ export { VldLazy } from './validators/lazy';
43
+ export { VldDiscriminatedUnion } from './validators/discriminated-union';
44
+ export { VldXor } from './validators/xor';
45
+ export { VldJson } from './validators/json';
46
+ import type { VldBase } from './validators/base';
47
+ /** Infer the output type of a validator */
48
+ export type Infer<T extends VldBase<any, any>> = T extends VldBase<any, infer U> ? U : never;
49
+ /** Infer the input type of a validator */
50
+ export type Input<T extends VldBase<any, any>> = T extends VldBase<infer I, any> ? I : never;
51
+ /** Infer the output type of a validator (alias for Infer) */
52
+ export type Output<T extends VldBase<any, any>> = Infer<T>;
53
+ import { VldString } from './validators/string';
54
+ import { VldNumber } from './validators/number';
55
+ import { VldBoolean } from './validators/boolean';
56
+ import { VldDate } from './validators/date';
57
+ import { VldBigInt } from './validators/bigint';
58
+ import { VldSymbol } from './validators/symbol';
59
+ import { VldStringBool } from './validators/string-bool';
60
+ import { VldArray } from './validators/array';
61
+ import { VldObject } from './validators/object';
62
+ import { VldTuple } from './validators/tuple';
63
+ import { VldRecord } from './validators/record';
64
+ import { VldSet } from './validators/set';
65
+ import { VldMap } from './validators/map';
66
+ import { VldUnion } from './validators/union';
67
+ import { VldIntersection } from './validators/intersection';
68
+ import { VldLiteral } from './validators/literal';
69
+ import { VldEnum } from './validators/enum';
70
+ import { VldAny } from './validators/any';
71
+ import { VldUnknown } from './validators/unknown';
72
+ import { VldVoid } from './validators/void';
73
+ import { VldNever } from './validators/never';
74
+ import { VldNull } from './validators/null';
75
+ import { VldUndefined } from './validators/undefined';
76
+ import { VldNan } from './validators/nan';
77
+ import { VldLazy } from './validators/lazy';
78
+ import { VldDiscriminatedUnion } from './validators/discriminated-union';
79
+ import { VldXor } from './validators/xor';
80
+ import { VldJson } from './validators/json';
81
+ import { VldOptional, VldNullable, VldNullish, VldPreprocess } from './validators/base';
82
+ /** Create a string validator */
83
+ export declare const string: () => VldString;
84
+ /** Create a number validator */
85
+ export declare const number: () => VldNumber;
86
+ /** Create an integer validator */
87
+ export declare const int: () => VldNumber;
88
+ /** Create an int32 validator (-2147483648 to 2147483647) */
89
+ export declare const int32: () => VldNumber;
90
+ /** Create a boolean validator */
91
+ export declare const boolean: () => VldBoolean;
92
+ /** Create a date validator */
93
+ export declare const date: () => VldDate;
94
+ /** Create a bigint validator */
95
+ export declare const bigint: () => VldBigInt;
96
+ /** Create a symbol validator */
97
+ export declare const symbol: () => VldSymbol;
98
+ /** Create a string-to-boolean validator */
99
+ export declare const stringbool: (options?: {
100
+ truthy?: readonly string[];
101
+ falsy?: readonly string[];
102
+ caseSensitive?: boolean;
103
+ }) => VldStringBool;
104
+ /** Create an array validator */
105
+ export declare const array: <T>(item: VldBase<unknown, T>) => VldArray<T>;
106
+ /** Create an object validator */
107
+ export declare const object: <T extends Record<string, any>>(shape: { [K in keyof T]: VldBase<unknown, T[K]>; }) => VldObject<T>;
108
+ /** Create a strict object validator (no extra keys allowed) */
109
+ export declare const strictObject: <T extends Record<string, any>>(shape: { [K in keyof T]: VldBase<unknown, T[K]>; }) => VldObject<T>;
110
+ /** Create a loose object validator (extra keys passed through) */
111
+ export declare const looseObject: <T extends Record<string, any>>(shape: { [K in keyof T]: VldBase<unknown, T[K]>; }) => VldObject<T>;
112
+ /** Create a tuple validator */
113
+ export declare const tuple: <T extends readonly VldBase<any, any>[]>(...items: T) => VldTuple<[...T]>;
114
+ /** Create a record validator */
115
+ export declare const record: <T>(value: VldBase<unknown, T>) => VldRecord<T>;
116
+ /** Create a partial record validator */
117
+ export declare const partialRecord: <T>(value: VldBase<unknown, T>) => VldRecord<T | undefined>;
118
+ /** Create a loose record validator */
119
+ export declare const looseRecord: <T>(value: VldBase<unknown, T>) => VldBase<unknown, Record<string, T>>;
120
+ /** Create a set validator */
121
+ export declare const set: <T>(item: VldBase<unknown, T>) => VldSet<T>;
122
+ /** Create a map validator */
123
+ export declare const map: <K, V>(key: VldBase<unknown, K>, value: VldBase<unknown, V>) => VldMap<K, V>;
124
+ /** Create a union validator (value must match one of the validators) */
125
+ export declare const union: <T extends readonly VldBase<any, any>[]>(...validators: T) => VldUnion<[...T]>;
126
+ /** Create an intersection validator (value must match both validators) */
127
+ export declare const intersection: <A, B>(first: VldBase<unknown, A>, second: VldBase<unknown, B>) => VldIntersection<A, B>;
128
+ /** Create a discriminated union validator */
129
+ export declare const discriminatedUnion: <K extends string, T extends readonly VldBase<any, any>[]>(discriminator: K, ...options: T) => VldDiscriminatedUnion<K, any>;
130
+ /** Create an XOR validator (value must match exactly one of the validators) */
131
+ export declare const xor: <T extends readonly VldBase<any, any>[]>(...options: T) => VldXor<any>;
132
+ /** Create a literal validator */
133
+ export declare const literal: <T extends string | number | boolean | null | undefined>(value: T) => VldLiteral<T>;
134
+ /** Create an enum validator */
135
+ export declare const enumValidator: <T extends readonly [string, ...string[]]>(...values: T) => VldEnum<any>;
136
+ /** Create a validator that accepts any value */
137
+ export declare const any: () => VldAny;
138
+ /** Create a validator that accepts unknown values */
139
+ export declare const unknown: () => VldUnknown;
140
+ /** Create a void validator */
141
+ export declare const voidValidator: () => VldVoid;
142
+ /** Create a never validator (always fails) */
143
+ export declare const never: () => VldNever;
144
+ /** Create a null validator */
145
+ export declare const nullValidator: () => VldNull;
146
+ /** Create an undefined validator */
147
+ export declare const undefinedValidator: () => VldUndefined;
148
+ /** Create a NaN validator */
149
+ export declare const nan: () => VldNan;
150
+ /** Create a lazy validator for recursive schemas */
151
+ export declare const lazy: <T>(schemaGetter: () => VldBase<unknown, T>) => VldLazy<unknown, T>;
152
+ /** Create a JSON validator */
153
+ export declare const json: <T = unknown>(schema?: VldBase<unknown, T>) => VldJson<T>;
154
+ /** Make a validator optional (allows undefined) */
155
+ export declare const optional: <TInput, TOutput>(validator: VldBase<TInput, TOutput>) => VldOptional<TInput, TOutput>;
156
+ /** Make a validator nullable (allows null) */
157
+ export declare const nullable: <TInput, TOutput>(validator: VldBase<TInput, TOutput>) => VldNullable<TInput, TOutput>;
158
+ /** Make a validator nullish (allows null or undefined) */
159
+ export declare const nullish: <TInput, TOutput>(validator: VldBase<TInput, TOutput>) => VldNullish<TInput, TOutput>;
160
+ /** Preprocess input before validation */
161
+ export declare const preprocess: <TInput, TOutput>(preprocessor: (input: unknown) => unknown, schema: VldBase<TInput, TOutput>) => VldPreprocess<TInput, TOutput>;
162
+ import { VldCoerceString } from './coercion/string';
163
+ import { VldCoerceNumber } from './coercion/number';
164
+ import { VldCoerceBoolean } from './coercion/boolean';
165
+ import { VldCoerceDate } from './coercion/date';
166
+ import { VldCoerceBigInt } from './coercion/bigint';
167
+ /** Coercion validators - convert values to target type before validation */
168
+ export declare const coerce: {
169
+ /** Coerce to string */
170
+ string: () => VldCoerceString;
171
+ /** Coerce to number */
172
+ number: () => VldCoerceNumber;
173
+ /** Coerce to boolean */
174
+ boolean: () => VldCoerceBoolean;
175
+ /** Coerce to date */
176
+ date: () => VldCoerceDate;
177
+ /** Coerce to bigint */
178
+ bigint: () => VldCoerceBigInt;
179
+ };
180
+ /** NEVER constant for use in transforms - Zod 4 API parity */
181
+ export declare const NEVER: VldNever;
182
+ //# sourceMappingURL=mini.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mini.d.ts","sourceRoot":"","sources":["../src/mini.ts"],"names":[],"mappings":"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"}
package/dist/mini.js ADDED
@@ -0,0 +1,132 @@
1
+ import { V as VldString, a as VldNumber, b as VldBoolean, c as VldDate, d as VldBigInt, e as VldOptional, f as VldNullable, g as VldNullish, h as VldPreprocess } from './chunks/bigint-DgsCr2dC.js';
2
+ export { i as VldBase, p as VldBrand, m as VldCatch, l as VldDefault, n as VldPipe, o as VldReadonly, j as VldRefine, q as VldSuperRefine, k as VldTransform } from './chunks/bigint-DgsCr2dC.js';
3
+ import { V as VldSymbol, a as VldStringBool, b as VldArray, c as VldObject, d as VldTuple, e as VldRecord, f as VldSet, g as VldMap, h as VldUnion, i as VldIntersection, j as VldDiscriminatedUnion, k as VldXor, l as VldLiteral, m as VldEnum, n as VldAny, o as VldVoid, p as VldNever, q as VldNull, r as VldUndefined, s as VldNan, t as VldLazy, u as VldJson } from './chunks/json-o20GFhTh.js';
4
+ import { V as VldUnknown } from './chunks/unknown-SLIH1VCf.js';
5
+ import { V as VldCoerceDate, a as VldCoerceBoolean, b as VldCoerceNumber, c as VldCoerceString } from './chunks/date-ODue_rtq.js';
6
+ import { VldCoerceBigInt } from './coercion/index.js';
7
+
8
+ /**
9
+ * VLD Mini - Tree-Shakable Functional API
10
+ *
11
+ * This module provides a functional, tree-shakable alternative to the main `v` object.
12
+ * Use this when bundle size is critical.
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * import { string, number, object, optional } from '@oxog/vld/mini';
17
+ *
18
+ * const schema = object({
19
+ * name: string().min(1),
20
+ * age: optional(number().int())
21
+ * });
22
+ * ```
23
+ */
24
+ // ============================================
25
+ // Base Types & Classes
26
+ // ============================================
27
+ // --- Primitive Validators ---
28
+ /** Create a string validator */
29
+ const string = () => VldString.create();
30
+ /** Create a number validator */
31
+ const number = () => VldNumber.create();
32
+ /** Create an integer validator */
33
+ const int = () => VldNumber.create().int();
34
+ /** Create an int32 validator (-2147483648 to 2147483647) */
35
+ const int32 = () => VldNumber.create().int().min(-2147483648).max(2147483647);
36
+ /** Create a boolean validator */
37
+ const boolean = () => VldBoolean.create();
38
+ /** Create a date validator */
39
+ const date = () => VldDate.create();
40
+ /** Create a bigint validator */
41
+ const bigint = () => VldBigInt.create();
42
+ /** Create a symbol validator */
43
+ const symbol = () => VldSymbol.create();
44
+ /** Create a string-to-boolean validator */
45
+ const stringbool = (options) => VldStringBool.create(options);
46
+ // --- Complex Validators ---
47
+ /** Create an array validator */
48
+ const array = (item) => VldArray.create(item);
49
+ /** Create an object validator */
50
+ const object = (shape) => VldObject.create(shape);
51
+ /** Create a strict object validator (no extra keys allowed) */
52
+ const strictObject = (shape) => VldObject.create(shape).strict();
53
+ /** Create a loose object validator (extra keys passed through) */
54
+ const looseObject = (shape) => VldObject.create(shape).passthrough();
55
+ /** Create a tuple validator */
56
+ const tuple = (...items) => VldTuple.create(...items);
57
+ /** Create a record validator */
58
+ const record = (value) => VldRecord.create(value);
59
+ /** Create a partial record validator */
60
+ const partialRecord = (value) => VldRecord.create(value).partial();
61
+ /** Create a loose record validator */
62
+ const looseRecord = (value) => VldRecord.create(value).loose();
63
+ /** Create a set validator */
64
+ const set = (item) => VldSet.create(item);
65
+ /** Create a map validator */
66
+ const map = (key, value) => VldMap.create(key, value);
67
+ // --- Union & Intersection ---
68
+ /** Create a union validator (value must match one of the validators) */
69
+ const union = (...validators) => VldUnion.create(...validators);
70
+ /** Create an intersection validator (value must match both validators) */
71
+ const intersection = (first, second) => VldIntersection.create(first, second);
72
+ /** Create a discriminated union validator */
73
+ const discriminatedUnion = (discriminator, ...options) => VldDiscriminatedUnion.create(discriminator, [...options]);
74
+ /** Create an XOR validator (value must match exactly one of the validators) */
75
+ const xor = (...options) => VldXor.create([...options]);
76
+ // --- Literal & Enum ---
77
+ /** Create a literal validator */
78
+ const literal = (value) => VldLiteral.create(value);
79
+ /** Create an enum validator */
80
+ const enumValidator = (...values) => VldEnum.create(values);
81
+ // --- Special Validators ---
82
+ /** Create a validator that accepts any value */
83
+ const any = () => VldAny.create();
84
+ /** Create a validator that accepts unknown values */
85
+ const unknown = () => VldUnknown.create();
86
+ /** Create a void validator */
87
+ const voidValidator = () => VldVoid.create();
88
+ /** Create a never validator (always fails) */
89
+ const never = () => VldNever.create();
90
+ /** Create a null validator */
91
+ const nullValidator = () => VldNull.create();
92
+ /** Create an undefined validator */
93
+ const undefinedValidator = () => VldUndefined.create();
94
+ /** Create a NaN validator */
95
+ const nan = () => VldNan.create();
96
+ // --- Utility Validators ---
97
+ /** Create a lazy validator for recursive schemas */
98
+ const lazy = (schemaGetter) => VldLazy.create(schemaGetter);
99
+ /** Create a JSON validator */
100
+ const json = (schema) => VldJson.create(schema);
101
+ // ============================================
102
+ // Utility Functions (Wrappers)
103
+ // ============================================
104
+ /** Make a validator optional (allows undefined) */
105
+ const optional = (validator) => VldOptional.create(validator);
106
+ /** Make a validator nullable (allows null) */
107
+ const nullable = (validator) => VldNullable.create(validator);
108
+ /** Make a validator nullish (allows null or undefined) */
109
+ const nullish = (validator) => VldNullish.create(validator);
110
+ /** Preprocess input before validation */
111
+ const preprocess = (preprocessor, schema) => VldPreprocess.create(preprocessor, schema);
112
+ /** Coercion validators - convert values to target type before validation */
113
+ const coerce = {
114
+ /** Coerce to string */
115
+ string: () => VldCoerceString.create(),
116
+ /** Coerce to number */
117
+ number: () => VldCoerceNumber.create(),
118
+ /** Coerce to boolean */
119
+ boolean: () => VldCoerceBoolean.create(),
120
+ /** Coerce to date */
121
+ date: () => VldCoerceDate.create(),
122
+ /** Coerce to bigint */
123
+ bigint: () => VldCoerceBigInt.create(),
124
+ };
125
+ // ============================================
126
+ // NEVER Constant (for transforms)
127
+ // ============================================
128
+ /** NEVER constant for use in transforms - Zod 4 API parity */
129
+ const NEVER = VldNever.create();
130
+
131
+ export { NEVER, VldAny, VldArray, VldBigInt, VldBoolean, VldDate, VldDiscriminatedUnion, VldEnum, VldIntersection, VldJson, VldLazy, VldLiteral, VldMap, VldNan, VldNever, VldNull, VldNullable, VldNullish, VldNumber, VldObject, VldOptional, VldPreprocess, VldRecord, VldSet, VldString, VldStringBool, VldSymbol, VldTuple, VldUndefined, VldUnion, VldUnknown, VldVoid, VldXor, any, array, bigint, boolean, coerce, date, discriminatedUnion, enumValidator, int, int32, intersection, json, lazy, literal, looseObject, looseRecord, map, nan, never, nullValidator, nullable, nullish, number, object, optional, partialRecord, preprocess, record, set, strictObject, string, stringbool, symbol, tuple, undefinedValidator, union, unknown, voidValidator, xor };
132
+ //# sourceMappingURL=mini.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mini.js","sources":["../src/mini.ts"],"sourcesContent":["/**\r\n * VLD Mini - Tree-Shakable Functional API\r\n *\r\n * This module provides a functional, tree-shakable alternative to the main `v` object.\r\n * Use this when bundle size is critical.\r\n *\r\n * @example\r\n * ```typescript\r\n * import { string, number, object, optional } from '@oxog/vld/mini';\r\n *\r\n * const schema = object({\r\n * name: string().min(1),\r\n * age: optional(number().int())\r\n * });\r\n * ```\r\n */\r\n\r\n// ============================================\r\n// Base Types & Classes\r\n// ============================================\r\n\r\nexport {\r\n VldBase,\r\n ParseResult,\r\n VldRefine,\r\n VldTransform,\r\n VldDefault,\r\n VldCatch,\r\n VldOptional,\r\n VldNullable,\r\n VldNullish,\r\n VldPipe,\r\n VldReadonly,\r\n VldBrand,\r\n VldPreprocess,\r\n SuperRefineContext,\r\n VldSuperRefine\r\n} from './validators/base';\r\n\r\n// ============================================\r\n// Validator Classes (for advanced usage)\r\n// ============================================\r\n\r\nexport { VldString } from './validators/string';\r\nexport { VldNumber } from './validators/number';\r\nexport { VldBoolean } from './validators/boolean';\r\nexport { VldDate } from './validators/date';\r\nexport { VldBigInt } from './validators/bigint';\r\nexport { VldSymbol } from './validators/symbol';\r\nexport { VldStringBool } from './validators/string-bool';\r\nexport { VldArray } from './validators/array';\r\nexport { VldObject } from './validators/object';\r\nexport { VldTuple } from './validators/tuple';\r\nexport { VldRecord } from './validators/record';\r\nexport { VldSet } from './validators/set';\r\nexport { VldMap } from './validators/map';\r\nexport { VldUnion } from './validators/union';\r\nexport { VldIntersection } from './validators/intersection';\r\nexport { VldLiteral } from './validators/literal';\r\nexport { VldEnum } from './validators/enum';\r\nexport { VldAny } from './validators/any';\r\nexport { VldUnknown } from './validators/unknown';\r\nexport { VldVoid } from './validators/void';\r\nexport { VldNever } from './validators/never';\r\nexport { VldNull } from './validators/null';\r\nexport { VldUndefined } from './validators/undefined';\r\nexport { VldNan } from './validators/nan';\r\nexport { VldLazy } from './validators/lazy';\r\nexport { VldDiscriminatedUnion } from './validators/discriminated-union';\r\nexport { VldXor } from './validators/xor';\r\nexport { VldJson } from './validators/json';\r\n\r\n// ============================================\r\n// Type Inference Helpers\r\n// ============================================\r\n\r\nimport type { VldBase } from './validators/base';\r\n\r\n/** Infer the output type of a validator */\r\nexport type Infer<T extends VldBase<any, any>> = T extends VldBase<any, infer U> ? U : never;\r\n\r\n/** Infer the input type of a validator */\r\nexport type Input<T extends VldBase<any, any>> = T extends VldBase<infer I, any> ? I : never;\r\n\r\n/** Infer the output type of a validator (alias for Infer) */\r\nexport type Output<T extends VldBase<any, any>> = Infer<T>;\r\n\r\n// ============================================\r\n// Factory Functions (Tree-Shakable)\r\n// ============================================\r\n\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 { VldBigInt } from './validators/bigint';\r\nimport { VldSymbol } from './validators/symbol';\r\nimport { VldStringBool } from './validators/string-bool';\r\nimport { VldArray } from './validators/array';\r\nimport { VldObject } from './validators/object';\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 { VldUnion } from './validators/union';\r\nimport { VldIntersection } from './validators/intersection';\r\nimport { VldLiteral } from './validators/literal';\r\nimport { VldEnum } from './validators/enum';\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 { VldOptional, VldNullable, VldNullish, VldPreprocess } from './validators/base';\r\n\r\n// --- Primitive Validators ---\r\n\r\n/** Create a string validator */\r\nexport const string = () => VldString.create();\r\n\r\n/** Create a number validator */\r\nexport const number = () => VldNumber.create();\r\n\r\n/** Create an integer validator */\r\nexport const int = () => VldNumber.create().int();\r\n\r\n/** Create an int32 validator (-2147483648 to 2147483647) */\r\nexport const int32 = () => VldNumber.create().int().min(-2147483648).max(2147483647);\r\n\r\n/** Create a boolean validator */\r\nexport const boolean = () => VldBoolean.create();\r\n\r\n/** Create a date validator */\r\nexport const date = () => VldDate.create();\r\n\r\n/** Create a bigint validator */\r\nexport const bigint = () => VldBigInt.create();\r\n\r\n/** Create a symbol validator */\r\nexport const symbol = () => VldSymbol.create();\r\n\r\n/** Create a string-to-boolean validator */\r\nexport const stringbool = (options?: { truthy?: readonly string[]; falsy?: readonly string[]; caseSensitive?: boolean }) =>\r\n VldStringBool.create(options);\r\n\r\n// --- Complex Validators ---\r\n\r\n/** Create an array validator */\r\nexport const array = <T>(item: VldBase<unknown, T>) => VldArray.create(item);\r\n\r\n/** Create an object validator */\r\nexport const object = <T extends Record<string, any>>(shape: { [K in keyof T]: VldBase<unknown, T[K]> }) =>\r\n VldObject.create(shape);\r\n\r\n/** Create a strict object validator (no extra keys allowed) */\r\nexport const strictObject = <T extends Record<string, any>>(shape: { [K in keyof T]: VldBase<unknown, T[K]> }) =>\r\n VldObject.create(shape).strict();\r\n\r\n/** Create a loose object validator (extra keys passed through) */\r\nexport const looseObject = <T extends Record<string, any>>(shape: { [K in keyof T]: VldBase<unknown, T[K]> }) =>\r\n VldObject.create(shape).passthrough();\r\n\r\n/** Create a tuple validator */\r\nexport const tuple = <T extends readonly VldBase<any, any>[]>(...items: T) => VldTuple.create(...items);\r\n\r\n/** Create a record validator */\r\nexport const record = <T>(value: VldBase<unknown, T>) => VldRecord.create(value);\r\n\r\n/** Create a partial record validator */\r\nexport const partialRecord = <T>(value: VldBase<unknown, T>) => VldRecord.create(value).partial();\r\n\r\n/** Create a loose record validator */\r\nexport const looseRecord = <T>(value: VldBase<unknown, T>) => VldRecord.create(value).loose();\r\n\r\n/** Create a set validator */\r\nexport const set = <T>(item: VldBase<unknown, T>) => VldSet.create(item);\r\n\r\n/** Create a map validator */\r\nexport const map = <K, V>(key: VldBase<unknown, K>, value: VldBase<unknown, V>) => VldMap.create(key, value);\r\n\r\n// --- Union & Intersection ---\r\n\r\n/** Create a union validator (value must match one of the validators) */\r\nexport const union = <T extends readonly VldBase<any, any>[]>(...validators: T) =>\r\n VldUnion.create(...validators);\r\n\r\n/** Create an intersection validator (value must match both validators) */\r\nexport const intersection = <A, B>(first: VldBase<unknown, A>, second: VldBase<unknown, B>) =>\r\n VldIntersection.create(first, second);\r\n\r\n/** Create a discriminated union validator */\r\nexport const 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\r\n/** Create an XOR validator (value must match exactly one of the validators) */\r\nexport const xor = <T extends readonly VldBase<any, any>[]>(...options: T) =>\r\n VldXor.create([...options] as any);\r\n\r\n// --- Literal & Enum ---\r\n\r\n/** Create a literal validator */\r\nexport const literal = <T extends string | number | boolean | null | undefined>(value: T) =>\r\n VldLiteral.create(value);\r\n\r\n/** Create an enum validator */\r\nexport const enumValidator = <T extends readonly [string, ...string[]]>(...values: T) => VldEnum.create(values as any);\r\n\r\n// --- Special Validators ---\r\n\r\n/** Create a validator that accepts any value */\r\nexport const any = () => VldAny.create();\r\n\r\n/** Create a validator that accepts unknown values */\r\nexport const unknown = () => VldUnknown.create();\r\n\r\n/** Create a void validator */\r\nexport const voidValidator = () => VldVoid.create();\r\n\r\n/** Create a never validator (always fails) */\r\nexport const never = () => VldNever.create();\r\n\r\n/** Create a null validator */\r\nexport const nullValidator = () => VldNull.create();\r\n\r\n/** Create an undefined validator */\r\nexport const undefinedValidator = () => VldUndefined.create();\r\n\r\n/** Create a NaN validator */\r\nexport const nan = () => VldNan.create();\r\n\r\n// --- Utility Validators ---\r\n\r\n/** Create a lazy validator for recursive schemas */\r\nexport const lazy = <T>(schemaGetter: () => VldBase<unknown, T>) => VldLazy.create(schemaGetter);\r\n\r\n/** Create a JSON validator */\r\nexport const json = <T = unknown>(schema?: VldBase<unknown, T>) => VldJson.create(schema);\r\n\r\n// ============================================\r\n// Utility Functions (Wrappers)\r\n// ============================================\r\n\r\n/** Make a validator optional (allows undefined) */\r\nexport const optional = <TInput, TOutput>(validator: VldBase<TInput, TOutput>) =>\r\n VldOptional.create(validator);\r\n\r\n/** Make a validator nullable (allows null) */\r\nexport const nullable = <TInput, TOutput>(validator: VldBase<TInput, TOutput>) =>\r\n VldNullable.create(validator);\r\n\r\n/** Make a validator nullish (allows null or undefined) */\r\nexport const nullish = <TInput, TOutput>(validator: VldBase<TInput, TOutput>) =>\r\n VldNullish.create(validator);\r\n\r\n/** Preprocess input before validation */\r\nexport const 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// ============================================\r\n// Coercion Validators\r\n// ============================================\r\n\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/** Coercion validators - convert values to target type before validation */\r\nexport const coerce = {\r\n /** Coerce to string */\r\n string: () => VldCoerceString.create(),\r\n /** Coerce to number */\r\n number: () => VldCoerceNumber.create(),\r\n /** Coerce to boolean */\r\n boolean: () => VldCoerceBoolean.create(),\r\n /** Coerce to date */\r\n date: () => VldCoerceDate.create(),\r\n /** Coerce to bigint */\r\n bigint: () => VldCoerceBigInt.create(),\r\n};\r\n\r\n// ============================================\r\n// NEVER Constant (for transforms)\r\n// ============================================\r\n\r\n/** NEVER constant for use in transforms - Zod 4 API parity */\r\nexport const NEVER = VldNever.create();\r\n"],"names":[],"mappings":"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"}
package/dist/pigment.js CHANGED
@@ -8,7 +8,7 @@
8
8
  /**
9
9
  * Check if colors are supported in the current environment
10
10
  */
11
- export function supportsColor() {
11
+ function supportsColor() {
12
12
  // Check for NO_COLOR environment variable
13
13
  if (typeof process !== 'undefined' && process.env?.NO_COLOR) {
14
14
  return false;
@@ -93,7 +93,7 @@ function createColorFn(code) {
93
93
  /**
94
94
  * Pigment - Color utilities for terminal output
95
95
  */
96
- export const pigment = {
96
+ const pigment = {
97
97
  // Check support
98
98
  supportsColor,
99
99
  // Reset
@@ -152,11 +152,11 @@ export const pigment = {
152
152
  codes: ANSI
153
153
  };
154
154
  // Aliases for convenience
155
- export const { bold, dim, italic, underline, red, green, yellow, blue, magenta, cyan, white, gray, grey, success, error, warning, info, muted, strip } = pigment;
155
+ const { bold, dim, italic, underline, red, green, yellow, blue, magenta, cyan, white, gray, grey, success, error, warning, info, muted, strip } = pigment;
156
156
  /**
157
157
  * Default VLD theme for error formatting
158
158
  */
159
- export const vldTheme = {
159
+ const vldTheme = {
160
160
  error: red,
161
161
  success: green,
162
162
  warning: yellow,
@@ -170,8 +170,9 @@ export const vldTheme = {
170
170
  /**
171
171
  * Create a custom theme
172
172
  */
173
- export function createTheme(overrides = {}) {
173
+ function createTheme(overrides = {}) {
174
174
  return { ...vldTheme, ...overrides };
175
175
  }
176
- export default pigment;
177
- //# sourceMappingURL=pigment.js.map
176
+
177
+ export { blue, bold, createTheme, cyan, pigment as default, dim, error, gray, green, grey, info, italic, magenta, muted, pigment, red, strip, success, supportsColor, underline, vldTheme, warning, white, yellow };
178
+ //# sourceMappingURL=pigment.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pigment.js","sourceRoot":"","sources":["../src/pigment.ts"],"names":[],"mappings":"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","sourcesContent":["/**\r\n * VLD Pigment - Colored Console Output\r\n *\r\n * This module provides ANSI color utilities for terminal output,\r\n * compatible with @oxog/pigment when available.\r\n */\r\n\r\n/* eslint-disable @typescript-eslint/no-explicit-any */\r\ndeclare const window: any;\r\n/* eslint-enable @typescript-eslint/no-explicit-any */\r\n\r\n/**\r\n * Check if colors are supported in the current environment\r\n */\r\nexport function supportsColor(): boolean {\r\n // Check for NO_COLOR environment variable\r\n if (typeof process !== 'undefined' && process.env?.NO_COLOR) {\r\n return false;\r\n }\r\n\r\n // Check for FORCE_COLOR environment variable\r\n if (typeof process !== 'undefined' && process.env?.FORCE_COLOR) {\r\n return true;\r\n }\r\n\r\n // Check for TTY\r\n if (typeof process !== 'undefined' && process.stdout?.isTTY) {\r\n return true;\r\n }\r\n\r\n // Browser environment - no ANSI colors\r\n if (typeof window !== 'undefined') {\r\n return false;\r\n }\r\n\r\n return false;\r\n}\r\n\r\n/**\r\n * ANSI escape codes\r\n */\r\nconst ANSI = {\r\n // Reset\r\n reset: '\\x1b[0m',\r\n\r\n // Styles\r\n bold: '\\x1b[1m',\r\n dim: '\\x1b[2m',\r\n italic: '\\x1b[3m',\r\n underline: '\\x1b[4m',\r\n blink: '\\x1b[5m',\r\n inverse: '\\x1b[7m',\r\n hidden: '\\x1b[8m',\r\n strikethrough: '\\x1b[9m',\r\n\r\n // Foreground colors\r\n black: '\\x1b[30m',\r\n red: '\\x1b[31m',\r\n green: '\\x1b[32m',\r\n yellow: '\\x1b[33m',\r\n blue: '\\x1b[34m',\r\n magenta: '\\x1b[35m',\r\n cyan: '\\x1b[36m',\r\n white: '\\x1b[37m',\r\n gray: '\\x1b[90m',\r\n grey: '\\x1b[90m',\r\n\r\n // Bright foreground colors\r\n brightRed: '\\x1b[91m',\r\n brightGreen: '\\x1b[92m',\r\n brightYellow: '\\x1b[93m',\r\n brightBlue: '\\x1b[94m',\r\n brightMagenta: '\\x1b[95m',\r\n brightCyan: '\\x1b[96m',\r\n brightWhite: '\\x1b[97m',\r\n\r\n // Background colors\r\n bgBlack: '\\x1b[40m',\r\n bgRed: '\\x1b[41m',\r\n bgGreen: '\\x1b[42m',\r\n bgYellow: '\\x1b[43m',\r\n bgBlue: '\\x1b[44m',\r\n bgMagenta: '\\x1b[45m',\r\n bgCyan: '\\x1b[46m',\r\n bgWhite: '\\x1b[47m',\r\n\r\n // Bright background colors\r\n bgBrightRed: '\\x1b[101m',\r\n bgBrightGreen: '\\x1b[102m',\r\n bgBrightYellow: '\\x1b[103m',\r\n bgBrightBlue: '\\x1b[104m',\r\n bgBrightMagenta: '\\x1b[105m',\r\n bgBrightCyan: '\\x1b[106m',\r\n bgBrightWhite: '\\x1b[107m'\r\n} as const;\r\n\r\n/**\r\n * Create a color function\r\n */\r\nfunction createColorFn(code: string): (text: string) => string {\r\n const enabled = supportsColor();\r\n return (text: string): string => {\r\n if (!enabled || text === '') return text;\r\n return `${code}${text}${ANSI.reset}`;\r\n };\r\n}\r\n\r\n/**\r\n * Pigment - Color utilities for terminal output\r\n */\r\nexport const pigment = {\r\n // Check support\r\n supportsColor,\r\n\r\n // Reset\r\n reset: (text: string): string => text,\r\n\r\n // Styles\r\n bold: createColorFn(ANSI.bold),\r\n dim: createColorFn(ANSI.dim),\r\n italic: createColorFn(ANSI.italic),\r\n underline: createColorFn(ANSI.underline),\r\n inverse: createColorFn(ANSI.inverse),\r\n hidden: createColorFn(ANSI.hidden),\r\n strikethrough: createColorFn(ANSI.strikethrough),\r\n\r\n // Foreground colors\r\n black: createColorFn(ANSI.black),\r\n red: createColorFn(ANSI.red),\r\n green: createColorFn(ANSI.green),\r\n yellow: createColorFn(ANSI.yellow),\r\n blue: createColorFn(ANSI.blue),\r\n magenta: createColorFn(ANSI.magenta),\r\n cyan: createColorFn(ANSI.cyan),\r\n white: createColorFn(ANSI.white),\r\n gray: createColorFn(ANSI.gray),\r\n grey: createColorFn(ANSI.grey),\r\n\r\n // Bright colors\r\n brightRed: createColorFn(ANSI.brightRed),\r\n brightGreen: createColorFn(ANSI.brightGreen),\r\n brightYellow: createColorFn(ANSI.brightYellow),\r\n brightBlue: createColorFn(ANSI.brightBlue),\r\n brightMagenta: createColorFn(ANSI.brightMagenta),\r\n brightCyan: createColorFn(ANSI.brightCyan),\r\n brightWhite: createColorFn(ANSI.brightWhite),\r\n\r\n // Background colors\r\n bgBlack: createColorFn(ANSI.bgBlack),\r\n bgRed: createColorFn(ANSI.bgRed),\r\n bgGreen: createColorFn(ANSI.bgGreen),\r\n bgYellow: createColorFn(ANSI.bgYellow),\r\n bgBlue: createColorFn(ANSI.bgBlue),\r\n bgMagenta: createColorFn(ANSI.bgMagenta),\r\n bgCyan: createColorFn(ANSI.bgCyan),\r\n bgWhite: createColorFn(ANSI.bgWhite),\r\n\r\n // Semantic colors\r\n success: createColorFn(ANSI.green),\r\n error: createColorFn(ANSI.red),\r\n warning: createColorFn(ANSI.yellow),\r\n info: createColorFn(ANSI.blue),\r\n muted: createColorFn(ANSI.gray),\r\n\r\n // Combine multiple styles\r\n combine: (...codes: string[]) =>\r\n (text: string): string => {\r\n if (!supportsColor()) return text;\r\n return `${codes.join('')}${text}${ANSI.reset}`;\r\n },\r\n\r\n // Strip ANSI codes from string\r\n strip: (text: string): string =>\r\n text.replace(\r\n /[\\u001b\\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,\r\n ''\r\n ),\r\n\r\n // Get raw ANSI codes\r\n codes: ANSI\r\n};\r\n\r\n// Aliases for convenience\r\nexport const {\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 success,\r\n error,\r\n warning,\r\n info,\r\n muted,\r\n strip\r\n} = pigment;\r\n\r\n/**\r\n * Create a custom theme\r\n */\r\nexport interface Theme {\r\n error: (text: string) => string;\r\n success: (text: string) => string;\r\n warning: (text: string) => string;\r\n info: (text: string) => string;\r\n muted: (text: string) => string;\r\n path: (text: string) => string;\r\n value: (text: string) => string;\r\n key: (text: string) => string;\r\n symbol: (text: string) => string;\r\n}\r\n\r\n/**\r\n * Default VLD theme for error formatting\r\n */\r\nexport const vldTheme: Theme = {\r\n error: red,\r\n success: green,\r\n warning: yellow,\r\n info: blue,\r\n muted: dim,\r\n path: cyan,\r\n value: yellow,\r\n key: bold,\r\n symbol: red\r\n};\r\n\r\n/**\r\n * Create a custom theme\r\n */\r\nexport function createTheme(overrides: Partial<Theme> = {}): Theme {\r\n return { ...vldTheme, ...overrides };\r\n}\r\n\r\nexport default pigment;\r\n"]}
1
+ {"version":3,"file":"pigment.js","sources":["../src/pigment.ts"],"sourcesContent":["/**\r\n * VLD Pigment - Colored Console Output\r\n *\r\n * This module provides ANSI color utilities for terminal output,\r\n * compatible with @oxog/pigment when available.\r\n */\r\n\r\n/* eslint-disable @typescript-eslint/no-explicit-any */\r\ndeclare const window: any;\r\n/* eslint-enable @typescript-eslint/no-explicit-any */\r\n\r\n/**\r\n * Check if colors are supported in the current environment\r\n */\r\nexport function supportsColor(): boolean {\r\n // Check for NO_COLOR environment variable\r\n if (typeof process !== 'undefined' && process.env?.NO_COLOR) {\r\n return false;\r\n }\r\n\r\n // Check for FORCE_COLOR environment variable\r\n if (typeof process !== 'undefined' && process.env?.FORCE_COLOR) {\r\n return true;\r\n }\r\n\r\n // Check for TTY\r\n if (typeof process !== 'undefined' && process.stdout?.isTTY) {\r\n return true;\r\n }\r\n\r\n // Browser environment - no ANSI colors\r\n if (typeof window !== 'undefined') {\r\n return false;\r\n }\r\n\r\n return false;\r\n}\r\n\r\n/**\r\n * ANSI escape codes\r\n */\r\nconst ANSI = {\r\n // Reset\r\n reset: '\\x1b[0m',\r\n\r\n // Styles\r\n bold: '\\x1b[1m',\r\n dim: '\\x1b[2m',\r\n italic: '\\x1b[3m',\r\n underline: '\\x1b[4m',\r\n blink: '\\x1b[5m',\r\n inverse: '\\x1b[7m',\r\n hidden: '\\x1b[8m',\r\n strikethrough: '\\x1b[9m',\r\n\r\n // Foreground colors\r\n black: '\\x1b[30m',\r\n red: '\\x1b[31m',\r\n green: '\\x1b[32m',\r\n yellow: '\\x1b[33m',\r\n blue: '\\x1b[34m',\r\n magenta: '\\x1b[35m',\r\n cyan: '\\x1b[36m',\r\n white: '\\x1b[37m',\r\n gray: '\\x1b[90m',\r\n grey: '\\x1b[90m',\r\n\r\n // Bright foreground colors\r\n brightRed: '\\x1b[91m',\r\n brightGreen: '\\x1b[92m',\r\n brightYellow: '\\x1b[93m',\r\n brightBlue: '\\x1b[94m',\r\n brightMagenta: '\\x1b[95m',\r\n brightCyan: '\\x1b[96m',\r\n brightWhite: '\\x1b[97m',\r\n\r\n // Background colors\r\n bgBlack: '\\x1b[40m',\r\n bgRed: '\\x1b[41m',\r\n bgGreen: '\\x1b[42m',\r\n bgYellow: '\\x1b[43m',\r\n bgBlue: '\\x1b[44m',\r\n bgMagenta: '\\x1b[45m',\r\n bgCyan: '\\x1b[46m',\r\n bgWhite: '\\x1b[47m',\r\n\r\n // Bright background colors\r\n bgBrightRed: '\\x1b[101m',\r\n bgBrightGreen: '\\x1b[102m',\r\n bgBrightYellow: '\\x1b[103m',\r\n bgBrightBlue: '\\x1b[104m',\r\n bgBrightMagenta: '\\x1b[105m',\r\n bgBrightCyan: '\\x1b[106m',\r\n bgBrightWhite: '\\x1b[107m'\r\n} as const;\r\n\r\n/**\r\n * Create a color function\r\n */\r\nfunction createColorFn(code: string): (text: string) => string {\r\n const enabled = supportsColor();\r\n return (text: string): string => {\r\n if (!enabled || text === '') return text;\r\n return `${code}${text}${ANSI.reset}`;\r\n };\r\n}\r\n\r\n/**\r\n * Pigment - Color utilities for terminal output\r\n */\r\nexport const pigment = {\r\n // Check support\r\n supportsColor,\r\n\r\n // Reset\r\n reset: (text: string): string => text,\r\n\r\n // Styles\r\n bold: createColorFn(ANSI.bold),\r\n dim: createColorFn(ANSI.dim),\r\n italic: createColorFn(ANSI.italic),\r\n underline: createColorFn(ANSI.underline),\r\n inverse: createColorFn(ANSI.inverse),\r\n hidden: createColorFn(ANSI.hidden),\r\n strikethrough: createColorFn(ANSI.strikethrough),\r\n\r\n // Foreground colors\r\n black: createColorFn(ANSI.black),\r\n red: createColorFn(ANSI.red),\r\n green: createColorFn(ANSI.green),\r\n yellow: createColorFn(ANSI.yellow),\r\n blue: createColorFn(ANSI.blue),\r\n magenta: createColorFn(ANSI.magenta),\r\n cyan: createColorFn(ANSI.cyan),\r\n white: createColorFn(ANSI.white),\r\n gray: createColorFn(ANSI.gray),\r\n grey: createColorFn(ANSI.grey),\r\n\r\n // Bright colors\r\n brightRed: createColorFn(ANSI.brightRed),\r\n brightGreen: createColorFn(ANSI.brightGreen),\r\n brightYellow: createColorFn(ANSI.brightYellow),\r\n brightBlue: createColorFn(ANSI.brightBlue),\r\n brightMagenta: createColorFn(ANSI.brightMagenta),\r\n brightCyan: createColorFn(ANSI.brightCyan),\r\n brightWhite: createColorFn(ANSI.brightWhite),\r\n\r\n // Background colors\r\n bgBlack: createColorFn(ANSI.bgBlack),\r\n bgRed: createColorFn(ANSI.bgRed),\r\n bgGreen: createColorFn(ANSI.bgGreen),\r\n bgYellow: createColorFn(ANSI.bgYellow),\r\n bgBlue: createColorFn(ANSI.bgBlue),\r\n bgMagenta: createColorFn(ANSI.bgMagenta),\r\n bgCyan: createColorFn(ANSI.bgCyan),\r\n bgWhite: createColorFn(ANSI.bgWhite),\r\n\r\n // Semantic colors\r\n success: createColorFn(ANSI.green),\r\n error: createColorFn(ANSI.red),\r\n warning: createColorFn(ANSI.yellow),\r\n info: createColorFn(ANSI.blue),\r\n muted: createColorFn(ANSI.gray),\r\n\r\n // Combine multiple styles\r\n combine: (...codes: string[]) =>\r\n (text: string): string => {\r\n if (!supportsColor()) return text;\r\n return `${codes.join('')}${text}${ANSI.reset}`;\r\n },\r\n\r\n // Strip ANSI codes from string\r\n strip: (text: string): string =>\r\n text.replace(\r\n /[\\u001b\\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,\r\n ''\r\n ),\r\n\r\n // Get raw ANSI codes\r\n codes: ANSI\r\n};\r\n\r\n// Aliases for convenience\r\nexport const {\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 success,\r\n error,\r\n warning,\r\n info,\r\n muted,\r\n strip\r\n} = pigment;\r\n\r\n/**\r\n * Create a custom theme\r\n */\r\nexport interface Theme {\r\n error: (text: string) => string;\r\n success: (text: string) => string;\r\n warning: (text: string) => string;\r\n info: (text: string) => string;\r\n muted: (text: string) => string;\r\n path: (text: string) => string;\r\n value: (text: string) => string;\r\n key: (text: string) => string;\r\n symbol: (text: string) => string;\r\n}\r\n\r\n/**\r\n * Default VLD theme for error formatting\r\n */\r\nexport const vldTheme: Theme = {\r\n error: red,\r\n success: green,\r\n warning: yellow,\r\n info: blue,\r\n muted: dim,\r\n path: cyan,\r\n value: yellow,\r\n key: bold,\r\n symbol: red\r\n};\r\n\r\n/**\r\n * Create a custom theme\r\n */\r\nexport function createTheme(overrides: Partial<Theme> = {}): Theme {\r\n return { ...vldTheme, ...overrides };\r\n}\r\n\r\nexport default pigment;\r\n"],"names":[],"mappings":"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"}
@@ -20,6 +20,11 @@ export declare class VldArray<T> extends VldBase<unknown[], T[]> {
20
20
  * Safely parse and validate an array value
21
21
  */
22
22
  safeParse(value: unknown): ParseResult<T[]>;
23
+ /**
24
+ * Optimized uniqueness check using Map-based approach
25
+ * Avoids repeated stableStringify calls by caching serialized values
26
+ */
27
+ private checkUnique;
23
28
  /**
24
29
  * Create a stable string representation of an object for hashing
25
30
  * Handles circular references and deep nesting gracefully
@@ -1 +1 @@
1
- {"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../src/validators/array.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAe9C;;GAEG;AACH,qBAAa,QAAQ,CAAC,CAAC,CAAE,SAAQ,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC;IACtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IAEjD;;OAEG;IACH,OAAO;IAKP;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;IAIjE;;OAEG;IACH,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,CAAC,EAAE;IA6C1B;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC;IAQ3C;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAqDvB;;OAEG;IACH,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;IAQlD;;OAEG;IACH,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;IAQlD;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;IAUrD;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;IAQvC;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;IAQrC;;OAEG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;CAQjE"}
1
+ {"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../src/validators/array.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAe9C;;GAEG;AACH,qBAAa,QAAQ,CAAC,CAAC,CAAE,SAAQ,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC;IACtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IAEjD;;OAEG;IACH,OAAO;IAKP;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;IAIjE;;OAEG;IACH,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,CAAC,EAAE;IAsC1B;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC;IAQ3C;;;OAGG;IACH,OAAO,CAAC,WAAW;IA8BnB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAqDvB;;OAEG;IACH,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;IAQlD;;OAEG;IACH,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;IAQlD;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;IAUrD;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;IAQvC;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;IAQrC;;OAEG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;CAQjE"}
@@ -1 +1 @@
1
- {"version":3,"file":"discriminated-union.d.ts","sourceRoot":"","sources":["../../src/validators/discriminated-union.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAIjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAgB1C;;;GAGG;AACH,qBAAa,qBAAqB,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CACtF,SAAQ,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAKjF,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAJ3B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkC;gBAGjD,cAAc,EAAE,CAAC,EACjB,QAAQ,EAAE,OAAO;IA4BpC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EACjE,aAAa,EAAE,CAAC,EAChB,OAAO,EAAE,OAAO,GACf,qBAAqB,CAAC,CAAC,EAAE,OAAO,CAAC;IAIpC,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK;IAQhF,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAiCjG;;OAEG;IACH,gBAAgB,IAAI,CAAC;IAIrB;;OAEG;IACH,UAAU,IAAI,OAAO;CAGtB"}
1
+ {"version":3,"file":"discriminated-union.d.ts","sourceRoot":"","sources":["../../src/validators/discriminated-union.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAIjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAe1C;;;GAGG;AACH,qBAAa,qBAAqB,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CACtF,SAAQ,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAKjF,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAJ3B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkC;gBAGjD,cAAc,EAAE,CAAC,EACjB,QAAQ,EAAE,OAAO;IA4BpC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EACjE,aAAa,EAAE,CAAC,EAChB,OAAO,EAAE,OAAO,GACf,qBAAqB,CAAC,CAAC,EAAE,OAAO,CAAC;IAIpC,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK;IAQhF,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAiCjG;;OAEG;IACH,gBAAgB,IAAI,CAAC;IAIrB;;OAEG;IACH,UAAU,IAAI,OAAO;CAGtB"}
@@ -3,12 +3,16 @@ import { VldBase, ParseResult } from './base';
3
3
  * Immutable enum validator for string enum values
4
4
  */
5
5
  export declare class VldEnum<T extends readonly [string, ...string[]]> extends VldBase<string, T[number]> {
6
- private readonly values;
6
+ private readonly _values;
7
7
  private readonly errorMessage?;
8
8
  /**
9
9
  * Private constructor to enforce immutability
10
10
  */
11
11
  private constructor();
12
+ /**
13
+ * Get the enum values
14
+ */
15
+ get values(): T;
12
16
  /**
13
17
  * Create a new enum validator
14
18
  */
@@ -1 +1 @@
1
- {"version":3,"file":"enum.d.ts","sourceRoot":"","sources":["../../src/validators/enum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAG9C;;GAEG;AACH,qBAAa,OAAO,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAE,SAAQ,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IAK7F,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IALhC;;OAEG;IACH,OAAO;IAOP;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAI9E;;OAEG;IACH,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC;IAiBhC;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAuBjD;;;OAGG;IACH,OAAO,CAAC,KAAK,CAAC,CAAC,SAAS,SAAS,MAAM,EAAE,EAAE,GAAG,aAAa,EAAE,CAAC,GAAG,OAAO,CACtE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAC1G;IASD;;;OAGG;IACH,OAAO,CAAC,KAAK,CAAC,CAAC,SAAS,SAAS,MAAM,EAAE,EAAE,GAAG,aAAa,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;CAQhG"}
1
+ {"version":3,"file":"enum.d.ts","sourceRoot":"","sources":["../../src/validators/enum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAG9C;;GAEG;AACH,qBAAa,OAAO,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAE,SAAQ,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IAK7F,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IALhC;;OAEG;IACH,OAAO;IAOP;;OAEG;IACH,IAAI,MAAM,IAAI,CAAC,CAEd;IAED;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAI9E;;OAEG;IACH,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC;IAiBhC;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAuBjD;;;OAGG;IACH,OAAO,CAAC,KAAK,CAAC,CAAC,SAAS,SAAS,MAAM,EAAE,EAAE,GAAG,aAAa,EAAE,CAAC,GAAG,OAAO,CACtE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAC1G;IASD;;;OAGG;IACH,OAAO,CAAC,KAAK,CAAC,CAAC,SAAS,SAAS,MAAM,EAAE,EAAE,GAAG,aAAa,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;CAQhG"}
@@ -1,45 +1,5 @@
1
- /**
2
- * Main entry point for all validators
3
- */
4
- // Export base types and classes
5
- export { VldBase, VldRefine, VldTransform, VldDefault, VldCatch, VldOptional, VldNullable, VldNullish, VldPipe, VldReadonly, VldBrand, VldSuperRefine, VldPreprocess } from './base.js';
6
- // Export primitive validators
7
- export { VldString } from './string.js';
8
- export { VldNumber } from './number.js';
9
- export { VldBoolean } from './boolean.js';
10
- export { VldDate } from './date.js';
11
- export { VldStringBool } from './string-bool.js';
12
- // Export complex validators
13
- export { VldArray } from './array.js';
14
- export { VldObject } from './object.js';
15
- // Export utility validators (to be implemented)
16
- export { VldUnion } from './union.js';
17
- export { VldIntersection } from './intersection.js';
18
- export { VldLiteral } from './literal.js';
19
- export { VldEnum } from './enum.js';
20
- export { VldTuple } from './tuple.js';
21
- export { VldRecord } from './record.js';
22
- export { VldSet } from './set.js';
23
- export { VldMap } from './map.js';
24
- export { VldBigInt } from './bigint.js';
25
- export { VldSymbol } from './symbol.js';
26
- // Export special validators
27
- export { VldAny } from './any.js';
28
- export { VldUnknown } from './unknown.js';
29
- export { VldVoid } from './void.js';
30
- export { VldNever } from './never.js';
31
- // Export Zod 4 parity validators
32
- export { VldNull } from './null.js';
33
- export { VldUndefined } from './undefined.js';
34
- export { VldNan } from './nan.js';
35
- export { VldLazy } from './lazy.js';
36
- export { VldDiscriminatedUnion } from './discriminated-union.js';
37
- export { VldXor } from './xor.js';
38
- export { VldJson } from './json.js';
39
- export { VldTemplateLiteral, templateLiteral } from './template-literal.js';
40
- export { VldCustom, custom } from './custom.js';
41
- export { VldFile, file } from './file.js';
42
- export { VldFunction, functionValidator } from './function.js';
43
- // Export string format validators
44
- export { email, uuid, uuidv4, hostname, emoji, base64, base64url, hex, jwt, nanoid, cuid, cuid2, ulid, ipv4, ipv6, mac, cidrv4, e164, hash, iso, stringFormat, regexes } from './string-formats.js';
45
- //# sourceMappingURL=index.js.map
1
+ export { i as VldBase, d as VldBigInt, b as VldBoolean, p as VldBrand, m as VldCatch, c as VldDate, l as VldDefault, f as VldNullable, g as VldNullish, a as VldNumber, e as VldOptional, n as VldPipe, h as VldPreprocess, o as VldReadonly, j as VldRefine, V as VldString, q as VldSuperRefine, k as VldTransform } from '../chunks/bigint-DgsCr2dC.js';
2
+ export { n as VldAny, b as VldArray, j as VldDiscriminatedUnion, m as VldEnum, i as VldIntersection, u as VldJson, t as VldLazy, l as VldLiteral, g as VldMap, s as VldNan, p as VldNever, q as VldNull, c as VldObject, e as VldRecord, f as VldSet, a as VldStringBool, V as VldSymbol, d as VldTuple, r as VldUndefined, h as VldUnion, o as VldVoid, k as VldXor } from '../chunks/json-o20GFhTh.js';
3
+ export { V as VldUnknown } from '../chunks/unknown-SLIH1VCf.js';
4
+ export { A as VldCustom, B as VldFile, C as VldFunction, V as VldTemplateLiteral, o as base64, l as base64url, a as cidrv4, g as cuid, f as cuid2, z as custom, e as e164, w as email, p as emoji, y as file, x as functionValidator, h as hash, k as hex, q as hostname, d as ipv4, b as ipv6, i as iso, j as jwt, m as mac, n as nanoid, R as regexes, s as stringFormat, t as templateLiteral, u as ulid, v as uuid, r as uuidv4 } from '../chunks/index-BZqWZvVe.js';
5
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validators/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,gCAAgC;AAChC,OAAO,EACL,OAAO,EAEP,SAAS,EACT,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,WAAW,EACX,WAAW,EACX,UAAU,EACV,OAAO,EACP,WAAW,EACX,QAAQ,EAER,cAAc,EACd,aAAa,EACd,MAAM,QAAQ,CAAC;AAEhB,8BAA8B;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,4BAA4B;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,gDAAgD;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,4BAA4B;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,iCAAiC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAE7C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE5D,kCAAkC;AAClC,OAAO,EACL,KAAK,EACL,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,KAAK,EACL,MAAM,EACN,SAAS,EACT,GAAG,EACH,GAAG,EACH,MAAM,EACN,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,YAAY,EACZ,OAAO,EACR,MAAM,kBAAkB,CAAC","sourcesContent":["/**\r\n * Main entry point for all validators\r\n */\r\n\r\n// Export base types and classes\r\nexport {\r\n VldBase,\r\n ParseResult,\r\n VldRefine,\r\n VldTransform,\r\n VldDefault,\r\n VldCatch,\r\n VldOptional,\r\n VldNullable,\r\n VldNullish,\r\n VldPipe,\r\n VldReadonly,\r\n VldBrand,\r\n SuperRefineContext,\r\n VldSuperRefine,\r\n VldPreprocess\r\n} from './base';\r\n\r\n// Export primitive validators\r\nexport { VldString } from './string';\r\nexport { VldNumber } from './number';\r\nexport { VldBoolean } from './boolean';\r\nexport { VldDate } from './date';\r\nexport { VldStringBool } from './string-bool';\r\n\r\n// Export complex validators\r\nexport { VldArray } from './array';\r\nexport { VldObject } from './object';\r\n\r\n// Export utility validators (to be implemented)\r\nexport { VldUnion } from './union';\r\nexport { VldIntersection } from './intersection';\r\nexport { VldLiteral } from './literal';\r\nexport { VldEnum } from './enum';\r\nexport { VldTuple } from './tuple';\r\nexport { VldRecord } from './record';\r\nexport { VldSet } from './set';\r\nexport { VldMap } from './map';\r\nexport { VldBigInt } from './bigint';\r\nexport { VldSymbol } from './symbol';\r\n\r\n// Export special validators\r\nexport { VldAny } from './any';\r\nexport { VldUnknown } from './unknown';\r\nexport { VldVoid } from './void';\r\nexport { VldNever } from './never';\r\n\r\n// Export Zod 4 parity validators\r\nexport { VldNull } from './null';\r\nexport { VldUndefined } from './undefined';\r\nexport { VldNan } from './nan';\r\nexport { VldLazy } from './lazy';\r\nexport { VldDiscriminatedUnion } from './discriminated-union';\r\nexport { VldXor } from './xor';\r\nexport { VldJson } from './json';\r\nexport { VldTemplateLiteral, templateLiteral } from './template-literal';\r\nexport { VldCustom, custom } from './custom';\r\nexport type { CustomValidatorOptions } from './custom';\r\nexport { VldFile, file } from './file';\r\nexport type { VldFileValue } from './file';\r\nexport { VldFunction, functionValidator } from './function';\r\n\r\n// Export string format validators\r\nexport {\r\n email,\r\n uuid,\r\n uuidv4,\r\n hostname,\r\n emoji,\r\n base64,\r\n base64url,\r\n hex,\r\n jwt,\r\n nanoid,\r\n cuid,\r\n cuid2,\r\n ulid,\r\n ipv4,\r\n ipv6,\r\n mac,\r\n cidrv4,\r\n e164,\r\n hash,\r\n iso,\r\n stringFormat,\r\n regexes\r\n} from './string-formats';\r\n\r\n// Import base for type inference\r\nimport { VldBase } from './base';\r\n\r\n// Type inference helper\r\nexport type Infer<T extends VldBase<any, any>> = T extends VldBase<any, infer U> ? U : never;\r\n\r\n// Zod 4 API parity - Input and Output type utilities\r\nexport type Input<T extends VldBase<any, any>> = T extends VldBase<infer I, any> ? I : never;\r\nexport type Output<T extends VldBase<any, any>> = T extends VldBase<any, infer O> ? O : never;"]}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}