@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,143 @@
1
+ /**
2
+ * VLD Type Guards
3
+ *
4
+ * Bu modül VLD için type guard fonksiyonlarını içerir.
5
+ * Result pattern ve VLD-specific type guard'ları burada tanımlanır.
6
+ */
7
+ import { isOk, isErr, isResult, type Result, type Ok, type Err } from './compat/result.js';
8
+ import { VldError, type VldIssue } from './errors.js';
9
+ import { VldBase } from './validators/base.js';
10
+ export { isOk, isErr, isResult };
11
+ /**
12
+ * Değerin VldError olup olmadığını kontrol eder
13
+ */
14
+ export declare function isVldError(value: unknown): value is VldError;
15
+ /**
16
+ * Değerin VldIssue olup olmadığını kontrol eder
17
+ */
18
+ export declare function isVldIssue(value: unknown): value is VldIssue;
19
+ /**
20
+ * Değerin VldBase validator olup olmadığını kontrol eder
21
+ */
22
+ export declare function isValidator<TInput = unknown, TOutput = unknown>(value: unknown): value is VldBase<TInput, TOutput>;
23
+ /**
24
+ * Parse sonucunun başarılı olup olmadığını kontrol eder
25
+ */
26
+ export declare function isParseSuccess<T>(result: Result<T, VldError>): result is Ok<T>;
27
+ /**
28
+ * Parse sonucunun başarısız olup olmadığını kontrol eder
29
+ */
30
+ export declare function isParseError<T>(result: Result<T, VldError>): result is Err<VldError>;
31
+ /**
32
+ * Değerin null olup olmadığını kontrol eder
33
+ */
34
+ export declare function isNull(value: unknown): value is null;
35
+ /**
36
+ * Değerin undefined olup olmadığını kontrol eder
37
+ */
38
+ export declare function isUndefined(value: unknown): value is undefined;
39
+ /**
40
+ * Değerin nullish olup olmadığını kontrol eder (null | undefined)
41
+ */
42
+ export declare function isNullish(value: unknown): value is null | undefined;
43
+ /**
44
+ * Değerin string olup olmadığını kontrol eder
45
+ */
46
+ export declare function isString(value: unknown): value is string;
47
+ /**
48
+ * Değerin number olup olmadığını kontrol eder
49
+ */
50
+ export declare function isNumber(value: unknown): value is number;
51
+ /**
52
+ * Değerin finite number olup olmadığını kontrol eder
53
+ */
54
+ export declare function isFiniteNumber(value: unknown): value is number;
55
+ /**
56
+ * Değerin integer olup olmadığını kontrol eder
57
+ */
58
+ export declare function isInteger(value: unknown): value is number;
59
+ /**
60
+ * Değerin safe integer olup olmadığını kontrol eder
61
+ */
62
+ export declare function isSafeInteger(value: unknown): value is number;
63
+ /**
64
+ * Değerin boolean olup olmadığını kontrol eder
65
+ */
66
+ export declare function isBoolean(value: unknown): value is boolean;
67
+ /**
68
+ * Değerin bigint olup olmadığını kontrol eder
69
+ */
70
+ export declare function isBigInt(value: unknown): value is bigint;
71
+ /**
72
+ * Değerin symbol olup olmadığını kontrol eder
73
+ */
74
+ export declare function isSymbol(value: unknown): value is symbol;
75
+ /**
76
+ * Değerin function olup olmadığını kontrol eder
77
+ */
78
+ export declare function isFunction(value: unknown): value is (...args: unknown[]) => unknown;
79
+ /**
80
+ * Değerin array olup olmadığını kontrol eder
81
+ */
82
+ export declare function isArray(value: unknown): value is unknown[];
83
+ /**
84
+ * Değerin object olup olmadığını kontrol eder (null ve array hariç)
85
+ */
86
+ export declare function isObject(value: unknown): value is Record<string, unknown>;
87
+ /**
88
+ * Değerin plain object olup olmadığını kontrol eder
89
+ */
90
+ export declare function isPlainObject(value: unknown): value is Record<string, unknown>;
91
+ /**
92
+ * Değerin Date olup olmadığını kontrol eder
93
+ */
94
+ export declare function isDate(value: unknown): value is Date;
95
+ /**
96
+ * Değerin valid Date olup olmadığını kontrol eder
97
+ */
98
+ export declare function isValidDate(value: unknown): value is Date;
99
+ /**
100
+ * Değerin Map olup olmadığını kontrol eder
101
+ */
102
+ export declare function isMap(value: unknown): value is Map<unknown, unknown>;
103
+ /**
104
+ * Değerin Set olup olmadığını kontrol eder
105
+ */
106
+ export declare function isSet(value: unknown): value is Set<unknown>;
107
+ /**
108
+ * Değerin Promise olup olmadığını kontrol eder
109
+ */
110
+ export declare function isPromise(value: unknown): value is Promise<unknown>;
111
+ /**
112
+ * Değerin NaN olup olmadığını kontrol eder
113
+ */
114
+ export declare function isNaN(value: unknown): value is number;
115
+ /**
116
+ * Değerin Uint8Array olup olmadığını kontrol eder
117
+ */
118
+ export declare function isUint8Array(value: unknown): value is Uint8Array;
119
+ /**
120
+ * Değerin ArrayBuffer olup olmadığını kontrol eder
121
+ */
122
+ export declare function isArrayBuffer(value: unknown): value is ArrayBuffer;
123
+ /**
124
+ * Değerin geçerli email formatında olup olmadığını kontrol eder
125
+ */
126
+ export declare function isEmail(value: unknown): value is string;
127
+ /**
128
+ * Değerin geçerli UUID formatında olup olmadığını kontrol eder
129
+ */
130
+ export declare function isUUID(value: unknown): value is string;
131
+ /**
132
+ * Değerin geçerli URL formatında olup olmadığını kontrol eder
133
+ */
134
+ export declare function isURL(value: unknown): value is string;
135
+ /**
136
+ * Değerin non-empty string olup olmadığını kontrol eder
137
+ */
138
+ export declare function isNonEmptyString(value: unknown): value is string;
139
+ /**
140
+ * Değerin empty string olup olmadığını kontrol eder
141
+ */
142
+ export declare function isEmptyString(value: unknown): value is '';
143
+ //# sourceMappingURL=guards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../src/guards.ts"],"names":[],"mappings":"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"}
package/dist/guards.js ADDED
@@ -0,0 +1,238 @@
1
+ /**
2
+ * VLD Type Guards
3
+ *
4
+ * Bu modül VLD için type guard fonksiyonlarını içerir.
5
+ * Result pattern ve VLD-specific type guard'ları burada tanımlanır.
6
+ */
7
+ import { isOk, isErr, isResult } from './compat/result.js';
8
+ import { VldError } from './errors.js';
9
+ import { VldBase } from './validators/base.js';
10
+ // ============================================================================
11
+ // Re-export Result Guards
12
+ // ============================================================================
13
+ export { isOk, isErr, isResult };
14
+ // ============================================================================
15
+ // VLD-Specific Guards
16
+ // ============================================================================
17
+ /**
18
+ * Değerin VldError olup olmadığını kontrol eder
19
+ */
20
+ export function isVldError(value) {
21
+ return value instanceof VldError;
22
+ }
23
+ /**
24
+ * Değerin VldIssue olup olmadığını kontrol eder
25
+ */
26
+ export function isVldIssue(value) {
27
+ if (value === null || value === undefined)
28
+ return false;
29
+ if (typeof value !== 'object')
30
+ return false;
31
+ const obj = value;
32
+ return (typeof obj.code === 'string' &&
33
+ Array.isArray(obj.path) &&
34
+ typeof obj.message === 'string');
35
+ }
36
+ /**
37
+ * Değerin VldBase validator olup olmadığını kontrol eder
38
+ */
39
+ export function isValidator(value) {
40
+ return value instanceof VldBase;
41
+ }
42
+ /**
43
+ * Parse sonucunun başarılı olup olmadığını kontrol eder
44
+ */
45
+ export function isParseSuccess(result) {
46
+ return isOk(result);
47
+ }
48
+ /**
49
+ * Parse sonucunun başarısız olup olmadığını kontrol eder
50
+ */
51
+ export function isParseError(result) {
52
+ return isErr(result);
53
+ }
54
+ // ============================================================================
55
+ // Value Type Guards
56
+ // ============================================================================
57
+ /**
58
+ * Değerin null olup olmadığını kontrol eder
59
+ */
60
+ export function isNull(value) {
61
+ return value === null;
62
+ }
63
+ /**
64
+ * Değerin undefined olup olmadığını kontrol eder
65
+ */
66
+ export function isUndefined(value) {
67
+ return value === undefined;
68
+ }
69
+ /**
70
+ * Değerin nullish olup olmadığını kontrol eder (null | undefined)
71
+ */
72
+ export function isNullish(value) {
73
+ return value === null || value === undefined;
74
+ }
75
+ /**
76
+ * Değerin string olup olmadığını kontrol eder
77
+ */
78
+ export function isString(value) {
79
+ return typeof value === 'string';
80
+ }
81
+ /**
82
+ * Değerin number olup olmadığını kontrol eder
83
+ */
84
+ export function isNumber(value) {
85
+ return typeof value === 'number' && !Number.isNaN(value);
86
+ }
87
+ /**
88
+ * Değerin finite number olup olmadığını kontrol eder
89
+ */
90
+ export function isFiniteNumber(value) {
91
+ return typeof value === 'number' && Number.isFinite(value);
92
+ }
93
+ /**
94
+ * Değerin integer olup olmadığını kontrol eder
95
+ */
96
+ export function isInteger(value) {
97
+ return typeof value === 'number' && Number.isInteger(value);
98
+ }
99
+ /**
100
+ * Değerin safe integer olup olmadığını kontrol eder
101
+ */
102
+ export function isSafeInteger(value) {
103
+ return typeof value === 'number' && Number.isSafeInteger(value);
104
+ }
105
+ /**
106
+ * Değerin boolean olup olmadığını kontrol eder
107
+ */
108
+ export function isBoolean(value) {
109
+ return typeof value === 'boolean';
110
+ }
111
+ /**
112
+ * Değerin bigint olup olmadığını kontrol eder
113
+ */
114
+ export function isBigInt(value) {
115
+ return typeof value === 'bigint';
116
+ }
117
+ /**
118
+ * Değerin symbol olup olmadığını kontrol eder
119
+ */
120
+ export function isSymbol(value) {
121
+ return typeof value === 'symbol';
122
+ }
123
+ /**
124
+ * Değerin function olup olmadığını kontrol eder
125
+ */
126
+ export function isFunction(value) {
127
+ return typeof value === 'function';
128
+ }
129
+ /**
130
+ * Değerin array olup olmadığını kontrol eder
131
+ */
132
+ export function isArray(value) {
133
+ return Array.isArray(value);
134
+ }
135
+ /**
136
+ * Değerin object olup olmadığını kontrol eder (null ve array hariç)
137
+ */
138
+ export function isObject(value) {
139
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
140
+ }
141
+ /**
142
+ * Değerin plain object olup olmadığını kontrol eder
143
+ */
144
+ export function isPlainObject(value) {
145
+ if (typeof value !== 'object' || value === null)
146
+ return false;
147
+ const proto = Object.getPrototypeOf(value);
148
+ return proto === null || proto === Object.prototype;
149
+ }
150
+ /**
151
+ * Değerin Date olup olmadığını kontrol eder
152
+ */
153
+ export function isDate(value) {
154
+ return value instanceof Date && !Number.isNaN(value.getTime());
155
+ }
156
+ /**
157
+ * Değerin valid Date olup olmadığını kontrol eder
158
+ */
159
+ export function isValidDate(value) {
160
+ return value instanceof Date && !Number.isNaN(value.getTime());
161
+ }
162
+ /**
163
+ * Değerin Map olup olmadığını kontrol eder
164
+ */
165
+ export function isMap(value) {
166
+ return value instanceof Map;
167
+ }
168
+ /**
169
+ * Değerin Set olup olmadığını kontrol eder
170
+ */
171
+ export function isSet(value) {
172
+ return value instanceof Set;
173
+ }
174
+ /**
175
+ * Değerin Promise olup olmadığını kontrol eder
176
+ */
177
+ export function isPromise(value) {
178
+ return (value instanceof Promise ||
179
+ (typeof value === 'object' &&
180
+ value !== null &&
181
+ typeof value.then === 'function' &&
182
+ typeof value.catch === 'function'));
183
+ }
184
+ /**
185
+ * Değerin NaN olup olmadığını kontrol eder
186
+ */
187
+ export function isNaN(value) {
188
+ return typeof value === 'number' && Number.isNaN(value);
189
+ }
190
+ /**
191
+ * Değerin Uint8Array olup olmadığını kontrol eder
192
+ */
193
+ export function isUint8Array(value) {
194
+ return value instanceof Uint8Array;
195
+ }
196
+ /**
197
+ * Değerin ArrayBuffer olup olmadığını kontrol eder
198
+ */
199
+ export function isArrayBuffer(value) {
200
+ return value instanceof ArrayBuffer;
201
+ }
202
+ // ============================================================================
203
+ // String Format Guards
204
+ // ============================================================================
205
+ const EMAIL_REGEX = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
206
+ const UUID_REGEX = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
207
+ const URL_REGEX = /^https?:\/\/.+/i;
208
+ /**
209
+ * Değerin geçerli email formatında olup olmadığını kontrol eder
210
+ */
211
+ export function isEmail(value) {
212
+ return typeof value === 'string' && EMAIL_REGEX.test(value);
213
+ }
214
+ /**
215
+ * Değerin geçerli UUID formatında olup olmadığını kontrol eder
216
+ */
217
+ export function isUUID(value) {
218
+ return typeof value === 'string' && UUID_REGEX.test(value);
219
+ }
220
+ /**
221
+ * Değerin geçerli URL formatında olup olmadığını kontrol eder
222
+ */
223
+ export function isURL(value) {
224
+ return typeof value === 'string' && URL_REGEX.test(value);
225
+ }
226
+ /**
227
+ * Değerin non-empty string olup olmadığını kontrol eder
228
+ */
229
+ export function isNonEmptyString(value) {
230
+ return typeof value === 'string' && value.length > 0;
231
+ }
232
+ /**
233
+ * Değerin empty string olup olmadığını kontrol eder
234
+ */
235
+ export function isEmptyString(value) {
236
+ return value === '';
237
+ }
238
+ //# sourceMappingURL=guards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guards.js","sourceRoot":"","sources":["../src/guards.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * VLD Type Guards\n *\n * Bu modül VLD için type guard fonksiyonlarını içerir.\n * Result pattern ve VLD-specific type guard'ları burada tanımlanır.\n */\n\nimport { isOk, isErr, isResult, type Result, type Ok, type Err } from './compat/result.js';\nimport { VldError, type VldIssue } from './errors.js';\nimport { VldBase } from './validators/base.js';\n\n// ============================================================================\n// Re-export Result Guards\n// ============================================================================\n\nexport { isOk, isErr, isResult };\n\n// ============================================================================\n// VLD-Specific Guards\n// ============================================================================\n\n/**\n * Değerin VldError olup olmadığını kontrol eder\n */\nexport function isVldError(value: unknown): value is VldError {\n return value instanceof VldError;\n}\n\n/**\n * Değerin VldIssue olup olmadığını kontrol eder\n */\nexport function isVldIssue(value: unknown): value is VldIssue {\n if (value === null || value === undefined) return false;\n if (typeof value !== 'object') return false;\n\n const obj = value as Record<string, unknown>;\n return (\n typeof obj.code === 'string' &&\n Array.isArray(obj.path) &&\n typeof obj.message === 'string'\n );\n}\n\n/**\n * Değerin VldBase validator olup olmadığını kontrol eder\n */\nexport function isValidator<TInput = unknown, TOutput = unknown>(\n value: unknown\n): value is VldBase<TInput, TOutput> {\n return value instanceof VldBase;\n}\n\n/**\n * Parse sonucunun başarılı olup olmadığını kontrol eder\n */\nexport function isParseSuccess<T>(\n result: Result<T, VldError>\n): result is Ok<T> {\n return isOk(result);\n}\n\n/**\n * Parse sonucunun başarısız olup olmadığını kontrol eder\n */\nexport function isParseError<T>(\n result: Result<T, VldError>\n): result is Err<VldError> {\n return isErr(result);\n}\n\n// ============================================================================\n// Value Type Guards\n// ============================================================================\n\n/**\n * Değerin null olup olmadığını kontrol eder\n */\nexport function isNull(value: unknown): value is null {\n return value === null;\n}\n\n/**\n * Değerin undefined olup olmadığını kontrol eder\n */\nexport function isUndefined(value: unknown): value is undefined {\n return value === undefined;\n}\n\n/**\n * Değerin nullish olup olmadığını kontrol eder (null | undefined)\n */\nexport function isNullish(value: unknown): value is null | undefined {\n return value === null || value === undefined;\n}\n\n/**\n * Değerin string olup olmadığını kontrol eder\n */\nexport function isString(value: unknown): value is string {\n return typeof value === 'string';\n}\n\n/**\n * Değerin number olup olmadığını kontrol eder\n */\nexport function isNumber(value: unknown): value is number {\n return typeof value === 'number' && !Number.isNaN(value);\n}\n\n/**\n * Değerin finite number olup olmadığını kontrol eder\n */\nexport function isFiniteNumber(value: unknown): value is number {\n return typeof value === 'number' && Number.isFinite(value);\n}\n\n/**\n * Değerin integer olup olmadığını kontrol eder\n */\nexport function isInteger(value: unknown): value is number {\n return typeof value === 'number' && Number.isInteger(value);\n}\n\n/**\n * Değerin safe integer olup olmadığını kontrol eder\n */\nexport function isSafeInteger(value: unknown): value is number {\n return typeof value === 'number' && Number.isSafeInteger(value);\n}\n\n/**\n * Değerin boolean olup olmadığını kontrol eder\n */\nexport function isBoolean(value: unknown): value is boolean {\n return typeof value === 'boolean';\n}\n\n/**\n * Değerin bigint olup olmadığını kontrol eder\n */\nexport function isBigInt(value: unknown): value is bigint {\n return typeof value === 'bigint';\n}\n\n/**\n * Değerin symbol olup olmadığını kontrol eder\n */\nexport function isSymbol(value: unknown): value is symbol {\n return typeof value === 'symbol';\n}\n\n/**\n * Değerin function olup olmadığını kontrol eder\n */\nexport function isFunction(value: unknown): value is (...args: unknown[]) => unknown {\n return typeof value === 'function';\n}\n\n/**\n * Değerin array olup olmadığını kontrol eder\n */\nexport function isArray(value: unknown): value is unknown[] {\n return Array.isArray(value);\n}\n\n/**\n * Değerin object olup olmadığını kontrol eder (null ve array hariç)\n */\nexport function isObject(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null && !Array.isArray(value);\n}\n\n/**\n * Değerin plain object olup olmadığını kontrol eder\n */\nexport function isPlainObject(value: unknown): value is Record<string, unknown> {\n if (typeof value !== 'object' || value === null) return false;\n const proto = Object.getPrototypeOf(value);\n return proto === null || proto === Object.prototype;\n}\n\n/**\n * Değerin Date olup olmadığını kontrol eder\n */\nexport function isDate(value: unknown): value is Date {\n return value instanceof Date && !Number.isNaN(value.getTime());\n}\n\n/**\n * Değerin valid Date olup olmadığını kontrol eder\n */\nexport function isValidDate(value: unknown): value is Date {\n return value instanceof Date && !Number.isNaN(value.getTime());\n}\n\n/**\n * Değerin Map olup olmadığını kontrol eder\n */\nexport function isMap(value: unknown): value is Map<unknown, unknown> {\n return value instanceof Map;\n}\n\n/**\n * Değerin Set olup olmadığını kontrol eder\n */\nexport function isSet(value: unknown): value is Set<unknown> {\n return value instanceof Set;\n}\n\n/**\n * Değerin Promise olup olmadığını kontrol eder\n */\nexport function isPromise(value: unknown): value is Promise<unknown> {\n return (\n value instanceof Promise ||\n (typeof value === 'object' &&\n value !== null &&\n typeof (value as { then?: unknown }).then === 'function' &&\n typeof (value as { catch?: unknown }).catch === 'function')\n );\n}\n\n/**\n * Değerin NaN olup olmadığını kontrol eder\n */\nexport function isNaN(value: unknown): value is number {\n return typeof value === 'number' && Number.isNaN(value);\n}\n\n/**\n * Değerin Uint8Array olup olmadığını kontrol eder\n */\nexport function isUint8Array(value: unknown): value is Uint8Array {\n return value instanceof Uint8Array;\n}\n\n/**\n * Değerin ArrayBuffer olup olmadığını kontrol eder\n */\nexport function isArrayBuffer(value: unknown): value is ArrayBuffer {\n return value instanceof ArrayBuffer;\n}\n\n// ============================================================================\n// String Format Guards\n// ============================================================================\n\nconst EMAIL_REGEX = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\nconst UUID_REGEX = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;\nconst URL_REGEX = /^https?:\\/\\/.+/i;\n\n/**\n * Değerin geçerli email formatında olup olmadığını kontrol eder\n */\nexport function isEmail(value: unknown): value is string {\n return typeof value === 'string' && EMAIL_REGEX.test(value);\n}\n\n/**\n * Değerin geçerli UUID formatında olup olmadığını kontrol eder\n */\nexport function isUUID(value: unknown): value is string {\n return typeof value === 'string' && UUID_REGEX.test(value);\n}\n\n/**\n * Değerin geçerli URL formatında olup olmadığını kontrol eder\n */\nexport function isURL(value: unknown): value is string {\n return typeof value === 'string' && URL_REGEX.test(value);\n}\n\n/**\n * Değerin non-empty string olup olmadığını kontrol eder\n */\nexport function isNonEmptyString(value: unknown): value is string {\n return typeof value === 'string' && value.length > 0;\n}\n\n/**\n * Değerin empty string olup olmadığını kontrol eder\n */\nexport function isEmptyString(value: unknown): value is '' {\n return value === '';\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-new.d.ts","sourceRoot":"","sources":["../src/index-new.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG5C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGlD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,YAAY,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG5C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AAG3E,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,YAAY,EACb,MAAM,UAAU,CAAC;AAElB;;GAEG;AACH,eAAO,MAAM,CAAC;;;;;YAQJ,CAAC,QAAQ,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;aAC3B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAE;YAIjF,CAAC,SAAS,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,iBAAiB,CAAC;cAItD,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,SAAS,CAAC;;;;;;;;CAW3E,CAAC;AAGF,eAAe,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -7,6 +7,11 @@
7
7
  * - Secure deepMerge (no prototype pollution)
