@oxog/vld 1.3.1 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (334) hide show
  1. package/CHANGELOG.md +333 -284
  2. package/README.md +13 -12
  3. package/dist/cli/benchmark.d.ts +15 -0
  4. package/dist/cli/benchmark.d.ts.map +1 -0
  5. package/dist/cli/benchmark.js +248 -0
  6. package/dist/cli/benchmark.js.map +1 -0
  7. package/dist/cli/bin.d.ts +8 -0
  8. package/dist/cli/bin.d.ts.map +1 -0
  9. package/dist/cli/bin.js +35 -0
  10. package/dist/cli/bin.js.map +1 -0
  11. package/dist/cli/commands/benchmark.d.ts +11 -0
  12. package/dist/cli/commands/benchmark.d.ts.map +1 -0
  13. package/dist/cli/commands/benchmark.js +204 -0
  14. package/dist/cli/commands/benchmark.js.map +1 -0
  15. package/dist/cli/commands/validate.d.ts +11 -0
  16. package/dist/cli/commands/validate.d.ts.map +1 -0
  17. package/dist/cli/commands/validate.js +157 -0
  18. package/dist/cli/commands/validate.js.map +1 -0
  19. package/dist/cli/generate.d.ts +14 -0
  20. package/dist/cli/generate.d.ts.map +1 -0
  21. package/dist/cli/generate.js +233 -0
  22. package/dist/cli/generate.js.map +1 -0
  23. package/dist/cli/index.d.ts +59 -0
  24. package/dist/cli/index.d.ts.map +1 -0
  25. package/dist/cli/index.js +182 -0
  26. package/dist/cli/index.js.map +1 -0
  27. package/dist/cli/validate.d.ts +15 -0
  28. package/dist/cli/validate.d.ts.map +1 -0
  29. package/dist/cli/validate.js +162 -0
  30. package/dist/cli/validate.js.map +1 -0
  31. package/dist/codecs/index.d.ts.map +1 -1
  32. package/dist/codecs/index.js +29 -10
  33. package/dist/codecs/index.js.map +1 -1
  34. package/dist/coercion/bigint.js +1 -1
  35. package/dist/coercion/boolean.d.ts.map +1 -1
  36. package/dist/coercion/boolean.js +24 -32
  37. package/dist/coercion/boolean.js.map +1 -1
  38. package/dist/coercion/date.js +2 -2
  39. package/dist/coercion/date.js.map +1 -1
  40. package/dist/coercion/number.d.ts.map +1 -1
  41. package/dist/coercion/number.js +20 -4
  42. package/dist/coercion/number.js.map +1 -1
  43. package/dist/coercion/string.d.ts.map +1 -1
  44. package/dist/coercion/string.js +9 -73
  45. package/dist/coercion/string.js.map +1 -1
  46. package/dist/compat/emitter.d.ts +73 -0
  47. package/dist/compat/emitter.d.ts.map +1 -0
  48. package/dist/compat/emitter.js +179 -0
  49. package/dist/compat/emitter.js.map +1 -0
  50. package/dist/compat/index.d.ts +15 -0
  51. package/dist/compat/index.d.ts.map +1 -0
  52. package/dist/compat/index.js +14 -0
  53. package/dist/compat/index.js.map +1 -0
  54. package/dist/compat/result.d.ts +128 -0
  55. package/dist/compat/result.d.ts.map +1 -0
  56. package/dist/compat/result.js +169 -0
  57. package/dist/compat/result.js.map +1 -0
  58. package/dist/errors.d.ts +58 -1
  59. package/dist/errors.d.ts.map +1 -1
  60. package/dist/errors.js +97 -9
  61. package/dist/errors.js.map +1 -1
  62. package/dist/events.d.ts +140 -0
  63. package/dist/events.d.ts.map +1 -0
  64. package/dist/events.js +8 -0
  65. package/dist/events.js.map +1 -0
  66. package/dist/guards.d.ts +143 -0
  67. package/dist/guards.d.ts.map +1 -0
  68. package/dist/guards.js +238 -0
  69. package/dist/guards.js.map +1 -0
  70. package/dist/index.d.ts +606 -4
  71. package/dist/index.d.ts.map +1 -1
  72. package/dist/index.js +105 -6
  73. package/dist/index.js.map +1 -1
  74. package/dist/kernel.d.ts +29 -0
  75. package/dist/kernel.d.ts.map +1 -0
  76. package/dist/kernel.js +402 -0
  77. package/dist/kernel.js.map +1 -0
  78. package/dist/locales/af.d.ts.map +1 -1
  79. package/dist/locales/af.js +18 -1
  80. package/dist/locales/af.js.map +1 -1
  81. package/dist/locales/ar.d.ts.map +1 -1
  82. package/dist/locales/ar.js +18 -1
  83. package/dist/locales/ar.js.map +1 -1
  84. package/dist/locales/backup-en.d.ts +3 -0
  85. package/dist/locales/backup-en.d.ts.map +1 -0
  86. package/dist/locales/backup-en.js +105 -0
  87. package/dist/locales/backup-en.js.map +1 -0
  88. package/dist/locales/bn.d.ts.map +1 -1
  89. package/dist/locales/bn.js +18 -1
  90. package/dist/locales/bn.js.map +1 -1
  91. package/dist/locales/da.d.ts.map +1 -1
  92. package/dist/locales/da.js +18 -1
  93. package/dist/locales/da.js.map +1 -1
  94. package/dist/locales/de.d.ts.map +1 -1
  95. package/dist/locales/de.js +18 -1
  96. package/dist/locales/de.js.map +1 -1
  97. package/dist/locales/en.d.ts.map +1 -1
  98. package/dist/locales/en.js +18 -1
  99. package/dist/locales/en.js.map +1 -1
  100. package/dist/locales/es-MX.d.ts.map +1 -1
  101. package/dist/locales/es-MX.js +17 -1
  102. package/dist/locales/es-MX.js.map +1 -1
  103. package/dist/locales/es.d.ts.map +1 -1
  104. package/dist/locales/es.js +18 -1
  105. package/dist/locales/es.js.map +1 -1
  106. package/dist/locales/fi.d.ts.map +1 -1
  107. package/dist/locales/fi.js +18 -1
  108. package/dist/locales/fi.js.map +1 -1
  109. package/dist/locales/fr.d.ts.map +1 -1
  110. package/dist/locales/fr.js +18 -1
  111. package/dist/locales/fr.js.map +1 -1
  112. package/dist/locales/hi.d.ts.map +1 -1
  113. package/dist/locales/hi.js +18 -1
  114. package/dist/locales/hi.js.map +1 -1
  115. package/dist/locales/id.d.ts.map +1 -1
  116. package/dist/locales/id.js +18 -1
  117. package/dist/locales/id.js.map +1 -1
  118. package/dist/locales/it.d.ts.map +1 -1
  119. package/dist/locales/it.js +18 -1
  120. package/dist/locales/it.js.map +1 -1
  121. package/dist/locales/ja.d.ts.map +1 -1
  122. package/dist/locales/ja.js +18 -1
  123. package/dist/locales/ja.js.map +1 -1
  124. package/dist/locales/ko.d.ts.map +1 -1
  125. package/dist/locales/ko.js +18 -1
  126. package/dist/locales/ko.js.map +1 -1
  127. package/dist/locales/nl.d.ts.map +1 -1
  128. package/dist/locales/nl.js +18 -1
  129. package/dist/locales/nl.js.map +1 -1
  130. package/dist/locales/no.d.ts.map +1 -1
  131. package/dist/locales/no.js +18 -1
  132. package/dist/locales/no.js.map +1 -1
  133. package/dist/locales/pl.d.ts.map +1 -1
  134. package/dist/locales/pl.js +18 -1
  135. package/dist/locales/pl.js.map +1 -1
  136. package/dist/locales/pt-BR.d.ts.map +1 -1
  137. package/dist/locales/pt-BR.js +18 -1
  138. package/dist/locales/pt-BR.js.map +1 -1
  139. package/dist/locales/pt.d.ts.map +1 -1
  140. package/dist/locales/pt.js +18 -1
  141. package/dist/locales/pt.js.map +1 -1
  142. package/dist/locales/ru.d.ts.map +1 -1
  143. package/dist/locales/ru.js +18 -1
  144. package/dist/locales/ru.js.map +1 -1
  145. package/dist/locales/sv.d.ts.map +1 -1
  146. package/dist/locales/sv.js +18 -1
  147. package/dist/locales/sv.js.map +1 -1
  148. package/dist/locales/sw.d.ts.map +1 -1
  149. package/dist/locales/sw.js +18 -1
  150. package/dist/locales/sw.js.map +1 -1
  151. package/dist/locales/th.d.ts.map +1 -1
  152. package/dist/locales/th.js +18 -1
  153. package/dist/locales/th.js.map +1 -1
  154. package/dist/locales/tr.d.ts.map +1 -1
  155. package/dist/locales/tr.js +18 -1
  156. package/dist/locales/tr.js.map +1 -1
  157. package/dist/locales/types.d.ts +13 -0
  158. package/dist/locales/types.d.ts.map +1 -1
  159. package/dist/locales/types.js.map +1 -1
  160. package/dist/locales/vi.d.ts.map +1 -1
  161. package/dist/locales/vi.js +18 -1
  162. package/dist/locales/vi.js.map +1 -1
  163. package/dist/locales/zh.d.ts.map +1 -1
  164. package/dist/locales/zh.js +18 -1
  165. package/dist/locales/zh.js.map +1 -1
  166. package/dist/logger.d.ts +94 -0
  167. package/dist/logger.d.ts.map +1 -0
  168. package/dist/logger.js +184 -0
  169. package/dist/logger.js.map +1 -0
  170. package/dist/pigment.d.ts +124 -0
  171. package/dist/pigment.d.ts.map +1 -0
  172. package/dist/pigment.js +177 -0
  173. package/dist/pigment.js.map +1 -0
  174. package/dist/plugins/codecs.d.ts +17 -0
  175. package/dist/plugins/codecs.d.ts.map +1 -0
  176. package/dist/plugins/codecs.js +29 -0
  177. package/dist/plugins/codecs.js.map +1 -0
  178. package/dist/plugins/coercion.d.ts +13 -0
  179. package/dist/plugins/coercion.d.ts.map +1 -0
  180. package/dist/plugins/coercion.js +34 -0
  181. package/dist/plugins/coercion.js.map +1 -0
  182. package/dist/plugins/core-validators.d.ts +13 -0
  183. package/dist/plugins/core-validators.d.ts.map +1 -0
  184. package/dist/plugins/core-validators.js +96 -0
  185. package/dist/plugins/core-validators.js.map +1 -0
  186. package/dist/plugins/index.d.ts +8 -0
  187. package/dist/plugins/index.d.ts.map +1 -0
  188. package/dist/plugins/index.js +8 -0
  189. package/dist/plugins/index.js.map +1 -0
  190. package/dist/plugins/kernel.d.ts +29 -0
  191. package/dist/plugins/kernel.d.ts.map +1 -0
  192. package/dist/plugins/kernel.js +486 -0
  193. package/dist/plugins/kernel.js.map +1 -0
  194. package/dist/plugins/types.d.ts +186 -0
  195. package/dist/plugins/types.d.ts.map +1 -0
  196. package/dist/plugins/types.js +8 -0
  197. package/dist/plugins/types.js.map +1 -0
  198. package/dist/style.d.ts +123 -0
  199. package/dist/style.d.ts.map +1 -0
  200. package/dist/style.js +369 -0
  201. package/dist/style.js.map +1 -0
  202. package/dist/utils/codec-utils.d.ts +2 -0
  203. package/dist/utils/codec-utils.d.ts.map +1 -1
  204. package/dist/utils/codec-utils.js +28 -4
  205. package/dist/utils/codec-utils.js.map +1 -1
  206. package/dist/utils/deep-merge.d.ts +2 -0
  207. package/dist/utils/deep-merge.d.ts.map +1 -1
  208. package/dist/utils/deep-merge.js +22 -39
  209. package/dist/utils/deep-merge.js.map +1 -1
  210. package/dist/utils/ip-validation.d.ts +11 -0
  211. package/dist/utils/ip-validation.d.ts.map +1 -0
  212. package/dist/utils/ip-validation.js +98 -0
  213. package/dist/utils/ip-validation.js.map +1 -0
  214. package/dist/utils/security.d.ts +12 -0
  215. package/dist/utils/security.d.ts.map +1 -0
  216. package/dist/utils/security.js +61 -0
  217. package/dist/utils/security.js.map +1 -0
  218. package/dist/validators/array.d.ts +3 -1
  219. package/dist/validators/array.d.ts.map +1 -1
  220. package/dist/validators/array.js +41 -15
  221. package/dist/validators/array.js.map +1 -1
  222. package/dist/validators/base.d.ts +134 -0
  223. package/dist/validators/base.d.ts.map +1 -1
  224. package/dist/validators/base.js +255 -1
  225. package/dist/validators/base.js.map +1 -1
  226. package/dist/validators/base64.js +1 -1
  227. package/dist/validators/bigint.d.ts +20 -0
  228. package/dist/validators/bigint.d.ts.map +1 -1
  229. package/dist/validators/bigint.js +39 -1
  230. package/dist/validators/bigint.js.map +1 -1
  231. package/dist/validators/boolean.js +29 -1
  232. package/dist/validators/boolean.js.map +1 -1
  233. package/dist/validators/codec.js +1 -1
  234. package/dist/validators/custom.d.ts +47 -0
  235. package/dist/validators/custom.d.ts.map +1 -0
  236. package/dist/validators/custom.js +50 -0
  237. package/dist/validators/custom.js.map +1 -0
  238. package/dist/validators/date.d.ts +16 -0
  239. package/dist/validators/date.d.ts.map +1 -1
  240. package/dist/validators/date.js +62 -7
  241. package/dist/validators/date.js.map +1 -1
  242. package/dist/validators/discriminated-union.d.ts +29 -0
  243. package/dist/validators/discriminated-union.d.ts.map +1 -0
  244. package/dist/validators/discriminated-union.js +98 -0
  245. package/dist/validators/discriminated-union.js.map +1 -0
  246. package/dist/validators/enum.d.ts +10 -0
  247. package/dist/validators/enum.d.ts.map +1 -1
  248. package/dist/validators/enum.js +38 -1
  249. package/dist/validators/enum.js.map +1 -1
  250. package/dist/validators/file.d.ts +57 -0
  251. package/dist/validators/file.d.ts.map +1 -0
  252. package/dist/validators/file.js +114 -0
  253. package/dist/validators/file.js.map +1 -0
  254. package/dist/validators/function.d.ts +26 -0
  255. package/dist/validators/function.d.ts.map +1 -0
  256. package/dist/validators/function.js +45 -0
  257. package/dist/validators/function.js.map +1 -0
  258. package/dist/validators/hex.d.ts.map +1 -1
  259. package/dist/validators/hex.js +3 -2
  260. package/dist/validators/hex.js.map +1 -1
  261. package/dist/validators/index.d.ts +18 -1
  262. package/dist/validators/index.d.ts.map +1 -1
  263. package/dist/validators/index.js +16 -1
  264. package/dist/validators/index.js.map +1 -1
  265. package/dist/validators/intersection.d.ts.map +1 -1
  266. package/dist/validators/intersection.js +15 -8
  267. package/dist/validators/intersection.js.map +1 -1
  268. package/dist/validators/json.d.ts +26 -0
  269. package/dist/validators/json.d.ts.map +1 -0
  270. package/dist/validators/json.js +64 -0
  271. package/dist/validators/json.js.map +1 -0
  272. package/dist/validators/lazy.d.ts +28 -0
  273. package/dist/validators/lazy.d.ts.map +1 -0
  274. package/dist/validators/lazy.js +42 -0
  275. package/dist/validators/lazy.js.map +1 -0
  276. package/dist/validators/literal.js +1 -1
  277. package/dist/validators/map.js +1 -1
  278. package/dist/validators/nan.d.ts +17 -0
  279. package/dist/validators/nan.d.ts.map +1 -0
  280. package/dist/validators/nan.js +32 -0
  281. package/dist/validators/nan.js.map +1 -0
  282. package/dist/validators/never.js +1 -1
  283. package/dist/validators/null.d.ts +16 -0
  284. package/dist/validators/null.d.ts.map +1 -0
  285. package/dist/validators/null.js +31 -0
  286. package/dist/validators/null.js.map +1 -0
  287. package/dist/validators/number.d.ts +22 -0
  288. package/dist/validators/number.d.ts.map +1 -1
  289. package/dist/validators/number.js +47 -8
  290. package/dist/validators/number.js.map +1 -1
  291. package/dist/validators/object.d.ts +32 -0
  292. package/dist/validators/object.d.ts.map +1 -1
  293. package/dist/validators/object.js +125 -8
  294. package/dist/validators/object.js.map +1 -1
  295. package/dist/validators/record.d.ts +15 -2
  296. package/dist/validators/record.d.ts.map +1 -1
  297. package/dist/validators/record.js +74 -4
  298. package/dist/validators/record.js.map +1 -1
  299. package/dist/validators/set.js +1 -1
  300. package/dist/validators/string-bool.d.ts +61 -0
  301. package/dist/validators/string-bool.d.ts.map +1 -0
  302. package/dist/validators/string-bool.js +127 -0
  303. package/dist/validators/string-bool.js.map +1 -0
  304. package/dist/validators/string-formats.d.ts +97 -0
  305. package/dist/validators/string-formats.d.ts.map +1 -0
  306. package/dist/validators/string-formats.js +120 -0
  307. package/dist/validators/string-formats.js.map +1 -0
  308. package/dist/validators/string.d.ts.map +1 -1
  309. package/dist/validators/string.js +2 -73
  310. package/dist/validators/string.js.map +1 -1
  311. package/dist/validators/symbol.js +1 -1
  312. package/dist/validators/template-literal.d.ts +32 -0
  313. package/dist/validators/template-literal.d.ts.map +1 -0
  314. package/dist/validators/template-literal.js +102 -0
  315. package/dist/validators/template-literal.js.map +1 -0
  316. package/dist/validators/tuple.js +1 -1
  317. package/dist/validators/uint8array.d.ts +21 -4
  318. package/dist/validators/uint8array.d.ts.map +1 -1
  319. package/dist/validators/uint8array.js +34 -23
  320. package/dist/validators/uint8array.js.map +1 -1
  321. package/dist/validators/undefined.d.ts +16 -0
  322. package/dist/validators/undefined.d.ts.map +1 -0
  323. package/dist/validators/undefined.js +31 -0
  324. package/dist/validators/undefined.js.map +1 -0
  325. package/dist/validators/union.d.ts +2 -0
  326. package/dist/validators/union.d.ts.map +1 -1
  327. package/dist/validators/union.js +15 -21
  328. package/dist/validators/union.js.map +1 -1
  329. package/dist/validators/void.js +1 -1
  330. package/dist/validators/xor.d.ts +23 -0
  331. package/dist/validators/xor.d.ts.map +1 -0
  332. package/dist/validators/xor.js +64 -0
  333. package/dist/validators/xor.js.map +1 -0
  334. package/package.json +95 -79
