@oxog/vld 1.5.0 → 2.0.1

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 (279) hide show
  1. package/CHANGELOG.md +116 -0
  2. package/README.md +558 -517
  3. package/dist/chunks/bigint-ZKkWLdmi.js +1628 -0
  4. package/dist/chunks/bigint-ZKkWLdmi.js.map +1 -0
  5. package/dist/{coercion/string.js → chunks/date-7Iz2BGsL.js} +271 -5
  6. package/dist/chunks/date-7Iz2BGsL.js.map +1 -0
  7. package/dist/chunks/index-BoV-4S1F.js +894 -0
  8. package/dist/chunks/index-BoV-4S1F.js.map +1 -0
  9. package/dist/chunks/index-eWXdjyyy.js +426 -0
  10. package/dist/chunks/index-eWXdjyyy.js.map +1 -0
  11. package/dist/chunks/json-nIhyRPOU.js +1934 -0
  12. package/dist/chunks/json-nIhyRPOU.js.map +1 -0
  13. package/dist/{validators/unknown.js → chunks/unknown-CjSRcELI.js} +6 -3
  14. package/dist/chunks/unknown-CjSRcELI.js.map +1 -0
  15. package/dist/cjs/errors.cjs +387 -0
  16. package/dist/cjs/errors.cjs.map +1 -0
  17. package/dist/cjs/index.cjs +9815 -0
  18. package/dist/cjs/index.cjs.map +1 -0
  19. package/dist/cjs/locales/index.cjs +2877 -0
  20. package/dist/cjs/locales/index.cjs.map +1 -0
  21. package/dist/cjs/locales/lazy.cjs +3169 -0
  22. package/dist/cjs/locales/lazy.cjs.map +1 -0
  23. package/dist/cjs/mini.cjs +7161 -0
  24. package/dist/cjs/mini.cjs.map +1 -0
  25. package/dist/codecs/index.js +4 -275
  26. package/dist/codecs/index.js.map +1 -1
  27. package/dist/coercion/index.d.ts +11 -0
  28. package/dist/coercion/index.d.ts.map +1 -0
  29. package/dist/coercion/{bigint.js → index.js} +7 -4
  30. package/dist/coercion/index.js.map +1 -0
  31. package/dist/compat/emitter.js +6 -4
  32. package/dist/compat/emitter.js.map +1 -1
  33. package/dist/compat/result.js +21 -19
  34. package/dist/compat/result.js.map +1 -1
  35. package/dist/errors.js +13 -10
  36. package/dist/errors.js.map +1 -1
  37. package/dist/index.js +225 -126
  38. package/dist/index.js.map +1 -1
  39. package/dist/kernel.js +10 -7
  40. package/dist/kernel.js.map +1 -1
  41. package/dist/locales/af.js +4 -2
  42. package/dist/locales/af.js.map +1 -1
  43. package/dist/locales/ar.js +4 -2
  44. package/dist/locales/ar.js.map +1 -1
  45. package/dist/locales/bn.js +4 -2
  46. package/dist/locales/bn.js.map +1 -1
  47. package/dist/locales/da.js +4 -2
  48. package/dist/locales/da.js.map +1 -1
  49. package/dist/locales/de.js +4 -2
  50. package/dist/locales/de.js.map +1 -1
  51. package/dist/locales/en.js +4 -2
  52. package/dist/locales/en.js.map +1 -1
  53. package/dist/locales/es-MX.js +4 -2
  54. package/dist/locales/es-MX.js.map +1 -1
  55. package/dist/locales/es.js +4 -2
  56. package/dist/locales/es.js.map +1 -1
  57. package/dist/locales/fi.js +4 -2
  58. package/dist/locales/fi.js.map +1 -1
  59. package/dist/locales/fr.js +4 -2
  60. package/dist/locales/fr.js.map +1 -1
  61. package/dist/locales/hi.js +4 -2
  62. package/dist/locales/hi.js.map +1 -1
  63. package/dist/locales/id.js +4 -2
  64. package/dist/locales/id.js.map +1 -1
  65. package/dist/locales/index.js +3 -91
  66. package/dist/locales/index.js.map +1 -1
  67. package/dist/locales/it.js +4 -2
  68. package/dist/locales/it.js.map +1 -1
  69. package/dist/locales/ja.js +4 -2
  70. package/dist/locales/ja.js.map +1 -1
  71. package/dist/locales/ko.js +4 -2
  72. package/dist/locales/ko.js.map +1 -1
  73. package/dist/locales/lazy.d.ts +111 -0
  74. package/dist/locales/lazy.d.ts.map +1 -0
  75. package/dist/locales/lazy.js +220 -0
  76. package/dist/locales/lazy.js.map +1 -0
  77. package/dist/locales/nl.js +4 -2
  78. package/dist/locales/nl.js.map +1 -1
  79. package/dist/locales/no.js +4 -2
  80. package/dist/locales/no.js.map +1 -1
  81. package/dist/locales/pl.js +4 -2
  82. package/dist/locales/pl.js.map +1 -1
  83. package/dist/locales/pt-BR.js +4 -2
  84. package/dist/locales/pt-BR.js.map +1 -1
  85. package/dist/locales/pt.js +4 -2
  86. package/dist/locales/pt.js.map +1 -1
  87. package/dist/locales/ru.js +4 -2
  88. package/dist/locales/ru.js.map +1 -1
  89. package/dist/locales/sv.js +4 -2
  90. package/dist/locales/sv.js.map +1 -1
  91. package/dist/locales/sw.js +4 -2
  92. package/dist/locales/sw.js.map +1 -1
  93. package/dist/locales/th.js +4 -2
  94. package/dist/locales/th.js.map +1 -1
  95. package/dist/locales/tr.js +4 -2
  96. package/dist/locales/tr.js.map +1 -1
  97. package/dist/locales/vi.js +4 -2
  98. package/dist/locales/vi.js.map +1 -1
  99. package/dist/locales/zh.js +4 -2
  100. package/dist/locales/zh.js.map +1 -1
  101. package/dist/mini.d.ts +182 -0
  102. package/dist/mini.d.ts.map +1 -0
  103. package/dist/mini.js +132 -0
  104. package/dist/mini.js.map +1 -0
  105. package/dist/pigment.js +8 -7
  106. package/dist/pigment.js.map +1 -1
  107. package/dist/validators/index.js +5 -45
  108. package/dist/validators/index.js.map +1 -1
  109. package/package.json +69 -11
  110. package/dist/cli/benchmark.d.ts +0 -15
  111. package/dist/cli/benchmark.d.ts.map +0 -1
  112. package/dist/cli/benchmark.js +0 -248
  113. package/dist/cli/benchmark.js.map +0 -1
  114. package/dist/cli/bin.js +0 -35
  115. package/dist/cli/bin.js.map +0 -1
  116. package/dist/cli/commands/benchmark.js +0 -204
  117. package/dist/cli/commands/benchmark.js.map +0 -1
  118. package/dist/cli/commands/validate.js +0 -157
  119. package/dist/cli/commands/validate.js.map +0 -1
  120. package/dist/cli/generate.d.ts +0 -14
  121. package/dist/cli/generate.d.ts.map +0 -1
  122. package/dist/cli/generate.js +0 -233
  123. package/dist/cli/generate.js.map +0 -1
  124. package/dist/cli/index.js +0 -182
  125. package/dist/cli/index.js.map +0 -1
  126. package/dist/cli/validate.d.ts +0 -15
  127. package/dist/cli/validate.d.ts.map +0 -1
  128. package/dist/cli/validate.js +0 -162
  129. package/dist/cli/validate.js.map +0 -1
  130. package/dist/coercion/bigint.js.map +0 -1
  131. package/dist/coercion/boolean.js +0 -59
  132. package/dist/coercion/boolean.js.map +0 -1
  133. package/dist/coercion/date.js +0 -52
  134. package/dist/coercion/date.js.map +0 -1
  135. package/dist/coercion/number.js +0 -160
  136. package/dist/coercion/number.js.map +0 -1
  137. package/dist/coercion/string.js.map +0 -1
  138. package/dist/compat/index.js +0 -14
  139. package/dist/compat/index.js.map +0 -1
  140. package/dist/events.js +0 -8
  141. package/dist/events.js.map +0 -1
  142. package/dist/guards.d.ts +0 -143
  143. package/dist/guards.d.ts.map +0 -1
  144. package/dist/guards.js +0 -238
  145. package/dist/guards.js.map +0 -1
  146. package/dist/index-new.d.ts.map +0 -1
  147. package/dist/locales/backup-en.js +0 -105
  148. package/dist/locales/backup-en.js.map +0 -1
  149. package/dist/locales/types.js +0 -2
  150. package/dist/locales/types.js.map +0 -1
  151. package/dist/locales.d.ts +0 -54
  152. package/dist/locales.d.ts.map +0 -1
  153. package/dist/locales.js +0 -732
  154. package/dist/locales.js.map +0 -1
  155. package/dist/logger.js +0 -184
  156. package/dist/logger.js.map +0 -1
  157. package/dist/plugins/codecs.d.ts +0 -17
  158. package/dist/plugins/codecs.d.ts.map +0 -1
  159. package/dist/plugins/codecs.js +0 -29
  160. package/dist/plugins/codecs.js.map +0 -1
  161. package/dist/plugins/coercion.d.ts +0 -13
  162. package/dist/plugins/coercion.d.ts.map +0 -1
  163. package/dist/plugins/coercion.js +0 -34
  164. package/dist/plugins/coercion.js.map +0 -1
  165. package/dist/plugins/core-validators.d.ts +0 -13
  166. package/dist/plugins/core-validators.d.ts.map +0 -1
  167. package/dist/plugins/core-validators.js +0 -96
  168. package/dist/plugins/core-validators.js.map +0 -1
  169. package/dist/plugins/index.js +0 -8
  170. package/dist/plugins/index.js.map +0 -1
  171. package/dist/plugins/kernel.d.ts +0 -29
  172. package/dist/plugins/kernel.d.ts.map +0 -1
  173. package/dist/plugins/kernel.js +0 -486
  174. package/dist/plugins/kernel.js.map +0 -1
  175. package/dist/plugins/types.js +0 -8
  176. package/dist/plugins/types.js.map +0 -1
  177. package/dist/style.d.ts +0 -123
  178. package/dist/style.d.ts.map +0 -1
  179. package/dist/style.js +0 -369
  180. package/dist/style.js.map +0 -1
  181. package/dist/utils/codec-utils.js +0 -229
  182. package/dist/utils/codec-utils.js.map +0 -1
  183. package/dist/utils/deep-merge.js +0 -76
  184. package/dist/utils/deep-merge.js.map +0 -1
  185. package/dist/utils/ip-validation.js +0 -98
  186. package/dist/utils/ip-validation.js.map +0 -1
  187. package/dist/utils/security.js +0 -61
  188. package/dist/utils/security.js.map +0 -1
  189. package/dist/validators/any.js +0 -25
  190. package/dist/validators/any.js.map +0 -1
  191. package/dist/validators/array.js +0 -190
  192. package/dist/validators/array.js.map +0 -1
  193. package/dist/validators/base.js +0 -499
  194. package/dist/validators/base.js.map +0 -1
  195. package/dist/validators/base64.js +0 -65
  196. package/dist/validators/base64.js.map +0 -1
  197. package/dist/validators/bigint.js +0 -142
  198. package/dist/validators/bigint.js.map +0 -1
  199. package/dist/validators/boolean.js +0 -114
  200. package/dist/validators/boolean.js.map +0 -1
  201. package/dist/validators/codec.js +0 -182
  202. package/dist/validators/codec.js.map +0 -1
  203. package/dist/validators/custom.js +0 -50
  204. package/dist/validators/custom.js.map +0 -1
  205. package/dist/validators/date.js +0 -227
  206. package/dist/validators/date.js.map +0 -1
  207. package/dist/validators/discriminated-union.js +0 -98
  208. package/dist/validators/discriminated-union.js.map +0 -1
  209. package/dist/validators/enum.js +0 -82
  210. package/dist/validators/enum.js.map +0 -1
  211. package/dist/validators/file.js +0 -114
  212. package/dist/validators/file.js.map +0 -1
  213. package/dist/validators/function.js +0 -45
  214. package/dist/validators/function.js.map +0 -1
  215. package/dist/validators/hex.js +0 -62
  216. package/dist/validators/hex.js.map +0 -1
  217. package/dist/validators/intersection.js +0 -64
  218. package/dist/validators/intersection.js.map +0 -1
  219. package/dist/validators/json.js +0 -64
  220. package/dist/validators/json.js.map +0 -1
  221. package/dist/validators/lazy.js +0 -42
  222. package/dist/validators/lazy.js.map +0 -1
  223. package/dist/validators/literal.js +0 -45
  224. package/dist/validators/literal.js.map +0 -1
  225. package/dist/validators/map.js +0 -54
  226. package/dist/validators/map.js.map +0 -1
  227. package/dist/validators/nan.js +0 -32
  228. package/dist/validators/nan.js.map +0 -1
  229. package/dist/validators/never.js +0 -29
  230. package/dist/validators/never.js.map +0 -1
  231. package/dist/validators/null.js +0 -31
  232. package/dist/validators/null.js.map +0 -1
  233. package/dist/validators/number.js +0 -225
  234. package/dist/validators/number.js.map +0 -1
  235. package/dist/validators/object-optimized.d.ts +0 -23
  236. package/dist/validators/object-optimized.d.ts.map +0 -1
  237. package/dist/validators/object-optimized.js +0 -179
  238. package/dist/validators/object-optimized.js.map +0 -1
  239. package/dist/validators/object-ultra.d.ts +0 -34
  240. package/dist/validators/object-ultra.d.ts.map +0 -1
  241. package/dist/validators/object-ultra.js +0 -175
  242. package/dist/validators/object-ultra.js.map +0 -1
  243. package/dist/validators/object.js +0 -458
  244. package/dist/validators/object.js.map +0 -1
  245. package/dist/validators/record.js +0 -128
  246. package/dist/validators/record.js.map +0 -1
  247. package/dist/validators/set.js +0 -51
  248. package/dist/validators/set.js.map +0 -1
  249. package/dist/validators/string-bool.js +0 -127
  250. package/dist/validators/string-bool.js.map +0 -1
  251. package/dist/validators/string-formats.js +0 -120
  252. package/dist/validators/string-formats.js.map +0 -1
  253. package/dist/validators/string-ultra.d.ts +0 -49
  254. package/dist/validators/string-ultra.d.ts.map +0 -1
  255. package/dist/validators/string-ultra.js +0 -217
  256. package/dist/validators/string-ultra.js.map +0 -1
  257. package/dist/validators/string.js +0 -253
  258. package/dist/validators/string.js.map +0 -1
  259. package/dist/validators/symbol.js +0 -42
  260. package/dist/validators/symbol.js.map +0 -1
  261. package/dist/validators/template-literal.js +0 -102
  262. package/dist/validators/template-literal.js.map +0 -1
  263. package/dist/validators/tuple.js +0 -55
  264. package/dist/validators/tuple.js.map +0 -1
  265. package/dist/validators/uint8array.js +0 -98
  266. package/dist/validators/uint8array.js.map +0 -1
  267. package/dist/validators/undefined.js +0 -31
  268. package/dist/validators/undefined.js.map +0 -1
  269. package/dist/validators/union-optimized.d.ts +0 -15
  270. package/dist/validators/union-optimized.d.ts.map +0 -1
  271. package/dist/validators/union-optimized.js +0 -92
  272. package/dist/validators/union-optimized.js.map +0 -1
  273. package/dist/validators/union.js +0 -126
  274. package/dist/validators/union.js.map +0 -1
  275. package/dist/validators/unknown.js.map +0 -1
  276. package/dist/validators/void.js +0 -35
  277. package/dist/validators/void.js.map +0 -1
  278. package/dist/validators/xor.js +0 -64
  279. package/dist/validators/xor.js.map +0 -1