8
8
  * - TypeScript strict mode support
9
9
  * - Better performance through pooling and memoization
10
+ * - Plugin system for extensibility
11
+ * - Event system for validation lifecycle hooks
12
+ * - Result pattern for functional error handling
13
+ * - Colored console output for better debugging
14
+ * - Debug logging system
10
15
  */
11
16
  import { VldBase } from './validators/base';
12
17
  import { VldString } from './validators/string';
@@ -56,7 +61,7 @@ export type { Infer, Input, Output } from './validators';
56
61
  export { VldBase } from './validators/base';
57
62
  export { VldIntersection } from './validators/intersection';
58
63
  export { setLocale, getLocale, getMessages, type Locale } from './locales';
59
- export { VldError, VldIssue, VldErrorCode, VldErrorTree, VldFlattenedError, treeifyError, prettifyError, flattenError } from './errors';
64
+ export { VldError, VldIssue, VldErrorCode, VldErrorTree, VldFlattenedError, VldErrorJSON, treeifyError, prettifyError, prettifyErrorColored, prettifyErrorPlain, flattenError, type PrettifyOptions } from './errors';
60
65
  export { base64ToUint8Array, uint8ArrayToBase64, uint8ArrayToBase64Url, hexToUint8Array, uint8ArrayToHex, stringToUint8Array, uint8ArrayToString } from './utils/codec-utils';
