@oxog/vld 2.1.0 → 2.2.5
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 +87 -0
- package/README.md +1296 -1235
- package/dist/chunks/errors-core-Cqi4-9ew.js +1 -0
- package/dist/chunks/index-CkbfQQ4n.js +1 -0
- package/dist/chunks/index-yjpbvFgw.js +1 -0
- package/dist/chunks/ip-validation-g5LWgy9t.js +1 -0
- package/dist/chunks/security-Dy24T8N7.js +1 -0
- package/dist/cjs/chunks/errors-core-DKPohm9I.cjs +1 -0
- package/dist/cjs/chunks/index-BEV9nG0N.cjs +1 -0
- package/dist/cjs/chunks/index-ZjHAxYdA.cjs +1 -0
- package/dist/cjs/chunks/ip-validation-BZqPamPC.cjs +1 -0
- package/dist/cjs/chunks/security-aXZVI7qW.cjs +1 -0
- package/dist/cjs/cli/bin.cjs +1 -505
- package/dist/cjs/cli/index.cjs +1 -209
- package/dist/cjs/codecs/index.cjs +1 -45
- package/dist/cjs/coercion/index.cjs +1 -588
- package/dist/cjs/compat/emitter.cjs +1 -184
- package/dist/cjs/compat/result.cjs +1 -189
- package/dist/cjs/errors.cjs +1 -180
- package/dist/cjs/index.cjs +1 -1894
- package/dist/cjs/kernel.cjs +1 -415
- package/dist/cjs/locales/af.cjs +1 -108
- package/dist/cjs/locales/ar.cjs +1 -108
- package/dist/cjs/locales/bn.cjs +1 -108
- package/dist/cjs/locales/da.cjs +1 -108
- package/dist/cjs/locales/de.cjs +1 -108
- package/dist/cjs/locales/en.cjs +1 -108
- package/dist/cjs/locales/es-MX.cjs +1 -107
- package/dist/cjs/locales/es.cjs +1 -96
- package/dist/cjs/locales/fi.cjs +1 -108
- package/dist/cjs/locales/fr.cjs +1 -96
- package/dist/cjs/locales/hi.cjs +1 -108
- package/dist/cjs/locales/id.cjs +1 -108
- package/dist/cjs/locales/index.cjs +1 -43
- package/dist/cjs/locales/it.cjs +1 -108
- package/dist/cjs/locales/ja.cjs +1 -108
- package/dist/cjs/locales/ko.cjs +1 -108
- package/dist/cjs/locales/lazy.cjs +1 -188
- package/dist/cjs/locales/nl.cjs +1 -108
- package/dist/cjs/locales/no.cjs +1 -108
- package/dist/cjs/locales/pl.cjs +1 -108
- package/dist/cjs/locales/pt-BR.cjs +1 -108
- package/dist/cjs/locales/pt.cjs +1 -108
- package/dist/cjs/locales/ru.cjs +1 -108
- package/dist/cjs/locales/runtime.cjs +1 -51
- package/dist/cjs/locales/sv.cjs +1 -108
- package/dist/cjs/locales/sw.cjs +1 -108
- package/dist/cjs/locales/th.cjs +1 -108
- package/dist/cjs/locales/tr.cjs +1 -108
- package/dist/cjs/locales/vi.cjs +1 -108
- package/dist/cjs/locales/zh.cjs +1 -108
- package/dist/cjs/mini.cjs +1 -242
- package/dist/cjs/pigment.cjs +1 -207
- package/dist/cjs/plugins/index.cjs +1 -12
- package/dist/cjs/registry.cjs +1 -37
- package/dist/cjs/v3/index.cjs +1 -425
- package/dist/cjs/v4/core/index.cjs +1 -894
- package/dist/cjs/v4/index.cjs +1 -425
- package/dist/cjs/v4/locales/index.cjs +1 -130
- package/dist/cjs/v4/mini/index.cjs +1 -509
- package/dist/cjs/v4-mini/index.cjs +1 -532
- package/dist/cjs/validators/any.cjs +1 -40
- package/dist/cjs/validators/array.cjs +1 -283
- package/dist/cjs/validators/base.cjs +1 -887
- package/dist/cjs/validators/base64.cjs +1 -73
- package/dist/cjs/validators/bigint.cjs +1 -232
- package/dist/cjs/validators/boolean.cjs +1 -146
- package/dist/cjs/validators/codec.cjs +1 -205
- package/dist/cjs/validators/custom.cjs +1 -71
- package/dist/cjs/validators/date.cjs +1 -278
- package/dist/cjs/validators/discriminated-union.cjs +1 -130
- package/dist/cjs/validators/enum.cjs +1 -154
- package/dist/cjs/validators/file.cjs +1 -130
- package/dist/cjs/validators/function.cjs +1 -63
- package/dist/cjs/validators/hex.cjs +1 -70
- package/dist/cjs/validators/index.cjs +1 -123
- package/dist/cjs/validators/intersection.cjs +1 -120
- package/dist/cjs/validators/json.cjs +1 -70
- package/dist/cjs/validators/lazy.cjs +1 -53
- package/dist/cjs/validators/literal.cjs +1 -64
- package/dist/cjs/validators/map.cjs +1 -218
- package/dist/cjs/validators/nan.cjs +1 -41
- package/dist/cjs/validators/never.cjs +1 -36
- package/dist/cjs/validators/null.cjs +1 -43
- package/dist/cjs/validators/number.cjs +1 -427
- package/dist/cjs/validators/object.cjs +1 -868
- package/dist/cjs/validators/promise.cjs +1 -115
- package/dist/cjs/validators/record.cjs +1 -262
- package/dist/cjs/validators/set.cjs +1 -203
- package/dist/cjs/validators/string-bool.cjs +1 -124
- package/dist/cjs/validators/string-formats.cjs +1 -168
- package/dist/cjs/validators/string.cjs +1 -12
- package/dist/cjs/validators/symbol.cjs +1 -62
- package/dist/cjs/validators/template-literal.cjs +1 -108
- package/dist/cjs/validators/tuple.cjs +1 -187
- package/dist/cjs/validators/uint8array.cjs +1 -106
- package/dist/cjs/validators/undefined.cjs +1 -43
- package/dist/cjs/validators/union.cjs +1 -191
- package/dist/cjs/validators/unknown.cjs +1 -40
- package/dist/cjs/validators/void.cjs +1 -48
- package/dist/cjs/validators/xor.cjs +1 -69
- package/dist/cli/bin.js +1 -406
- package/dist/cli/index.js +1 -205
- package/dist/codecs/index.js +1 -11
- package/dist/coercion/index.js +1 -579
- package/dist/compat/emitter.js +1 -180
- package/dist/compat/result.js +1 -170
- package/dist/errors-core.d.ts +20 -1
- package/dist/errors.js +1 -171
- package/dist/index.d.ts +248 -357
- package/dist/index.js +1 -1534
- package/dist/kernel.js +1 -409
- package/dist/locales/af.js +1 -106
- package/dist/locales/ar.js +1 -106
- package/dist/locales/bn.js +1 -106
- package/dist/locales/da.js +1 -106
- package/dist/locales/de.js +1 -106
- package/dist/locales/en.js +1 -106
- package/dist/locales/es-MX.js +1 -105
- package/dist/locales/es.js +1 -94
- package/dist/locales/fi.js +1 -106
- package/dist/locales/fr.js +1 -94
- package/dist/locales/hi.js +1 -106
- package/dist/locales/id.js +1 -106
- package/dist/locales/index.js +1 -29
- package/dist/locales/it.js +1 -106
- package/dist/locales/ja.js +1 -106
- package/dist/locales/ko.js +1 -106
- package/dist/locales/lazy.js +1 -177
- package/dist/locales/nl.js +1 -106
- package/dist/locales/no.js +1 -106
- package/dist/locales/pl.js +1 -106
- package/dist/locales/pt-BR.js +1 -106
- package/dist/locales/pt.js +1 -106
- package/dist/locales/ru.js +1 -106
- package/dist/locales/runtime.js +1 -41
- package/dist/locales/sv.js +1 -106
- package/dist/locales/sw.js +1 -106
- package/dist/locales/th.js +1 -106
- package/dist/locales/tr.js +1 -106
- package/dist/locales/vi.js +1 -106
- package/dist/locales/zh.js +1 -106
- package/dist/mini.d.ts +3 -3
- package/dist/mini.js +1 -156
- package/dist/pigment.js +1 -180
- package/dist/plugins/index.js +1 -1
- package/dist/registry.js +1 -34
- package/dist/utils/json-schema.d.ts +10 -1
- package/dist/v3/index.js +1 -46
- package/dist/v4/core/index.d.ts +28 -16
- package/dist/v4/core/index.js +1 -277
- package/dist/v4/index.js +1 -50
- package/dist/v4/locales/index.d.ts +4 -0
- package/dist/v4/locales/index.js +1 -77
- package/dist/v4/mini/index.js +1 -47
- package/dist/v4-mini/index.d.ts +1 -1
- package/dist/v4-mini/index.js +1 -75
- package/dist/validators/any.js +1 -37
- package/dist/validators/array.d.ts +7 -0
- package/dist/validators/array.js +1 -279
- package/dist/validators/base.d.ts +63 -8
- package/dist/validators/base.js +1 -868
- package/dist/validators/base64.js +1 -68
- package/dist/validators/bigint.js +1 -228
- package/dist/validators/boolean.js +1 -142
- package/dist/validators/codec.js +1 -200
- package/dist/validators/custom.js +1 -67
- package/dist/validators/date.js +1 -274
- package/dist/validators/discriminated-union.d.ts +2 -2
- package/dist/validators/discriminated-union.js +1 -123
- package/dist/validators/enum.js +1 -150
- package/dist/validators/file.js +1 -125
- package/dist/validators/function.js +1 -58
- package/dist/validators/hex.js +1 -65
- package/dist/validators/index.d.ts +1 -1
- package/dist/validators/index.js +1 -35
- package/dist/validators/intersection.js +1 -116
- package/dist/validators/json.js +1 -66
- package/dist/validators/lazy.js +1 -50
- package/dist/validators/literal.d.ts +7 -3
- package/dist/validators/literal.js +1 -60
- package/dist/validators/map.js +1 -214
- package/dist/validators/nan.js +1 -38
- package/dist/validators/never.js +1 -32
- package/dist/validators/null.js +1 -40
- package/dist/validators/number.d.ts +20 -1
- package/dist/validators/number.js +1 -423
- package/dist/validators/object.d.ts +12 -2
- package/dist/validators/object.js +1 -864
- package/dist/validators/promise.js +1 -111
- package/dist/validators/record.d.ts +11 -8
- package/dist/validators/record.js +1 -258
- package/dist/validators/set.js +1 -199
- package/dist/validators/string-bool.js +1 -120
- package/dist/validators/string-formats.d.ts +58 -62
- package/dist/validators/string-formats.js +1 -135
- package/dist/validators/string.d.ts +47 -10
- package/dist/validators/string.js +1 -4
- package/dist/validators/symbol.js +1 -58
- package/dist/validators/template-literal.js +1 -103
- package/dist/validators/tuple.d.ts +17 -13
- package/dist/validators/tuple.js +1 -183
- package/dist/validators/uint8array.js +1 -101
- package/dist/validators/undefined.js +1 -40
- package/dist/validators/union.js +1 -187
- package/dist/validators/unknown.js +1 -37
- package/dist/validators/void.js +1 -44
- package/dist/validators/xor.d.ts +2 -2
- package/dist/validators/xor.js +1 -66
- package/package.json +239 -238
- package/dist/chunks/errors-core-BeiFUtZM.js +0 -81
- package/dist/chunks/index-0R2ntSud.js +0 -508
- package/dist/chunks/index-BvH403Yy.js +0 -88
- package/dist/chunks/security-B0Pd_vSY.js +0 -35
- package/dist/chunks/string-BJRQod3t.js +0 -530
- package/dist/cjs/chunks/errors-core-DWxLFs2f.cjs +0 -83
- package/dist/cjs/chunks/index-BkI37108.cjs +0 -538
- package/dist/cjs/chunks/index-Cc3bjUMX.cjs +0 -91
- package/dist/cjs/chunks/security-Dc3Jh13T.cjs +0 -37
- package/dist/cjs/chunks/string-BKZrc4hs.cjs +0 -533
|
@@ -121,6 +121,19 @@ export interface SuperRefineContext {
|
|
|
121
121
|
}): void;
|
|
122
122
|
path: (string | number)[];
|
|
123
123
|
}
|
|
124
|
+
export interface CheckPayload<T> {
|
|
125
|
+
value: T;
|
|
126
|
+
issues: Array<{
|
|
127
|
+
message?: string;
|
|
128
|
+
code?: string;
|
|
129
|
+
}>;
|
|
130
|
+
aborted?: boolean;
|
|
131
|
+
}
|
|
132
|
+
export type VldCheck<T> = ((payload: CheckPayload<T>) => void | Promise<void>) | {
|
|
133
|
+
_zod?: {
|
|
134
|
+
check?: (payload: CheckPayload<T>) => void | Promise<void>;
|
|
135
|
+
};
|
|
136
|
+
};
|
|
124
137
|
export type ErrorMap = (issue: {
|
|
125
138
|
code?: string;
|
|
126
139
|
input?: unknown;
|
|
@@ -131,6 +144,14 @@ export type ErrorParam = string | {
|
|
|
131
144
|
message?: string;
|
|
132
145
|
};
|
|
133
146
|
export declare function resolveErrorMessage(error: ErrorParam | undefined, fallback: string): string;
|
|
147
|
+
type ValueOrFactory<T> = T | (() => T);
|
|
148
|
+
interface SchemaCompositionFactories {
|
|
149
|
+
array<TInput, TOutput>(schema: VldBase<TInput, TOutput>): VldBase<unknown[], TOutput[]>;
|
|
150
|
+
union<TInput, TOutput, TNext>(left: VldBase<TInput, TOutput>, right: VldBase<any, TNext>): VldBase<unknown, TOutput | TNext>;
|
|
151
|
+
intersection<TInput, TOutput, TNext>(left: VldBase<TInput, TOutput>, right: VldBase<any, TNext>): VldBase<unknown, TOutput & TNext>;
|
|
152
|
+
toJSONSchema(schema: VldBase<any, any>, options?: unknown): unknown;
|
|
153
|
+
}
|
|
154
|
+
export declare function configureSchemaCompositionFactories(factories: SchemaCompositionFactories): void;
|
|
134
155
|
/**
|
|
135
156
|
* Abstract base class for all validators
|
|
136
157
|
* Implements immutable pattern to prevent memory leaks and race conditions
|
|
@@ -162,6 +183,26 @@ export declare abstract class VldBase<TInput, TOutput = TInput> {
|
|
|
162
183
|
abstract safeParse(value: unknown): ParseResult<TOutput>;
|
|
163
184
|
parseAsync(value: unknown): Promise<TOutput>;
|
|
164
185
|
safeParseAsync(value: unknown): Promise<ParseResult<TOutput>>;
|
|
186
|
+
/** Strongly typed forward parse aliases from the Zod 4 codec API. */
|
|
187
|
+
decode(value: TInput): TOutput;
|
|
188
|
+
safeDecode(value: TInput): ParseResult<TOutput>;
|
|
189
|
+
decodeAsync(value: TInput): Promise<TOutput>;
|
|
190
|
+
safeDecodeAsync(value: TInput): Promise<ParseResult<TOutput>>;
|
|
191
|
+
/**
|
|
192
|
+
* Backward parse aliases. Primitive and validation-only schemas are
|
|
193
|
+
* bidirectional; codecs override these methods with their inverse transform.
|
|
194
|
+
*/
|
|
195
|
+
encode(value: TOutput): TInput;
|
|
196
|
+
safeEncode(value: TOutput): ParseResult<TInput>;
|
|
197
|
+
encodeAsync(value: TOutput): Promise<TInput>;
|
|
198
|
+
safeEncodeAsync(value: TOutput): Promise<ParseResult<TInput>>;
|
|
199
|
+
/** Zod's short alias for safeParseAsync. */
|
|
200
|
+
spa(value: unknown): Promise<ParseResult<TOutput>>;
|
|
201
|
+
/** Compatibility helpers retained by Zod 4. */
|
|
202
|
+
isOptional(): boolean;
|
|
203
|
+
isNullable(): boolean;
|
|
204
|
+
/** VLD validators are immutable, so cloning can safely share the instance. */
|
|
205
|
+
clone(): this;
|
|
165
206
|
/**
|
|
166
207
|
* Check if a value is valid according to this validator
|
|
167
208
|
* @param value The value to check
|
|
@@ -201,7 +242,16 @@ export declare abstract class VldBase<TInput, TOutput = TInput> {
|
|
|
201
242
|
* @param defaultValue The default value
|
|
202
243
|
* @returns A new validator with default
|
|
203
244
|
*/
|
|
204
|
-
default(defaultValue: TOutput): VldDefault<TInput, TOutput>;
|
|
245
|
+
default(defaultValue: ValueOrFactory<TOutput>): VldDefault<TInput, TOutput>;
|
|
246
|
+
/** Provide an input value before parsing when the input is undefined. */
|
|
247
|
+
prefault(defaultValue: ValueOrFactory<TInput>): VldPrefault<TInput, TOutput>;
|
|
248
|
+
nonoptional(message?: ErrorParam): VldRefine<TInput, TOutput, TOutput>;
|
|
249
|
+
array(): VldBase<unknown[], TOutput[]>;
|
|
250
|
+
or<TNext>(option: VldBase<any, TNext>): VldBase<unknown, TOutput | TNext>;
|
|
251
|
+
and<TNext>(incoming: VldBase<any, TNext>): VldBase<unknown, TOutput & TNext>;
|
|
252
|
+
overwrite(transformer: (value: TOutput) => TOutput): VldTransform<TInput, TOutput, TOutput>;
|
|
253
|
+
with(...checks: VldCheck<TOutput>[]): VldSuperRefine<TInput, TOutput>;
|
|
254
|
+
toJSONSchema(options?: unknown): unknown;
|
|
205
255
|
/**
|
|
206
256
|
* Create a new validator that catches errors and returns a fallback
|
|
207
257
|
* @param fallbackValue The fallback value
|
|
@@ -236,7 +286,7 @@ export declare abstract class VldBase<TInput, TOutput = TInput> {
|
|
|
236
286
|
* @param next The next validator to pipe into
|
|
237
287
|
* @returns A new piped validator
|
|
238
288
|
*/
|
|
239
|
-
pipe<TNextOutput>(next: VldBase<
|
|
289
|
+
pipe<TNextOutput>(next: VldBase<any, TNextOutput>): VldPipe<TInput, TOutput, TNextOutput>;
|
|
240
290
|
/**
|
|
241
291
|
* Create a new validator that returns readonly output
|
|
242
292
|
* Zod 4 API parity - marks output as readonly for TypeScript
|
|
@@ -266,7 +316,7 @@ export declare abstract class VldBase<TInput, TOutput = TInput> {
|
|
|
266
316
|
* const withLength = (schema: VldBase<unknown, string>) => schema.transform(s => s.length);
|
|
267
317
|
* const lengthSchema = v.string().apply(withLength); // validates string, returns number
|
|
268
318
|
*/
|
|
269
|
-
apply<
|
|
319
|
+
apply<TResult>(fn: (schema: this) => TResult): TResult;
|
|
270
320
|
/**
|
|
271
321
|
* Create a new validator that refines this one with a custom predicate
|
|
272
322
|
* Alias for refine() - check() is the Zod 4 API name
|
|
@@ -302,6 +352,7 @@ export declare abstract class VldBase<TInput, TOutput = TInput> {
|
|
|
302
352
|
* @returns A new validator with the description
|
|
303
353
|
*/
|
|
304
354
|
describe(description: string): VldMeta<TInput, TOutput>;
|
|
355
|
+
get description(): string | undefined;
|
|
305
356
|
}
|
|
306
357
|
/**
|
|
307
358
|
* Schema metadata interface for OpenAPI/JSON Schema compatibility
|
|
@@ -390,14 +441,16 @@ export declare class VldTransform<TInput, TBase, TOutput> extends VldBase<TInput
|
|
|
390
441
|
export declare class VldDefault<TInput, TOutput> extends VldBase<TInput | undefined, TOutput> {
|
|
391
442
|
private readonly baseValidator;
|
|
392
443
|
private readonly defaultValue;
|
|
393
|
-
constructor(baseValidator: VldBase<TInput, TOutput>, defaultValue: TOutput);
|
|
444
|
+
constructor(baseValidator: VldBase<TInput, TOutput>, defaultValue: ValueOrFactory<TOutput>);
|
|
394
445
|
parse(value: unknown): TOutput;
|
|
395
446
|
safeParse(value: unknown): ParseResult<TOutput>;
|
|
396
447
|
/**
|
|
397
448
|
* Pre-parse default - validates the default value instead of returning it directly
|
|
398
449
|
* This is useful when the default value needs to be validated against the schema
|
|
399
450
|
*/
|
|
400
|
-
prefault(): VldPrefault<TInput, TOutput>;
|
|
451
|
+
prefault(defaultValue?: ValueOrFactory<TInput>): VldPrefault<TInput, TOutput>;
|
|
452
|
+
unwrap(): VldBase<TInput, TOutput>;
|
|
453
|
+
removeDefault(): VldBase<TInput, TOutput>;
|
|
401
454
|
}
|
|
402
455
|
/**
|
|
403
456
|
* Prefault validator - validates the default value instead of returning it directly
|
|
@@ -405,13 +458,14 @@ export declare class VldDefault<TInput, TOutput> extends VldBase<TInput | undefi
|
|
|
405
458
|
export declare class VldPrefault<TInput, TOutput> extends VldBase<TInput | undefined, TOutput> {
|
|
406
459
|
private readonly baseValidator;
|
|
407
460
|
private readonly defaultValue;
|
|
408
|
-
constructor(baseValidator: VldBase<TInput, TOutput>, defaultValue:
|
|
461
|
+
constructor(baseValidator: VldBase<TInput, TOutput>, defaultValue: ValueOrFactory<TInput>);
|
|
409
462
|
parse(value: unknown): TOutput;
|
|
410
463
|
safeParse(value: unknown): ParseResult<TOutput>;
|
|
411
464
|
/**
|
|
412
465
|
* Calling prefault multiple times should be safe - return self
|
|
413
466
|
*/
|
|
414
|
-
prefault(): VldPrefault<TInput, TOutput>;
|
|
467
|
+
prefault(defaultValue?: ValueOrFactory<TInput>): VldPrefault<TInput, TOutput>;
|
|
468
|
+
unwrap(): VldBase<TInput, TOutput>;
|
|
415
469
|
}
|
|
416
470
|
/**
|
|
417
471
|
* Catch validator - provides fallback value on validation error
|
|
@@ -483,7 +537,7 @@ export declare class VldNullish<TInput, TOutput> extends VldBase<TInput | null |
|
|
|
483
537
|
export declare class VldPipe<TInput, TIntermediate, TOutput> extends VldBase<TInput, TOutput> {
|
|
484
538
|
private readonly first;
|
|
485
539
|
private readonly second;
|
|
486
|
-
constructor(first: VldBase<TInput, TIntermediate>, second: VldBase<
|
|
540
|
+
constructor(first: VldBase<TInput, TIntermediate>, second: VldBase<any, TOutput>);
|
|
487
541
|
parse(value: unknown): TOutput;
|
|
488
542
|
safeParse(value: unknown): ParseResult<TOutput>;
|
|
489
543
|
}
|
|
@@ -510,3 +564,4 @@ export declare class VldPreprocess<TInput, TOutput> extends VldBase<unknown, TOu
|
|
|
510
564
|
parse(value: unknown): TOutput;
|
|
511
565
|
safeParse(value: unknown): ParseResult<TOutput>;
|
|
512
566
|
}
|
|
567
|
+
export {};
|