package/dist/style.d.ts DELETED
@@ -1,123 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../src/style.ts"],"names":[],"mappings":"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"}
package/dist/style.js DELETED
@@ -1,369 +0,0 @@
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
- // ANSI Color Codes
10
- // ============================================================================
11
- const ANSI = {
12
- // Reset
13
- reset: '\x1b[0m',
14
- // Styles
15
- bold: '\x1b[1m',
16
- dim: '\x1b[2m',
17
- italic: '\x1b[3m',
18
- underline: '\x1b[4m',
19
- blink: '\x1b[5m',
20
- inverse: '\x1b[7m',
21
- hidden: '\x1b[8m',
22
- strikethrough: '\x1b[9m',
23
- // Foreground colors
24
- black: '\x1b[30m',
25
- red: '\x1b[31m',
26
- green: '\x1b[32m',
27
- yellow: '\x1b[33m',
28
- blue: '\x1b[34m',
29
- magenta: '\x1b[35m',
30
- cyan: '\x1b[36m',
31
- white: '\x1b[37m',
32
- gray: '\x1b[90m',
33
- // Bright foreground colors
34
- brightRed: '\x1b[91m',
35
- brightGreen: '\x1b[92m',
36
- brightYellow: '\x1b[93m',
37
- brightBlue: '\x1b[94m',
38
- brightMagenta: '\x1b[95m',
39
- brightCyan: '\x1b[96m',
40
- brightWhite: '\x1b[97m',
41
- // Background colors
42
- bgBlack: '\x1b[40m',
43
- bgRed: '\x1b[41m',
44
- bgGreen: '\x1b[42m',
45
- bgYellow: '\x1b[43m',
46
- bgBlue: '\x1b[44m',
47
- bgMagenta: '\x1b[45m',
48
- bgCyan: '\x1b[46m',
49
- bgWhite: '\x1b[47m'
50
- };
51
- // ============================================================================
52
- // Environment Detection
53
- // ============================================================================
54
- /**
55
- * Renklerin desteklenip desteklenmediğini kontrol eder
56
- */
57
- function supportsColor() {
58
- // Node.js environment
59
- if (typeof process !== 'undefined') {
60
- // NO_COLOR environment variable
61
- if (process.env?.NO_COLOR) {
62
- return false;
63
- }
64
- // FORCE_COLOR environment variable
65
- if (process.env?.FORCE_COLOR) {
66
- return true;
67
- }
68
- // Check if stdout is a TTY
69
- if (process.stdout?.isTTY) {
70
- return true;
71
- }
72
- // Check for CI environments
73
- if (process.env?.CI) {
74
- return true;
75
- }
76
- // Check for common terminal types
77
- const term = process.env?.TERM || '';
78
- if (term === 'dumb') {
79
- return false;
80
- }
81
- if (term.includes('color') || term.includes('256')) {
82
- return true;
83
- }
84
- }
85
- return false;
86
- }
87
- // Color support flag
88
- let colorEnabled = supportsColor();
89
- /**
90
- * Renkleri etkinleştirir
91
- */
92
- export function enableColors() {
93
- colorEnabled = true;
94
- }
95
- /**
96
- * Renkleri devre dışı bırakır
97
- */
98
- export function disableColors() {
99
- colorEnabled = false;
100
- }
101
- /**
102
- * Renklerin etkin olup olmadığını kontrol eder
103
- */
104
- export function colorsEnabled() {
105
- return colorEnabled;
106
- }
107
- // ============================================================================
108
- // Style Functions
109
- // ============================================================================
110
- /**
111
- * Bir stili metne uygular
112
- */
113
- function applyStyle(text, ...codes) {
114
- if (!colorEnabled) {
115
- return text;
116
- }
117
- return `${codes.join('')}${text}${ANSI.reset}`;
118
- }
119
- /**
120
- * Style helper object - @oxog/pigment API'si ile uyumlu
121
- */
122
- export const style = {
123
- // Reset
124
- reset: (text) => applyStyle(text, ANSI.reset),
125
- // Styles
126
- bold: (text) => applyStyle(text, ANSI.bold),
127
- dim: (text) => applyStyle(text, ANSI.dim),
128
- italic: (text) => applyStyle(text, ANSI.italic),
129
- underline: (text) => applyStyle(text, ANSI.underline),
130
- inverse: (text) => applyStyle(text, ANSI.inverse),
131
- hidden: (text) => applyStyle(text, ANSI.hidden),
132
- strikethrough: (text) => applyStyle(text, ANSI.strikethrough),
133
- // Foreground colors
134
- black: (text) => applyStyle(text, ANSI.black),
135
- red: (text) => applyStyle(text, ANSI.red),
136
- green: (text) => applyStyle(text, ANSI.green),
137
- yellow: (text) => applyStyle(text, ANSI.yellow),
138
- blue: (text) => applyStyle(text, ANSI.blue),
139
- magenta: (text) => applyStyle(text, ANSI.magenta),
140
- cyan: (text) => applyStyle(text, ANSI.cyan),
141
- white: (text) => applyStyle(text, ANSI.white),
142
- gray: (text) => applyStyle(text, ANSI.gray),
143
- grey: (text) => applyStyle(text, ANSI.gray),
144
- // Bright colors
145
- brightRed: (text) => applyStyle(text, ANSI.brightRed),
146
- brightGreen: (text) => applyStyle(text, ANSI.brightGreen),
147
- brightYellow: (text) => applyStyle(text, ANSI.brightYellow),
148
- brightBlue: (text) => applyStyle(text, ANSI.brightBlue),
149
- brightMagenta: (text) => applyStyle(text, ANSI.brightMagenta),
150
- brightCyan: (text) => applyStyle(text, ANSI.brightCyan),
151
- brightWhite: (text) => applyStyle(text, ANSI.brightWhite),
152
- // Background colors
153
- bgBlack: (text) => applyStyle(text, ANSI.bgBlack),
154
- bgRed: (text) => applyStyle(text, ANSI.bgRed),
155
- bgGreen: (text) => applyStyle(text, ANSI.bgGreen),
156
- bgYellow: (text) => applyStyle(text, ANSI.bgYellow),
157
- bgBlue: (text) => applyStyle(text, ANSI.bgBlue),
158
- bgMagenta: (text) => applyStyle(text, ANSI.bgMagenta),
159
- bgCyan: (text) => applyStyle(text, ANSI.bgCyan),
160
- bgWhite: (text) => applyStyle(text, ANSI.bgWhite),
161
- // Combined styles
162
- success: (text) => applyStyle(text, ANSI.green),
163
- error: (text) => applyStyle(text, ANSI.red),
164
- warning: (text) => applyStyle(text, ANSI.yellow),
165
- info: (text) => applyStyle(text, ANSI.cyan),
166
- muted: (text) => applyStyle(text, ANSI.dim),
167
- highlight: (text) => applyStyle(text, ANSI.bold, ANSI.yellow),
168
- // Custom combine
169
- combine: (...styles) => (text) => styles.reduce((acc, fn) => fn(acc), text)
170
- };
171
- /**
172
- * VLD hata mesajını renkli formatta döner
173
- */
174
- export function prettifyErrorColored(error) {
175
- const lines = [];
176
- for (const issue of error.issues) {
177
- // Error symbol and message
178
- const symbol = style.red('✖');
179
- const message = style.bold(issue.message);
180
- let line = `${symbol} ${message}`;
181
- // Path
182
- if (issue.path.length > 0) {
183
- const pathStr = issue.path
184
- .map((segment, index) => {
185
- if (typeof segment === 'string') {
186
- const str = index === 0 ? segment : `.${segment}`;
187
- return style.cyan(str);
188
- }
189
- else {
190
- return style.cyan(`[${segment}]`);
191
- }
192
- })
193
- .join('');
194
- const arrow = style.dim('→ at ');
195
- line += `\n ${arrow}${pathStr}`;
196
- }
197
- // Additional info
198
- if (issue.expected || issue.received) {
199
- const expected = issue.expected ? style.green(`expected: ${issue.expected}`) : '';
200
- const received = issue.received ? style.red(`received: ${issue.received}`) : '';
201
- const info = [expected, received].filter(Boolean).join(', ');
202
- if (info) {
203
- line += `\n ${style.dim(info)}`;
204
- }
205
- }
206
- lines.push(line);
207
- }
208
- return lines.join('\n');
209
- }
210
- /**
211
- * VLD issue'yu renkli formatta döner
212
- */
213
- export function formatIssueColored(issue) {
214
- const symbol = style.red('✖');
215
- const message = style.bold(issue.message);
216
- let line = `${symbol} ${message}`;
217
- if (issue.path.length > 0) {
218
- const pathStr = issue.path
219
- .map((segment, index) => {
220
- if (typeof segment === 'string') {
221
- return index === 0 ? segment : `.${segment}`;
222
- }
223
- return `[${segment}]`;
224
- })
225
- .join('');
226
- line += ` ${style.dim('at')} ${style.cyan(pathStr)}`;
227
- }
228
- return line;
229
- }
230
- /**
231
- * Başarı mesajı formatlar
232
- */
233
- export function formatSuccess(message) {
234
- return `${style.green('✔')} ${message}`;
235
- }
236
- /**
237
- * Uyarı mesajı formatlar
238
- */
239
- export function formatWarning(message) {
240
- return `${style.yellow('⚠')} ${message}`;
241
- }
242
- /**
243
- * Bilgi mesajı formatlar
244
- */
245
- export function formatInfo(message) {
246
- return `${style.blue('ℹ')} ${message}`;
247
- }
248
- /**
249
- * Debug mesajı formatlar
250
- */
251
- export function formatDebug(message) {
252
- return `${style.gray('⋯')} ${message}`;
253
- }
254
- /**
255
- * Basit tablo formatlar
256
- */
257
- export function formatTable(rows, options) {
258
- const { columns, border = true, headerColor = style.bold } = options;
259
- // Calculate column widths
260
- const widths = columns.map((col, i) => {
261
- const maxContent = Math.max(col.header.length, ...rows.map((row) => (row[i] || '').length));
262
- return col.width || maxContent;
263
- });
264
- // Format header
265
- const headerRow = columns
266
- .map((col, i) => {
267
- const text = col.header.padEnd(widths[i]);
268
- return headerColor(text);
269
- })
270
- .join(border ? ' │ ' : ' ');
271
- // Format separator
272
- const separator = widths.map((w) => '─'.repeat(w)).join(border ? '─┼─' : '──');
273
- // Format data rows
274
- const dataRows = rows.map((row, rowIndex) => {
275
- return columns
276
- .map((col, i) => {
277
- let text = row[i] || '';
278
- const width = widths[i];
279
- switch (col.align) {
280
- case 'right':
281
- text = text.padStart(width);
282
- break;
283
- case 'center':
284
- const leftPad = Math.floor((width - text.length) / 2);
285
- text = ' '.repeat(leftPad) + text + ' '.repeat(width - text.length - leftPad);
286
- break;
287
- default:
288
- text = text.padEnd(width);
289
- }
290
- if (options.rowColor) {
291
- text = options.rowColor(text, rowIndex);
292
- }
293
- return text;
294
- })
295
- .join(border ? ' │ ' : ' ');
296
- });
297
- return [headerRow, separator, ...dataRows].join('\n');
298
- }
299
- // ============================================================================
300
- // Progress Indicators
301
- // ============================================================================
302
- const spinnerFrames = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
303
- /**
304
- * Spinner oluşturur
305
- */
306
- export function createSpinner(text) {
307
- let frameIndex = 0;
308
- let intervalId = null;
309
- let currentText = text;
310
- return {
311
- start() {
312
- if (intervalId)
313
- return;
314
- intervalId = setInterval(() => {
315
- const frame = style.cyan(spinnerFrames[frameIndex]);
316
- process.stdout?.write?.(`\r${frame} ${currentText}`);
317
- frameIndex = (frameIndex + 1) % spinnerFrames.length;
318
- }, 80);
319
- },
320
- stop(success = true, finalText) {
321
- if (intervalId) {
322
- clearInterval(intervalId);
323
- intervalId = null;
324
- }
325
- const symbol = success ? style.green('✔') : style.red('✖');
326
- const text = finalText || currentText;
327
- process.stdout?.write?.(`\r${symbol} ${text}\n`);
328
- },
329
- update(text) {
330
- currentText = text;
331
- }
332
- };
333
- }
334
- /**
335
- * Metin etrafına kutu çizer
336
- */
337
- export function box(content, options = {}) {
338
- const { title, padding = 1, borderColor = style.gray, titleColor = style.bold } = options;
339
- const lines = content.split('\n');
340
- const maxLineLength = Math.max(...lines.map((l) => l.length), title ? title.length + 2 : 0);
341
- const width = maxLineLength + padding * 2;
342
- const paddingStr = ' '.repeat(padding);
343
- // Top border
344
- let result = '';
345
- if (title) {
346
- const titleStr = ` ${titleColor(title)} `;
347
- const leftBorder = '┌' + '─'.repeat(padding);
348
- const rightBorder = '─'.repeat(width - padding - titleStr.length + 2) + '┐';
349
- result += borderColor(leftBorder) + titleStr + borderColor(rightBorder) + '\n';
350
- }
351
- else {
352
- result += borderColor('┌' + '─'.repeat(width) + '┐') + '\n';
353
- }
354
- // Content lines
355
- for (const line of lines) {
356
- const paddedLine = line.padEnd(maxLineLength);
357
- result +=
358
- borderColor('│') +
359
- paddingStr +
360
- paddedLine +
361
- paddingStr +
362
- borderColor('│') +
363
- '\n';
364
- }
365
- // Bottom border
366
- result += borderColor('└' + '─'.repeat(width) + '┘');
367
- return result;
368
- }
369
- //# sourceMappingURL=style.js.map
package/dist/style.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"style.js","sourceRoot":"","sources":["../src/style.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E,MAAM,IAAI,GAAG;IACX,QAAQ;IACR,KAAK,EAAE,SAAS;IAEhB,SAAS;IACT,IAAI,EAAE,SAAS;IACf,GAAG,EAAE,SAAS;IACd,MAAM,EAAE,SAAS;IACjB,SAAS,EAAE,SAAS;IACpB,KAAK,EAAE,SAAS;IAChB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,SAAS;IACjB,aAAa,EAAE,SAAS;IAExB,oBAAoB;IACpB,KAAK,EAAE,UAAU;IACjB,GAAG,EAAE,UAAU;IACf,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,UAAU;IAClB,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,UAAU;IACjB,IAAI,EAAE,UAAU;IAEhB,2BAA2B;IAC3B,SAAS,EAAE,UAAU;IACrB,WAAW,EAAE,UAAU;IACvB,YAAY,EAAE,UAAU;IACxB,UAAU,EAAE,UAAU;IACtB,aAAa,EAAE,UAAU;IACzB,UAAU,EAAE,UAAU;IACtB,WAAW,EAAE,UAAU;IAEvB,oBAAoB;IACpB,OAAO,EAAE,UAAU;IACnB,KAAK,EAAE,UAAU;IACjB,OAAO,EAAE,UAAU;IACnB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,UAAU;IAClB,SAAS,EAAE,UAAU;IACrB,MAAM,EAAE,UAAU;IAClB,OAAO,EAAE,UAAU;CACpB,CAAC;AAEF,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E;;GAEG;AACH,SAAS,aAAa;IACpB,sBAAsB;IACtB,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;QACnC,gCAAgC;QAChC,IAAI,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,mCAAmC;QACnC,IAAI,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,2BAA2B;QAC3B,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,4BAA4B;QAC5B,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,kCAAkC;QAClC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC;QACrC,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACnD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,qBAAqB;AACrB,IAAI,YAAY,GAAG,aAAa,EAAE,CAAC;AAEnC;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,YAAY,GAAG,IAAI,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,YAAY,GAAG,KAAK,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E;;GAEG;AACH,SAAS,UAAU,CAAC,IAAY,EAAE,GAAG,KAAe;IAClD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,QAAQ;IACR,KAAK,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;IAErD,SAAS;IACT,IAAI,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;IACnD,GAAG,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;IACjD,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;IACvD,SAAS,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;IAC7D,OAAO,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;IACzD,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;IACvD,aAAa,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC;IAErE,oBAAoB;IACpB,KAAK,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;IACrD,GAAG,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;IACjD,KAAK,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;IACrD,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;IACvD,IAAI,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;IACnD,OAAO,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;IACzD,IAAI,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;IACnD,KAAK,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;IACrD,IAAI,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;IACnD,IAAI,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;IAEnD,gBAAgB;IAChB,SAAS,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;IAC7D,WAAW,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC;IACjE,YAAY,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC;IACnE,UAAU,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC;IAC/D,aAAa,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC;IACrE,UAAU,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC;IAC/D,WAAW,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC;IAEjE,oBAAoB;IACpB,OAAO,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;IACzD,KAAK,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;IACrD,OAAO,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;IACzD,QAAQ,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC;IAC3D,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;IACvD,SAAS,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;IAC7D,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;IACvD,OAAO,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;IAEzD,kBAAkB;IAClB,OAAO,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;IACvD,KAAK,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;IACnD,OAAO,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;IACxD,IAAI,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;IACnD,KAAK,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;IACnD,SAAS,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;IAErE,iBAAiB;IACjB,OAAO,EACL,CAAC,GAAG,MAAoC,EAAE,EAAE,CAC5C,CAAC,IAAY,EAAU,EAAE,CACvB,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;CAC9C,CAAC;AAQF;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAe;IAClD,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,2BAA2B;QAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,IAAI,GAAG,GAAG,MAAM,IAAI,OAAO,EAAE,CAAC;QAElC,OAAO;QACP,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI;iBACvB,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;gBACtB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAChC,MAAM,GAAG,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC;oBAClD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACzB,CAAC;qBAAM,CAAC;oBACN,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC,CAAC;iBACD,IAAI,CAAC,EAAE,CAAC,CAAC;YAEZ,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACjC,IAAI,IAAI,OAAO,KAAK,GAAG,OAAO,EAAE,CAAC;QACnC,CAAC;QAED,kBAAkB;QAClB,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAClF,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChF,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7D,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,IAAI,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,CAAC;QACH,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAe;IAChD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,IAAI,GAAG,GAAG,MAAM,IAAI,OAAO,EAAE,CAAC;IAElC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI;aACvB,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YACtB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAChC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC;YAC/C,CAAC;YACD,OAAO,IAAI,OAAO,GAAG,CAAC;QACxB,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC,CAAC;QAEZ,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IACvD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,OAAe;IACxC,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC;AACzC,CAAC;AAmBD;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,IAAgB,EAAE,OAAqB;IACjE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,WAAW,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC;IAErE,0BAA0B;IAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QACpC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CACzB,GAAG,CAAC,MAAM,CAAC,MAAM,EACjB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAC5C,CAAC;QACF,OAAO,GAAG,CAAC,KAAK,IAAI,UAAU,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,gBAAgB;IAChB,MAAM,SAAS,GAAG,OAAO;SACtB,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QACd,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAC;SACD,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAE/B,mBAAmB;IACnB,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAE/E,mBAAmB;IACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;QAC1C,OAAO,OAAO;aACX,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YACd,IAAI,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAExB,QAAQ,GAAG,CAAC,KAAK,EAAE,CAAC;gBAClB,KAAK,OAAO;oBACV,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBAC5B,MAAM;gBACR,KAAK,QAAQ;oBACX,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;oBACtD,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC;oBAC9E,MAAM;gBACR;oBACE,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC;YAED,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrB,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC1C,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;aACD,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxD,CAAC;AAED,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAEzE;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IAKxC,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,UAAU,GAA0B,IAAI,CAAC;IAC7C,IAAI,WAAW,GAAG,IAAI,CAAC;IAEvB,OAAO;QACL,KAAK;YACH,IAAI,UAAU;gBAAE,OAAO;YAEvB,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;gBAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC;gBACpD,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,KAAK,KAAK,IAAI,WAAW,EAAE,CAAC,CAAC;gBACrD,UAAU,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC;YACvD,CAAC,EAAE,EAAE,CAAC,CAAC;QACT,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,SAAkB;YACrC,IAAI,UAAU,EAAE,CAAC;gBACf,aAAa,CAAC,UAAU,CAAC,CAAC;gBAC1B,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;YAED,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC3D,MAAM,IAAI,GAAG,SAAS,IAAI,WAAW,CAAC;YACtC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,CAAC,IAAY;YACjB,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;KACF,CAAC;AACJ,CAAC;AAaD;;GAEG;AACH,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,UAAsB,EAAE;IAC3D,MAAM,EACJ,KAAK,EACL,OAAO,GAAG,CAAC,EACX,WAAW,GAAG,KAAK,CAAC,IAAI,EACxB,UAAU,GAAG,KAAK,CAAC,IAAI,EACxB,GAAG,OAAO,CAAC;IAEZ,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAC5B,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAC7B,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAC7B,CAAC;IAEF,MAAM,KAAK,GAAG,aAAa,GAAG,OAAO,GAAG,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEvC,aAAa;IACb,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC;QAC1C,MAAM,UAAU,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;QAC5E,MAAM,IAAI,WAAW,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;IACjF,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,WAAW,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;IAC9D,CAAC;IAED,gBAAgB;IAChB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC9C,MAAM;YACJ,WAAW,CAAC,GAAG,CAAC;gBAChB,UAAU;gBACV,UAAU;gBACV,UAAU;gBACV,WAAW,CAAC,GAAG,CAAC;gBAChB,IAAI,CAAC;IACT,CAAC;IAED,gBAAgB;IAChB,MAAM,IAAI,WAAW,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;IAErD,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["/**\n * VLD Style - Console styling utilities\n *\n * Bu modül @oxog/pigment paketi ile uyumlu renkli console output sağlar.\n * Eğer @oxog/pigment yüklüyse onun implementasyonu kullanılır.\n * Yüklü değilse, internal ANSI color implementasyonu kullanılır.\n */\n\n// ============================================================================\n// ANSI Color Codes\n// ============================================================================\n\nconst ANSI = {\n // Reset\n reset: '\\x1b[0m',\n\n // Styles\n bold: '\\x1b[1m',\n dim: '\\x1b[2m',\n italic: '\\x1b[3m',\n underline: '\\x1b[4m',\n blink: '\\x1b[5m',\n inverse: '\\x1b[7m',\n hidden: '\\x1b[8m',\n strikethrough: '\\x1b[9m',\n\n // Foreground colors\n black: '\\x1b[30m',\n red: '\\x1b[31m',\n green: '\\x1b[32m',\n yellow: '\\x1b[33m',\n blue: '\\x1b[34m',\n magenta: '\\x1b[35m',\n cyan: '\\x1b[36m',\n white: '\\x1b[37m',\n gray: '\\x1b[90m',\n\n // Bright foreground colors\n brightRed: '\\x1b[91m',\n brightGreen: '\\x1b[92m',\n brightYellow: '\\x1b[93m',\n brightBlue: '\\x1b[94m',\n brightMagenta: '\\x1b[95m',\n brightCyan: '\\x1b[96m',\n brightWhite: '\\x1b[97m',\n\n // Background colors\n bgBlack: '\\x1b[40m',\n bgRed: '\\x1b[41m',\n bgGreen: '\\x1b[42m',\n bgYellow: '\\x1b[43m',\n bgBlue: '\\x1b[44m',\n bgMagenta: '\\x1b[45m',\n bgCyan: '\\x1b[46m',\n bgWhite: '\\x1b[47m'\n};\n\n// ============================================================================\n// Environment Detection\n// ============================================================================\n\n/**\n * Renklerin desteklenip desteklenmediğini kontrol eder\n */\nfunction supportsColor(): boolean {\n // Node.js environment\n if (typeof process !== 'undefined') {\n // NO_COLOR environment variable\n if (process.env?.NO_COLOR) {\n return false;\n }\n\n // FORCE_COLOR environment variable\n if (process.env?.FORCE_COLOR) {\n return true;\n }\n\n // Check if stdout is a TTY\n if (process.stdout?.isTTY) {\n return true;\n }\n\n // Check for CI environments\n if (process.env?.CI) {\n return true;\n }\n\n // Check for common terminal types\n const term = process.env?.TERM || '';\n if (term === 'dumb') {\n return false;\n }\n\n if (term.includes('color') || term.includes('256')) {\n return true;\n }\n }\n\n return false;\n}\n\n// Color support flag\nlet colorEnabled = supportsColor();\n\n/**\n * Renkleri etkinleştirir\n */\nexport function enableColors(): void {\n colorEnabled = true;\n}\n\n/**\n * Renkleri devre dışı bırakır\n */\nexport function disableColors(): void {\n colorEnabled = false;\n}\n\n/**\n * Renklerin etkin olup olmadığını kontrol eder\n */\nexport function colorsEnabled(): boolean {\n return colorEnabled;\n}\n\n// ============================================================================\n// Style Functions\n// ============================================================================\n\n/**\n * Bir stili metne uygular\n */\nfunction applyStyle(text: string, ...codes: string[]): string {\n if (!colorEnabled) {\n return text;\n }\n return `${codes.join('')}${text}${ANSI.reset}`;\n}\n\n/**\n * Style helper object - @oxog/pigment API'si ile uyumlu\n */\nexport const style = {\n // Reset\n reset: (text: string) => applyStyle(text, ANSI.reset),\n\n // Styles\n bold: (text: string) => applyStyle(text, ANSI.bold),\n dim: (text: string) => applyStyle(text, ANSI.dim),\n italic: (text: string) => applyStyle(text, ANSI.italic),\n underline: (text: string) => applyStyle(text, ANSI.underline),\n inverse: (text: string) => applyStyle(text, ANSI.inverse),\n hidden: (text: string) => applyStyle(text, ANSI.hidden),\n strikethrough: (text: string) => applyStyle(text, ANSI.strikethrough),\n\n // Foreground colors\n black: (text: string) => applyStyle(text, ANSI.black),\n red: (text: string) => applyStyle(text, ANSI.red),\n green: (text: string) => applyStyle(text, ANSI.green),\n yellow: (text: string) => applyStyle(text, ANSI.yellow),\n blue: (text: string) => applyStyle(text, ANSI.blue),\n magenta: (text: string) => applyStyle(text, ANSI.magenta),\n cyan: (text: string) => applyStyle(text, ANSI.cyan),\n white: (text: string) => applyStyle(text, ANSI.white),\n gray: (text: string) => applyStyle(text, ANSI.gray),\n grey: (text: string) => applyStyle(text, ANSI.gray),\n\n // Bright colors\n brightRed: (text: string) => applyStyle(text, ANSI.brightRed),\n brightGreen: (text: string) => applyStyle(text, ANSI.brightGreen),\n brightYellow: (text: string) => applyStyle(text, ANSI.brightYellow),\n brightBlue: (text: string) => applyStyle(text, ANSI.brightBlue),\n brightMagenta: (text: string) => applyStyle(text, ANSI.brightMagenta),\n brightCyan: (text: string) => applyStyle(text, ANSI.brightCyan),\n brightWhite: (text: string) => applyStyle(text, ANSI.brightWhite),\n\n // Background colors\n bgBlack: (text: string) => applyStyle(text, ANSI.bgBlack),\n bgRed: (text: string) => applyStyle(text, ANSI.bgRed),\n bgGreen: (text: string) => applyStyle(text, ANSI.bgGreen),\n bgYellow: (text: string) => applyStyle(text, ANSI.bgYellow),\n bgBlue: (text: string) => applyStyle(text, ANSI.bgBlue),\n bgMagenta: (text: string) => applyStyle(text, ANSI.bgMagenta),\n bgCyan: (text: string) => applyStyle(text, ANSI.bgCyan),\n bgWhite: (text: string) => applyStyle(text, ANSI.bgWhite),\n\n // Combined styles\n success: (text: string) => applyStyle(text, ANSI.green),\n error: (text: string) => applyStyle(text, ANSI.red),\n warning: (text: string) => applyStyle(text, ANSI.yellow),\n info: (text: string) => applyStyle(text, ANSI.cyan),\n muted: (text: string) => applyStyle(text, ANSI.dim),\n highlight: (text: string) => applyStyle(text, ANSI.bold, ANSI.yellow),\n\n // Custom combine\n combine:\n (...styles: ((text: string) => string)[]) =>\n (text: string): string =>\n styles.reduce((acc, fn) => fn(acc), text)\n};\n\n// ============================================================================\n// VLD-Specific Styled Output\n// ============================================================================\n\nimport type { VldError, VldIssue } from './errors.js';\n\n/**\n * VLD hata mesajını renkli formatta döner\n */\nexport function prettifyErrorColored(error: VldError): string {\n const lines: string[] = [];\n\n for (const issue of error.issues) {\n // Error symbol and message\n const symbol = style.red('✖');\n const message = style.bold(issue.message);\n let line = `${symbol} ${message}`;\n\n // Path\n if (issue.path.length > 0) {\n const pathStr = issue.path\n .map((segment, index) => {\n if (typeof segment === 'string') {\n const str = index === 0 ? segment : `.${segment}`;\n return style.cyan(str);\n } else {\n return style.cyan(`[${segment}]`);\n }\n })\n .join('');\n\n const arrow = style.dim('→ at ');\n line += `\\n ${arrow}${pathStr}`;\n }\n\n // Additional info\n if (issue.expected || issue.received) {\n const expected = issue.expected ? style.green(`expected: ${issue.expected}`) : '';\n const received = issue.received ? style.red(`received: ${issue.received}`) : '';\n const info = [expected, received].filter(Boolean).join(', ');\n if (info) {\n line += `\\n ${style.dim(info)}`;\n }\n }\n\n lines.push(line);\n }\n\n return lines.join('\\n');\n}\n\n/**\n * VLD issue'yu renkli formatta döner\n */\nexport function formatIssueColored(issue: VldIssue): string {\n const symbol = style.red('✖');\n const message = style.bold(issue.message);\n let line = `${symbol} ${message}`;\n\n if (issue.path.length > 0) {\n const pathStr = issue.path\n .map((segment, index) => {\n if (typeof segment === 'string') {\n return index === 0 ? segment : `.${segment}`;\n }\n return `[${segment}]`;\n })\n .join('');\n\n line += ` ${style.dim('at')} ${style.cyan(pathStr)}`;\n }\n\n return line;\n}\n\n/**\n * Başarı mesajı formatlar\n */\nexport function formatSuccess(message: string): string {\n return `${style.green('✔')} ${message}`;\n}\n\n/**\n * Uyarı mesajı formatlar\n */\nexport function formatWarning(message: string): string {\n return `${style.yellow('⚠')} ${message}`;\n}\n\n/**\n * Bilgi mesajı formatlar\n */\nexport function formatInfo(message: string): string {\n return `${style.blue('ℹ')} ${message}`;\n}\n\n/**\n * Debug mesajı formatlar\n */\nexport function formatDebug(message: string): string {\n return `${style.gray('⋯')} ${message}`;\n}\n\n// ============================================================================\n// Table Formatting\n// ============================================================================\n\nexport interface TableColumn {\n header: string;\n width?: number;\n align?: 'left' | 'right' | 'center';\n}\n\nexport interface TableOptions {\n columns: TableColumn[];\n border?: boolean;\n headerColor?: (text: string) => string;\n rowColor?: (text: string, rowIndex: number) => string;\n}\n\n/**\n * Basit tablo formatlar\n */\nexport function formatTable(rows: string[][], options: TableOptions): string {\n const { columns, border = true, headerColor = style.bold } = options;\n\n // Calculate column widths\n const widths = columns.map((col, i) => {\n const maxContent = Math.max(\n col.header.length,\n ...rows.map((row) => (row[i] || '').length)\n );\n return col.width || maxContent;\n });\n\n // Format header\n const headerRow = columns\n .map((col, i) => {\n const text = col.header.padEnd(widths[i]);\n return headerColor(text);\n })\n .join(border ? ' │ ' : ' ');\n\n // Format separator\n const separator = widths.map((w) => '─'.repeat(w)).join(border ? '─┼─' : '──');\n\n // Format data rows\n const dataRows = rows.map((row, rowIndex) => {\n return columns\n .map((col, i) => {\n let text = row[i] || '';\n const width = widths[i];\n\n switch (col.align) {\n case 'right':\n text = text.padStart(width);\n break;\n case 'center':\n const leftPad = Math.floor((width - text.length) / 2);\n text = ' '.repeat(leftPad) + text + ' '.repeat(width - text.length - leftPad);\n break;\n default:\n text = text.padEnd(width);\n }\n\n if (options.rowColor) {\n text = options.rowColor(text, rowIndex);\n }\n\n return text;\n })\n .join(border ? ' │ ' : ' ');\n });\n\n return [headerRow, separator, ...dataRows].join('\\n');\n}\n\n// ============================================================================\n// Progress Indicators\n// ============================================================================\n\nconst spinnerFrames = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];\n\n/**\n * Spinner oluşturur\n */\nexport function createSpinner(text: string): {\n start: () => void;\n stop: (success?: boolean, finalText?: string) => void;\n update: (text: string) => void;\n} {\n let frameIndex = 0;\n let intervalId: NodeJS.Timeout | null = null;\n let currentText = text;\n\n return {\n start() {\n if (intervalId) return;\n\n intervalId = setInterval(() => {\n const frame = style.cyan(spinnerFrames[frameIndex]);\n process.stdout?.write?.(`\\r${frame} ${currentText}`);\n frameIndex = (frameIndex + 1) % spinnerFrames.length;\n }, 80);\n },\n\n stop(success = true, finalText?: string) {\n if (intervalId) {\n clearInterval(intervalId);\n intervalId = null;\n }\n\n const symbol = success ? style.green('✔') : style.red('✖');\n const text = finalText || currentText;\n process.stdout?.write?.(`\\r${symbol} ${text}\\n`);\n },\n\n update(text: string) {\n currentText = text;\n }\n };\n}\n\n// ============================================================================\n// Box Drawing\n// ============================================================================\n\nexport interface BoxOptions {\n title?: string;\n padding?: number;\n borderColor?: (text: string) => string;\n titleColor?: (text: string) => string;\n}\n\n/**\n * Metin etrafına kutu çizer\n */\nexport function box(content: string, options: BoxOptions = {}): string {\n const {\n title,\n padding = 1,\n borderColor = style.gray,\n titleColor = style.bold\n } = options;\n\n const lines = content.split('\\n');\n const maxLineLength = Math.max(\n ...lines.map((l) => l.length),\n title ? title.length + 2 : 0\n );\n\n const width = maxLineLength + padding * 2;\n const paddingStr = ' '.repeat(padding);\n\n // Top border\n let result = '';\n if (title) {\n const titleStr = ` ${titleColor(title)} `;\n const leftBorder = '┌' + '─'.repeat(padding);\n const rightBorder = '─'.repeat(width - padding - titleStr.length + 2) + '┐';\n result += borderColor(leftBorder) + titleStr + borderColor(rightBorder) + '\\n';\n } else {\n result += borderColor('┌' + '─'.repeat(width) + '┐') + '\\n';\n }\n\n // Content lines\n for (const line of lines) {\n const paddedLine = line.padEnd(maxLineLength);\n result +=\n borderColor('│') +\n paddingStr +\n paddedLine +\n paddingStr +\n borderColor('│') +\n '\\n';\n }\n\n // Bottom border\n result += borderColor('└' + '─'.repeat(width) + '┘');\n\n return result;\n}\n"]}