@oxog/vld 1.4.0 → 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 (187) hide show
  1. package/CHANGELOG.md +333 -333
  2. package/README.md +1130 -1130
  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/boolean.d.ts.map +1 -1
  35. package/dist/coercion/boolean.js +23 -31
  36. package/dist/coercion/boolean.js.map +1 -1
  37. package/dist/coercion/date.js +1 -1
  38. package/dist/coercion/date.js.map +1 -1
  39. package/dist/compat/emitter.d.ts +73 -0
  40. package/dist/compat/emitter.d.ts.map +1 -0
  41. package/dist/compat/emitter.js +179 -0
  42. package/dist/compat/emitter.js.map +1 -0
  43. package/dist/compat/index.d.ts +15 -0
  44. package/dist/compat/index.d.ts.map +1 -0
  45. package/dist/compat/index.js +14 -0
  46. package/dist/compat/index.js.map +1 -0
  47. package/dist/compat/result.d.ts +128 -0
  48. package/dist/compat/result.d.ts.map +1 -0
  49. package/dist/compat/result.js +169 -0
  50. package/dist/compat/result.js.map +1 -0
  51. package/dist/errors.d.ts +58 -1
  52. package/dist/errors.d.ts.map +1 -1
  53. package/dist/errors.js +97 -9
  54. package/dist/errors.js.map +1 -1
  55. package/dist/events.d.ts +140 -0
  56. package/dist/events.d.ts.map +1 -0
  57. package/dist/events.js +8 -0
  58. package/dist/events.js.map +1 -0
  59. package/dist/guards.d.ts +143 -0
  60. package/dist/guards.d.ts.map +1 -0
  61. package/dist/guards.js +238 -0
  62. package/dist/guards.js.map +1 -0
  63. package/dist/index-new.d.ts.map +1 -0
  64. package/dist/index.d.ts +13 -1
  65. package/dist/index.d.ts.map +1 -1
  66. package/dist/index.js +29 -1
  67. package/dist/index.js.map +1 -1
  68. package/dist/kernel.d.ts +29 -0
  69. package/dist/kernel.d.ts.map +1 -0
  70. package/dist/kernel.js +402 -0
  71. package/dist/kernel.js.map +1 -0
  72. package/dist/locales/af.js.map +1 -1
  73. package/dist/locales/ar.js.map +1 -1
  74. package/dist/locales/backup-en.js.map +1 -1
  75. package/dist/locales/bn.js.map +1 -1
  76. package/dist/locales/da.js.map +1 -1
  77. package/dist/locales/de.js.map +1 -1
  78. package/dist/locales/en.js.map +1 -1
  79. package/dist/locales/es-MX.js.map +1 -1
  80. package/dist/locales/es.js.map +1 -1
  81. package/dist/locales/fi.js.map +1 -1
  82. package/dist/locales/fr.js.map +1 -1
  83. package/dist/locales/hi.js.map +1 -1
  84. package/dist/locales/id.js.map +1 -1
  85. package/dist/locales/it.js.map +1 -1
  86. package/dist/locales/ja.js.map +1 -1
  87. package/dist/locales/ko.js.map +1 -1
  88. package/dist/locales/nl.js.map +1 -1
  89. package/dist/locales/no.js.map +1 -1
  90. package/dist/locales/pl.js.map +1 -1
  91. package/dist/locales/pt-BR.js.map +1 -1
  92. package/dist/locales/pt.js.map +1 -1
  93. package/dist/locales/ru.js.map +1 -1
  94. package/dist/locales/sv.js.map +1 -1
  95. package/dist/locales/sw.js.map +1 -1
  96. package/dist/locales/th.js.map +1 -1
  97. package/dist/locales/tr.js.map +1 -1
  98. package/dist/locales/types.js.map +1 -1
  99. package/dist/locales/vi.js.map +1 -1
  100. package/dist/locales/zh.js.map +1 -1
  101. package/dist/locales.d.ts +54 -0
  102. package/dist/locales.d.ts.map +1 -0
  103. package/dist/locales.js +732 -0
  104. package/dist/locales.js.map +1 -0
  105. package/dist/logger.d.ts +94 -0
  106. package/dist/logger.d.ts.map +1 -0
  107. package/dist/logger.js +184 -0
  108. package/dist/logger.js.map +1 -0
  109. package/dist/pigment.d.ts +124 -0
  110. package/dist/pigment.d.ts.map +1 -0
  111. package/dist/pigment.js +177 -0
  112. package/dist/pigment.js.map +1 -0
  113. package/dist/plugins/codecs.d.ts +17 -0
  114. package/dist/plugins/codecs.d.ts.map +1 -0
  115. package/dist/plugins/codecs.js +29 -0
  116. package/dist/plugins/codecs.js.map +1 -0
  117. package/dist/plugins/coercion.d.ts +13 -0
  118. package/dist/plugins/coercion.d.ts.map +1 -0
  119. package/dist/plugins/coercion.js +34 -0
  120. package/dist/plugins/coercion.js.map +1 -0
  121. package/dist/plugins/core-validators.d.ts +13 -0
  122. package/dist/plugins/core-validators.d.ts.map +1 -0
  123. package/dist/plugins/core-validators.js +96 -0
  124. package/dist/plugins/core-validators.js.map +1 -0
  125. package/dist/plugins/index.d.ts +8 -0
  126. package/dist/plugins/index.d.ts.map +1 -0
  127. package/dist/plugins/index.js +8 -0
  128. package/dist/plugins/index.js.map +1 -0
  129. package/dist/plugins/kernel.d.ts +29 -0
  130. package/dist/plugins/kernel.d.ts.map +1 -0
  131. package/dist/plugins/kernel.js +486 -0
  132. package/dist/plugins/kernel.js.map +1 -0
  133. package/dist/plugins/types.d.ts +186 -0
  134. package/dist/plugins/types.d.ts.map +1 -0
  135. package/dist/plugins/types.js +8 -0
  136. package/dist/plugins/types.js.map +1 -0
  137. package/dist/style.d.ts +123 -0
  138. package/dist/style.d.ts.map +1 -0
  139. package/dist/style.js +369 -0
  140. package/dist/style.js.map +1 -0
  141. package/dist/utils/codec-utils.d.ts.map +1 -1
  142. package/dist/utils/codec-utils.js +6 -0
  143. package/dist/utils/codec-utils.js.map +1 -1
  144. package/dist/utils/ip-validation.d.ts.map +1 -1
  145. package/dist/utils/ip-validation.js +34 -14
  146. package/dist/utils/ip-validation.js.map +1 -1
  147. package/dist/validators/base.d.ts +3 -0
  148. package/dist/validators/base.d.ts.map +1 -1
  149. package/dist/validators/base.js +8 -0
  150. package/dist/validators/base.js.map +1 -1
  151. package/dist/validators/bigint.js.map +1 -1
  152. package/dist/validators/custom.js.map +1 -1
  153. package/dist/validators/discriminated-union.js.map +1 -1
  154. package/dist/validators/file.js.map +1 -1
  155. package/dist/validators/function.js.map +1 -1
  156. package/dist/validators/index.js.map +1 -1
  157. package/dist/validators/json.js.map +1 -1
  158. package/dist/validators/lazy.js.map +1 -1
  159. package/dist/validators/nan.js.map +1 -1
  160. package/dist/validators/null.js.map +1 -1
  161. package/dist/validators/object-optimized.d.ts +23 -0
  162. package/dist/validators/object-optimized.d.ts.map +1 -0
  163. package/dist/validators/object-optimized.js +179 -0
  164. package/dist/validators/object-optimized.js.map +1 -0
  165. package/dist/validators/object-ultra.d.ts +34 -0
  166. package/dist/validators/object-ultra.d.ts.map +1 -0
  167. package/dist/validators/object-ultra.js +175 -0
  168. package/dist/validators/object-ultra.js.map +1 -0
  169. package/dist/validators/object.d.ts.map +1 -1
  170. package/dist/validators/object.js +1 -1
  171. package/dist/validators/object.js.map +1 -1
  172. package/dist/validators/string-bool.js.map +1 -1
  173. package/dist/validators/string-formats.js.map +1 -1
  174. package/dist/validators/string-ultra.d.ts +49 -0
  175. package/dist/validators/string-ultra.d.ts.map +1 -0
  176. package/dist/validators/string-ultra.js +217 -0
  177. package/dist/validators/string-ultra.js.map +1 -0
  178. package/dist/validators/template-literal.d.ts.map +1 -1
  179. package/dist/validators/template-literal.js +13 -12
  180. package/dist/validators/template-literal.js.map +1 -1
  181. package/dist/validators/undefined.js.map +1 -1
  182. package/dist/validators/union-optimized.d.ts +15 -0
  183. package/dist/validators/union-optimized.d.ts.map +1 -0
  184. package/dist/validators/union-optimized.js +92 -0
  185. package/dist/validators/union-optimized.js.map +1 -0
  186. package/dist/validators/xor.js.map +1 -1
  187. package/package.json +95 -79