61
66
  export type { CodecTransform } from './validators/codec';
62
67
  export { stringToNumber, stringToInt, stringToBigInt, numberToBigInt, stringToBoolean, isoDatetimeToDate, epochSecondsToDate, epochMillisToDate, jsonCodec, stringToURL, stringToHttpURL, uriComponent, base64ToBytes, base64UrlToBytes, base64urlToBytes, hexToBytes, hexLowerToBytes, utf8ToBytes, bytesToUtf8, base64Json, jwtPayload } from './codecs';
@@ -682,5 +687,12 @@ export declare const v: {
682
687
  encode: (value: TOutput) => TInput | Promise<TInput>;
683
688
  }) => VldCodec<TInput, TOutput>;
684
689
  };
690
+ export type { Result, VldResult } from './compat/result';
691
+ export { Ok, Err, success, failure, isOk, isErr, isResult, unwrap, unwrapOr, map, mapErr, flatMap, match, tryCatch, tryCatchAsync, all, fromNullable, ResultUtils } from './compat/result';
692
+ export { type EventMap, type EventHandler, type ListenerOptions, type Emitter, createEmitter, createEventBus, withEmitter } from './compat/emitter';
693
+ export type { VldEvents, VldEventPayload, ParseStartEvent, ParseSuccessEvent, ParseErrorEvent, FieldValidationEvent, TransformEvent, PluginRegisteredEvent, LocaleChangedEvent, DebugEvent, MetricsEvent } from './events';
694
+ export { createVldKernel, getVldKernel, resetVldKernel, usePlugin, definePlugin, type VldContext, type VldPlugin, type VldKernelInstance, type VldKernelOptions, type ValidatorFactory, type TransformFactory, type CodecFactory, type HookContext, type PluginBuilder, type PluginMeta, type PluginHooks } from './kernel';
695
+ export { createLogger, initLogger, getLogger, setLogLevel, enableDebug, disableLogging, createNoOpLogger, type Logger, type LoggerOptions, type LogLevel, type LogEntry, type LogHandler } from './logger';
696
+ export { pigment, supportsColor, bold, dim, italic, underline, red, green, yellow, blue, magenta, cyan, white, gray, grey, strip, vldTheme, createTheme, type Theme } from './pigment';
685
697
  export default v;
