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