@@ -0,0 +1,177 @@
1
+ /**
2
+ * VLD Pigment - Colored Console Output
3
+ *
4
+ * This module provides ANSI color utilities for terminal output,
5
+ * compatible with @oxog/pigment when available.
6
+ */
7
+ /* eslint-enable @typescript-eslint/no-explicit-any */
8
+ /**
9
+ * Check if colors are supported in the current environment
10
+ */
11
+ export function supportsColor() {
12
+ // Check for NO_COLOR environment variable
13
+ if (typeof process !== 'undefined' && process.env?.NO_COLOR) {
14
+ return false;
15
+ }
16
+ // Check for FORCE_COLOR environment variable
17
+ if (typeof process !== 'undefined' && process.env?.FORCE_COLOR) {
18
+ return true;
19
+ }
20
+ // Check for TTY
21
+ if (typeof process !== 'undefined' && process.stdout?.isTTY) {
22
+ return true;
23
+ }
24
+ // Browser environment - no ANSI colors
25
+ if (typeof window !== 'undefined') {
26
+ return false;
27
+ }
28
+ return false;
29
+ }
30
+ /**
31
+ * ANSI escape codes
32
+ */
33
+ const ANSI = {
34
+ // Reset
35
+ reset: '\x1b[0m',
36
+ // Styles
37
+ bold: '\x1b[1m',
38
+ dim: '\x1b[2m',
39
+ italic: '\x1b[3m',
40
+ underline: '\x1b[4m',
41
+ blink: '\x1b[5m',
42
+ inverse: '\x1b[7m',
43
+ hidden: '\x1b[8m',
44
+ strikethrough: '\x1b[9m',
45
+ // Foreground colors
46
+ black: '\x1b[30m',
47
+ red: '\x1b[31m',
48
+ green: '\x1b[32m',
49
+ yellow: '\x1b[33m',
50
+ blue: '\x1b[34m',
51
+ magenta: '\x1b[35m',
52
+ cyan: '\x1b[36m',
53
+ white: '\x1b[37m',
54
+ gray: '\x1b[90m',
55
+ grey: '\x1b[90m',
56
+ // Bright foreground colors
57
+ brightRed: '\x1b[91m',
58
+ brightGreen: '\x1b[92m',
59
+ brightYellow: '\x1b[93m',
60
+ brightBlue: '\x1b[94m',
61
+ brightMagenta: '\x1b[95m',
62
+ brightCyan: '\x1b[96m',
63
+ brightWhite: '\x1b[97m',
64
+ // Background colors
65
+ bgBlack: '\x1b[40m',
66
+ bgRed: '\x1b[41m',
67
+ bgGreen: '\x1b[42m',
68
+ bgYellow: '\x1b[43m',
69
+ bgBlue: '\x1b[44m',
70
+ bgMagenta: '\x1b[45m',
71
+ bgCyan: '\x1b[46m',
72
+ bgWhite: '\x1b[47m',
73
+ // Bright background colors
74
+ bgBrightRed: '\x1b[101m',
75
+ bgBrightGreen: '\x1b[102m',
76
+ bgBrightYellow: '\x1b[103m',
77
+ bgBrightBlue: '\x1b[104m',
78
+ bgBrightMagenta: '\x1b[105m',
79
+ bgBrightCyan: '\x1b[106m',
80
+ bgBrightWhite: '\x1b[107m'
81
+ };
82
+ /**
83
+ * Create a color function
84
+ */
85
+ function createColorFn(code) {
86
+ const enabled = supportsColor();
87
+ return (text) => {
88
+ if (!enabled || text === '')
89
+ return text;
90
+ return `${code}${text}${ANSI.reset}`;
91
+ };
92
+ }
93
+ /**
94
+ * Pigment - Color utilities for terminal output
95
+ */
96
+ export const pigment = {
97
+ // Check support
98
+ supportsColor,
99
+ // Reset
100
+ reset: (text) => text,
101
+ // Styles
102
+ bold: createColorFn(ANSI.bold),
103
+ dim: createColorFn(ANSI.dim),
104
+ italic: createColorFn(ANSI.italic),
105
+ underline: createColorFn(ANSI.underline),
106
+ inverse: createColorFn(ANSI.inverse),
107
+ hidden: createColorFn(ANSI.hidden),
108
+ strikethrough: createColorFn(ANSI.strikethrough),
109
+ // Foreground colors
110
+ black: createColorFn(ANSI.black),
111
+ red: createColorFn(ANSI.red),
112
+ green: createColorFn(ANSI.green),
113
+ yellow: createColorFn(ANSI.yellow),
114
+ blue: createColorFn(ANSI.blue),
115
+ magenta: createColorFn(ANSI.magenta),
116
+ cyan: createColorFn(ANSI.cyan),
117
+ white: createColorFn(ANSI.white),
118
+ gray: createColorFn(ANSI.gray),
119
+ grey: createColorFn(ANSI.grey),
120
+ // Bright colors
121
+ brightRed: createColorFn(ANSI.brightRed),
122
+ brightGreen: createColorFn(ANSI.brightGreen),
123
+ brightYellow: createColorFn(ANSI.brightYellow),
124
+ brightBlue: createColorFn(ANSI.brightBlue),
125
+ brightMagenta: createColorFn(ANSI.brightMagenta),
126
+ brightCyan: createColorFn(ANSI.brightCyan),
127
+ brightWhite: createColorFn(ANSI.brightWhite),
128
+ // Background colors
129
+ bgBlack: createColorFn(ANSI.bgBlack),
130
+ bgRed: createColorFn(ANSI.bgRed),
131
+ bgGreen: createColorFn(ANSI.bgGreen),
132
+ bgYellow: createColorFn(ANSI.bgYellow),
133
+ bgBlue: createColorFn(ANSI.bgBlue),
134
+ bgMagenta: createColorFn(ANSI.bgMagenta),
135
+ bgCyan: createColorFn(ANSI.bgCyan),
136
+ bgWhite: createColorFn(ANSI.bgWhite),
137
+ // Semantic colors
138
+ success: createColorFn(ANSI.green),
139
+ error: createColorFn(ANSI.red),
140
+ warning: createColorFn(ANSI.yellow),
141
+ info: createColorFn(ANSI.blue),
142
+ muted: createColorFn(ANSI.gray),
143
+ // Combine multiple styles
144
+ combine: (...codes) => (text) => {
145
+ if (!supportsColor())
146
+ return text;
147
+ return `${codes.join('')}${text}${ANSI.reset}`;
148
+ },
149
+ // Strip ANSI codes from string
150
+ strip: (text) => text.replace(/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g, ''),
151
+ // Get raw ANSI codes
152
+ codes: ANSI
153
+ };
154
+ // Aliases for convenience
155
+ export const { bold, dim, italic, underline, red, green, yellow, blue, magenta, cyan, white, gray, grey, success, error, warning, info, muted, strip } = pigment;
156
+ /**
157
+ * Default VLD theme for error formatting
158
+ */
159
+ export const vldTheme = {
160
+ error: red,
161
+ success: green,
162
+ warning: yellow,
163
+ info: blue,
164
+ muted: dim,
165
+ path: cyan,
166
+ value: yellow,
167
+ key: bold,
168
+ symbol: red
169
+ };
170
+ /**
171
+ * Create a custom theme
172
+ */
173
+ export function createTheme(overrides = {}) {
174
+ return { ...vldTheme, ...overrides };
175
+ }
176
+ export default pigment;
177
+ //# sourceMappingURL=pigment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pigment.js","sourceRoot":"","sources":["../src/pigment.ts"],"names":[],"mappings":"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","sourcesContent":["/**\r\n * VLD Pigment - Colored Console Output\r\n *\r\n * This module provides ANSI color utilities for terminal output,\r\n * compatible with @oxog/pigment when available.\r\n */\r\n\r\n/* eslint-disable @typescript-eslint/no-explicit-any */\r\ndeclare const window: any;\r\n/* eslint-enable @typescript-eslint/no-explicit-any */\r\n\r\n/**\r\n * Check if colors are supported in the current environment\r\n */\r\nexport function supportsColor(): boolean {\r\n // Check for NO_COLOR environment variable\r\n if (typeof process !== 'undefined' && process.env?.NO_COLOR) {\r\n return false;\r\n }\r\n\r\n // Check for FORCE_COLOR environment variable\r\n if (typeof process !== 'undefined' && process.env?.FORCE_COLOR) {\r\n return true;\r\n }\r\n\r\n // Check for TTY\r\n if (typeof process !== 'undefined' && process.stdout?.isTTY) {\r\n return true;\r\n }\r\n\r\n // Browser environment - no ANSI colors\r\n if (typeof window !== 'undefined') {\r\n return false;\r\n }\r\n\r\n return false;\r\n}\r\n\r\n/**\r\n * ANSI escape codes\r\n */\r\nconst ANSI = {\r\n // Reset\r\n reset: '\\x1b[0m',\r\n\r\n // Styles\r\n bold: '\\x1b[1m',\r\n dim: '\\x1b[2m',\r\n italic: '\\x1b[3m',\r\n underline: '\\x1b[4m',\r\n blink: '\\x1b[5m',\r\n inverse: '\\x1b[7m',\r\n hidden: '\\x1b[8m',\r\n strikethrough: '\\x1b[9m',\r\n\r\n // Foreground colors\r\n black: '\\x1b[30m',\r\n red: '\\x1b[31m',\r\n green: '\\x1b[32m',\r\n yellow: '\\x1b[33m',\r\n blue: '\\x1b[34m',\r\n magenta: '\\x1b[35m',\r\n cyan: '\\x1b[36m',\r\n white: '\\x1b[37m',\r\n gray: '\\x1b[90m',\r\n grey: '\\x1b[90m',\r\n\r\n // Bright foreground colors\r\n brightRed: '\\x1b[91m',\r\n brightGreen: '\\x1b[92m',\r\n brightYellow: '\\x1b[93m',\r\n brightBlue: '\\x1b[94m',\r\n brightMagenta: '\\x1b[95m',\r\n brightCyan: '\\x1b[96m',\r\n brightWhite: '\\x1b[97m',\r\n\r\n // Background colors\r\n bgBlack: '\\x1b[40m',\r\n bgRed: '\\x1b[41m',\r\n bgGreen: '\\x1b[42m',\r\n bgYellow: '\\x1b[43m',\r\n bgBlue: '\\x1b[44m',\r\n bgMagenta: '\\x1b[45m',\r\n bgCyan: '\\x1b[46m',\r\n bgWhite: '\\x1b[47m',\r\n\r\n // Bright background colors\r\n bgBrightRed: '\\x1b[101m',\r\n bgBrightGreen: '\\x1b[102m',\r\n bgBrightYellow: '\\x1b[103m',\r\n bgBrightBlue: '\\x1b[104m',\r\n bgBrightMagenta: '\\x1b[105m',\r\n bgBrightCyan: '\\x1b[106m',\r\n bgBrightWhite: '\\x1b[107m'\r\n} as const;\r\n\r\n/**\r\n * Create a color function\r\n */\r\nfunction createColorFn(code: string): (text: string) => string {\r\n const enabled = supportsColor();\r\n return (text: string): string => {\r\n if (!enabled || text === '') return text;\r\n return `${code}${text}${ANSI.reset}`;\r\n };\r\n}\r\n\r\n/**\r\n * Pigment - Color utilities for terminal output\r\n */\r\nexport const pigment = {\r\n // Check support\r\n supportsColor,\r\n\r\n // Reset\r\n reset: (text: string): string => text,\r\n\r\n // Styles\r\n bold: createColorFn(ANSI.bold),\r\n dim: createColorFn(ANSI.dim),\r\n italic: createColorFn(ANSI.italic),\r\n underline: createColorFn(ANSI.underline),\r\n inverse: createColorFn(ANSI.inverse),\r\n hidden: createColorFn(ANSI.hidden),\r\n strikethrough: createColorFn(ANSI.strikethrough),\r\n\r\n // Foreground colors\r\n black: createColorFn(ANSI.black),\r\n red: createColorFn(ANSI.red),\r\n green: createColorFn(ANSI.green),\r\n yellow: createColorFn(ANSI.yellow),\r\n blue: createColorFn(ANSI.blue),\r\n magenta: createColorFn(ANSI.magenta),\r\n cyan: createColorFn(ANSI.cyan),\r\n white: createColorFn(ANSI.white),\r\n gray: createColorFn(ANSI.gray),\r\n grey: createColorFn(ANSI.grey),\r\n\r\n // Bright colors\r\n brightRed: createColorFn(ANSI.brightRed),\r\n brightGreen: createColorFn(ANSI.brightGreen),\r\n brightYellow: createColorFn(ANSI.brightYellow),\r\n brightBlue: createColorFn(ANSI.brightBlue),\r\n brightMagenta: createColorFn(ANSI.brightMagenta),\r\n brightCyan: createColorFn(ANSI.brightCyan),\r\n brightWhite: createColorFn(ANSI.brightWhite),\r\n\r\n // Background colors\r\n bgBlack: createColorFn(ANSI.bgBlack),\r\n bgRed: createColorFn(ANSI.bgRed),\r\n bgGreen: createColorFn(ANSI.bgGreen),\r\n bgYellow: createColorFn(ANSI.bgYellow),\r\n bgBlue: createColorFn(ANSI.bgBlue),\r\n bgMagenta: createColorFn(ANSI.bgMagenta),\r\n bgCyan: createColorFn(ANSI.bgCyan),\r\n bgWhite: createColorFn(ANSI.bgWhite),\r\n\r\n // Semantic colors\r\n success: createColorFn(ANSI.green),\r\n error: createColorFn(ANSI.red),\r\n warning: createColorFn(ANSI.yellow),\r\n info: createColorFn(ANSI.blue),\r\n muted: createColorFn(ANSI.gray),\r\n\r\n // Combine multiple styles\r\n combine: (...codes: string[]) =>\r\n (text: string): string => {\r\n if (!supportsColor()) return text;\r\n return `${codes.join('')}${text}${ANSI.reset}`;\r\n },\r\n\r\n // Strip ANSI codes from string\r\n strip: (text: string): string =>\r\n text.replace(\r\n /[\\u001b\\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,\r\n ''\r\n ),\r\n\r\n // Get raw ANSI codes\r\n codes: ANSI\r\n};\r\n\r\n// Aliases for convenience\r\nexport const {\r\n bold,\r\n dim,\r\n italic,\r\n underline,\r\n red,\r\n green,\r\n yellow,\r\n blue,\r\n magenta,\r\n cyan,\r\n white,\r\n gray,\r\n grey,\r\n success,\r\n error,\r\n warning,\r\n info,\r\n muted,\r\n strip\r\n} = pigment;\r\n\r\n/**\r\n * Create a custom theme\r\n */\r\nexport interface Theme {\r\n error: (text: string) => string;\r\n success: (text: string) => string;\r\n warning: (text: string) => string;\r\n info: (text: string) => string;\r\n muted: (text: string) => string;\r\n path: (text: string) => string;\r\n value: (text: string) => string;\r\n key: (text: string) => string;\r\n symbol: (text: string) => string;\r\n}\r\n\r\n/**\r\n * Default VLD theme for error formatting\r\n */\r\nexport const vldTheme: Theme = {\r\n error: red,\r\n success: green,\r\n warning: yellow,\r\n info: blue,\r\n muted: dim,\r\n path: cyan,\r\n value: yellow,\r\n key: bold,\r\n symbol: red\r\n};\r\n\r\n/**\r\n * Create a custom theme\r\n */\r\nexport function createTheme(overrides: Partial<Theme> = {}): Theme {\r\n return { ...vldTheme, ...overrides };\r\n}\r\n\r\nexport default pigment;\r\n"]}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Codecs Plugin
3
+ *
4
+ * Bu plugin tüm built-in codec'leri içerir.
5
+ * Bidirectional data transformation için kullanılır.
6
+ */
7
+ import type { ValidatorPlugin } from './types.js';
8
+ /**
9
+ * Codecs Plugin
10
+ *
11
+ * Bu plugin codec'leri kernel'a kaydeder.
12
+ * Codec'ler doğrudan VldCodec olarak export edildiği için,
13
+ * bu plugin sadece metadata ve lifecycle yönetimi sağlar.
14
+ */
15
+ export declare const codecsPlugin: ValidatorPlugin;
16
+ export default codecsPlugin;
17
+ //# sourceMappingURL=codecs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codecs.d.ts","sourceRoot":"","sources":["../../src/plugins/codecs.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,EAAE,eAe1B,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Codecs Plugin
3
+ *
4
+ * Bu plugin tüm built-in codec'leri içerir.
5
+ * Bidirectional data transformation için kullanılır.
6
+ */
7
+ /**
8
+ * Codecs Plugin
9
+ *
10
+ * Bu plugin codec'leri kernel'a kaydeder.
11
+ * Codec'ler doğrudan VldCodec olarak export edildiği için,
12
+ * bu plugin sadece metadata ve lifecycle yönetimi sağlar.
13
+ */
14
+ export const codecsPlugin = {
15
+ name: 'vld-codecs',
16
+ version: '2.0.0',
17
+ description: 'Built-in codecs for VLD',
18
+ // Codec'ler doğrudan src/codecs/index.ts'den export edilir
19
+ // Bu plugin sadece metadata sağlar
20
+ codecs: {},
21
+ install(kernel) {
22
+ if (kernel.getContext().debug) {
23
+ console.log('[VLD] Codecs plugin installed');
24
+ console.log('[VLD] Note: Codecs are available via direct imports from @oxog/vld');
25
+ }
26
+ }
27
+ };
28
+ export default codecsPlugin;
29
+ //# sourceMappingURL=codecs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codecs.js","sourceRoot":"","sources":["../../src/plugins/codecs.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAoB;IAC3C,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,yBAAyB;IAEtC,2DAA2D;IAC3D,mCAAmC;IACnC,MAAM,EAAE,EAAE;IAEV,OAAO,CAAC,MAAM;QACZ,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;CACF,CAAC;AAEF,eAAe,YAAY,CAAC","sourcesContent":["/**\n * Codecs Plugin\n *\n * Bu plugin tüm built-in codec'leri içerir.\n * Bidirectional data transformation için kullanılır.\n */\n\nimport type { ValidatorPlugin } from './types.js';\n\n/**\n * Codecs Plugin\n *\n * Bu plugin codec'leri kernel'a kaydeder.\n * Codec'ler doğrudan VldCodec olarak export edildiği için,\n * bu plugin sadece metadata ve lifecycle yönetimi sağlar.\n */\nexport const codecsPlugin: ValidatorPlugin = {\n name: 'vld-codecs',\n version: '2.0.0',\n description: 'Built-in codecs for VLD',\n\n // Codec'ler doğrudan src/codecs/index.ts'den export edilir\n // Bu plugin sadece metadata sağlar\n codecs: {},\n\n install(kernel) {\n if (kernel.getContext().debug) {\n console.log('[VLD] Codecs plugin installed');\n console.log('[VLD] Note: Codecs are available via direct imports from @oxog/vld');\n }\n }\n};\n\nexport default codecsPlugin;\n"]}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Coercion Plugin
3
+ *
4
+ * Bu plugin type coercion validator'larını içerir.
5
+ * String, number, boolean, date, bigint için otomatik tip dönüşümü sağlar.
6
+ */
7
+ import type { ValidatorPlugin } from './types.js';
8
+ /**
9
+ * Coercion Plugin
10
+ */
11
+ export declare const coercionPlugin: ValidatorPlugin;
12
+ export default coercionPlugin;
13
+ //# sourceMappingURL=coercion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coercion.d.ts","sourceRoot":"","sources":["../../src/plugins/coercion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAoB,MAAM,YAAY,CAAC;AAOpE;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,eAmB5B,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Coercion Plugin
3
+ *
4
+ * Bu plugin type coercion validator'larını içerir.
5
+ * String, number, boolean, date, bigint için otomatik tip dönüşümü sağlar.
6
+ */
7
+ import { VldCoerceString } from '../coercion/string.js';
8
+ import { VldCoerceNumber } from '../coercion/number.js';
9
+ import { VldCoerceBoolean } from '../coercion/boolean.js';
10
+ import { VldCoerceDate } from '../coercion/date.js';
11
+ import { VldCoerceBigInt } from '../coercion/bigint.js';
12
+ /**
13
+ * Coercion Plugin
14
+ */
15
+ export const coercionPlugin = {
16
+ name: 'vld-coercion',
17
+ version: '2.0.0',
18
+ description: 'Type coercion validators for VLD',
19
+ dependencies: ['vld-core-validators'],
20
+ validators: {
21
+ 'coerce.string': (() => VldCoerceString.create()),
22
+ 'coerce.number': (() => VldCoerceNumber.create()),
23
+ 'coerce.boolean': (() => VldCoerceBoolean.create()),
24
+ 'coerce.date': (() => VldCoerceDate.create()),
25
+ 'coerce.bigint': (() => VldCoerceBigInt.create())
26
+ },
27
+ install(kernel) {
28
+ if (kernel.getContext().debug) {
29
+ console.log('[VLD] Coercion plugin installed');
30
+ }
31
+ }
32
+ };
33
+ export default coercionPlugin;
34
+ //# sourceMappingURL=coercion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coercion.js","sourceRoot":"","sources":["../../src/plugins/coercion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAoB;IAC7C,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,kCAAkC;IAC/C,YAAY,EAAE,CAAC,qBAAqB,CAAC;IAErC,UAAU,EAAE;QACV,eAAe,EAAE,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,CAAqB;QACrE,eAAe,EAAE,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,CAAqB;QACrE,gBAAgB,EAAE,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAqB;QACvE,aAAa,EAAE,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,CAAqB;QACjE,eAAe,EAAE,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,CAAqB;KACtE;IAED,OAAO,CAAC,MAAM;QACZ,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;CACF,CAAC;AAEF,eAAe,cAAc,CAAC","sourcesContent":["/**\n * Coercion Plugin\n *\n * Bu plugin type coercion validator'larını içerir.\n * String, number, boolean, date, bigint için otomatik tip dönüşümü sağlar.\n */\n\nimport type { ValidatorPlugin, ValidatorFactory } from './types.js';\nimport { VldCoerceString } from '../coercion/string.js';\nimport { VldCoerceNumber } from '../coercion/number.js';\nimport { VldCoerceBoolean } from '../coercion/boolean.js';\nimport { VldCoerceDate } from '../coercion/date.js';\nimport { VldCoerceBigInt } from '../coercion/bigint.js';\n\n/**\n * Coercion Plugin\n */\nexport const coercionPlugin: ValidatorPlugin = {\n name: 'vld-coercion',\n version: '2.0.0',\n description: 'Type coercion validators for VLD',\n dependencies: ['vld-core-validators'],\n\n validators: {\n 'coerce.string': (() => VldCoerceString.create()) as ValidatorFactory,\n 'coerce.number': (() => VldCoerceNumber.create()) as ValidatorFactory,\n 'coerce.boolean': (() => VldCoerceBoolean.create()) as ValidatorFactory,\n 'coerce.date': (() => VldCoerceDate.create()) as ValidatorFactory,\n 'coerce.bigint': (() => VldCoerceBigInt.create()) as ValidatorFactory\n },\n\n install(kernel) {\n if (kernel.getContext().debug) {\n console.log('[VLD] Coercion plugin installed');\n }\n }\n};\n\nexport default coercionPlugin;\n"]}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Core Validators Plugin
3
+ *
4
+ * Bu plugin tüm temel validator'ları içerir.
5
+ * VLD'nin varsayılan olarak yüklediği ana plugin'dir.
6
+ */
7
+ import type { ValidatorPlugin } from './types.js';
8
+ /**
9
+ * Core Validators Plugin
10
+ */
11
+ export declare const coreValidatorsPlugin: ValidatorPlugin;
12
+ export default coreValidatorsPlugin;
13
+ //# sourceMappingURL=core-validators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-validators.d.ts","sourceRoot":"","sources":["../../src/plugins/core-validators.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AA2BlD;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,eAsElC,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Core Validators Plugin
3
+ *
4
+ * Bu plugin tüm temel validator'ları içerir.
5
+ * VLD'nin varsayılan olarak yüklediği ana plugin'dir.
6
+ */
7
+ import { VldString } from '../validators/string.js';
8
+ import { VldNumber } from '../validators/number.js';
9
+ import { VldBoolean } from '../validators/boolean.js';
10
+ import { VldDate } from '../validators/date.js';
11
+ import { VldBigInt } from '../validators/bigint.js';
12
+ import { VldSymbol } from '../validators/symbol.js';
13
+ import { VldArray } from '../validators/array.js';
14
+ import { VldObject } from '../validators/object.js';
15
+ import { VldTuple } from '../validators/tuple.js';
16
+ import { VldRecord } from '../validators/record.js';
17
+ import { VldSet } from '../validators/set.js';
18
+ import { VldMap } from '../validators/map.js';
19
+ import { VldUnion } from '../validators/union.js';
20
+ import { VldIntersection } from '../validators/intersection.js';
21
+ import { VldLiteral } from '../validators/literal.js';
22
+ import { VldEnum } from '../validators/enum.js';
23
+ import { VldAny } from '../validators/any.js';
24
+ import { VldUnknown } from '../validators/unknown.js';
25
+ import { VldVoid } from '../validators/void.js';
26
+ import { VldNever } from '../validators/never.js';
27
+ import { VldNull } from '../validators/null.js';
28
+ import { VldUndefined } from '../validators/undefined.js';
29
+ import { VldNan } from '../validators/nan.js';
30
+ import { VldLazy } from '../validators/lazy.js';
31
+ import { VldStringBool } from '../validators/string-bool.js';
32
+ /**
33
+ * Core Validators Plugin
34
+ */
35
+ export const coreValidatorsPlugin = {
36
+ name: 'vld-core-validators',
37
+ version: '2.0.0',
38
+ description: 'Core validator types for VLD',
39
+ validators: {
40
+ // Primitive types
41
+ string: () => VldString.create(),
42
+ number: () => VldNumber.create(),
43
+ int: () => VldNumber.create().int(),
44
+ boolean: () => VldBoolean.create(),
45
+ date: () => VldDate.create(),
46
+ bigint: () => VldBigInt.create(),
47
+ symbol: () => VldSymbol.create(),
48
+ stringbool: (options) => VldStringBool.create(options),
49
+ // Complex types
50
+ array: (item) => VldArray.create(item),
51
+ object: (shape) => VldObject.create(shape),
52
+ tuple: (...items) => VldTuple.create(...items),
53
+ record: (value) => VldRecord.create(value),
54
+ set: (item) => VldSet.create(item),
55
+ map: (key, value) => VldMap.create(key, value),
56
+ // Union and intersection
57
+ union: (...validators) => VldUnion.create(...validators),
58
+ intersection: (first, second) => VldIntersection.create(first, second),
59
+ // Literal and enum
60
+ literal: (value) => VldLiteral.create(value),
61
+ enum: (values) => VldEnum.create(values),
62
+ // Special types
63
+ any: () => VldAny.create(),
64
+ unknown: () => VldUnknown.create(),
65
+ void: () => VldVoid.create(),
66
+ never: () => VldNever.create(), // Type assertion needed for never type
67
+ null: () => VldNull.create(),
68
+ undefined: () => VldUndefined.create(),
69
+ nan: () => VldNan.create(),
70
+ // Lazy (recursive schemas)
71
+ lazy: (schemaGetter) => VldLazy.create(schemaGetter)
72
+ },
73
+ install(kernel) {
74
+ if (kernel.getContext().debug) {
75
+ console.log('[VLD] Core validators plugin installed');
76
+ }
77
+ // Parse event'lerini dinle (debug mode)
78
+ kernel.on('vld:parse:start', ({ schema }) => {
79
+ if (kernel.getContext().debug) {
80
+ console.log(`[VLD] Parsing: ${schema.constructor.name}`);
81
+ }
82
+ });
83
+ kernel.on('vld:parse:success', ({ schema, duration }) => {
84
+ if (kernel.getContext().debug) {
85
+ console.log(`[VLD] Parse success: ${schema.constructor.name} (${duration.toFixed(2)}ms)`);
86
+ }
87
+ });
88
+ kernel.on('vld:parse:error', ({ schema, error, duration }) => {
89
+ if (kernel.getContext().debug) {
90
+ console.log(`[VLD] Parse error: ${schema.constructor.name} (${duration.toFixed(2)}ms) - ${error.message}`);
91
+ }
92
+ });
93
+ }
94
+ };
95
+ export default coreValidatorsPlugin;
96
+ //# sourceMappingURL=core-validators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-validators.js","sourceRoot":"","sources":["../../src/plugins/core-validators.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Core Validators Plugin\n *\n * Bu plugin tüm temel validator'ları içerir.\n * VLD'nin varsayılan olarak yüklediği ana plugin'dir.\n */\n\nimport type { ValidatorPlugin } from './types.js';\nimport { VldString } from '../validators/string.js';\nimport { VldNumber } from '../validators/number.js';\nimport { VldBoolean } from '../validators/boolean.js';\nimport { VldDate } from '../validators/date.js';\nimport { VldBigInt } from '../validators/bigint.js';\nimport { VldSymbol } from '../validators/symbol.js';\nimport { VldArray } from '../validators/array.js';\nimport { VldObject } from '../validators/object.js';\nimport { VldTuple } from '../validators/tuple.js';\nimport { VldRecord } from '../validators/record.js';\nimport { VldSet } from '../validators/set.js';\nimport { VldMap } from '../validators/map.js';\nimport { VldUnion } from '../validators/union.js';\nimport { VldIntersection } from '../validators/intersection.js';\nimport { VldLiteral } from '../validators/literal.js';\nimport { VldEnum } from '../validators/enum.js';\nimport { VldAny } from '../validators/any.js';\nimport { VldUnknown } from '../validators/unknown.js';\nimport { VldVoid } from '../validators/void.js';\nimport { VldNever } from '../validators/never.js';\nimport { VldNull } from '../validators/null.js';\nimport { VldUndefined } from '../validators/undefined.js';\nimport { VldNan } from '../validators/nan.js';\nimport { VldLazy } from '../validators/lazy.js';\nimport { VldStringBool } from '../validators/string-bool.js';\n\n/**\n * Core Validators Plugin\n */\nexport const coreValidatorsPlugin: ValidatorPlugin = {\n name: 'vld-core-validators',\n version: '2.0.0',\n description: 'Core validator types for VLD',\n\n validators: {\n // Primitive types\n string: () => VldString.create(),\n number: () => VldNumber.create(),\n int: () => VldNumber.create().int(),\n boolean: () => VldBoolean.create(),\n date: () => VldDate.create(),\n bigint: () => VldBigInt.create(),\n symbol: () => VldSymbol.create(),\n stringbool: (options?: { truthy?: readonly string[]; falsy?: readonly string[]; caseSensitive?: boolean }) =>\n VldStringBool.create(options as any),\n\n // Complex types\n array: (item: any) => VldArray.create(item),\n object: (shape: any) => VldObject.create(shape),\n tuple: (...items: any[]) => VldTuple.create(...items),\n record: (value: any) => VldRecord.create(value),\n set: (item: any) => VldSet.create(item),\n map: (key: any, value: any) => VldMap.create(key, value),\n\n // Union and intersection\n union: (...validators: any[]) => VldUnion.create(...validators),\n intersection: (first: any, second: any) => VldIntersection.create(first, second),\n\n // Literal and enum\n literal: (value: any) => VldLiteral.create(value),\n enum: (values: readonly [string, ...string[]]) => VldEnum.create(values),\n\n // Special types\n any: () => VldAny.create(),\n unknown: () => VldUnknown.create(),\n void: () => VldVoid.create(),\n never: () => VldNever.create() as any, // Type assertion needed for never type\n null: () => VldNull.create(),\n undefined: () => VldUndefined.create(),\n nan: () => VldNan.create(),\n\n // Lazy (recursive schemas)\n lazy: (schemaGetter: () => any) => VldLazy.create(schemaGetter)\n },\n\n install(kernel) {\n if (kernel.getContext().debug) {\n console.log('[VLD] Core validators plugin installed');\n }\n\n // Parse event'lerini dinle (debug mode)\n kernel.on('vld:parse:start', ({ schema }) => {\n if (kernel.getContext().debug) {\n console.log(`[VLD] Parsing: ${schema.constructor.name}`);\n }\n });\n\n kernel.on('vld:parse:success', ({ schema, duration }) => {\n if (kernel.getContext().debug) {\n console.log(`[VLD] Parse success: ${schema.constructor.name} (${duration.toFixed(2)}ms)`);\n }\n });\n\n kernel.on('vld:parse:error', ({ schema, error, duration }) => {\n if (kernel.getContext().debug) {\n console.log(`[VLD] Parse error: ${schema.constructor.name} (${duration.toFixed(2)}ms) - ${error.message}`);\n }\n });\n }\n};\n\nexport default coreValidatorsPlugin;\n"]}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * VLD Plugins Module
3
+ *
4
+ * This module exports all plugin-related functionality.
5
+ */
6
+ export type { VldContext, VldPlugin, VldKernelInstance, VldKernelOptions, ValidatorFactory, TransformFactory, CodecFactory, HookContext, PluginBuilder, PluginMeta, PluginHooks } from './types';
7
+ export { createVldKernel, definePlugin, getVldKernel, resetVldKernel, usePlugin } from '../kernel';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,YAAY,EACV,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,aAAa,EACb,UAAU,EACV,WAAW,EACZ,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,SAAS,EACV,MAAM,WAAW,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * VLD Plugins Module
3
+ *
4
+ * This module exports all plugin-related functionality.
5
+ */
6
+ // Re-export kernel functionality
7
+ export { createVldKernel, definePlugin, getVldKernel, resetVldKernel, usePlugin } from '../kernel.js';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAiBH,iCAAiC;AACjC,OAAO,EACL,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,SAAS,EACV,MAAM,WAAW,CAAC","sourcesContent":["/**\r\n * VLD Plugins Module\r\n *\r\n * This module exports all plugin-related functionality.\r\n */\r\n\r\n// Export types\r\nexport type {\r\n VldContext,\r\n VldPlugin,\r\n VldKernelInstance,\r\n VldKernelOptions,\r\n ValidatorFactory,\r\n TransformFactory,\r\n CodecFactory,\r\n HookContext,\r\n PluginBuilder,\r\n PluginMeta,\r\n PluginHooks\r\n} from './types';\r\n\r\n// Re-export kernel functionality\r\nexport {\r\n createVldKernel,\r\n definePlugin,\r\n getVldKernel,\r\n resetVldKernel,\r\n usePlugin\r\n} from '../kernel';\r\n"]}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * VLD Kernel Implementation
3
+ *
4
+ * Bu modül VLD plugin sistemi için merkezi yönetim noktasını sağlar.
5
+ * @oxog/plugin paketi ile uyumlu micro-kernel mimarisi kullanır.
6
+ */
7
+ import type { VldKernel, VldKernelOptions } from './types.js';
8
+ /**
9
+ * Yeni VLD Kernel oluşturur
10
+ */
11
+ export declare function createVldKernel(options?: VldKernelOptions): VldKernel;
12
+ /**
13
+ * Global kernel'i alır veya oluşturur
14
+ */
15
+ export declare function getGlobalKernel(): VldKernel;
16
+ /**
17
+ * Global kernel'i ayarlar
18
+ */
19
+ export declare function setGlobalKernel(kernel: VldKernel): void;
20
+ /**
21
+ * Global kernel'i sıfırlar
22
+ */
23
+ export declare function resetGlobalKernel(): void;
24
+ import type { PluginBuilder } from './types.js';
25
+ /**
26
+ * Plugin builder oluşturur
27
+ */
28
+ export declare function definePlugin(): PluginBuilder;
29
+ //# sourceMappingURL=kernel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../../src/plugins/kernel.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,SAAS,EACT,gBAAgB,EAOjB,MAAM,YAAY,CAAC;AAwcpB;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAErE;AAQD;;GAEG;AACH,wBAAgB,eAAe,IAAI,SAAS,CAK3C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAEvD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAKxC;AAMD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;GAEG;AACH,wBAAgB,YAAY,IAAI,aAAa,CA6F5C"}