@@ -0,0 +1,186 @@
1
+ /**
2
+ * VLD Plugin Types
3
+ *
4
+ * This module defines the plugin system interfaces and types
5
+ * for extending VLD with custom validators, transforms, and codecs.
6
+ */
7
+ import type { VldBase } from '../validators/base';
8
+ import type { VldError } from '../errors';
9
+ import type { ParseResult } from '../validators/base';
10
+ import type { Locale } from '../locales';
11
+ /**
12
+ * Plugin metadata
13
+ */
14
+ export interface PluginMeta {
15
+ /** Plugin name (must be unique) */
16
+ readonly name: string;
17
+ /** Plugin version (semver) */
18
+ readonly version: string;
19
+ /** Plugin description */
20
+ readonly description?: string;
21
+ /** Plugin author */
22
+ readonly author?: string;
23
+ /** Plugin dependencies */
24
+ readonly dependencies?: Record<string, string>;
25
+ }
26
+ /**
27
+ * VLD context available to plugins
28
+ */
29
+ export interface VldContext {
30
+ /** Current locale */
31
+ locale: Locale;
32
+ /** Strict mode enabled */
33
+ strict: boolean;
34
+ /** Debug mode enabled */
35
+ debug: boolean;
36
+ /** Custom context data */
37
+ custom: Record<string, unknown>;
38
+ }
39
+ /**
40
+ * Validator factory function
41
+ */
42
+ export type ValidatorFactory<T = unknown> = (...args: unknown[]) => VldBase<unknown, T>;
43
+ /**
44
+ * Transform factory function
45
+ */
46
+ export type TransformFactory<TInput = unknown, TOutput = unknown> = (...args: unknown[]) => (value: TInput) => TOutput;
47
+ /**
48
+ * Codec factory function
49
+ */
50
+ export interface CodecFactory<TInput = unknown, TOutput = unknown> {
51
+ decode: (value: TInput) => TOutput | Promise<TOutput>;
52
+ encode: (value: TOutput) => TInput | Promise<TInput>;
53
+ }
54
+ /**
55
+ * Plugin hook context
56
+ */
57
+ export interface HookContext {
58
+ /** Path to current value in nested validation */
59
+ path: (string | number)[];
60
+ /** Parent schema (if nested) */
61
+ parent?: VldBase<unknown, unknown>;
62
+ /** Abort validation */
63
+ abort: () => void;
64
+ }
65
+ /**
66
+ * Plugin hooks for intercepting validation lifecycle
67
+ */
68
+ export interface PluginHooks {
69
+ /**
70
+ * Called before parsing starts
71
+ * Can modify the value before validation
72
+ */
73
+ onBeforeParse?: (value: unknown, schema: VldBase<unknown, unknown>, context: HookContext) => unknown;
74
+ /**
75
+ * Called after parsing completes (success or failure)
76
+ * Can modify the result
77
+ */
78
+ onAfterParse?: <T>(result: ParseResult<T>, schema: VldBase<unknown, unknown>, context: HookContext) => ParseResult<T>;
79
+ /**
80
+ * Called when a validation error occurs
81
+ * Can log, transform, or suppress errors
82
+ */
83
+ onError?: (error: VldError, schema: VldBase<unknown, unknown>, context: HookContext) => void;
84
+ /**
85
+ * Called when validation succeeds
86
+ * Useful for metrics and logging
87
+ */
88
+ onSuccess?: <T>(data: T, schema: VldBase<unknown, unknown>, context: HookContext) => void;
89
+ }
90
+ /**
91
+ * VLD Plugin interface
92
+ */
93
+ export interface VldPlugin extends PluginMeta, PluginHooks {
94
+ /**
95
+ * Custom validators provided by this plugin
96
+ */
97
+ validators?: Record<string, ValidatorFactory>;
98
+ /**
99
+ * Custom transforms provided by this plugin
100
+ */
101
+ transforms?: Record<string, TransformFactory>;
102
+ /**
103
+ * Custom codecs provided by this plugin
104
+ */
105
+ codecs?: Record<string, CodecFactory>;
106
+ /**
107
+ * Install hook - called when plugin is registered
108
+ * Receives the VLD kernel for additional setup
109
+ */
110
+ install?: (kernel: VldKernelInstance) => void | Promise<void>;
111
+ /**
112
+ * Uninstall hook - called when plugin is removed
113
+ */
114
+ uninstall?: (kernel: VldKernelInstance) => void | Promise<void>;
115
+ }
116
+ /**
117
+ * Kernel options
118
+ */
119
+ export interface VldKernelOptions {
120
+ /** Initial context */
121
+ context?: Partial<VldContext>;
122
+ /** Plugins to load on creation */
123
+ plugins?: VldPlugin[];
124
+ /** Error handling strategy */
125
+ errorStrategy?: 'throw' | 'isolate' | 'silent';
126
+ /** Enable debug mode */
127
+ debug?: boolean;
128
+ }
129
+ /**
130
+ * VLD Kernel instance interface
131
+ */
132
+ export interface VldKernelInstance {
133
+ /** Get current context */
134
+ getContext(): VldContext;
135
+ /** Update context */
136
+ setContext(partial: Partial<VldContext>): void;
137
+ /** Register a plugin */
138
+ use(plugin: VldPlugin): this;
139
+ /** Remove a plugin by name */
140
+ remove(name: string): boolean;
141
+ /** Get a plugin by name */
142
+ getPlugin(name: string): VldPlugin | undefined;
143
+ /** Get all registered plugins */
144
+ getPlugins(): VldPlugin[];
145
+ /** Check if a plugin is registered */
146
+ hasPlugin(name: string): boolean;
147
+ /** Register a custom validator */
148
+ registerValidator(name: string, factory: ValidatorFactory): this;
149
+ /** Get a validator by name */
150
+ getValidator(name: string): VldBase<unknown, unknown> | undefined;
151
+ /** Get all registered validators */
152
+ getValidators(): Record<string, ValidatorFactory>;
153
+ /** Register a custom transform */
154
+ registerTransform(name: string, factory: TransformFactory): this;
155
+ /** Get a transform by name */
156
+ getTransform(name: string): TransformFactory | undefined;
157
+ /** Register a custom codec */
158
+ registerCodec(name: string, codec: CodecFactory): this;
159
+ /** Get a codec by name */
160
+ getCodec(name: string): CodecFactory | undefined;
161
+ /** Execute beforeParse hooks */
162
+ executeBeforeParse(value: unknown, schema: VldBase<unknown, unknown>, context: HookContext): unknown;
163
+ /** Execute afterParse hooks */
164
+ executeAfterParse<T>(result: ParseResult<T>, schema: VldBase<unknown, unknown>, context: HookContext): ParseResult<T>;
165
+ /** Execute error hooks */
166
+ executeOnError(error: VldError, schema: VldBase<unknown, unknown>, context: HookContext): void;
167
+ /** Execute success hooks */
168
+ executeOnSuccess<T>(data: T, schema: VldBase<unknown, unknown>, context: HookContext): void;
169
+ /** Dispose of all plugins and cleanup */
170
+ dispose(): Promise<void>;
171
+ }
172
+ /**
173
+ * Plugin builder for fluent plugin creation
174
+ */
175
+ export interface PluginBuilder {
176
+ name(name: string): this;
177
+ version(version: string): this;
178
+ description(description: string): this;
179
+ validator(name: string, factory: ValidatorFactory): this;
180
+ transform(name: string, factory: TransformFactory): this;
181
+ codec(name: string, codec: CodecFactory): this;
182
+ hook<K extends keyof PluginHooks>(name: K, fn: PluginHooks[K]): this;
183
+ install(fn: VldPlugin['install']): this;
184
+ build(): VldPlugin;
185
+ }
186
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/plugins/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * VLD Plugin Types
3
+ *
4
+ * This module defines the plugin system interfaces and types
5
+ * for extending VLD with custom validators, transforms, and codecs.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/plugins/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG","sourcesContent":["/**\r\n * VLD Plugin Types\r\n *\r\n * This module defines the plugin system interfaces and types\r\n * for extending VLD with custom validators, transforms, and codecs.\r\n */\r\n\r\nimport type { VldBase } from '../validators/base';\r\nimport type { VldError } from '../errors';\r\nimport type { ParseResult } from '../validators/base';\r\nimport type { Locale } from '../locales';\r\n\r\n/**\r\n * Plugin metadata\r\n */\r\nexport interface PluginMeta {\r\n /** Plugin name (must be unique) */\r\n readonly name: string;\r\n /** Plugin version (semver) */\r\n readonly version: string;\r\n /** Plugin description */\r\n readonly description?: string;\r\n /** Plugin author */\r\n readonly author?: string;\r\n /** Plugin dependencies */\r\n readonly dependencies?: Record<string, string>;\r\n}\r\n\r\n/**\r\n * VLD context available to plugins\r\n */\r\nexport interface VldContext {\r\n /** Current locale */\r\n locale: Locale;\r\n /** Strict mode enabled */\r\n strict: boolean;\r\n /** Debug mode enabled */\r\n debug: boolean;\r\n /** Custom context data */\r\n custom: Record<string, unknown>;\r\n}\r\n\r\n/**\r\n * Validator factory function\r\n */\r\nexport type ValidatorFactory<T = unknown> = (\r\n ...args: unknown[]\r\n) => VldBase<unknown, T>;\r\n\r\n/**\r\n * Transform factory function\r\n */\r\nexport type TransformFactory<TInput = unknown, TOutput = unknown> = (\r\n ...args: unknown[]\r\n) => (value: TInput) => TOutput;\r\n\r\n/**\r\n * Codec factory function\r\n */\r\nexport interface CodecFactory<TInput = unknown, TOutput = unknown> {\r\n decode: (value: TInput) => TOutput | Promise<TOutput>;\r\n encode: (value: TOutput) => TInput | Promise<TInput>;\r\n}\r\n\r\n/**\r\n * Plugin hook context\r\n */\r\nexport interface HookContext {\r\n /** Path to current value in nested validation */\r\n path: (string | number)[];\r\n /** Parent schema (if nested) */\r\n parent?: VldBase<unknown, unknown>;\r\n /** Abort validation */\r\n abort: () => void;\r\n}\r\n\r\n/**\r\n * Plugin hooks for intercepting validation lifecycle\r\n */\r\nexport interface PluginHooks {\r\n /**\r\n * Called before parsing starts\r\n * Can modify the value before validation\r\n */\r\n onBeforeParse?: (\r\n value: unknown,\r\n schema: VldBase<unknown, unknown>,\r\n context: HookContext\r\n ) => unknown;\r\n\r\n /**\r\n * Called after parsing completes (success or failure)\r\n * Can modify the result\r\n */\r\n onAfterParse?: <T>(\r\n result: ParseResult<T>,\r\n schema: VldBase<unknown, unknown>,\r\n context: HookContext\r\n ) => ParseResult<T>;\r\n\r\n /**\r\n * Called when a validation error occurs\r\n * Can log, transform, or suppress errors\r\n */\r\n onError?: (\r\n error: VldError,\r\n schema: VldBase<unknown, unknown>,\r\n context: HookContext\r\n ) => void;\r\n\r\n /**\r\n * Called when validation succeeds\r\n * Useful for metrics and logging\r\n */\r\n onSuccess?: <T>(\r\n data: T,\r\n schema: VldBase<unknown, unknown>,\r\n context: HookContext\r\n ) => void;\r\n}\r\n\r\n/**\r\n * VLD Plugin interface\r\n */\r\nexport interface VldPlugin extends PluginMeta, PluginHooks {\r\n /**\r\n * Custom validators provided by this plugin\r\n */\r\n validators?: Record<string, ValidatorFactory>;\r\n\r\n /**\r\n * Custom transforms provided by this plugin\r\n */\r\n transforms?: Record<string, TransformFactory>;\r\n\r\n /**\r\n * Custom codecs provided by this plugin\r\n */\r\n codecs?: Record<string, CodecFactory>;\r\n\r\n /**\r\n * Install hook - called when plugin is registered\r\n * Receives the VLD kernel for additional setup\r\n */\r\n install?: (kernel: VldKernelInstance) => void | Promise<void>;\r\n\r\n /**\r\n * Uninstall hook - called when plugin is removed\r\n */\r\n uninstall?: (kernel: VldKernelInstance) => void | Promise<void>;\r\n}\r\n\r\n/**\r\n * Kernel options\r\n */\r\nexport interface VldKernelOptions {\r\n /** Initial context */\r\n context?: Partial<VldContext>;\r\n /** Plugins to load on creation */\r\n plugins?: VldPlugin[];\r\n /** Error handling strategy */\r\n errorStrategy?: 'throw' | 'isolate' | 'silent';\r\n /** Enable debug mode */\r\n debug?: boolean;\r\n}\r\n\r\n/**\r\n * VLD Kernel instance interface\r\n */\r\nexport interface VldKernelInstance {\r\n // ============================================\r\n // Context Management\r\n // ============================================\r\n\r\n /** Get current context */\r\n getContext(): VldContext;\r\n\r\n /** Update context */\r\n setContext(partial: Partial<VldContext>): void;\r\n\r\n // ============================================\r\n // Plugin Management\r\n // ============================================\r\n\r\n /** Register a plugin */\r\n use(plugin: VldPlugin): this;\r\n\r\n /** Remove a plugin by name */\r\n remove(name: string): boolean;\r\n\r\n /** Get a plugin by name */\r\n getPlugin(name: string): VldPlugin | undefined;\r\n\r\n /** Get all registered plugins */\r\n getPlugins(): VldPlugin[];\r\n\r\n /** Check if a plugin is registered */\r\n hasPlugin(name: string): boolean;\r\n\r\n // ============================================\r\n // Validator Registry\r\n // ============================================\r\n\r\n /** Register a custom validator */\r\n registerValidator(name: string, factory: ValidatorFactory): this;\r\n\r\n /** Get a validator by name */\r\n getValidator(name: string): VldBase<unknown, unknown> | undefined;\r\n\r\n /** Get all registered validators */\r\n getValidators(): Record<string, ValidatorFactory>;\r\n\r\n // ============================================\r\n // Transform Registry\r\n // ============================================\r\n\r\n /** Register a custom transform */\r\n registerTransform(name: string, factory: TransformFactory): this;\r\n\r\n /** Get a transform by name */\r\n getTransform(name: string): TransformFactory | undefined;\r\n\r\n // ============================================\r\n // Codec Registry\r\n // ============================================\r\n\r\n /** Register a custom codec */\r\n registerCodec(name: string, codec: CodecFactory): this;\r\n\r\n /** Get a codec by name */\r\n getCodec(name: string): CodecFactory | undefined;\r\n\r\n // ============================================\r\n // Hook Execution\r\n // ============================================\r\n\r\n /** Execute beforeParse hooks */\r\n executeBeforeParse(\r\n value: unknown,\r\n schema: VldBase<unknown, unknown>,\r\n context: HookContext\r\n ): unknown;\r\n\r\n /** Execute afterParse hooks */\r\n executeAfterParse<T>(\r\n result: ParseResult<T>,\r\n schema: VldBase<unknown, unknown>,\r\n context: HookContext\r\n ): ParseResult<T>;\r\n\r\n /** Execute error hooks */\r\n executeOnError(\r\n error: VldError,\r\n schema: VldBase<unknown, unknown>,\r\n context: HookContext\r\n ): void;\r\n\r\n /** Execute success hooks */\r\n executeOnSuccess<T>(\r\n data: T,\r\n schema: VldBase<unknown, unknown>,\r\n context: HookContext\r\n ): void;\r\n\r\n // ============================================\r\n // Lifecycle\r\n // ============================================\r\n\r\n /** Dispose of all plugins and cleanup */\r\n dispose(): Promise<void>;\r\n}\r\n\r\n/**\r\n * Plugin builder for fluent plugin creation\r\n */\r\nexport interface PluginBuilder {\r\n name(name: string): this;\r\n version(version: string): this;\r\n description(description: string): this;\r\n validator(name: string, factory: ValidatorFactory): this;\r\n transform(name: string, factory: TransformFactory): this;\r\n codec(name: string, codec: CodecFactory): this;\r\n hook<K extends keyof PluginHooks>(name: K, fn: PluginHooks[K]): this;\r\n install(fn: VldPlugin['install']): this;\r\n build(): VldPlugin;\r\n}\r\n"]}
@@ -0,0 +1,123 @@
1
+ /**
2
+ * VLD Style - Console styling utilities
3
+ *
4
+ * Bu modül @oxog/pigment paketi ile uyumlu renkli console output sağlar.
5
+ * Eğer @oxog/pigment yüklüyse onun implementasyonu kullanılır.
6
+ * Yüklü değilse, internal ANSI color implementasyonu kullanılır.
7
+ */
8
+ /**
9
+ * Renkleri etkinleştirir
10
+ */
11
+ export declare function enableColors(): void;
12
+ /**
13
+ * Renkleri devre dışı bırakır
14
+ */
15
+ export declare function disableColors(): void;
16
+ /**
17
+ * Renklerin etkin olup olmadığını kontrol eder
18
+ */
19
+ export declare function colorsEnabled(): boolean;
20
+ /**
21
+ * Style helper object - @oxog/pigment API'si ile uyumlu
22
+ */
23
+ export declare const style: {
24
+ reset: (text: string) => string;
25
+ bold: (text: string) => string;
26
+ dim: (text: string) => string;
27
+ italic: (text: string) => string;
28
+ underline: (text: string) => string;
29
+ inverse: (text: string) => string;
30
+ hidden: (text: string) => string;
31
+ strikethrough: (text: string) => string;
32
+ black: (text: string) => string;
33
+ red: (text: string) => string;
34
+ green: (text: string) => string;
35
+ yellow: (text: string) => string;
36
+ blue: (text: string) => string;
37
+ magenta: (text: string) => string;
38
+ cyan: (text: string) => string;
39
+ white: (text: string) => string;
40
+ gray: (text: string) => string;
41
+ grey: (text: string) => string;
42
+ brightRed: (text: string) => string;
43
+ brightGreen: (text: string) => string;
44
+ brightYellow: (text: string) => string;
45
+ brightBlue: (text: string) => string;
46
+ brightMagenta: (text: string) => string;
47
+ brightCyan: (text: string) => string;
48
+ brightWhite: (text: string) => string;
49
+ bgBlack: (text: string) => string;
50
+ bgRed: (text: string) => string;
51
+ bgGreen: (text: string) => string;
52
+ bgYellow: (text: string) => string;
53
+ bgBlue: (text: string) => string;
54
+ bgMagenta: (text: string) => string;
55
+ bgCyan: (text: string) => string;
56
+ bgWhite: (text: string) => string;
57
+ success: (text: string) => string;
58
+ error: (text: string) => string;
59
+ warning: (text: string) => string;
60
+ info: (text: string) => string;
61
+ muted: (text: string) => string;
62
+ highlight: (text: string) => string;
63
+ combine: (...styles: ((text: string) => string)[]) => (text: string) => string;
64
+ };
65
+ import type { VldError, VldIssue } from './errors.js';
66
+ /**
67
+ * VLD hata mesajını renkli formatta döner
68
+ */
69
+ export declare function prettifyErrorColored(error: VldError): string;
70
+ /**
71
+ * VLD issue'yu renkli formatta döner
72
+ */
73
+ export declare function formatIssueColored(issue: VldIssue): string;
74
+ /**
75
+ * Başarı mesajı formatlar
76
+ */
77
+ export declare function formatSuccess(message: string): string;
78
+ /**
79
+ * Uyarı mesajı formatlar
80
+ */
81
+ export declare function formatWarning(message: string): string;
82
+ /**
83
+ * Bilgi mesajı formatlar
84
+ */
85
+ export declare function formatInfo(message: string): string;
86
+ /**
87
+ * Debug mesajı formatlar
88
+ */
89
+ export declare function formatDebug(message: string): string;
90
+ export interface TableColumn {
91
+ header: string;
92
+ width?: number;
93
+ align?: 'left' | 'right' | 'center';
94
+ }
95
+ export interface TableOptions {
96
+ columns: TableColumn[];
97
+ border?: boolean;
98
+ headerColor?: (text: string) => string;
99
+ rowColor?: (text: string, rowIndex: number) => string;
100
+ }
101
+ /**
102
+ * Basit tablo formatlar
103
+ */
104
+ export declare function formatTable(rows: string[][], options: TableOptions): string;
105
+ /**
106
+ * Spinner oluşturur
107
+ */
108
+ export declare function createSpinner(text: string): {
109
+ start: () => void;
110
+ stop: (success?: boolean, finalText?: string) => void;
111
+ update: (text: string) => void;
112
+ };
113
+ export interface BoxOptions {
114
+ title?: string;
115
+ padding?: number;
116
+ borderColor?: (text: string) => string;
117
+ titleColor?: (text: string) => string;
118
+ }
119
+ /**
120
+ * Metin etrafına kutu çizer
121
+ */
122
+ export declare function box(content: string, options?: BoxOptions): string;
123
+ //# sourceMappingURL=style.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../src/style.ts"],"names":[],"mappings":"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"}