686
698
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -7,6 +7,11 @@
7
7
  * - Secure deepMerge (no prototype pollution)
8
8
  * - TypeScript strict mode support
9
9
  * - Better performance through pooling and memoization
10
+ * - Plugin system for extensibility
11
+ * - Event system for validation lifecycle hooks
12
+ * - Result pattern for functional error handling
13
+ * - Colored console output for better debugging
14
+ * - Debug logging system
10
15
  */
11
16
  // Import validators
12
17
  import { VldString } from './validators/string.js';
@@ -63,7 +68,7 @@ export { VldIntersection } from './validators/intersection.js';
63
68
  // Re-export locale functionality
64
69
  export { setLocale, getLocale, getMessages } from './locales/index.js';
65
70
  // Re-export error formatting utilities
66
- export { VldError, treeifyError, prettifyError, flattenError } from './errors.js';
71
+ export { VldError, treeifyError, prettifyError, prettifyErrorColored, prettifyErrorPlain, flattenError } from './errors.js';
67
72
  // Re-export codec utilities
68
73
  export { base64ToUint8Array, uint8ArrayToBase64, uint8ArrayToBase64Url, hexToUint8Array, uint8ArrayToHex, stringToUint8Array, uint8ArrayToString } from './utils/codec-utils.js';
69
74
  // Re-export predefined codecs
