@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
package/dist/index.d.ts 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 { VldBase } from './validators/base';
12
17
  import { VldString } from './validators/string';
13
18
  import { VldNumber } from './validators/number';
14
19
  import { VldBoolean } from './validators/boolean';
15
20
  import { VldDate } from './validators/date';
21
+ import { VldStringBool } from './validators/string-bool';
16
22
  import { VldArray } from './validators/array';
17
23
  import { VldObject } from './validators/object';
18
24
  import { VldUnion } from './validators/union';
@@ -29,6 +35,15 @@ import { VldAny } from './validators/any';
29
35
  import { VldUnknown } from './validators/unknown';
30
36
  import { VldVoid } from './validators/void';
31
37
  import { VldNever } from './validators/never';
38
+ import { VldNull } from './validators/null';
39
+ import { VldUndefined } from './validators/undefined';
40
+ import { VldNan } from './validators/nan';
41
+ import { VldLazy } from './validators/lazy';
42
+ import { VldDiscriminatedUnion } from './validators/discriminated-union';
43
+ import { VldXor } from './validators/xor';
44
+ import { VldJson } from './validators/json';
45
+ import { type CustomValidatorOptions } from './validators/custom';
46
+ import { VldPreprocess } from './validators/base';
32
47
  import { VldOptional } from './validators/base';
33
48
  import { VldNullable } from './validators/base';
34
49
  import { VldNullish } from './validators/base';
@@ -42,11 +57,11 @@ import { VldCoerceBoolean } from './coercion/boolean';
42
57
  import { VldCoerceDate } from './coercion/date';
43
58
  import { VldCoerceBigInt } from './coercion/bigint';
44
59
  export type { ParseResult } from './validators/base';
45
- export type { Infer } from './validators';
60
+ export type { Infer, Input, Output } from './validators';
46
61
  export { VldBase } from './validators/base';
47
62
  export { VldIntersection } from './validators/intersection';
48
63
  export { setLocale, getLocale, getMessages, type Locale } from './locales';
49
- export { VldError, VldIssue, VldErrorCode, VldErrorTree, VldFlattenedError, treeifyError, prettifyError, flattenError } from './errors';
64
+ export { VldError, VldIssue, VldErrorCode, VldErrorTree, VldFlattenedError, VldErrorJSON, treeifyError, prettifyError, prettifyErrorColored, prettifyErrorPlain, flattenError, type PrettifyOptions } from './errors';
50
65
  export { base64ToUint8Array, uint8ArrayToBase64, uint8ArrayToBase64Url, hexToUint8Array, uint8ArrayToHex, stringToUint8Array, uint8ArrayToString } from './utils/codec-utils';
51
66
  export type { CodecTransform } from './validators/codec';
52
67
  export { stringToNumber, stringToInt, stringToBigInt, numberToBigInt, stringToBoolean, isoDatetimeToDate, epochSecondsToDate, epochMillisToDate, jsonCodec, stringToURL, stringToHttpURL, uriComponent, base64ToBytes, base64UrlToBytes, base64urlToBytes, hexToBytes, hexLowerToBytes, utf8ToBytes, bytesToUtf8, base64Json, jwtPayload } from './codecs';
