@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.
- package/CHANGELOG.md +333 -333
- package/README.md +1130 -1130
- package/dist/cli/benchmark.d.ts +15 -0
- package/dist/cli/benchmark.d.ts.map +1 -0
- package/dist/cli/benchmark.js +248 -0
- package/dist/cli/benchmark.js.map +1 -0
- package/dist/cli/bin.d.ts +8 -0
- package/dist/cli/bin.d.ts.map +1 -0
- package/dist/cli/bin.js +35 -0
- package/dist/cli/bin.js.map +1 -0
- package/dist/cli/commands/benchmark.d.ts +11 -0
- package/dist/cli/commands/benchmark.d.ts.map +1 -0
- package/dist/cli/commands/benchmark.js +204 -0
- package/dist/cli/commands/benchmark.js.map +1 -0
- package/dist/cli/commands/validate.d.ts +11 -0
- package/dist/cli/commands/validate.d.ts.map +1 -0
- package/dist/cli/commands/validate.js +157 -0
- package/dist/cli/commands/validate.js.map +1 -0
- package/dist/cli/generate.d.ts +14 -0
- package/dist/cli/generate.d.ts.map +1 -0
- package/dist/cli/generate.js +233 -0
- package/dist/cli/generate.js.map +1 -0
- package/dist/cli/index.d.ts +59 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +182 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/validate.d.ts +15 -0
- package/dist/cli/validate.d.ts.map +1 -0
- package/dist/cli/validate.js +162 -0
- package/dist/cli/validate.js.map +1 -0
- package/dist/codecs/index.d.ts.map +1 -1
- package/dist/codecs/index.js +29 -10
- package/dist/codecs/index.js.map +1 -1
- package/dist/coercion/boolean.d.ts.map +1 -1
- package/dist/coercion/boolean.js +23 -31
- package/dist/coercion/boolean.js.map +1 -1
- package/dist/coercion/date.js +1 -1
- package/dist/coercion/date.js.map +1 -1
- package/dist/compat/emitter.d.ts +73 -0
- package/dist/compat/emitter.d.ts.map +1 -0
- package/dist/compat/emitter.js +179 -0
- package/dist/compat/emitter.js.map +1 -0
- package/dist/compat/index.d.ts +15 -0
- package/dist/compat/index.d.ts.map +1 -0
- package/dist/compat/index.js +14 -0
- package/dist/compat/index.js.map +1 -0
- package/dist/compat/result.d.ts +128 -0
- package/dist/compat/result.d.ts.map +1 -0
- package/dist/compat/result.js +169 -0
- package/dist/compat/result.js.map +1 -0
- package/dist/errors.d.ts +58 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +97 -9
- package/dist/errors.js.map +1 -1
- package/dist/events.d.ts +140 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +8 -0
- package/dist/events.js.map +1 -0
- package/dist/guards.d.ts +143 -0
- package/dist/guards.d.ts.map +1 -0
- package/dist/guards.js +238 -0
- package/dist/guards.js.map +1 -0
- package/dist/index-new.d.ts.map +1 -0
- package/dist/index.d.ts +13 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +29 -1
- package/dist/index.js.map +1 -1
- package/dist/kernel.d.ts +29 -0
- package/dist/kernel.d.ts.map +1 -0
- package/dist/kernel.js +402 -0
- package/dist/kernel.js.map +1 -0
- package/dist/locales/af.js.map +1 -1
- package/dist/locales/ar.js.map +1 -1
- package/dist/locales/backup-en.js.map +1 -1
- package/dist/locales/bn.js.map +1 -1
- package/dist/locales/da.js.map +1 -1
- package/dist/locales/de.js.map +1 -1
- package/dist/locales/en.js.map +1 -1
- package/dist/locales/es-MX.js.map +1 -1
- package/dist/locales/es.js.map +1 -1
- package/dist/locales/fi.js.map +1 -1
- package/dist/locales/fr.js.map +1 -1
- package/dist/locales/hi.js.map +1 -1
- package/dist/locales/id.js.map +1 -1
- package/dist/locales/it.js.map +1 -1
- package/dist/locales/ja.js.map +1 -1
- package/dist/locales/ko.js.map +1 -1
- package/dist/locales/nl.js.map +1 -1
- package/dist/locales/no.js.map +1 -1
- package/dist/locales/pl.js.map +1 -1
- package/dist/locales/pt-BR.js.map +1 -1
- package/dist/locales/pt.js.map +1 -1
- package/dist/locales/ru.js.map +1 -1
- package/dist/locales/sv.js.map +1 -1
- package/dist/locales/sw.js.map +1 -1
- package/dist/locales/th.js.map +1 -1
- package/dist/locales/tr.js.map +1 -1
- package/dist/locales/types.js.map +1 -1
- package/dist/locales/vi.js.map +1 -1
- package/dist/locales/zh.js.map +1 -1
- package/dist/locales.d.ts +54 -0
- package/dist/locales.d.ts.map +1 -0
- package/dist/locales.js +732 -0
- package/dist/locales.js.map +1 -0
- package/dist/logger.d.ts +94 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +184 -0
- package/dist/logger.js.map +1 -0
- package/dist/pigment.d.ts +124 -0
- package/dist/pigment.d.ts.map +1 -0
- package/dist/pigment.js +177 -0
- package/dist/pigment.js.map +1 -0
- package/dist/plugins/codecs.d.ts +17 -0
- package/dist/plugins/codecs.d.ts.map +1 -0
- package/dist/plugins/codecs.js +29 -0
- package/dist/plugins/codecs.js.map +1 -0
- package/dist/plugins/coercion.d.ts +13 -0
- package/dist/plugins/coercion.d.ts.map +1 -0
- package/dist/plugins/coercion.js +34 -0
- package/dist/plugins/coercion.js.map +1 -0
- package/dist/plugins/core-validators.d.ts +13 -0
- package/dist/plugins/core-validators.d.ts.map +1 -0
- package/dist/plugins/core-validators.js +96 -0
- package/dist/plugins/core-validators.js.map +1 -0
- package/dist/plugins/index.d.ts +8 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +8 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/kernel.d.ts +29 -0
- package/dist/plugins/kernel.d.ts.map +1 -0
- package/dist/plugins/kernel.js +486 -0
- package/dist/plugins/kernel.js.map +1 -0
- package/dist/plugins/types.d.ts +186 -0
- package/dist/plugins/types.d.ts.map +1 -0
- package/dist/plugins/types.js +8 -0
- package/dist/plugins/types.js.map +1 -0
- package/dist/style.d.ts +123 -0
- package/dist/style.d.ts.map +1 -0
- package/dist/style.js +369 -0
- package/dist/style.js.map +1 -0
- package/dist/utils/codec-utils.d.ts.map +1 -1
- package/dist/utils/codec-utils.js +6 -0
- package/dist/utils/codec-utils.js.map +1 -1
- package/dist/utils/ip-validation.d.ts.map +1 -1
- package/dist/utils/ip-validation.js +34 -14
- package/dist/utils/ip-validation.js.map +1 -1
- package/dist/validators/base.d.ts +3 -0
- package/dist/validators/base.d.ts.map +1 -1
- package/dist/validators/base.js +8 -0
- package/dist/validators/base.js.map +1 -1
- package/dist/validators/bigint.js.map +1 -1
- package/dist/validators/custom.js.map +1 -1
- package/dist/validators/discriminated-union.js.map +1 -1
- package/dist/validators/file.js.map +1 -1
- package/dist/validators/function.js.map +1 -1
- package/dist/validators/index.js.map +1 -1
- package/dist/validators/json.js.map +1 -1
- package/dist/validators/lazy.js.map +1 -1
- package/dist/validators/nan.js.map +1 -1
- package/dist/validators/null.js.map +1 -1
- package/dist/validators/object-optimized.d.ts +23 -0
- package/dist/validators/object-optimized.d.ts.map +1 -0
- package/dist/validators/object-optimized.js +179 -0
- package/dist/validators/object-optimized.js.map +1 -0
- package/dist/validators/object-ultra.d.ts +34 -0
- package/dist/validators/object-ultra.d.ts.map +1 -0
- package/dist/validators/object-ultra.js +175 -0
- package/dist/validators/object-ultra.js.map +1 -0
- package/dist/validators/object.d.ts.map +1 -1
- package/dist/validators/object.js +1 -1
- package/dist/validators/object.js.map +1 -1
- package/dist/validators/string-bool.js.map +1 -1
- package/dist/validators/string-formats.js.map +1 -1
- package/dist/validators/string-ultra.d.ts +49 -0
- package/dist/validators/string-ultra.d.ts.map +1 -0
- package/dist/validators/string-ultra.js +217 -0
- package/dist/validators/string-ultra.js.map +1 -0
- package/dist/validators/template-literal.d.ts.map +1 -1
- package/dist/validators/template-literal.js +13 -12
- package/dist/validators/template-literal.js.map +1 -1
- package/dist/validators/undefined.js.map +1 -1
- package/dist/validators/union-optimized.d.ts +15 -0
- package/dist/validators/union-optimized.d.ts.map +1 -0
- package/dist/validators/union-optimized.js +92 -0
- package/dist/validators/union-optimized.js.map +1 -0
- package/dist/validators/xor.js.map +1 -1
- package/package.json +95 -79
package/dist/guards.d.ts
ADDED
|
@@ -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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
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
|