@@ -184,6 +189,29 @@ export const v = {
184
189
  // Codec factory
185
190
  codec: (inputValidator, outputValidator, transform) => VldCodec.create(inputValidator, outputValidator, transform)
186
191
  };
192
+ export { Ok, Err, success, failure, isOk, isErr, isResult, unwrap, unwrapOr, map, mapErr, flatMap, match, tryCatch, tryCatchAsync, all, fromNullable, ResultUtils } from './compat/result.js';
193
+ // ============================================
194
+ // Event Emitter (v1.5+ features)
195
+ // ============================================
196
+ export {
197
+ // Factory functions
198
+ createEmitter, createEventBus, withEmitter } from './compat/emitter.js';
199
+ // ============================================
200
+ // Plugin System (v1.5+ features)
201
+ // ============================================
202
+ export {
203
+ // Kernel
204
+ createVldKernel, getVldKernel, resetVldKernel, usePlugin, definePlugin } from './kernel.js';
205
+ // ============================================
206
+ // Logger (v1.5+ features)
207
+ // ============================================
208
+ export {
209
+ // Logger
210
+ createLogger, initLogger, getLogger, setLogLevel, enableDebug, disableLogging, createNoOpLogger } from './logger.js';
211
+ // ============================================
212
+ // Pigment - Colored Output (v1.5+ features)
213
+ // ============================================
214
+ export { pigment, supportsColor, bold, dim, italic, underline, red, green, yellow, blue, magenta, cyan, white, gray, grey, strip, vldTheme, createTheme } from './pigment.js';
187
215
  // For backward compatibility during migration
188
216
  export default v;
189
217
  //# sourceMappingURL=index.js.map