@@ -56,27 +71,50 @@ export { stringToNumber, stringToInt, stringToBigInt, numberToBigInt, stringToBo
56
71
  export declare const v: {
57
72
  string: () => VldString;
58
73
  number: () => VldNumber;
74
+ int: () => VldNumber;
75
+ int32: () => VldNumber;
59
76
  boolean: () => VldBoolean;
60
77
  date: () => VldDate;
61
78
  bigint: () => VldBigInt;
62
79
  symbol: () => VldSymbol;
80
+ stringbool: (options?: {
81
+ truthy?: readonly string[];
82
+ falsy?: readonly string[];
83
+ caseSensitive?: boolean;
84
+ }) => VldStringBool;
63
85
  array: <T>(item: VldBase<unknown, T>) => VldArray<T>;
64
86
  object: <T extends Record<string, any>>(shape: { [K in keyof T]: VldBase<unknown, T[K]>; }) => VldObject<T>;
87
+ strictObject: <T extends Record<string, any>>(shape: { [K in keyof T]: VldBase<unknown, T[K]>; }) => VldObject<T>;
88
+ looseObject: <T extends Record<string, any>>(shape: { [K in keyof T]: VldBase<unknown, T[K]>; }) => VldObject<T>;
65
89
  tuple: <T extends readonly VldBase<any, any>[]>(...items: T) => VldTuple<[...T]>;
66
90
  record: <T>(value: VldBase<unknown, T>) => VldRecord<T>;
91
+ partialRecord: <T>(value: VldBase<unknown, T>) => VldRecord<T | undefined>;
92
+ looseRecord: <T>(value: VldBase<unknown, T>) => VldBase<unknown, Record<string, T>>;
67
93
  set: <T>(item: VldBase<unknown, T>) => VldSet<T>;
68
94
  map: <K, V>(key: VldBase<unknown, K>, value: VldBase<unknown, V>) => VldMap<K, V>;
69
95
  union: <T extends readonly VldBase<any, any>[]>(...validators: T) => VldUnion<[...T]>;
70
96
  intersection: <A, B>(first: VldBase<unknown, A>, second: VldBase<unknown, B>) => VldIntersection<A, B>;
97
+ discriminatedUnion: <K extends string, T extends readonly VldBase<any, any>[]>(discriminator: K, ...options: T) => VldDiscriminatedUnion<K, any>;
98
+ xor: <T extends readonly VldBase<any, any>[]>(...options: T) => VldXor<any>;
71
99
  literal: <T extends string | number | boolean | null | undefined>(value: T) => VldLiteral<T>;
72
100
  enum: <T extends readonly [string, ...string[]]>(...values: T) => VldEnum<any>;
73
101
  any: () => VldAny;
74
102
  unknown: () => VldUnknown;
75
103
  void: () => VldVoid;
76
104
  never: () => VldNever;
105
+ null: () => VldNull;
106
+ undefined: () => VldUndefined;
107
+ nan: () => VldNan;
108
+ NEVER: VldNever;
77
109
  optional: <T>(validator: VldBase<unknown, T>) => VldOptional<unknown, T>;
78
110
  nullable: <T>(validator: VldBase<unknown, T>) => VldNullable<unknown, T>;
79
111
  nullish: <T>(validator: VldBase<unknown, T>) => VldNullish<unknown, T>;
112
+ lazy: <T>(schemaGetter: () => VldBase<unknown, T>) => VldLazy<unknown, T>;
113
+ json: <T = unknown>(schema?: VldBase<unknown, T>) => VldJson<T>;
114
+ custom: <TOutput = unknown>(options: CustomValidatorOptions<TOutput>) => import("./validators").VldCustom<TOutput>;
115
+ file: () => import("./validators").VldFile;
116
+ function: () => import("./validators").VldFunction;
117
+ preprocess: <TInput, TOutput>(preprocessor: (input: unknown) => unknown, schema: VldBase<TInput, TOutput>) => VldPreprocess<TInput, TOutput>;
80
118
  coerce: {
81
119
  string: () => VldCoerceString;
82
120
  number: () => VldCoerceNumber;
@@ -84,13 +122,577 @@ export declare const v: {
84
122
  date: () => VldCoerceDate;
85
123
  bigint: () => VldCoerceBigInt;
86
124
  };
87
- base64: () => VldBase64;
88
- hex: () => VldHex;
125
+ email: (options?: {
126
+ pattern?: RegExp;
127
+ }) => {
128
+ readonly _format: string;
129
+ readonly _validator: (val: string) => boolean;
130
+ readonly _errorMessage?: string | undefined;
131
+ parse(value: unknown): string;
132
+ safeParse(value: unknown): import("./validators").ParseResult<string>;
133
+ isValid(value: unknown): boolean;
134
+ parseOrDefault(value: unknown, defaultValue: string): string;
135
+ refine<TRefined extends string>(predicate: (value: string) => value is TRefined, message?: string): import("./validators").VldRefine<unknown, string, TRefined>;
136
+ refine(predicate: (value: string) => boolean, message?: string): import("./validators").VldRefine<unknown, string, string>;
137
+ superRefine(refinement: (value: string, ctx: import("./validators").SuperRefineContext) => void | Promise<void>): import("./validators").VldSuperRefine<unknown, string>;
138
+ transform<TTransformed>(transformer: (value: string) => TTransformed): import("./validators").VldTransform<unknown, string, TTransformed>;
139
+ default(defaultValue: string): import("./validators").VldDefault<unknown, string>;
140
+ catch(fallbackValue: string): import("./validators").VldCatch<unknown, string>;
141
+ optional(): VldOptional<unknown, string>;
142
+ nullable(): VldNullable<unknown, string>;
143
+ nullish(): VldNullish<unknown, string>;
144
+ pipe<TNextOutput>(next: VldBase<string, TNextOutput>): import("./validators").VldPipe<unknown, string, TNextOutput>;
145
+ readonly(): import("./validators").VldReadonly<unknown, string>;
146
+ brand<TBrand extends string>(): import("./validators").VldBrand<unknown, string, TBrand>;
147
+ apply<TNewOutput>(fn: (schema: /*elided*/ any) => VldBase<unknown, TNewOutput>): VldBase<unknown, TNewOutput>;
148
+ };
149
+ uuid: (options?: {
150
+ version?: "v4" | "v6" | "v7";
151
+ }) => {
152
+ readonly _format: string;
153
+ readonly _validator: (val: string) => boolean;
154
+ readonly _errorMessage?: string | undefined;
155
+ parse(value: unknown): string;
156
+ safeParse(value: unknown): import("./validators").ParseResult<string>;
157
+ isValid(value: unknown): boolean;
158
+ parseOrDefault(value: unknown, defaultValue: string): string;
159
+ refine<TRefined extends string>(predicate: (value: string) => value is TRefined, message?: string): import("./validators").VldRefine<unknown, string, TRefined>;
160
+ refine(predicate: (value: string) => boolean, message?: string): import("./validators").VldRefine<unknown, string, string>;
161
+ superRefine(refinement: (value: string, ctx: import("./validators").SuperRefineContext) => void | Promise<void>): import("./validators").VldSuperRefine<unknown, string>;
162
+ transform<TTransformed>(transformer: (value: string) => TTransformed): import("./validators").VldTransform<unknown, string, TTransformed>;
163
+ default(defaultValue: string): import("./validators").VldDefault<unknown, string>;
164
+ catch(fallbackValue: string): import("./validators").VldCatch<unknown, string>;
165
+ optional(): VldOptional<unknown, string>;
166
+ nullable(): VldNullable<unknown, string>;
167
+ nullish(): VldNullish<unknown, string>;
168
+ pipe<TNextOutput>(next: VldBase<string, TNextOutput>): import("./validators").VldPipe<unknown, string, TNextOutput>;
169
+ readonly(): import("./validators").VldReadonly<unknown, string>;
170
+ brand<TBrand extends string>(): import("./validators").VldBrand<unknown, string, TBrand>;
171
+ apply<TNewOutput>(fn: (schema: /*elided*/ any) => VldBase<unknown, TNewOutput>): VldBase<unknown, TNewOutput>;
172
+ };
173
+ uuidv4: () => {
174
+ readonly _format: string;
175
+ readonly _validator: (val: string) => boolean;
176
+ readonly _errorMessage?: string | undefined;
177
+ parse(value: unknown): string;
178
+ safeParse(value: unknown): import("./validators").ParseResult<string>;
179
+ isValid(value: unknown): boolean;
180
+ parseOrDefault(value: unknown, defaultValue: string): string;
181
+ refine<TRefined extends string>(predicate: (value: string) => value is TRefined, message?: string): import("./validators").VldRefine<unknown, string, TRefined>;
182
+ refine(predicate: (value: string) => boolean, message?: string): import("./validators").VldRefine<unknown, string, string>;
183
+ superRefine(refinement: (value: string, ctx: import("./validators").SuperRefineContext) => void | Promise<void>): import("./validators").VldSuperRefine<unknown, string>;
184
+ transform<TTransformed>(transformer: (value: string) => TTransformed): import("./validators").VldTransform<unknown, string, TTransformed>;
185
+ default(defaultValue: string): import("./validators").VldDefault<unknown, string>;
186
+ catch(fallbackValue: string): import("./validators").VldCatch<unknown, string>;
187
+ optional(): VldOptional<unknown, string>;
188
+ nullable(): VldNullable<unknown, string>;
189
+ nullish(): VldNullish<unknown, string>;
190
+ pipe<TNextOutput>(next: VldBase<string, TNextOutput>): import("./validators").VldPipe<unknown, string, TNextOutput>;
191
+ readonly(): import("./validators").VldReadonly<unknown, string>;
192
+ brand<TBrand extends string>(): import("./validators").VldBrand<unknown, string, TBrand>;
193
+ apply<TNewOutput>(fn: (schema: /*elided*/ any) => VldBase<unknown, TNewOutput>): VldBase<unknown, TNewOutput>;
194
+ };
195
+ hostname: () => {
196
+ readonly _format: string;
197
+ readonly _validator: (val: string) => boolean;
198
+ readonly _errorMessage?: string | undefined;
199
+ parse(value: unknown): string;
200
+ safeParse(value: unknown): import("./validators").ParseResult<string>;
201
+ isValid(value: unknown): boolean;
202
+ parseOrDefault(value: unknown, defaultValue: string): string;
203
+ refine<TRefined extends string>(predicate: (value: string) => value is TRefined, message?: string): import("./validators").VldRefine<unknown, string, TRefined>;
204
+ refine(predicate: (value: string) => boolean, message?: string): import("./validators").VldRefine<unknown, string, string>;
205
+ superRefine(refinement: (value: string, ctx: import("./validators").SuperRefineContext) => void | Promise<void>): import("./validators").VldSuperRefine<unknown, string>;
206
+ transform<TTransformed>(transformer: (value: string) => TTransformed): import("./validators").VldTransform<unknown, string, TTransformed>;
207
+ default(defaultValue: string): import("./validators").VldDefault<unknown, string>;
208
+ catch(fallbackValue: string): import("./validators").VldCatch<unknown, string>;
209
+ optional(): VldOptional<unknown, string>;
210
+ nullable(): VldNullable<unknown, string>;
211
+ nullish(): VldNullish<unknown, string>;
212
+ pipe<TNextOutput>(next: VldBase<string, TNextOutput>): import("./validators").VldPipe<unknown, string, TNextOutput>;
213
+ readonly(): import("./validators").VldReadonly<unknown, string>;
214
+ brand<TBrand extends string>(): import("./validators").VldBrand<unknown, string, TBrand>;
215
+ apply<TNewOutput>(fn: (schema: /*elided*/ any) => VldBase<unknown, TNewOutput>): VldBase<unknown, TNewOutput>;
216
+ };
217
+ emoji: () => {
218
+ readonly _format: string;
219
+ readonly _validator: (val: string) => boolean;
220
+ readonly _errorMessage?: string | undefined;
221
+ parse(value: unknown): string;
222
+ safeParse(value: unknown): import("./validators").ParseResult<string>;
223
+ isValid(value: unknown): boolean;
224
+ parseOrDefault(value: unknown, defaultValue: string): string;
225
+ refine<TRefined extends string>(predicate: (value: string) => value is TRefined, message?: string): import("./validators").VldRefine<unknown, string, TRefined>;
226
+ refine(predicate: (value: string) => boolean, message?: string): import("./validators").VldRefine<unknown, string, string>;
227
+ superRefine(refinement: (value: string, ctx: import("./validators").SuperRefineContext) => void | Promise<void>): import("./validators").VldSuperRefine<unknown, string>;
228
+ transform<TTransformed>(transformer: (value: string) => TTransformed): import("./validators").VldTransform<unknown, string, TTransformed>;
229
+ default(defaultValue: string): import("./validators").VldDefault<unknown, string>;
230
+ catch(fallbackValue: string): import("./validators").VldCatch<unknown, string>;
231
+ optional(): VldOptional<unknown, string>;
232
+ nullable(): VldNullable<unknown, string>;
233
+ nullish(): VldNullish<unknown, string>;
234
+ pipe<TNextOutput>(next: VldBase<string, TNextOutput>): import("./validators").VldPipe<unknown, string, TNextOutput>;
235
+ readonly(): import("./validators").VldReadonly<unknown, string>;
236
+ brand<TBrand extends string>(): import("./validators").VldBrand<unknown, string, TBrand>;
237
+ apply<TNewOutput>(fn: (schema: /*elided*/ any) => VldBase<unknown, TNewOutput>): VldBase<unknown, TNewOutput>;
238
+ };
239
+ base64: () => {
240
+ readonly _format: string;
241
+ readonly _validator: (val: string) => boolean;
242
+ readonly _errorMessage?: string | undefined;
243
+ parse(value: unknown): string;
244
+ safeParse(value: unknown): import("./validators").ParseResult<string>;
245
+ isValid(value: unknown): boolean;
246
+ parseOrDefault(value: unknown, defaultValue: string): string;
247
+ refine<TRefined extends string>(predicate: (value: string) => value is TRefined, message?: string): import("./validators").VldRefine<unknown, string, TRefined>;
248
+ refine(predicate: (value: string) => boolean, message?: string): import("./validators").VldRefine<unknown, string, string>;
249
+ superRefine(refinement: (value: string, ctx: import("./validators").SuperRefineContext) => void | Promise<void>): import("./validators").VldSuperRefine<unknown, string>;
250
+ transform<TTransformed>(transformer: (value: string) => TTransformed): import("./validators").VldTransform<unknown, string, TTransformed>;
251
+ default(defaultValue: string): import("./validators").VldDefault<unknown, string>;
252
+ catch(fallbackValue: string): import("./validators").VldCatch<unknown, string>;
253
+ optional(): VldOptional<unknown, string>;
254
+ nullable(): VldNullable<unknown, string>;
255
+ nullish(): VldNullish<unknown, string>;
256
+ pipe<TNextOutput>(next: VldBase<string, TNextOutput>): import("./validators").VldPipe<unknown, string, TNextOutput>;
257
+ readonly(): import("./validators").VldReadonly<unknown, string>;
258
+ brand<TBrand extends string>(): import("./validators").VldBrand<unknown, string, TBrand>;
259
+ apply<TNewOutput>(fn: (schema: /*elided*/ any) => VldBase<unknown, TNewOutput>): VldBase<unknown, TNewOutput>;
260
+ };
261
+ base64url: () => {
262
+ readonly _format: string;
263
+ readonly _validator: (val: string) => boolean;
264
+ readonly _errorMessage?: string | undefined;
265
+ parse(value: unknown): string;
266
+ safeParse(value: unknown): import("./validators").ParseResult<string>;
267
+ isValid(value: unknown): boolean;
268
+ parseOrDefault(value: unknown, defaultValue: string): string;
269
+ refine<TRefined extends string>(predicate: (value: string) => value is TRefined, message?: string): import("./validators").VldRefine<unknown, string, TRefined>;
270
+ refine(predicate: (value: string) => boolean, message?: string): import("./validators").VldRefine<unknown, string, string>;
271
+ superRefine(refinement: (value: string, ctx: import("./validators").SuperRefineContext) => void | Promise<void>): import("./validators").VldSuperRefine<unknown, string>;
272
+ transform<TTransformed>(transformer: (value: string) => TTransformed): import("./validators").VldTransform<unknown, string, TTransformed>;
273
+ default(defaultValue: string): import("./validators").VldDefault<unknown, string>;
274
+ catch(fallbackValue: string): import("./validators").VldCatch<unknown, string>;
275
+ optional(): VldOptional<unknown, string>;
276
+ nullable(): VldNullable<unknown, string>;
277
+ nullish(): VldNullish<unknown, string>;
278
+ pipe<TNextOutput>(next: VldBase<string, TNextOutput>): import("./validators").VldPipe<unknown, string, TNextOutput>;
279
+ readonly(): import("./validators").VldReadonly<unknown, string>;
280
+ brand<TBrand extends string>(): import("./validators").VldBrand<unknown, string, TBrand>;
281
+ apply<TNewOutput>(fn: (schema: /*elided*/ any) => VldBase<unknown, TNewOutput>): VldBase<unknown, TNewOutput>;
282
+ };
283
+ hex: () => {
284
+ readonly _format: string;
285
+ readonly _validator: (val: string) => boolean;
286
+ readonly _errorMessage?: string | undefined;
287
+ parse(value: unknown): string;
288
+ safeParse(value: unknown): import("./validators").ParseResult<string>;
289
+ isValid(value: unknown): boolean;
290
+ parseOrDefault(value: unknown, defaultValue: string): string;
291
+ refine<TRefined extends string>(predicate: (value: string) => value is TRefined, message?: string): import("./validators").VldRefine<unknown, string, TRefined>;
292
+ refine(predicate: (value: string) => boolean, message?: string): import("./validators").VldRefine<unknown, string, string>;
293
+ superRefine(refinement: (value: string, ctx: import("./validators").SuperRefineContext) => void | Promise<void>): import("./validators").VldSuperRefine<unknown, string>;
294
+ transform<TTransformed>(transformer: (value: string) => TTransformed): import("./validators").VldTransform<unknown, string, TTransformed>;
295
+ default(defaultValue: string): import("./validators").VldDefault<unknown, string>;
296
+ catch(fallbackValue: string): import("./validators").VldCatch<unknown, string>;
297
+ optional(): VldOptional<unknown, string>;
298
+ nullable(): VldNullable<unknown, string>;
299
+ nullish(): VldNullish<unknown, string>;
300
+ pipe<TNextOutput>(next: VldBase<string, TNextOutput>): import("./validators").VldPipe<unknown, string, TNextOutput>;
301
+ readonly(): import("./validators").VldReadonly<unknown, string>;
302
+ brand<TBrand extends string>(): import("./validators").VldBrand<unknown, string, TBrand>;
303
+ apply<TNewOutput>(fn: (schema: /*elided*/ any) => VldBase<unknown, TNewOutput>): VldBase<unknown, TNewOutput>;
304
+ };
305
+ jwt: () => {
306
+ readonly _format: string;
307
+ readonly _validator: (val: string) => boolean;
308
+ readonly _errorMessage?: string | undefined;
309
+ parse(value: unknown): string;
310
+ safeParse(value: unknown): import("./validators").ParseResult<string>;
311
+ isValid(value: unknown): boolean;
312
+ parseOrDefault(value: unknown, defaultValue: string): string;
313
+ refine<TRefined extends string>(predicate: (value: string) => value is TRefined, message?: string): import("./validators").VldRefine<unknown, string, TRefined>;
314
+ refine(predicate: (value: string) => boolean, message?: string): import("./validators").VldRefine<unknown, string, string>;
315
+ superRefine(refinement: (value: string, ctx: import("./validators").SuperRefineContext) => void | Promise<void>): import("./validators").VldSuperRefine<unknown, string>;
316
+ transform<TTransformed>(transformer: (value: string) => TTransformed): import("./validators").VldTransform<unknown, string, TTransformed>;
317
+ default(defaultValue: string): import("./validators").VldDefault<unknown, string>;
318
+ catch(fallbackValue: string): import("./validators").VldCatch<unknown, string>;
319
+ optional(): VldOptional<unknown, string>;
320
+ nullable(): VldNullable<unknown, string>;
321
+ nullish(): VldNullish<unknown, string>;
322
+ pipe<TNextOutput>(next: VldBase<string, TNextOutput>): import("./validators").VldPipe<unknown, string, TNextOutput>;
323
+ readonly(): import("./validators").VldReadonly<unknown, string>;
324
+ brand<TBrand extends string>(): import("./validators").VldBrand<unknown, string, TBrand>;
325
+ apply<TNewOutput>(fn: (schema: /*elided*/ any) => VldBase<unknown, TNewOutput>): VldBase<unknown, TNewOutput>;
326
+ };
327
+ nanoid: () => {
328
+ readonly _format: string;
329
+ readonly _validator: (val: string) => boolean;
330
+ readonly _errorMessage?: string | undefined;
331
+ parse(value: unknown): string;
332
+ safeParse(value: unknown): import("./validators").ParseResult<string>;
333
+ isValid(value: unknown): boolean;
334
+ parseOrDefault(value: unknown, defaultValue: string): string;
335
+ refine<TRefined extends string>(predicate: (value: string) => value is TRefined, message?: string): import("./validators").VldRefine<unknown, string, TRefined>;
336
+ refine(predicate: (value: string) => boolean, message?: string): import("./validators").VldRefine<unknown, string, string>;
337
+ superRefine(refinement: (value: string, ctx: import("./validators").SuperRefineContext) => void | Promise<void>): import("./validators").VldSuperRefine<unknown, string>;
338
+ transform<TTransformed>(transformer: (value: string) => TTransformed): import("./validators").VldTransform<unknown, string, TTransformed>;
339
+ default(defaultValue: string): import("./validators").VldDefault<unknown, string>;
340
+ catch(fallbackValue: string): import("./validators").VldCatch<unknown, string>;
341
+ optional(): VldOptional<unknown, string>;
342
+ nullable(): VldNullable<unknown, string>;
343
+ nullish(): VldNullish<unknown, string>;
344
+ pipe<TNextOutput>(next: VldBase<string, TNextOutput>): import("./validators").VldPipe<unknown, string, TNextOutput>;
345
+ readonly(): import("./validators").VldReadonly<unknown, string>;
346
+ brand<TBrand extends string>(): import("./validators").VldBrand<unknown, string, TBrand>;
347
+ apply<TNewOutput>(fn: (schema: /*elided*/ any) => VldBase<unknown, TNewOutput>): VldBase<unknown, TNewOutput>;
348
+ };
349
+ cuid: () => {
350
+ readonly _format: string;
351
+ readonly _validator: (val: string) => boolean;
352
+ readonly _errorMessage?: string | undefined;
353
+ parse(value: unknown): string;
354
+ safeParse(value: unknown): import("./validators").ParseResult<string>;
355
+ isValid(value: unknown): boolean;
356
+ parseOrDefault(value: unknown, defaultValue: string): string;
357
+ refine<TRefined extends string>(predicate: (value: string) => value is TRefined, message?: string): import("./validators").VldRefine<unknown, string, TRefined>;
358
+ refine(predicate: (value: string) => boolean, message?: string): import("./validators").VldRefine<unknown, string, string>;
359
+ superRefine(refinement: (value: string, ctx: import("./validators").SuperRefineContext) => void | Promise<void>): import("./validators").VldSuperRefine<unknown, string>;
360
+ transform<TTransformed>(transformer: (value: string) => TTransformed): import("./validators").VldTransform<unknown, string, TTransformed>;
361
+ default(defaultValue: string): import("./validators").VldDefault<unknown, string>;
362
+ catch(fallbackValue: string): import("./validators").VldCatch<unknown, string>;
363
+ optional(): VldOptional<unknown, string>;
364
+ nullable(): VldNullable<unknown, string>;
365
+ nullish(): VldNullish<unknown, string>;
366
+ pipe<TNextOutput>(next: VldBase<string, TNextOutput>): import("./validators").VldPipe<unknown, string, TNextOutput>;
367
+ readonly(): import("./validators").VldReadonly<unknown, string>;
368
+ brand<TBrand extends string>(): import("./validators").VldBrand<unknown, string, TBrand>;
369
+ apply<TNewOutput>(fn: (schema: /*elided*/ any) => VldBase<unknown, TNewOutput>): VldBase<unknown, TNewOutput>;
370
+ };
371
+ cuid2: () => {
372
+ readonly _format: string;
373
+ readonly _validator: (val: string) => boolean;
374
+ readonly _errorMessage?: string | undefined;
375
+ parse(value: unknown): string;
376
+ safeParse(value: unknown): import("./validators").ParseResult<string>;
377
+ isValid(value: unknown): boolean;
378
+ parseOrDefault(value: unknown, defaultValue: string): string;
379
+ refine<TRefined extends string>(predicate: (value: string) => value is TRefined, message?: string): import("./validators").VldRefine<unknown, string, TRefined>;
380
+ refine(predicate: (value: string) => boolean, message?: string): import("./validators").VldRefine<unknown, string, string>;
381
+ superRefine(refinement: (value: string, ctx: import("./validators").SuperRefineContext) => void | Promise<void>): import("./validators").VldSuperRefine<unknown, string>;
382
+ transform<TTransformed>(transformer: (value: string) => TTransformed): import("./validators").VldTransform<unknown, string, TTransformed>;
383
+ default(defaultValue: string): import("./validators").VldDefault<unknown, string>;
384
+ catch(fallbackValue: string): import("./validators").VldCatch<unknown, string>;
385
+ optional(): VldOptional<unknown, string>;
386
+ nullable(): VldNullable<unknown, string>;
387
+ nullish(): VldNullish<unknown, string>;
388
+ pipe<TNextOutput>(next: VldBase<string, TNextOutput>): import("./validators").VldPipe<unknown, string, TNextOutput>;
389
+ readonly(): import("./validators").VldReadonly<unknown, string>;
390
+ brand<TBrand extends string>(): import("./validators").VldBrand<unknown, string, TBrand>;
391
+ apply<TNewOutput>(fn: (schema: /*elided*/ any) => VldBase<unknown, TNewOutput>): VldBase<unknown, TNewOutput>;
392
+ };
393
+ ulid: () => {
394
+ readonly _format: string;
395
+ readonly _validator: (val: string) => boolean;
396
+ readonly _errorMessage?: string | undefined;
397
+ parse(value: unknown): string;
398
+ safeParse(value: unknown): import("./validators").ParseResult<string>;
399
+ isValid(value: unknown): boolean;
400
+ parseOrDefault(value: unknown, defaultValue: string): string;
401
+ refine<TRefined extends string>(predicate: (value: string) => value is TRefined, message?: string): import("./validators").VldRefine<unknown, string, TRefined>;
402
+ refine(predicate: (value: string) => boolean, message?: string): import("./validators").VldRefine<unknown, string, string>;
403
+ superRefine(refinement: (value: string, ctx: import("./validators").SuperRefineContext) => void | Promise<void>): import("./validators").VldSuperRefine<unknown, string>;
404
+ transform<TTransformed>(transformer: (value: string) => TTransformed): import("./validators").VldTransform<unknown, string, TTransformed>;
405
+ default(defaultValue: string): import("./validators").VldDefault<unknown, string>;
406
+ catch(fallbackValue: string): import("./validators").VldCatch<unknown, string>;
407
+ optional(): VldOptional<unknown, string>;
408
+ nullable(): VldNullable<unknown, string>;
409
+ nullish(): VldNullish<unknown, string>;
410
+ pipe<TNextOutput>(next: VldBase<string, TNextOutput>): import("./validators").VldPipe<unknown, string, TNextOutput>;
411
+ readonly(): import("./validators").VldReadonly<unknown, string>;
412
+ brand<TBrand extends string>(): import("./validators").VldBrand<unknown, string, TBrand>;
413
+ apply<TNewOutput>(fn: (schema: /*elided*/ any) => VldBase<unknown, TNewOutput>): VldBase<unknown, TNewOutput>;
414
+ };
415
+ ipv4: () => {
416
+ readonly _format: string;
417
+ readonly _validator: (val: string) => boolean;
418
+ readonly _errorMessage?: string | undefined;
419
+ parse(value: unknown): string;
420
+ safeParse(value: unknown): import("./validators").ParseResult<string>;
421
+ isValid(value: unknown): boolean;
422
+ parseOrDefault(value: unknown, defaultValue: string): string;
423
+ refine<TRefined extends string>(predicate: (value: string) => value is TRefined, message?: string): import("./validators").VldRefine<unknown, string, TRefined>;
424
+ refine(predicate: (value: string) => boolean, message?: string): import("./validators").VldRefine<unknown, string, string>;
425
+ superRefine(refinement: (value: string, ctx: import("./validators").SuperRefineContext) => void | Promise<void>): import("./validators").VldSuperRefine<unknown, string>;
426
+ transform<TTransformed>(transformer: (value: string) => TTransformed): import("./validators").VldTransform<unknown, string, TTransformed>;
427
+ default(defaultValue: string): import("./validators").VldDefault<unknown, string>;
428
+ catch(fallbackValue: string): import("./validators").VldCatch<unknown, string>;
429
+ optional(): VldOptional<unknown, string>;
430
+ nullable(): VldNullable<unknown, string>;
431
+ nullish(): VldNullish<unknown, string>;
432
+ pipe<TNextOutput>(next: VldBase<string, TNextOutput>): import("./validators").VldPipe<unknown, string, TNextOutput>;
433
+ readonly(): import("./validators").VldReadonly<unknown, string>;
434
+ brand<TBrand extends string>(): import("./validators").VldBrand<unknown, string, TBrand>;
435
+ apply<TNewOutput>(fn: (schema: /*elided*/ any) => VldBase<unknown, TNewOutput>): VldBase<unknown, TNewOutput>;
436
+ };
437
+ ipv6: () => {
438
+ readonly _format: string;
439
+ readonly _validator: (val: string) => boolean;
440
+ readonly _errorMessage?: string | undefined;
441
+ parse(value: unknown): string;
442
+ safeParse(value: unknown): import("./validators").ParseResult<string>;
443
+ isValid(value: unknown): boolean;
444
+ parseOrDefault(value: unknown, defaultValue: string): string;
445
+ refine<TRefined extends string>(predicate: (value: string) => value is TRefined, message?: string): import("./validators").VldRefine<unknown, string, TRefined>;
446
+ refine(predicate: (value: string) => boolean, message?: string): import("./validators").VldRefine<unknown, string, string>;
447
+ superRefine(refinement: (value: string, ctx: import("./validators").SuperRefineContext) => void | Promise<void>): import("./validators").VldSuperRefine<unknown, string>;
448
+ transform<TTransformed>(transformer: (value: string) => TTransformed): import("./validators").VldTransform<unknown, string, TTransformed>;
449
+ default(defaultValue: string): import("./validators").VldDefault<unknown, string>;
450
+ catch(fallbackValue: string): import("./validators").VldCatch<unknown, string>;
451
+ optional(): VldOptional<unknown, string>;
452
+ nullable(): VldNullable<unknown, string>;
453
+ nullish(): VldNullish<unknown, string>;
454
+ pipe<TNextOutput>(next: VldBase<string, TNextOutput>): import("./validators").VldPipe<unknown, string, TNextOutput>;
455
+ readonly(): import("./validators").VldReadonly<unknown, string>;
456
+ brand<TBrand extends string>(): import("./validators").VldBrand<unknown, string, TBrand>;
457
+ apply<TNewOutput>(fn: (schema: /*elided*/ any) => VldBase<unknown, TNewOutput>): VldBase<unknown, TNewOutput>;
458
+ };
459
+ mac: () => {
460
+ readonly _format: string;
461
+ readonly _validator: (val: string) => boolean;
462
+ readonly _errorMessage?: string | undefined;
463
+ parse(value: unknown): string;
464
+ safeParse(value: unknown): import("./validators").ParseResult<string>;
465
+ isValid(value: unknown): boolean;
466
+ parseOrDefault(value: unknown, defaultValue: string): string;
467
+ refine<TRefined extends string>(predicate: (value: string) => value is TRefined, message?: string): import("./validators").VldRefine<unknown, string, TRefined>;
468
+ refine(predicate: (value: string) => boolean, message?: string): import("./validators").VldRefine<unknown, string, string>;
469
+ superRefine(refinement: (value: string, ctx: import("./validators").SuperRefineContext) => void | Promise<void>): import("./validators").VldSuperRefine<unknown, string>;
470
+ transform<TTransformed>(transformer: (value: string) => TTransformed): import("./validators").VldTransform<unknown, string, TTransformed>;
471
+ default(defaultValue: string): import("./validators").VldDefault<unknown, string>;
472
+ catch(fallbackValue: string): import("./validators").VldCatch<unknown, string>;
473
+ optional(): VldOptional<unknown, string>;
474
+ nullable(): VldNullable<unknown, string>;
475
+ nullish(): VldNullish<unknown, string>;
476
+ pipe<TNextOutput>(next: VldBase<string, TNextOutput>): import("./validators").VldPipe<unknown, string, TNextOutput>;
477
+ readonly(): import("./validators").VldReadonly<unknown, string>;
478
+ brand<TBrand extends string>(): import("./validators").VldBrand<unknown, string, TBrand>;
479
+ apply<TNewOutput>(fn: (schema: /*elided*/ any) => VldBase<unknown, TNewOutput>): VldBase<unknown, TNewOutput>;
480
+ };
481
+ cidrv4: () => {
482
+ readonly _format: string;
483
+ readonly _validator: (val: string) => boolean;
484
+ readonly _errorMessage?: string | undefined;
485
+ parse(value: unknown): string;
486
+ safeParse(value: unknown): import("./validators").ParseResult<string>;
487
+ isValid(value: unknown): boolean;
488
+ parseOrDefault(value: unknown, defaultValue: string): string;
489
+ refine<TRefined extends string>(predicate: (value: string) => value is TRefined, message?: string): import("./validators").VldRefine<unknown, string, TRefined>;
490
+ refine(predicate: (value: string) => boolean, message?: string): import("./validators").VldRefine<unknown, string, string>;
491
+ superRefine(refinement: (value: string, ctx: import("./validators").SuperRefineContext) => void | Promise<void>): import("./validators").VldSuperRefine<unknown, string>;
492
+ transform<TTransformed>(transformer: (value: string) => TTransformed): import("./validators").VldTransform<unknown, string, TTransformed>;
493
+ default(defaultValue: string): import("./validators").VldDefault<unknown, string>;
494
+ catch(fallbackValue: string): import("./validators").VldCatch<unknown, string>;
495
+ optional(): VldOptional<unknown, string>;
496
+ nullable(): VldNullable<unknown, string>;
497
+ nullish(): VldNullish<unknown, string>;
498
+ pipe<TNextOutput>(next: VldBase<string, TNextOutput>): import("./validators").VldPipe<unknown, string, TNextOutput>;
499
+ readonly(): import("./validators").VldReadonly<unknown, string>;
500
+ brand<TBrand extends string>(): import("./validators").VldBrand<unknown, string, TBrand>;
501
+ apply<TNewOutput>(fn: (schema: /*elided*/ any) => VldBase<unknown, TNewOutput>): VldBase<unknown, TNewOutput>;
502
+ };
503
+ cidrv6: () => {
504
+ readonly _format: string;
505
+ readonly _validator: (val: string) => boolean;
506
+ readonly _errorMessage?: string | undefined;
507
+ parse(value: unknown): string;
508
+ safeParse(value: unknown): import("./validators").ParseResult<string>;
509
+ isValid(value: unknown): boolean;
510
+ parseOrDefault(value: unknown, defaultValue: string): string;
511
+ refine<TRefined extends string>(predicate: (value: string) => value is TRefined, message?: string): import("./validators").VldRefine<unknown, string, TRefined>;
512
+ refine(predicate: (value: string) => boolean, message?: string): import("./validators").VldRefine<unknown, string, string>;
513
+ superRefine(refinement: (value: string, ctx: import("./validators").SuperRefineContext) => void | Promise<void>): import("./validators").VldSuperRefine<unknown, string>;
514
+ transform<TTransformed>(transformer: (value: string) => TTransformed): import("./validators").VldTransform<unknown, string, TTransformed>;
515
+ default(defaultValue: string): import("./validators").VldDefault<unknown, string>;
516
+ catch(fallbackValue: string): import("./validators").VldCatch<unknown, string>;
517
+ optional(): VldOptional<unknown, string>;
518
+ nullable(): VldNullable<unknown, string>;
519
+ nullish(): VldNullish<unknown, string>;
520
+ pipe<TNextOutput>(next: VldBase<string, TNextOutput>): import("./validators").VldPipe<unknown, string, TNextOutput>;
521
+ readonly(): import("./validators").VldReadonly<unknown, string>;
522
+ brand<TBrand extends string>(): import("./validators").VldBrand<unknown, string, TBrand>;
523
+ apply<TNewOutput>(fn: (schema: /*elided*/ any) => VldBase<unknown, TNewOutput>): VldBase<unknown, TNewOutput>;
524
+ };
525
+ e164: () => {
526
+ readonly _format: string;
527
+ readonly _validator: (val: string) => boolean;
528
+ readonly _errorMessage?: string | undefined;
529
+ parse(value: unknown): string;
530
+ safeParse(value: unknown): import("./validators").ParseResult<string>;
531
+ isValid(value: unknown): boolean;
532
+ parseOrDefault(value: unknown, defaultValue: string): string;
533
+ refine<TRefined extends string>(predicate: (value: string) => value is TRefined, message?: string): import("./validators").VldRefine<unknown, string, TRefined>;
534
+ refine(predicate: (value: string) => boolean, message?: string): import("./validators").VldRefine<unknown, string, string>;
535
+ superRefine(refinement: (value: string, ctx: import("./validators").SuperRefineContext) => void | Promise<void>): import("./validators").VldSuperRefine<unknown, string>;
536
+ transform<TTransformed>(transformer: (value: string) => TTransformed): import("./validators").VldTransform<unknown, string, TTransformed>;
537
+ default(defaultValue: string): import("./validators").VldDefault<unknown, string>;
538
+ catch(fallbackValue: string): import("./validators").VldCatch<unknown, string>;
539
+ optional(): VldOptional<unknown, string>;
540
+ nullable(): VldNullable<unknown, string>;
541
+ nullish(): VldNullish<unknown, string>;
542
+ pipe<TNextOutput>(next: VldBase<string, TNextOutput>): import("./validators").VldPipe<unknown, string, TNextOutput>;
543
+ readonly(): import("./validators").VldReadonly<unknown, string>;
544
+ brand<TBrand extends string>(): import("./validators").VldBrand<unknown, string, TBrand>;
545
+ apply<TNewOutput>(fn: (schema: /*elided*/ any) => VldBase<unknown, TNewOutput>): VldBase<unknown, TNewOutput>;
546
+ };
547
+ hash: (algorithm: "md5" | "sha1" | "sha256" | "sha384" | "sha512") => {
548
+ readonly _format: string;
549
+ readonly _validator: (val: string) => boolean;
550
+ readonly _errorMessage?: string | undefined;
551
+ parse(value: unknown): string;
552
+ safeParse(value: unknown): import("./validators").ParseResult<string>;
553
+ isValid(value: unknown): boolean;
554
+ parseOrDefault(value: unknown, defaultValue: string): string;
555
+ refine<TRefined extends string>(predicate: (value: string) => value is TRefined, message?: string): import("./validators").VldRefine<unknown, string, TRefined>;
556
+ refine(predicate: (value: string) => boolean, message?: string): import("./validators").VldRefine<unknown, string, string>;
557
+ superRefine(refinement: (value: string, ctx: import("./validators").SuperRefineContext) => void | Promise<void>): import("./validators").VldSuperRefine<unknown, string>;
558
+ transform<TTransformed>(transformer: (value: string) => TTransformed): import("./validators").VldTransform<unknown, string, TTransformed>;
559
+ default(defaultValue: string): import("./validators").VldDefault<unknown, string>;
560
+ catch(fallbackValue: string): import("./validators").VldCatch<unknown, string>;
561
+ optional(): VldOptional<unknown, string>;
562
+ nullable(): VldNullable<unknown, string>;
563
+ nullish(): VldNullish<unknown, string>;
564
+ pipe<TNextOutput>(next: VldBase<string, TNextOutput>): import("./validators").VldPipe<unknown, string, TNextOutput>;
565
+ readonly(): import("./validators").VldReadonly<unknown, string>;
566
+ brand<TBrand extends string>(): import("./validators").VldBrand<unknown, string, TBrand>;
567
+ apply<TNewOutput>(fn: (schema: /*elided*/ any) => VldBase<unknown, TNewOutput>): VldBase<unknown, TNewOutput>;
568
+ };
569
+ iso: {
570
+ date: () => {
571
+ readonly _format: string;
572
+ readonly _validator: (val: string) => boolean;
573
+ readonly _errorMessage?: string | undefined;
574
+ parse(value: unknown): string;
575
+ safeParse(value: unknown): import("./validators").ParseResult<string>;
576
+ isValid(value: unknown): boolean;
577
+ parseOrDefault(value: unknown, defaultValue: string): string;
578
+ refine<TRefined extends string>(predicate: (value: string) => value is TRefined, message?: string): import("./validators").VldRefine<unknown, string, TRefined>;
579
+ refine(predicate: (value: string) => boolean, message?: string): import("./validators").VldRefine<unknown, string, string>;
580
+ superRefine(refinement: (value: string, ctx: import("./validators").SuperRefineContext) => void | Promise<void>): import("./validators").VldSuperRefine<unknown, string>;
581
+ transform<TTransformed>(transformer: (value: string) => TTransformed): import("./validators").VldTransform<unknown, string, TTransformed>;
582
+ default(defaultValue: string): import("./validators").VldDefault<unknown, string>;
583
+ catch(fallbackValue: string): import("./validators").VldCatch<unknown, string>;
584
+ optional(): VldOptional<unknown, string>;
585
+ nullable(): VldNullable<unknown, string>;
586
+ nullish(): VldNullish<unknown, string>;
587
+ pipe<TNextOutput>(next: VldBase<string, TNextOutput>): import("./validators").VldPipe<unknown, string, TNextOutput>;
588
+ readonly(): import("./validators").VldReadonly<unknown, string>;
589
+ brand<TBrand extends string>(): import("./validators").VldBrand<unknown, string, TBrand>;
590
+ apply<TNewOutput>(fn: (schema: /*elided*/ any) => VldBase<unknown, TNewOutput>): VldBase<unknown, TNewOutput>;
591
+ };
592
+ time: () => {
593
+ readonly _format: string;
594
+ readonly _validator: (val: string) => boolean;
595
+ readonly _errorMessage?: string | undefined;
596
+ parse(value: unknown): string;
597
+ safeParse(value: unknown): import("./validators").ParseResult<string>;
598
+ isValid(value: unknown): boolean;
599
+ parseOrDefault(value: unknown, defaultValue: string): string;
600
+ refine<TRefined extends string>(predicate: (value: string) => value is TRefined, message?: string): import("./validators").VldRefine<unknown, string, TRefined>;
601
+ refine(predicate: (value: string) => boolean, message?: string): import("./validators").VldRefine<unknown, string, string>;
602
+ superRefine(refinement: (value: string, ctx: import("./validators").SuperRefineContext) => void | Promise<void>): import("./validators").VldSuperRefine<unknown, string>;
603
+ transform<TTransformed>(transformer: (value: string) => TTransformed): import("./validators").VldTransform<unknown, string, TTransformed>;
604
+ default(defaultValue: string): import("./validators").VldDefault<unknown, string>;
605
+ catch(fallbackValue: string): import("./validators").VldCatch<unknown, string>;
606
+ optional(): VldOptional<unknown, string>;
607
+ nullable(): VldNullable<unknown, string>;
608
+ nullish(): VldNullish<unknown, string>;
609
+ pipe<TNextOutput>(next: VldBase<string, TNextOutput>): import("./validators").VldPipe<unknown, string, TNextOutput>;
610
+ readonly(): import("./validators").VldReadonly<unknown, string>;
611
+ brand<TBrand extends string>(): import("./validators").VldBrand<unknown, string, TBrand>;
612
+ apply<TNewOutput>(fn: (schema: /*elided*/ any) => VldBase<unknown, TNewOutput>): VldBase<unknown, TNewOutput>;
613
+ };
614
+ dateTime: () => {
615
+ readonly _format: string;
616
+ readonly _validator: (val: string) => boolean;
617
+ readonly _errorMessage?: string | undefined;
618
+ parse(value: unknown): string;
619
+ safeParse(value: unknown): import("./validators").ParseResult<string>;
620
+ isValid(value: unknown): boolean;
621
+ parseOrDefault(value: unknown, defaultValue: string): string;
622
+ refine<TRefined extends string>(predicate: (value: string) => value is TRefined, message?: string): import("./validators").VldRefine<unknown, string, TRefined>;
623
+ refine(predicate: (value: string) => boolean, message?: string): import("./validators").VldRefine<unknown, string, string>;
624
+ superRefine(refinement: (value: string, ctx: import("./validators").SuperRefineContext) => void | Promise<void>): import("./validators").VldSuperRefine<unknown, string>;
625
+ transform<TTransformed>(transformer: (value: string) => TTransformed): import("./validators").VldTransform<unknown, string, TTransformed>;
626
+ default(defaultValue: string): import("./validators").VldDefault<unknown, string>;
627
+ catch(fallbackValue: string): import("./validators").VldCatch<unknown, string>;
628
+ optional(): VldOptional<unknown, string>;
629
+ nullable(): VldNullable<unknown, string>;
630
+ nullish(): VldNullish<unknown, string>;
631
+ pipe<TNextOutput>(next: VldBase<string, TNextOutput>): import("./validators").VldPipe<unknown, string, TNextOutput>;
632
+ readonly(): import("./validators").VldReadonly<unknown, string>;
633
+ brand<TBrand extends string>(): import("./validators").VldBrand<unknown, string, TBrand>;
634
+ apply<TNewOutput>(fn: (schema: /*elided*/ any) => VldBase<unknown, TNewOutput>): VldBase<unknown, TNewOutput>;
635
+ };
636
+ duration: () => {
637
+ readonly _format: string;
638
+ readonly _validator: (val: string) => boolean;
639
+ readonly _errorMessage?: string | undefined;
640
+ parse(value: unknown): string;
641
+ safeParse(value: unknown): import("./validators").ParseResult<string>;
642
+ isValid(value: unknown): boolean;
643
+ parseOrDefault(value: unknown, defaultValue: string): string;
644
+ refine<TRefined extends string>(predicate: (value: string) => value is TRefined, message?: string): import("./validators").VldRefine<unknown, string, TRefined>;
645
+ refine(predicate: (value: string) => boolean, message?: string): import("./validators").VldRefine<unknown, string, string>;
646
+ superRefine(refinement: (value: string, ctx: import("./validators").SuperRefineContext) => void | Promise<void>): import("./validators").VldSuperRefine<unknown, string>;
647
+ transform<TTransformed>(transformer: (value: string) => TTransformed): import("./validators").VldTransform<unknown, string, TTransformed>;
648
+ default(defaultValue: string): import("./validators").VldDefault<unknown, string>;
649
+ catch(fallbackValue: string): import("./validators").VldCatch<unknown, string>;
650
+ optional(): VldOptional<unknown, string>;
651
+ nullable(): VldNullable<unknown, string>;
652
+ nullish(): VldNullish<unknown, string>;
653
+ pipe<TNextOutput>(next: VldBase<string, TNextOutput>): import("./validators").VldPipe<unknown, string, TNextOutput>;
654
+ readonly(): import("./validators").VldReadonly<unknown, string>;
655
+ brand<TBrand extends string>(): import("./validators").VldBrand<unknown, string, TBrand>;
656
+ apply<TNewOutput>(fn: (schema: /*elided*/ any) => VldBase<unknown, TNewOutput>): VldBase<unknown, TNewOutput>;
657
+ };
658
+ };
659
+ stringFormat: (name: string, validator: ((val: string) => boolean) | RegExp) => {
660
+ readonly _format: string;
661
+ readonly _validator: (val: string) => boolean;
662
+ readonly _errorMessage?: string | undefined;
663
+ parse(value: unknown): string;
664
+ safeParse(value: unknown): import("./validators").ParseResult<string>;
665
+ isValid(value: unknown): boolean;
666
+ parseOrDefault(value: unknown, defaultValue: string): string;
667
+ refine<TRefined extends string>(predicate: (value: string) => value is TRefined, message?: string): import("./validators").VldRefine<unknown, string, TRefined>;
668
+ refine(predicate: (value: string) => boolean, message?: string): import("./validators").VldRefine<unknown, string, string>;
669
+ superRefine(refinement: (value: string, ctx: import("./validators").SuperRefineContext) => void | Promise<void>): import("./validators").VldSuperRefine<unknown, string>;
670
+ transform<TTransformed>(transformer: (value: string) => TTransformed): import("./validators").VldTransform<unknown, string, TTransformed>;
671
+ default(defaultValue: string): import("./validators").VldDefault<unknown, string>;
672
+ catch(fallbackValue: string): import("./validators").VldCatch<unknown, string>;
673
+ optional(): VldOptional<unknown, string>;
674
+ nullable(): VldNullable<unknown, string>;
675
+ nullish(): VldNullish<unknown, string>;
676
+ pipe<TNextOutput>(next: VldBase<string, TNextOutput>): import("./validators").VldPipe<unknown, string, TNextOutput>;
677
+ readonly(): import("./validators").VldReadonly<unknown, string>;
678
+ brand<TBrand extends string>(): import("./validators").VldBrand<unknown, string, TBrand>;
679
+ apply<TNewOutput>(fn: (schema: /*elided*/ any) => VldBase<unknown, TNewOutput>): VldBase<unknown, TNewOutput>;
680
+ };
681
+ templateLiteral: (...components: (VldBase<any, any> | string)[]) => import("./validators").VldTemplateLiteral;
682
+ base64Bytes: () => VldBase64;
683
+ hexBytes: () => VldHex;
89
684
  uint8Array: () => VldUint8Array;
90
685
  codec: <TInput, TOutput>(inputValidator: VldBase<unknown, TInput>, outputValidator: VldBase<unknown, TOutput>, transform: {
91
686
  decode: (value: TInput) => TOutput | Promise<TOutput>;
92
687
  encode: (value: TOutput) => TInput | Promise<TInput>;
93
688
  }) => VldCodec<TInput, TOutput>;
94
689
  };
690
+ export type { Result, VldResult } from './compat/result';
691
+ export { Ok, Err, success, failure, isOk, isErr, isResult, unwrap, unwrapOr, map, mapErr, flatMap, match, tryCatch, tryCatchAsync, all, fromNullable, ResultUtils } from './compat/result';
692
+ export { type EventMap, type EventHandler, type ListenerOptions, type Emitter, createEmitter, createEventBus, withEmitter } from './compat/emitter';
693
+ export type { VldEvents, VldEventPayload, ParseStartEvent, ParseSuccessEvent, ParseErrorEvent, FieldValidationEvent, TransformEvent, PluginRegisteredEvent, LocaleChangedEvent, DebugEvent, MetricsEvent } from './events';
694
+ export { createVldKernel, getVldKernel, resetVldKernel, usePlugin, definePlugin, type VldContext, type VldPlugin, type VldKernelInstance, type VldKernelOptions, type ValidatorFactory, type TransformFactory, type CodecFactory, type HookContext, type PluginBuilder, type PluginMeta, type PluginHooks } from './kernel';
695
+ export { createLogger, initLogger, getLogger, setLogLevel, enableDebug, disableLogging, createNoOpLogger, type Logger, type LoggerOptions, type LogLevel, type LogEntry, type LogHandler } from './logger';
696
+ export { pigment, supportsColor, bold, dim, italic, underline, red, green, yellow, blue, magenta, cyan, white, gray, grey, strip, vldTheme, createTheme, type Theme } from './pigment';
95
697
  export default v;
96
698
  //# sourceMappingURL=index.d.ts.map