@oxog/vld 1.5.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +116 -0
- package/README.md +558 -517
- package/dist/chunks/bigint-ZKkWLdmi.js +1628 -0
- package/dist/chunks/bigint-ZKkWLdmi.js.map +1 -0
- package/dist/{coercion/string.js → chunks/date-7Iz2BGsL.js} +271 -5
- package/dist/chunks/date-7Iz2BGsL.js.map +1 -0
- package/dist/chunks/index-BoV-4S1F.js +894 -0
- package/dist/chunks/index-BoV-4S1F.js.map +1 -0
- package/dist/chunks/index-eWXdjyyy.js +426 -0
- package/dist/chunks/index-eWXdjyyy.js.map +1 -0
- package/dist/chunks/json-nIhyRPOU.js +1934 -0
- package/dist/chunks/json-nIhyRPOU.js.map +1 -0
- package/dist/{validators/unknown.js → chunks/unknown-CjSRcELI.js} +6 -3
- package/dist/chunks/unknown-CjSRcELI.js.map +1 -0
- package/dist/cjs/errors.cjs +387 -0
- package/dist/cjs/errors.cjs.map +1 -0
- package/dist/cjs/index.cjs +9815 -0
- package/dist/cjs/index.cjs.map +1 -0
- package/dist/cjs/locales/index.cjs +2877 -0
- package/dist/cjs/locales/index.cjs.map +1 -0
- package/dist/cjs/locales/lazy.cjs +3169 -0
- package/dist/cjs/locales/lazy.cjs.map +1 -0
- package/dist/cjs/mini.cjs +7161 -0
- package/dist/cjs/mini.cjs.map +1 -0
- package/dist/codecs/index.js +4 -275
- package/dist/codecs/index.js.map +1 -1
- package/dist/coercion/index.d.ts +11 -0
- package/dist/coercion/index.d.ts.map +1 -0
- package/dist/coercion/{bigint.js → index.js} +7 -4
- package/dist/coercion/index.js.map +1 -0
- package/dist/compat/emitter.js +6 -4
- package/dist/compat/emitter.js.map +1 -1
- package/dist/compat/result.js +21 -19
- package/dist/compat/result.js.map +1 -1
- package/dist/errors.js +13 -10
- package/dist/errors.js.map +1 -1
- package/dist/index.js +225 -126
- package/dist/index.js.map +1 -1
- package/dist/kernel.js +10 -7
- package/dist/kernel.js.map +1 -1
- package/dist/locales/af.js +4 -2
- package/dist/locales/af.js.map +1 -1
- package/dist/locales/ar.js +4 -2
- package/dist/locales/ar.js.map +1 -1
- package/dist/locales/bn.js +4 -2
- package/dist/locales/bn.js.map +1 -1
- package/dist/locales/da.js +4 -2
- package/dist/locales/da.js.map +1 -1
- package/dist/locales/de.js +4 -2
- package/dist/locales/de.js.map +1 -1
- package/dist/locales/en.js +4 -2
- package/dist/locales/en.js.map +1 -1
- package/dist/locales/es-MX.js +4 -2
- package/dist/locales/es-MX.js.map +1 -1
- package/dist/locales/es.js +4 -2
- package/dist/locales/es.js.map +1 -1
- package/dist/locales/fi.js +4 -2
- package/dist/locales/fi.js.map +1 -1
- package/dist/locales/fr.js +4 -2
- package/dist/locales/fr.js.map +1 -1
- package/dist/locales/hi.js +4 -2
- package/dist/locales/hi.js.map +1 -1
- package/dist/locales/id.js +4 -2
- package/dist/locales/id.js.map +1 -1
- package/dist/locales/index.js +3 -91
- package/dist/locales/index.js.map +1 -1
- package/dist/locales/it.js +4 -2
- package/dist/locales/it.js.map +1 -1
- package/dist/locales/ja.js +4 -2
- package/dist/locales/ja.js.map +1 -1
- package/dist/locales/ko.js +4 -2
- package/dist/locales/ko.js.map +1 -1
- package/dist/locales/lazy.d.ts +111 -0
- package/dist/locales/lazy.d.ts.map +1 -0
- package/dist/locales/lazy.js +220 -0
- package/dist/locales/lazy.js.map +1 -0
- package/dist/locales/nl.js +4 -2
- package/dist/locales/nl.js.map +1 -1
- package/dist/locales/no.js +4 -2
- package/dist/locales/no.js.map +1 -1
- package/dist/locales/pl.js +4 -2
- package/dist/locales/pl.js.map +1 -1
- package/dist/locales/pt-BR.js +4 -2
- package/dist/locales/pt-BR.js.map +1 -1
- package/dist/locales/pt.js +4 -2
- package/dist/locales/pt.js.map +1 -1
- package/dist/locales/ru.js +4 -2
- package/dist/locales/ru.js.map +1 -1
- package/dist/locales/sv.js +4 -2
- package/dist/locales/sv.js.map +1 -1
- package/dist/locales/sw.js +4 -2
- package/dist/locales/sw.js.map +1 -1
- package/dist/locales/th.js +4 -2
- package/dist/locales/th.js.map +1 -1
- package/dist/locales/tr.js +4 -2
- package/dist/locales/tr.js.map +1 -1
- package/dist/locales/vi.js +4 -2
- package/dist/locales/vi.js.map +1 -1
- package/dist/locales/zh.js +4 -2
- package/dist/locales/zh.js.map +1 -1
- package/dist/mini.d.ts +182 -0
- package/dist/mini.d.ts.map +1 -0
- package/dist/mini.js +132 -0
- package/dist/mini.js.map +1 -0
- package/dist/pigment.js +8 -7
- package/dist/pigment.js.map +1 -1
- package/dist/validators/index.js +5 -45
- package/dist/validators/index.js.map +1 -1
- package/package.json +69 -11
- package/dist/cli/benchmark.d.ts +0 -15
- package/dist/cli/benchmark.d.ts.map +0 -1
- package/dist/cli/benchmark.js +0 -248
- package/dist/cli/benchmark.js.map +0 -1
- package/dist/cli/bin.js +0 -35
- package/dist/cli/bin.js.map +0 -1
- package/dist/cli/commands/benchmark.js +0 -204
- package/dist/cli/commands/benchmark.js.map +0 -1
- package/dist/cli/commands/validate.js +0 -157
- package/dist/cli/commands/validate.js.map +0 -1
- package/dist/cli/generate.d.ts +0 -14
- package/dist/cli/generate.d.ts.map +0 -1
- package/dist/cli/generate.js +0 -233
- package/dist/cli/generate.js.map +0 -1
- package/dist/cli/index.js +0 -182
- package/dist/cli/index.js.map +0 -1
- package/dist/cli/validate.d.ts +0 -15
- package/dist/cli/validate.d.ts.map +0 -1
- package/dist/cli/validate.js +0 -162
- package/dist/cli/validate.js.map +0 -1
- package/dist/coercion/bigint.js.map +0 -1
- package/dist/coercion/boolean.js +0 -59
- package/dist/coercion/boolean.js.map +0 -1
- package/dist/coercion/date.js +0 -52
- package/dist/coercion/date.js.map +0 -1
- package/dist/coercion/number.js +0 -160
- package/dist/coercion/number.js.map +0 -1
- package/dist/coercion/string.js.map +0 -1
- package/dist/compat/index.js +0 -14
- package/dist/compat/index.js.map +0 -1
- package/dist/events.js +0 -8
- package/dist/events.js.map +0 -1
- package/dist/guards.d.ts +0 -143
- package/dist/guards.d.ts.map +0 -1
- package/dist/guards.js +0 -238
- package/dist/guards.js.map +0 -1
- package/dist/index-new.d.ts.map +0 -1
- package/dist/locales/backup-en.js +0 -105
- package/dist/locales/backup-en.js.map +0 -1
- package/dist/locales/types.js +0 -2
- package/dist/locales/types.js.map +0 -1
- package/dist/locales.d.ts +0 -54
- package/dist/locales.d.ts.map +0 -1
- package/dist/locales.js +0 -732
- package/dist/locales.js.map +0 -1
- package/dist/logger.js +0 -184
- package/dist/logger.js.map +0 -1
- package/dist/plugins/codecs.d.ts +0 -17
- package/dist/plugins/codecs.d.ts.map +0 -1
- package/dist/plugins/codecs.js +0 -29
- package/dist/plugins/codecs.js.map +0 -1
- package/dist/plugins/coercion.d.ts +0 -13
- package/dist/plugins/coercion.d.ts.map +0 -1
- package/dist/plugins/coercion.js +0 -34
- package/dist/plugins/coercion.js.map +0 -1
- package/dist/plugins/core-validators.d.ts +0 -13
- package/dist/plugins/core-validators.d.ts.map +0 -1
- package/dist/plugins/core-validators.js +0 -96
- package/dist/plugins/core-validators.js.map +0 -1
- package/dist/plugins/index.js +0 -8
- package/dist/plugins/index.js.map +0 -1
- package/dist/plugins/kernel.d.ts +0 -29
- package/dist/plugins/kernel.d.ts.map +0 -1
- package/dist/plugins/kernel.js +0 -486
- package/dist/plugins/kernel.js.map +0 -1
- package/dist/plugins/types.js +0 -8
- package/dist/plugins/types.js.map +0 -1
- package/dist/style.d.ts +0 -123
- package/dist/style.d.ts.map +0 -1
- package/dist/style.js +0 -369
- package/dist/style.js.map +0 -1
- package/dist/utils/codec-utils.js +0 -229
- package/dist/utils/codec-utils.js.map +0 -1
- package/dist/utils/deep-merge.js +0 -76
- package/dist/utils/deep-merge.js.map +0 -1
- package/dist/utils/ip-validation.js +0 -98
- package/dist/utils/ip-validation.js.map +0 -1
- package/dist/utils/security.js +0 -61
- package/dist/utils/security.js.map +0 -1
- package/dist/validators/any.js +0 -25
- package/dist/validators/any.js.map +0 -1
- package/dist/validators/array.js +0 -190
- package/dist/validators/array.js.map +0 -1
- package/dist/validators/base.js +0 -499
- package/dist/validators/base.js.map +0 -1
- package/dist/validators/base64.js +0 -65
- package/dist/validators/base64.js.map +0 -1
- package/dist/validators/bigint.js +0 -142
- package/dist/validators/bigint.js.map +0 -1
- package/dist/validators/boolean.js +0 -114
- package/dist/validators/boolean.js.map +0 -1
- package/dist/validators/codec.js +0 -182
- package/dist/validators/codec.js.map +0 -1
- package/dist/validators/custom.js +0 -50
- package/dist/validators/custom.js.map +0 -1
- package/dist/validators/date.js +0 -227
- package/dist/validators/date.js.map +0 -1
- package/dist/validators/discriminated-union.js +0 -98
- package/dist/validators/discriminated-union.js.map +0 -1
- package/dist/validators/enum.js +0 -82
- package/dist/validators/enum.js.map +0 -1
- package/dist/validators/file.js +0 -114
- package/dist/validators/file.js.map +0 -1
- package/dist/validators/function.js +0 -45
- package/dist/validators/function.js.map +0 -1
- package/dist/validators/hex.js +0 -62
- package/dist/validators/hex.js.map +0 -1
- package/dist/validators/intersection.js +0 -64
- package/dist/validators/intersection.js.map +0 -1
- package/dist/validators/json.js +0 -64
- package/dist/validators/json.js.map +0 -1
- package/dist/validators/lazy.js +0 -42
- package/dist/validators/lazy.js.map +0 -1
- package/dist/validators/literal.js +0 -45
- package/dist/validators/literal.js.map +0 -1
- package/dist/validators/map.js +0 -54
- package/dist/validators/map.js.map +0 -1
- package/dist/validators/nan.js +0 -32
- package/dist/validators/nan.js.map +0 -1
- package/dist/validators/never.js +0 -29
- package/dist/validators/never.js.map +0 -1
- package/dist/validators/null.js +0 -31
- package/dist/validators/null.js.map +0 -1
- package/dist/validators/number.js +0 -225
- package/dist/validators/number.js.map +0 -1
- package/dist/validators/object-optimized.d.ts +0 -23
- package/dist/validators/object-optimized.d.ts.map +0 -1
- package/dist/validators/object-optimized.js +0 -179
- package/dist/validators/object-optimized.js.map +0 -1
- package/dist/validators/object-ultra.d.ts +0 -34
- package/dist/validators/object-ultra.d.ts.map +0 -1
- package/dist/validators/object-ultra.js +0 -175
- package/dist/validators/object-ultra.js.map +0 -1
- package/dist/validators/object.js +0 -458
- package/dist/validators/object.js.map +0 -1
- package/dist/validators/record.js +0 -128
- package/dist/validators/record.js.map +0 -1
- package/dist/validators/set.js +0 -51
- package/dist/validators/set.js.map +0 -1
- package/dist/validators/string-bool.js +0 -127
- package/dist/validators/string-bool.js.map +0 -1
- package/dist/validators/string-formats.js +0 -120
- package/dist/validators/string-formats.js.map +0 -1
- package/dist/validators/string-ultra.d.ts +0 -49
- package/dist/validators/string-ultra.d.ts.map +0 -1
- package/dist/validators/string-ultra.js +0 -217
- package/dist/validators/string-ultra.js.map +0 -1
- package/dist/validators/string.js +0 -253
- package/dist/validators/string.js.map +0 -1
- package/dist/validators/symbol.js +0 -42
- package/dist/validators/symbol.js.map +0 -1
- package/dist/validators/template-literal.js +0 -102
- package/dist/validators/template-literal.js.map +0 -1
- package/dist/validators/tuple.js +0 -55
- package/dist/validators/tuple.js.map +0 -1
- package/dist/validators/uint8array.js +0 -98
- package/dist/validators/uint8array.js.map +0 -1
- package/dist/validators/undefined.js +0 -31
- package/dist/validators/undefined.js.map +0 -1
- package/dist/validators/union-optimized.d.ts +0 -15
- package/dist/validators/union-optimized.d.ts.map +0 -1
- package/dist/validators/union-optimized.js +0 -92
- package/dist/validators/union-optimized.js.map +0 -1
- package/dist/validators/union.js +0 -126
- package/dist/validators/union.js.map +0 -1
- package/dist/validators/unknown.js.map +0 -1
- package/dist/validators/void.js +0 -35
- package/dist/validators/void.js.map +0 -1
- package/dist/validators/xor.js +0 -64
- package/dist/validators/xor.js.map +0 -1
package/dist/mini.d.ts
ADDED
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* VLD Mini - Tree-Shakable Functional API
|
|
3
|
+
*
|
|
4
|
+
* This module provides a functional, tree-shakable alternative to the main `v` object.
|
|
5
|
+
* Use this when bundle size is critical.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* import { string, number, object, optional } from '@oxog/vld/mini';
|
|
10
|
+
*
|
|
11
|
+
* const schema = object({
|
|
12
|
+
* name: string().min(1),
|
|
13
|
+
* age: optional(number().int())
|
|
14
|
+
* });
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export { VldBase, ParseResult, VldRefine, VldTransform, VldDefault, VldCatch, VldOptional, VldNullable, VldNullish, VldPipe, VldReadonly, VldBrand, VldPreprocess, SuperRefineContext, VldSuperRefine } from './validators/base';
|
|
18
|
+
export { VldString } from './validators/string';
|
|
19
|
+
export { VldNumber } from './validators/number';
|
|
20
|
+
export { VldBoolean } from './validators/boolean';
|
|
21
|
+
export { VldDate } from './validators/date';
|
|
22
|
+
export { VldBigInt } from './validators/bigint';
|
|
23
|
+
export { VldSymbol } from './validators/symbol';
|
|
24
|
+
export { VldStringBool } from './validators/string-bool';
|
|
25
|
+
export { VldArray } from './validators/array';
|
|
26
|
+
export { VldObject } from './validators/object';
|
|
27
|
+
export { VldTuple } from './validators/tuple';
|
|
28
|
+
export { VldRecord } from './validators/record';
|
|
29
|
+
export { VldSet } from './validators/set';
|
|
30
|
+
export { VldMap } from './validators/map';
|
|
31
|
+
export { VldUnion } from './validators/union';
|
|
32
|
+
export { VldIntersection } from './validators/intersection';
|
|
33
|
+
export { VldLiteral } from './validators/literal';
|
|
34
|
+
export { VldEnum } from './validators/enum';
|
|
35
|
+
export { VldAny } from './validators/any';
|
|
36
|
+
export { VldUnknown } from './validators/unknown';
|
|
37
|
+
export { VldVoid } from './validators/void';
|
|
38
|
+
export { VldNever } from './validators/never';
|
|
39
|
+
export { VldNull } from './validators/null';
|
|
40
|
+
export { VldUndefined } from './validators/undefined';
|
|
41
|
+
export { VldNan } from './validators/nan';
|
|
42
|
+
export { VldLazy } from './validators/lazy';
|
|
43
|
+
export { VldDiscriminatedUnion } from './validators/discriminated-union';
|
|
44
|
+
export { VldXor } from './validators/xor';
|
|
45
|
+
export { VldJson } from './validators/json';
|
|
46
|
+
import type { VldBase } from './validators/base';
|
|
47
|
+
/** Infer the output type of a validator */
|
|
48
|
+
export type Infer<T extends VldBase<any, any>> = T extends VldBase<any, infer U> ? U : never;
|
|
49
|
+
/** Infer the input type of a validator */
|
|
50
|
+
export type Input<T extends VldBase<any, any>> = T extends VldBase<infer I, any> ? I : never;
|
|
51
|
+
/** Infer the output type of a validator (alias for Infer) */
|
|
52
|
+
export type Output<T extends VldBase<any, any>> = Infer<T>;
|
|
53
|
+
import { VldString } from './validators/string';
|
|
54
|
+
import { VldNumber } from './validators/number';
|
|
55
|
+
import { VldBoolean } from './validators/boolean';
|
|
56
|
+
import { VldDate } from './validators/date';
|
|
57
|
+
import { VldBigInt } from './validators/bigint';
|
|
58
|
+
import { VldSymbol } from './validators/symbol';
|
|
59
|
+
import { VldStringBool } from './validators/string-bool';
|
|
60
|
+
import { VldArray } from './validators/array';
|
|
61
|
+
import { VldObject } from './validators/object';
|
|
62
|
+
import { VldTuple } from './validators/tuple';
|
|
63
|
+
import { VldRecord } from './validators/record';
|
|
64
|
+
import { VldSet } from './validators/set';
|
|
65
|
+
import { VldMap } from './validators/map';
|
|
66
|
+
import { VldUnion } from './validators/union';
|
|
67
|
+
import { VldIntersection } from './validators/intersection';
|
|
68
|
+
import { VldLiteral } from './validators/literal';
|
|
69
|
+
import { VldEnum } from './validators/enum';
|
|
70
|
+
import { VldAny } from './validators/any';
|
|
71
|
+
import { VldUnknown } from './validators/unknown';
|
|
72
|
+
import { VldVoid } from './validators/void';
|
|
73
|
+
import { VldNever } from './validators/never';
|
|
74
|
+
import { VldNull } from './validators/null';
|
|
75
|
+
import { VldUndefined } from './validators/undefined';
|
|
76
|
+
import { VldNan } from './validators/nan';
|
|
77
|
+
import { VldLazy } from './validators/lazy';
|
|
78
|
+
import { VldDiscriminatedUnion } from './validators/discriminated-union';
|
|
79
|
+
import { VldXor } from './validators/xor';
|
|
80
|
+
import { VldJson } from './validators/json';
|
|
81
|
+
import { VldOptional, VldNullable, VldNullish, VldPreprocess } from './validators/base';
|
|
82
|
+
/** Create a string validator */
|
|
83
|
+
export declare const string: () => VldString;
|
|
84
|
+
/** Create a number validator */
|
|
85
|
+
export declare const number: () => VldNumber;
|
|
86
|
+
/** Create an integer validator */
|
|
87
|
+
export declare const int: () => VldNumber;
|
|
88
|
+
/** Create an int32 validator (-2147483648 to 2147483647) */
|
|
89
|
+
export declare const int32: () => VldNumber;
|
|
90
|
+
/** Create a boolean validator */
|
|
91
|
+
export declare const boolean: () => VldBoolean;
|
|
92
|
+
/** Create a date validator */
|
|
93
|
+
export declare const date: () => VldDate;
|
|
94
|
+
/** Create a bigint validator */
|
|
95
|
+
export declare const bigint: () => VldBigInt;
|
|
96
|
+
/** Create a symbol validator */
|
|
97
|
+
export declare const symbol: () => VldSymbol;
|
|
98
|
+
/** Create a string-to-boolean validator */
|
|
99
|
+
export declare const stringbool: (options?: {
|
|
100
|
+
truthy?: readonly string[];
|
|
101
|
+
falsy?: readonly string[];
|
|
102
|
+
caseSensitive?: boolean;
|
|
103
|
+
}) => VldStringBool;
|
|
104
|
+
/** Create an array validator */
|
|
105
|
+
export declare const array: <T>(item: VldBase<unknown, T>) => VldArray<T>;
|
|
106
|
+
/** Create an object validator */
|
|
107
|
+
export declare const object: <T extends Record<string, any>>(shape: { [K in keyof T]: VldBase<unknown, T[K]>; }) => VldObject<T>;
|
|
108
|
+
/** Create a strict object validator (no extra keys allowed) */
|
|
109
|
+
export declare const strictObject: <T extends Record<string, any>>(shape: { [K in keyof T]: VldBase<unknown, T[K]>; }) => VldObject<T>;
|
|
110
|
+
/** Create a loose object validator (extra keys passed through) */
|
|
111
|
+
export declare const looseObject: <T extends Record<string, any>>(shape: { [K in keyof T]: VldBase<unknown, T[K]>; }) => VldObject<T>;
|
|
112
|
+
/** Create a tuple validator */
|
|
113
|
+
export declare const tuple: <T extends readonly VldBase<any, any>[]>(...items: T) => VldTuple<[...T]>;
|
|
114
|
+
/** Create a record validator */
|
|
115
|
+
export declare const record: <T>(value: VldBase<unknown, T>) => VldRecord<T>;
|
|
116
|
+
/** Create a partial record validator */
|
|
117
|
+
export declare const partialRecord: <T>(value: VldBase<unknown, T>) => VldRecord<T | undefined>;
|
|
118
|
+
/** Create a loose record validator */
|
|
119
|
+
export declare const looseRecord: <T>(value: VldBase<unknown, T>) => VldBase<unknown, Record<string, T>>;
|
|
120
|
+
/** Create a set validator */
|
|
121
|
+
export declare const set: <T>(item: VldBase<unknown, T>) => VldSet<T>;
|
|
122
|
+
/** Create a map validator */
|
|
123
|
+
export declare const map: <K, V>(key: VldBase<unknown, K>, value: VldBase<unknown, V>) => VldMap<K, V>;
|
|
124
|
+
/** Create a union validator (value must match one of the validators) */
|
|
125
|
+
export declare const union: <T extends readonly VldBase<any, any>[]>(...validators: T) => VldUnion<[...T]>;
|
|
126
|
+
/** Create an intersection validator (value must match both validators) */
|
|
127
|
+
export declare const intersection: <A, B>(first: VldBase<unknown, A>, second: VldBase<unknown, B>) => VldIntersection<A, B>;
|
|
128
|
+
/** Create a discriminated union validator */
|
|
129
|
+
export declare const discriminatedUnion: <K extends string, T extends readonly VldBase<any, any>[]>(discriminator: K, ...options: T) => VldDiscriminatedUnion<K, any>;
|
|
130
|
+
/** Create an XOR validator (value must match exactly one of the validators) */
|
|
131
|
+
export declare const xor: <T extends readonly VldBase<any, any>[]>(...options: T) => VldXor<any>;
|
|
132
|
+
/** Create a literal validator */
|
|
133
|
+
export declare const literal: <T extends string | number | boolean | null | undefined>(value: T) => VldLiteral<T>;
|
|
134
|
+
/** Create an enum validator */
|
|
135
|
+
export declare const enumValidator: <T extends readonly [string, ...string[]]>(...values: T) => VldEnum<any>;
|
|
136
|
+
/** Create a validator that accepts any value */
|
|
137
|
+
export declare const any: () => VldAny;
|
|
138
|
+
/** Create a validator that accepts unknown values */
|
|
139
|
+
export declare const unknown: () => VldUnknown;
|
|
140
|
+
/** Create a void validator */
|
|
141
|
+
export declare const voidValidator: () => VldVoid;
|
|
142
|
+
/** Create a never validator (always fails) */
|
|
143
|
+
export declare const never: () => VldNever;
|
|
144
|
+
/** Create a null validator */
|
|
145
|
+
export declare const nullValidator: () => VldNull;
|
|
146
|
+
/** Create an undefined validator */
|
|
147
|
+
export declare const undefinedValidator: () => VldUndefined;
|
|
148
|
+
/** Create a NaN validator */
|
|
149
|
+
export declare const nan: () => VldNan;
|
|
150
|
+
/** Create a lazy validator for recursive schemas */
|
|
151
|
+
export declare const lazy: <T>(schemaGetter: () => VldBase<unknown, T>) => VldLazy<unknown, T>;
|
|
152
|
+
/** Create a JSON validator */
|
|
153
|
+
export declare const json: <T = unknown>(schema?: VldBase<unknown, T>) => VldJson<T>;
|
|
154
|
+
/** Make a validator optional (allows undefined) */
|
|
155
|
+
export declare const optional: <TInput, TOutput>(validator: VldBase<TInput, TOutput>) => VldOptional<TInput, TOutput>;
|
|
156
|
+
/** Make a validator nullable (allows null) */
|
|
157
|
+
export declare const nullable: <TInput, TOutput>(validator: VldBase<TInput, TOutput>) => VldNullable<TInput, TOutput>;
|
|
158
|
+
/** Make a validator nullish (allows null or undefined) */
|
|
159
|
+
export declare const nullish: <TInput, TOutput>(validator: VldBase<TInput, TOutput>) => VldNullish<TInput, TOutput>;
|
|
160
|
+
/** Preprocess input before validation */
|
|
161
|
+
export declare const preprocess: <TInput, TOutput>(preprocessor: (input: unknown) => unknown, schema: VldBase<TInput, TOutput>) => VldPreprocess<TInput, TOutput>;
|
|
162
|
+
import { VldCoerceString } from './coercion/string';
|
|
163
|
+
import { VldCoerceNumber } from './coercion/number';
|
|
164
|
+
import { VldCoerceBoolean } from './coercion/boolean';
|
|
165
|
+
import { VldCoerceDate } from './coercion/date';
|
|
166
|
+
import { VldCoerceBigInt } from './coercion/bigint';
|
|
167
|
+
/** Coercion validators - convert values to target type before validation */
|
|
168
|
+
export declare const coerce: {
|
|
169
|
+
/** Coerce to string */
|
|
170
|
+
string: () => VldCoerceString;
|
|
171
|
+
/** Coerce to number */
|
|
172
|
+
number: () => VldCoerceNumber;
|
|
173
|
+
/** Coerce to boolean */
|
|
174
|
+
boolean: () => VldCoerceBoolean;
|
|
175
|
+
/** Coerce to date */
|
|
176
|
+
date: () => VldCoerceDate;
|
|
177
|
+
/** Coerce to bigint */
|
|
178
|
+
bigint: () => VldCoerceBigInt;
|
|
179
|
+
};
|
|
180
|
+
/** NEVER constant for use in transforms - Zod 4 API parity */
|
|
181
|
+
export declare const NEVER: VldNever;
|
|
182
|
+
//# sourceMappingURL=mini.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mini.d.ts","sourceRoot":"","sources":["../src/mini.ts"],"names":[],"mappings":"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"}
|
package/dist/mini.js
ADDED
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { V as VldString, a as VldNumber, b as VldBoolean, c as VldDate, d as VldBigInt, e as VldOptional, f as VldNullable, g as VldNullish, h as VldPreprocess } from './chunks/bigint-ZKkWLdmi.js';
|
|
2
|
+
export { i as VldBase, p as VldBrand, m as VldCatch, l as VldDefault, n as VldPipe, o as VldReadonly, j as VldRefine, q as VldSuperRefine, k as VldTransform } from './chunks/bigint-ZKkWLdmi.js';
|
|
3
|
+
import { V as VldSymbol, a as VldStringBool, b as VldArray, c as VldObject, d as VldTuple, e as VldRecord, f as VldSet, g as VldMap, h as VldUnion, i as VldIntersection, j as VldDiscriminatedUnion, k as VldXor, l as VldLiteral, m as VldEnum, n as VldAny, o as VldVoid, p as VldNever, q as VldNull, r as VldUndefined, s as VldNan, t as VldLazy, u as VldJson } from './chunks/json-nIhyRPOU.js';
|
|
4
|
+
import { V as VldUnknown } from './chunks/unknown-CjSRcELI.js';
|
|
5
|
+
import { V as VldCoerceDate, a as VldCoerceBoolean, b as VldCoerceNumber, c as VldCoerceString } from './chunks/date-7Iz2BGsL.js';
|
|
6
|
+
import { VldCoerceBigInt } from './coercion/index.js';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* VLD Mini - Tree-Shakable Functional API
|
|
10
|
+
*
|
|
11
|
+
* This module provides a functional, tree-shakable alternative to the main `v` object.
|
|
12
|
+
* Use this when bundle size is critical.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* import { string, number, object, optional } from '@oxog/vld/mini';
|
|
17
|
+
*
|
|
18
|
+
* const schema = object({
|
|
19
|
+
* name: string().min(1),
|
|
20
|
+
* age: optional(number().int())
|
|
21
|
+
* });
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
// ============================================
|
|
25
|
+
// Base Types & Classes
|
|
26
|
+
// ============================================
|
|
27
|
+
// --- Primitive Validators ---
|
|
28
|
+
/** Create a string validator */
|
|
29
|
+
const string = () => VldString.create();
|
|
30
|
+
/** Create a number validator */
|
|
31
|
+
const number = () => VldNumber.create();
|
|
32
|
+
/** Create an integer validator */
|
|
33
|
+
const int = () => VldNumber.create().int();
|
|
34
|
+
/** Create an int32 validator (-2147483648 to 2147483647) */
|
|
35
|
+
const int32 = () => VldNumber.create().int().min(-2147483648).max(2147483647);
|
|
36
|
+
/** Create a boolean validator */
|
|
37
|
+
const boolean = () => VldBoolean.create();
|
|
38
|
+
/** Create a date validator */
|
|
39
|
+
const date = () => VldDate.create();
|
|
40
|
+
/** Create a bigint validator */
|
|
41
|
+
const bigint = () => VldBigInt.create();
|
|
42
|
+
/** Create a symbol validator */
|
|
43
|
+
const symbol = () => VldSymbol.create();
|
|
44
|
+
/** Create a string-to-boolean validator */
|
|
45
|
+
const stringbool = (options) => VldStringBool.create(options);
|
|
46
|
+
// --- Complex Validators ---
|
|
47
|
+
/** Create an array validator */
|
|
48
|
+
const array = (item) => VldArray.create(item);
|
|
49
|
+
/** Create an object validator */
|
|
50
|
+
const object = (shape) => VldObject.create(shape);
|
|
51
|
+
/** Create a strict object validator (no extra keys allowed) */
|
|
52
|
+
const strictObject = (shape) => VldObject.create(shape).strict();
|
|
53
|
+
/** Create a loose object validator (extra keys passed through) */
|
|
54
|
+
const looseObject = (shape) => VldObject.create(shape).passthrough();
|
|
55
|
+
/** Create a tuple validator */
|
|
56
|
+
const tuple = (...items) => VldTuple.create(...items);
|
|
57
|
+
/** Create a record validator */
|
|
58
|
+
const record = (value) => VldRecord.create(value);
|
|
59
|
+
/** Create a partial record validator */
|
|
60
|
+
const partialRecord = (value) => VldRecord.create(value).partial();
|
|
61
|
+
/** Create a loose record validator */
|
|
62
|
+
const looseRecord = (value) => VldRecord.create(value).loose();
|
|
63
|
+
/** Create a set validator */
|
|
64
|
+
const set = (item) => VldSet.create(item);
|
|
65
|
+
/** Create a map validator */
|
|
66
|
+
const map = (key, value) => VldMap.create(key, value);
|
|
67
|
+
// --- Union & Intersection ---
|
|
68
|
+
/** Create a union validator (value must match one of the validators) */
|
|
69
|
+
const union = (...validators) => VldUnion.create(...validators);
|
|
70
|
+
/** Create an intersection validator (value must match both validators) */
|
|
71
|
+
const intersection = (first, second) => VldIntersection.create(first, second);
|
|
72
|
+
/** Create a discriminated union validator */
|
|
73
|
+
const discriminatedUnion = (discriminator, ...options) => VldDiscriminatedUnion.create(discriminator, [...options]);
|
|
74
|
+
/** Create an XOR validator (value must match exactly one of the validators) */
|
|
75
|
+
const xor = (...options) => VldXor.create([...options]);
|
|
76
|
+
// --- Literal & Enum ---
|
|
77
|
+
/** Create a literal validator */
|
|
78
|
+
const literal = (value) => VldLiteral.create(value);
|
|
79
|
+
/** Create an enum validator */
|
|
80
|
+
const enumValidator = (...values) => VldEnum.create(values);
|
|
81
|
+
// --- Special Validators ---
|
|
82
|
+
/** Create a validator that accepts any value */
|
|
83
|
+
const any = () => VldAny.create();
|
|
84
|
+
/** Create a validator that accepts unknown values */
|
|
85
|
+
const unknown = () => VldUnknown.create();
|
|
86
|
+
/** Create a void validator */
|
|
87
|
+
const voidValidator = () => VldVoid.create();
|
|
88
|
+
/** Create a never validator (always fails) */
|
|
89
|
+
const never = () => VldNever.create();
|
|
90
|
+
/** Create a null validator */
|
|
91
|
+
const nullValidator = () => VldNull.create();
|
|
92
|
+
/** Create an undefined validator */
|
|
93
|
+
const undefinedValidator = () => VldUndefined.create();
|
|
94
|
+
/** Create a NaN validator */
|
|
95
|
+
const nan = () => VldNan.create();
|
|
96
|
+
// --- Utility Validators ---
|
|
97
|
+
/** Create a lazy validator for recursive schemas */
|
|
98
|
+
const lazy = (schemaGetter) => VldLazy.create(schemaGetter);
|
|
99
|
+
/** Create a JSON validator */
|
|
100
|
+
const json = (schema) => VldJson.create(schema);
|
|
101
|
+
// ============================================
|
|
102
|
+
// Utility Functions (Wrappers)
|
|
103
|
+
// ============================================
|
|
104
|
+
/** Make a validator optional (allows undefined) */
|
|
105
|
+
const optional = (validator) => VldOptional.create(validator);
|
|
106
|
+
/** Make a validator nullable (allows null) */
|
|
107
|
+
const nullable = (validator) => VldNullable.create(validator);
|
|
108
|
+
/** Make a validator nullish (allows null or undefined) */
|
|
109
|
+
const nullish = (validator) => VldNullish.create(validator);
|
|
110
|
+
/** Preprocess input before validation */
|
|
111
|
+
const preprocess = (preprocessor, schema) => VldPreprocess.create(preprocessor, schema);
|
|
112
|
+
/** Coercion validators - convert values to target type before validation */
|
|
113
|
+
const coerce = {
|
|
114
|
+
/** Coerce to string */
|
|
115
|
+
string: () => VldCoerceString.create(),
|
|
116
|
+
/** Coerce to number */
|
|
117
|
+
number: () => VldCoerceNumber.create(),
|
|
118
|
+
/** Coerce to boolean */
|
|
119
|
+
boolean: () => VldCoerceBoolean.create(),
|
|
120
|
+
/** Coerce to date */
|
|
121
|
+
date: () => VldCoerceDate.create(),
|
|
122
|
+
/** Coerce to bigint */
|
|
123
|
+
bigint: () => VldCoerceBigInt.create(),
|
|
124
|
+
};
|
|
125
|
+
// ============================================
|
|
126
|
+
// NEVER Constant (for transforms)
|
|
127
|
+
// ============================================
|
|
128
|
+
/** NEVER constant for use in transforms - Zod 4 API parity */
|
|
129
|
+
const NEVER = VldNever.create();
|
|
130
|
+
|
|
131
|
+
export { NEVER, VldAny, VldArray, VldBigInt, VldBoolean, VldDate, VldDiscriminatedUnion, VldEnum, VldIntersection, VldJson, VldLazy, VldLiteral, VldMap, VldNan, VldNever, VldNull, VldNullable, VldNullish, VldNumber, VldObject, VldOptional, VldPreprocess, VldRecord, VldSet, VldString, VldStringBool, VldSymbol, VldTuple, VldUndefined, VldUnion, VldUnknown, VldVoid, VldXor, any, array, bigint, boolean, coerce, date, discriminatedUnion, enumValidator, int, int32, intersection, json, lazy, literal, looseObject, looseRecord, map, nan, never, nullValidator, nullable, nullish, number, object, optional, partialRecord, preprocess, record, set, strictObject, string, stringbool, symbol, tuple, undefinedValidator, union, unknown, voidValidator, xor };
|
|
132
|
+
//# sourceMappingURL=mini.js.map
|
package/dist/mini.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mini.js","sources":["../src/mini.ts"],"sourcesContent":["/**\r\n * VLD Mini - Tree-Shakable Functional API\r\n *\r\n * This module provides a functional, tree-shakable alternative to the main `v` object.\r\n * Use this when bundle size is critical.\r\n *\r\n * @example\r\n * ```typescript\r\n * import { string, number, object, optional } from '@oxog/vld/mini';\r\n *\r\n * const schema = object({\r\n * name: string().min(1),\r\n * age: optional(number().int())\r\n * });\r\n * ```\r\n */\r\n\r\n// ============================================\r\n// Base Types & Classes\r\n// ============================================\r\n\r\nexport {\r\n VldBase,\r\n ParseResult,\r\n VldRefine,\r\n VldTransform,\r\n VldDefault,\r\n VldCatch,\r\n VldOptional,\r\n VldNullable,\r\n VldNullish,\r\n VldPipe,\r\n VldReadonly,\r\n VldBrand,\r\n VldPreprocess,\r\n SuperRefineContext,\r\n VldSuperRefine\r\n} from './validators/base';\r\n\r\n// ============================================\r\n// Validator Classes (for advanced usage)\r\n// ============================================\r\n\r\nexport { VldString } from './validators/string';\r\nexport { VldNumber } from './validators/number';\r\nexport { VldBoolean } from './validators/boolean';\r\nexport { VldDate } from './validators/date';\r\nexport { VldBigInt } from './validators/bigint';\r\nexport { VldSymbol } from './validators/symbol';\r\nexport { VldStringBool } from './validators/string-bool';\r\nexport { VldArray } from './validators/array';\r\nexport { VldObject } from './validators/object';\r\nexport { VldTuple } from './validators/tuple';\r\nexport { VldRecord } from './validators/record';\r\nexport { VldSet } from './validators/set';\r\nexport { VldMap } from './validators/map';\r\nexport { VldUnion } from './validators/union';\r\nexport { VldIntersection } from './validators/intersection';\r\nexport { VldLiteral } from './validators/literal';\r\nexport { VldEnum } from './validators/enum';\r\nexport { VldAny } from './validators/any';\r\nexport { VldUnknown } from './validators/unknown';\r\nexport { VldVoid } from './validators/void';\r\nexport { VldNever } from './validators/never';\r\nexport { VldNull } from './validators/null';\r\nexport { VldUndefined } from './validators/undefined';\r\nexport { VldNan } from './validators/nan';\r\nexport { VldLazy } from './validators/lazy';\r\nexport { VldDiscriminatedUnion } from './validators/discriminated-union';\r\nexport { VldXor } from './validators/xor';\r\nexport { VldJson } from './validators/json';\r\n\r\n// ============================================\r\n// Type Inference Helpers\r\n// ============================================\r\n\r\nimport type { VldBase } from './validators/base';\r\n\r\n/** Infer the output type of a validator */\r\nexport type Infer<T extends VldBase<any, any>> = T extends VldBase<any, infer U> ? U : never;\r\n\r\n/** Infer the input type of a validator */\r\nexport type Input<T extends VldBase<any, any>> = T extends VldBase<infer I, any> ? I : never;\r\n\r\n/** Infer the output type of a validator (alias for Infer) */\r\nexport type Output<T extends VldBase<any, any>> = Infer<T>;\r\n\r\n// ============================================\r\n// Factory Functions (Tree-Shakable)\r\n// ============================================\r\n\r\nimport { VldString } from './validators/string';\r\nimport { VldNumber } from './validators/number';\r\nimport { VldBoolean } from './validators/boolean';\r\nimport { VldDate } from './validators/date';\r\nimport { VldBigInt } from './validators/bigint';\r\nimport { VldSymbol } from './validators/symbol';\r\nimport { VldStringBool } from './validators/string-bool';\r\nimport { VldArray } from './validators/array';\r\nimport { VldObject } from './validators/object';\r\nimport { VldTuple } from './validators/tuple';\r\nimport { VldRecord } from './validators/record';\r\nimport { VldSet } from './validators/set';\r\nimport { VldMap } from './validators/map';\r\nimport { VldUnion } from './validators/union';\r\nimport { VldIntersection } from './validators/intersection';\r\nimport { VldLiteral } from './validators/literal';\r\nimport { VldEnum } from './validators/enum';\r\nimport { VldAny } from './validators/any';\r\nimport { VldUnknown } from './validators/unknown';\r\nimport { VldVoid } from './validators/void';\r\nimport { VldNever } from './validators/never';\r\nimport { VldNull } from './validators/null';\r\nimport { VldUndefined } from './validators/undefined';\r\nimport { VldNan } from './validators/nan';\r\nimport { VldLazy } from './validators/lazy';\r\nimport { VldDiscriminatedUnion } from './validators/discriminated-union';\r\nimport { VldXor } from './validators/xor';\r\nimport { VldJson } from './validators/json';\r\nimport { VldOptional, VldNullable, VldNullish, VldPreprocess } from './validators/base';\r\n\r\n// --- Primitive Validators ---\r\n\r\n/** Create a string validator */\r\nexport const string = () => VldString.create();\r\n\r\n/** Create a number validator */\r\nexport const number = () => VldNumber.create();\r\n\r\n/** Create an integer validator */\r\nexport const int = () => VldNumber.create().int();\r\n\r\n/** Create an int32 validator (-2147483648 to 2147483647) */\r\nexport const int32 = () => VldNumber.create().int().min(-2147483648).max(2147483647);\r\n\r\n/** Create a boolean validator */\r\nexport const boolean = () => VldBoolean.create();\r\n\r\n/** Create a date validator */\r\nexport const date = () => VldDate.create();\r\n\r\n/** Create a bigint validator */\r\nexport const bigint = () => VldBigInt.create();\r\n\r\n/** Create a symbol validator */\r\nexport const symbol = () => VldSymbol.create();\r\n\r\n/** Create a string-to-boolean validator */\r\nexport const stringbool = (options?: { truthy?: readonly string[]; falsy?: readonly string[]; caseSensitive?: boolean }) =>\r\n VldStringBool.create(options);\r\n\r\n// --- Complex Validators ---\r\n\r\n/** Create an array validator */\r\nexport const array = <T>(item: VldBase<unknown, T>) => VldArray.create(item);\r\n\r\n/** Create an object validator */\r\nexport const object = <T extends Record<string, any>>(shape: { [K in keyof T]: VldBase<unknown, T[K]> }) =>\r\n VldObject.create(shape);\r\n\r\n/** Create a strict object validator (no extra keys allowed) */\r\nexport const strictObject = <T extends Record<string, any>>(shape: { [K in keyof T]: VldBase<unknown, T[K]> }) =>\r\n VldObject.create(shape).strict();\r\n\r\n/** Create a loose object validator (extra keys passed through) */\r\nexport const looseObject = <T extends Record<string, any>>(shape: { [K in keyof T]: VldBase<unknown, T[K]> }) =>\r\n VldObject.create(shape).passthrough();\r\n\r\n/** Create a tuple validator */\r\nexport const tuple = <T extends readonly VldBase<any, any>[]>(...items: T) => VldTuple.create(...items);\r\n\r\n/** Create a record validator */\r\nexport const record = <T>(value: VldBase<unknown, T>) => VldRecord.create(value);\r\n\r\n/** Create a partial record validator */\r\nexport const partialRecord = <T>(value: VldBase<unknown, T>) => VldRecord.create(value).partial();\r\n\r\n/** Create a loose record validator */\r\nexport const looseRecord = <T>(value: VldBase<unknown, T>) => VldRecord.create(value).loose();\r\n\r\n/** Create a set validator */\r\nexport const set = <T>(item: VldBase<unknown, T>) => VldSet.create(item);\r\n\r\n/** Create a map validator */\r\nexport const map = <K, V>(key: VldBase<unknown, K>, value: VldBase<unknown, V>) => VldMap.create(key, value);\r\n\r\n// --- Union & Intersection ---\r\n\r\n/** Create a union validator (value must match one of the validators) */\r\nexport const union = <T extends readonly VldBase<any, any>[]>(...validators: T) =>\r\n VldUnion.create(...validators);\r\n\r\n/** Create an intersection validator (value must match both validators) */\r\nexport const intersection = <A, B>(first: VldBase<unknown, A>, second: VldBase<unknown, B>) =>\r\n VldIntersection.create(first, second);\r\n\r\n/** Create a discriminated union validator */\r\nexport const discriminatedUnion = <K extends string, T extends readonly VldBase<any, any>[]>(\r\n discriminator: K,\r\n ...options: T\r\n) => VldDiscriminatedUnion.create(discriminator, [...options] as any);\r\n\r\n/** Create an XOR validator (value must match exactly one of the validators) */\r\nexport const xor = <T extends readonly VldBase<any, any>[]>(...options: T) =>\r\n VldXor.create([...options] as any);\r\n\r\n// --- Literal & Enum ---\r\n\r\n/** Create a literal validator */\r\nexport const literal = <T extends string | number | boolean | null | undefined>(value: T) =>\r\n VldLiteral.create(value);\r\n\r\n/** Create an enum validator */\r\nexport const enumValidator = <T extends readonly [string, ...string[]]>(...values: T) => VldEnum.create(values as any);\r\n\r\n// --- Special Validators ---\r\n\r\n/** Create a validator that accepts any value */\r\nexport const any = () => VldAny.create();\r\n\r\n/** Create a validator that accepts unknown values */\r\nexport const unknown = () => VldUnknown.create();\r\n\r\n/** Create a void validator */\r\nexport const voidValidator = () => VldVoid.create();\r\n\r\n/** Create a never validator (always fails) */\r\nexport const never = () => VldNever.create();\r\n\r\n/** Create a null validator */\r\nexport const nullValidator = () => VldNull.create();\r\n\r\n/** Create an undefined validator */\r\nexport const undefinedValidator = () => VldUndefined.create();\r\n\r\n/** Create a NaN validator */\r\nexport const nan = () => VldNan.create();\r\n\r\n// --- Utility Validators ---\r\n\r\n/** Create a lazy validator for recursive schemas */\r\nexport const lazy = <T>(schemaGetter: () => VldBase<unknown, T>) => VldLazy.create(schemaGetter);\r\n\r\n/** Create a JSON validator */\r\nexport const json = <T = unknown>(schema?: VldBase<unknown, T>) => VldJson.create(schema);\r\n\r\n// ============================================\r\n// Utility Functions (Wrappers)\r\n// ============================================\r\n\r\n/** Make a validator optional (allows undefined) */\r\nexport const optional = <TInput, TOutput>(validator: VldBase<TInput, TOutput>) =>\r\n VldOptional.create(validator);\r\n\r\n/** Make a validator nullable (allows null) */\r\nexport const nullable = <TInput, TOutput>(validator: VldBase<TInput, TOutput>) =>\r\n VldNullable.create(validator);\r\n\r\n/** Make a validator nullish (allows null or undefined) */\r\nexport const nullish = <TInput, TOutput>(validator: VldBase<TInput, TOutput>) =>\r\n VldNullish.create(validator);\r\n\r\n/** Preprocess input before validation */\r\nexport const preprocess = <TInput, TOutput>(\r\n preprocessor: (input: unknown) => unknown,\r\n schema: VldBase<TInput, TOutput>\r\n) => VldPreprocess.create(preprocessor, schema);\r\n\r\n// ============================================\r\n// Coercion Validators\r\n// ============================================\r\n\r\nimport { VldCoerceString } from './coercion/string';\r\nimport { VldCoerceNumber } from './coercion/number';\r\nimport { VldCoerceBoolean } from './coercion/boolean';\r\nimport { VldCoerceDate } from './coercion/date';\r\nimport { VldCoerceBigInt } from './coercion/bigint';\r\n\r\n/** Coercion validators - convert values to target type before validation */\r\nexport const coerce = {\r\n /** Coerce to string */\r\n string: () => VldCoerceString.create(),\r\n /** Coerce to number */\r\n number: () => VldCoerceNumber.create(),\r\n /** Coerce to boolean */\r\n boolean: () => VldCoerceBoolean.create(),\r\n /** Coerce to date */\r\n date: () => VldCoerceDate.create(),\r\n /** Coerce to bigint */\r\n bigint: () => VldCoerceBigInt.create(),\r\n};\r\n\r\n// ============================================\r\n// NEVER Constant (for transforms)\r\n// ============================================\r\n\r\n/** NEVER constant for use in transforms - Zod 4 API parity */\r\nexport const NEVER = VldNever.create();\r\n"],"names":[],"mappings":"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"}
|
package/dist/pigment.js
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
/**
|
|
9
9
|
* Check if colors are supported in the current environment
|
|
10
10
|
*/
|
|
11
|
-
|
|
11
|
+
function supportsColor() {
|
|
12
12
|
// Check for NO_COLOR environment variable
|
|
13
13
|
if (typeof process !== 'undefined' && process.env?.NO_COLOR) {
|
|
14
14
|
return false;
|
|
@@ -93,7 +93,7 @@ function createColorFn(code) {
|
|
|
93
93
|
/**
|
|
94
94
|
* Pigment - Color utilities for terminal output
|
|
95
95
|
*/
|
|
96
|
-
|
|
96
|
+
const pigment = {
|
|
97
97
|
// Check support
|
|
98
98
|
supportsColor,
|
|
99
99
|
// Reset
|
|
@@ -152,11 +152,11 @@ export const pigment = {
|
|
|
152
152
|
codes: ANSI
|
|
153
153
|
};
|
|
154
154
|
// Aliases for convenience
|
|
155
|
-
|
|
155
|
+
const { bold, dim, italic, underline, red, green, yellow, blue, magenta, cyan, white, gray, grey, success, error, warning, info, muted, strip } = pigment;
|
|
156
156
|
/**
|
|
157
157
|
* Default VLD theme for error formatting
|
|
158
158
|
*/
|
|
159
|
-
|
|
159
|
+
const vldTheme = {
|
|
160
160
|
error: red,
|
|
161
161
|
success: green,
|
|
162
162
|
warning: yellow,
|
|
@@ -170,8 +170,9 @@ export const vldTheme = {
|
|
|
170
170
|
/**
|
|
171
171
|
* Create a custom theme
|
|
172
172
|
*/
|
|
173
|
-
|
|
173
|
+
function createTheme(overrides = {}) {
|
|
174
174
|
return { ...vldTheme, ...overrides };
|
|
175
175
|
}
|
|
176
|
-
|
|
177
|
-
|
|
176
|
+
|
|
177
|
+
export { blue, bold, createTheme, cyan, pigment as default, dim, error, gray, green, grey, info, italic, magenta, muted, pigment, red, strip, success, supportsColor, underline, vldTheme, warning, white, yellow };
|
|
178
|
+
//# sourceMappingURL=pigment.js.map
|
package/dist/pigment.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pigment.js","sourceRoot":"","sources":["../src/pigment.ts"],"names":[],"mappings":"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","sourcesContent":["/**\r\n * VLD Pigment - Colored Console Output\r\n *\r\n * This module provides ANSI color utilities for terminal output,\r\n * compatible with @oxog/pigment when available.\r\n */\r\n\r\n/* eslint-disable @typescript-eslint/no-explicit-any */\r\ndeclare const window: any;\r\n/* eslint-enable @typescript-eslint/no-explicit-any */\r\n\r\n/**\r\n * Check if colors are supported in the current environment\r\n */\r\nexport function supportsColor(): boolean {\r\n // Check for NO_COLOR environment variable\r\n if (typeof process !== 'undefined' && process.env?.NO_COLOR) {\r\n return false;\r\n }\r\n\r\n // Check for FORCE_COLOR environment variable\r\n if (typeof process !== 'undefined' && process.env?.FORCE_COLOR) {\r\n return true;\r\n }\r\n\r\n // Check for TTY\r\n if (typeof process !== 'undefined' && process.stdout?.isTTY) {\r\n return true;\r\n }\r\n\r\n // Browser environment - no ANSI colors\r\n if (typeof window !== 'undefined') {\r\n return false;\r\n }\r\n\r\n return false;\r\n}\r\n\r\n/**\r\n * ANSI escape codes\r\n */\r\nconst ANSI = {\r\n // Reset\r\n reset: '\\x1b[0m',\r\n\r\n // Styles\r\n bold: '\\x1b[1m',\r\n dim: '\\x1b[2m',\r\n italic: '\\x1b[3m',\r\n underline: '\\x1b[4m',\r\n blink: '\\x1b[5m',\r\n inverse: '\\x1b[7m',\r\n hidden: '\\x1b[8m',\r\n strikethrough: '\\x1b[9m',\r\n\r\n // Foreground colors\r\n black: '\\x1b[30m',\r\n red: '\\x1b[31m',\r\n green: '\\x1b[32m',\r\n yellow: '\\x1b[33m',\r\n blue: '\\x1b[34m',\r\n magenta: '\\x1b[35m',\r\n cyan: '\\x1b[36m',\r\n white: '\\x1b[37m',\r\n gray: '\\x1b[90m',\r\n grey: '\\x1b[90m',\r\n\r\n // Bright foreground colors\r\n brightRed: '\\x1b[91m',\r\n brightGreen: '\\x1b[92m',\r\n brightYellow: '\\x1b[93m',\r\n brightBlue: '\\x1b[94m',\r\n brightMagenta: '\\x1b[95m',\r\n brightCyan: '\\x1b[96m',\r\n brightWhite: '\\x1b[97m',\r\n\r\n // Background colors\r\n bgBlack: '\\x1b[40m',\r\n bgRed: '\\x1b[41m',\r\n bgGreen: '\\x1b[42m',\r\n bgYellow: '\\x1b[43m',\r\n bgBlue: '\\x1b[44m',\r\n bgMagenta: '\\x1b[45m',\r\n bgCyan: '\\x1b[46m',\r\n bgWhite: '\\x1b[47m',\r\n\r\n // Bright background colors\r\n bgBrightRed: '\\x1b[101m',\r\n bgBrightGreen: '\\x1b[102m',\r\n bgBrightYellow: '\\x1b[103m',\r\n bgBrightBlue: '\\x1b[104m',\r\n bgBrightMagenta: '\\x1b[105m',\r\n bgBrightCyan: '\\x1b[106m',\r\n bgBrightWhite: '\\x1b[107m'\r\n} as const;\r\n\r\n/**\r\n * Create a color function\r\n */\r\nfunction createColorFn(code: string): (text: string) => string {\r\n const enabled = supportsColor();\r\n return (text: string): string => {\r\n if (!enabled || text === '') return text;\r\n return `${code}${text}${ANSI.reset}`;\r\n };\r\n}\r\n\r\n/**\r\n * Pigment - Color utilities for terminal output\r\n */\r\nexport const pigment = {\r\n // Check support\r\n supportsColor,\r\n\r\n // Reset\r\n reset: (text: string): string => text,\r\n\r\n // Styles\r\n bold: createColorFn(ANSI.bold),\r\n dim: createColorFn(ANSI.dim),\r\n italic: createColorFn(ANSI.italic),\r\n underline: createColorFn(ANSI.underline),\r\n inverse: createColorFn(ANSI.inverse),\r\n hidden: createColorFn(ANSI.hidden),\r\n strikethrough: createColorFn(ANSI.strikethrough),\r\n\r\n // Foreground colors\r\n black: createColorFn(ANSI.black),\r\n red: createColorFn(ANSI.red),\r\n green: createColorFn(ANSI.green),\r\n yellow: createColorFn(ANSI.yellow),\r\n blue: createColorFn(ANSI.blue),\r\n magenta: createColorFn(ANSI.magenta),\r\n cyan: createColorFn(ANSI.cyan),\r\n white: createColorFn(ANSI.white),\r\n gray: createColorFn(ANSI.gray),\r\n grey: createColorFn(ANSI.grey),\r\n\r\n // Bright colors\r\n brightRed: createColorFn(ANSI.brightRed),\r\n brightGreen: createColorFn(ANSI.brightGreen),\r\n brightYellow: createColorFn(ANSI.brightYellow),\r\n brightBlue: createColorFn(ANSI.brightBlue),\r\n brightMagenta: createColorFn(ANSI.brightMagenta),\r\n brightCyan: createColorFn(ANSI.brightCyan),\r\n brightWhite: createColorFn(ANSI.brightWhite),\r\n\r\n // Background colors\r\n bgBlack: createColorFn(ANSI.bgBlack),\r\n bgRed: createColorFn(ANSI.bgRed),\r\n bgGreen: createColorFn(ANSI.bgGreen),\r\n bgYellow: createColorFn(ANSI.bgYellow),\r\n bgBlue: createColorFn(ANSI.bgBlue),\r\n bgMagenta: createColorFn(ANSI.bgMagenta),\r\n bgCyan: createColorFn(ANSI.bgCyan),\r\n bgWhite: createColorFn(ANSI.bgWhite),\r\n\r\n // Semantic colors\r\n success: createColorFn(ANSI.green),\r\n error: createColorFn(ANSI.red),\r\n warning: createColorFn(ANSI.yellow),\r\n info: createColorFn(ANSI.blue),\r\n muted: createColorFn(ANSI.gray),\r\n\r\n // Combine multiple styles\r\n combine: (...codes: string[]) =>\r\n (text: string): string => {\r\n if (!supportsColor()) return text;\r\n return `${codes.join('')}${text}${ANSI.reset}`;\r\n },\r\n\r\n // Strip ANSI codes from string\r\n strip: (text: string): string =>\r\n text.replace(\r\n /[\\u001b\\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,\r\n ''\r\n ),\r\n\r\n // Get raw ANSI codes\r\n codes: ANSI\r\n};\r\n\r\n// Aliases for convenience\r\nexport const {\r\n bold,\r\n dim,\r\n italic,\r\n underline,\r\n red,\r\n green,\r\n yellow,\r\n blue,\r\n magenta,\r\n cyan,\r\n white,\r\n gray,\r\n grey,\r\n success,\r\n error,\r\n warning,\r\n info,\r\n muted,\r\n strip\r\n} = pigment;\r\n\r\n/**\r\n * Create a custom theme\r\n */\r\nexport interface Theme {\r\n error: (text: string) => string;\r\n success: (text: string) => string;\r\n warning: (text: string) => string;\r\n info: (text: string) => string;\r\n muted: (text: string) => string;\r\n path: (text: string) => string;\r\n value: (text: string) => string;\r\n key: (text: string) => string;\r\n symbol: (text: string) => string;\r\n}\r\n\r\n/**\r\n * Default VLD theme for error formatting\r\n */\r\nexport const vldTheme: Theme = {\r\n error: red,\r\n success: green,\r\n warning: yellow,\r\n info: blue,\r\n muted: dim,\r\n path: cyan,\r\n value: yellow,\r\n key: bold,\r\n symbol: red\r\n};\r\n\r\n/**\r\n * Create a custom theme\r\n */\r\nexport function createTheme(overrides: Partial<Theme> = {}): Theme {\r\n return { ...vldTheme, ...overrides };\r\n}\r\n\r\nexport default pigment;\r\n"]}
|
|
1
|
+
{"version":3,"file":"pigment.js","sources":["../src/pigment.ts"],"sourcesContent":["/**\r\n * VLD Pigment - Colored Console Output\r\n *\r\n * This module provides ANSI color utilities for terminal output,\r\n * compatible with @oxog/pigment when available.\r\n */\r\n\r\n/* eslint-disable @typescript-eslint/no-explicit-any */\r\ndeclare const window: any;\r\n/* eslint-enable @typescript-eslint/no-explicit-any */\r\n\r\n/**\r\n * Check if colors are supported in the current environment\r\n */\r\nexport function supportsColor(): boolean {\r\n // Check for NO_COLOR environment variable\r\n if (typeof process !== 'undefined' && process.env?.NO_COLOR) {\r\n return false;\r\n }\r\n\r\n // Check for FORCE_COLOR environment variable\r\n if (typeof process !== 'undefined' && process.env?.FORCE_COLOR) {\r\n return true;\r\n }\r\n\r\n // Check for TTY\r\n if (typeof process !== 'undefined' && process.stdout?.isTTY) {\r\n return true;\r\n }\r\n\r\n // Browser environment - no ANSI colors\r\n if (typeof window !== 'undefined') {\r\n return false;\r\n }\r\n\r\n return false;\r\n}\r\n\r\n/**\r\n * ANSI escape codes\r\n */\r\nconst ANSI = {\r\n // Reset\r\n reset: '\\x1b[0m',\r\n\r\n // Styles\r\n bold: '\\x1b[1m',\r\n dim: '\\x1b[2m',\r\n italic: '\\x1b[3m',\r\n underline: '\\x1b[4m',\r\n blink: '\\x1b[5m',\r\n inverse: '\\x1b[7m',\r\n hidden: '\\x1b[8m',\r\n strikethrough: '\\x1b[9m',\r\n\r\n // Foreground colors\r\n black: '\\x1b[30m',\r\n red: '\\x1b[31m',\r\n green: '\\x1b[32m',\r\n yellow: '\\x1b[33m',\r\n blue: '\\x1b[34m',\r\n magenta: '\\x1b[35m',\r\n cyan: '\\x1b[36m',\r\n white: '\\x1b[37m',\r\n gray: '\\x1b[90m',\r\n grey: '\\x1b[90m',\r\n\r\n // Bright foreground colors\r\n brightRed: '\\x1b[91m',\r\n brightGreen: '\\x1b[92m',\r\n brightYellow: '\\x1b[93m',\r\n brightBlue: '\\x1b[94m',\r\n brightMagenta: '\\x1b[95m',\r\n brightCyan: '\\x1b[96m',\r\n brightWhite: '\\x1b[97m',\r\n\r\n // Background colors\r\n bgBlack: '\\x1b[40m',\r\n bgRed: '\\x1b[41m',\r\n bgGreen: '\\x1b[42m',\r\n bgYellow: '\\x1b[43m',\r\n bgBlue: '\\x1b[44m',\r\n bgMagenta: '\\x1b[45m',\r\n bgCyan: '\\x1b[46m',\r\n bgWhite: '\\x1b[47m',\r\n\r\n // Bright background colors\r\n bgBrightRed: '\\x1b[101m',\r\n bgBrightGreen: '\\x1b[102m',\r\n bgBrightYellow: '\\x1b[103m',\r\n bgBrightBlue: '\\x1b[104m',\r\n bgBrightMagenta: '\\x1b[105m',\r\n bgBrightCyan: '\\x1b[106m',\r\n bgBrightWhite: '\\x1b[107m'\r\n} as const;\r\n\r\n/**\r\n * Create a color function\r\n */\r\nfunction createColorFn(code: string): (text: string) => string {\r\n const enabled = supportsColor();\r\n return (text: string): string => {\r\n if (!enabled || text === '') return text;\r\n return `${code}${text}${ANSI.reset}`;\r\n };\r\n}\r\n\r\n/**\r\n * Pigment - Color utilities for terminal output\r\n */\r\nexport const pigment = {\r\n // Check support\r\n supportsColor,\r\n\r\n // Reset\r\n reset: (text: string): string => text,\r\n\r\n // Styles\r\n bold: createColorFn(ANSI.bold),\r\n dim: createColorFn(ANSI.dim),\r\n italic: createColorFn(ANSI.italic),\r\n underline: createColorFn(ANSI.underline),\r\n inverse: createColorFn(ANSI.inverse),\r\n hidden: createColorFn(ANSI.hidden),\r\n strikethrough: createColorFn(ANSI.strikethrough),\r\n\r\n // Foreground colors\r\n black: createColorFn(ANSI.black),\r\n red: createColorFn(ANSI.red),\r\n green: createColorFn(ANSI.green),\r\n yellow: createColorFn(ANSI.yellow),\r\n blue: createColorFn(ANSI.blue),\r\n magenta: createColorFn(ANSI.magenta),\r\n cyan: createColorFn(ANSI.cyan),\r\n white: createColorFn(ANSI.white),\r\n gray: createColorFn(ANSI.gray),\r\n grey: createColorFn(ANSI.grey),\r\n\r\n // Bright colors\r\n brightRed: createColorFn(ANSI.brightRed),\r\n brightGreen: createColorFn(ANSI.brightGreen),\r\n brightYellow: createColorFn(ANSI.brightYellow),\r\n brightBlue: createColorFn(ANSI.brightBlue),\r\n brightMagenta: createColorFn(ANSI.brightMagenta),\r\n brightCyan: createColorFn(ANSI.brightCyan),\r\n brightWhite: createColorFn(ANSI.brightWhite),\r\n\r\n // Background colors\r\n bgBlack: createColorFn(ANSI.bgBlack),\r\n bgRed: createColorFn(ANSI.bgRed),\r\n bgGreen: createColorFn(ANSI.bgGreen),\r\n bgYellow: createColorFn(ANSI.bgYellow),\r\n bgBlue: createColorFn(ANSI.bgBlue),\r\n bgMagenta: createColorFn(ANSI.bgMagenta),\r\n bgCyan: createColorFn(ANSI.bgCyan),\r\n bgWhite: createColorFn(ANSI.bgWhite),\r\n\r\n // Semantic colors\r\n success: createColorFn(ANSI.green),\r\n error: createColorFn(ANSI.red),\r\n warning: createColorFn(ANSI.yellow),\r\n info: createColorFn(ANSI.blue),\r\n muted: createColorFn(ANSI.gray),\r\n\r\n // Combine multiple styles\r\n combine: (...codes: string[]) =>\r\n (text: string): string => {\r\n if (!supportsColor()) return text;\r\n return `${codes.join('')}${text}${ANSI.reset}`;\r\n },\r\n\r\n // Strip ANSI codes from string\r\n strip: (text: string): string =>\r\n text.replace(\r\n /[\\u001b\\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,\r\n ''\r\n ),\r\n\r\n // Get raw ANSI codes\r\n codes: ANSI\r\n};\r\n\r\n// Aliases for convenience\r\nexport const {\r\n bold,\r\n dim,\r\n italic,\r\n underline,\r\n red,\r\n green,\r\n yellow,\r\n blue,\r\n magenta,\r\n cyan,\r\n white,\r\n gray,\r\n grey,\r\n success,\r\n error,\r\n warning,\r\n info,\r\n muted,\r\n strip\r\n} = pigment;\r\n\r\n/**\r\n * Create a custom theme\r\n */\r\nexport interface Theme {\r\n error: (text: string) => string;\r\n success: (text: string) => string;\r\n warning: (text: string) => string;\r\n info: (text: string) => string;\r\n muted: (text: string) => string;\r\n path: (text: string) => string;\r\n value: (text: string) => string;\r\n key: (text: string) => string;\r\n symbol: (text: string) => string;\r\n}\r\n\r\n/**\r\n * Default VLD theme for error formatting\r\n */\r\nexport const vldTheme: Theme = {\r\n error: red,\r\n success: green,\r\n warning: yellow,\r\n info: blue,\r\n muted: dim,\r\n path: cyan,\r\n value: yellow,\r\n key: bold,\r\n symbol: red\r\n};\r\n\r\n/**\r\n * Create a custom theme\r\n */\r\nexport function createTheme(overrides: Partial<Theme> = {}): Theme {\r\n return { ...vldTheme, ...overrides };\r\n}\r\n\r\nexport default pigment;\r\n"],"names":[],"mappings":"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"}
|
package/dist/validators/index.js
CHANGED
|
@@ -1,45 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
// Export primitive validators
|
|
7
|
-
export { VldString } from './string.js';
|
|
8
|
-
export { VldNumber } from './number.js';
|
|
9
|
-
export { VldBoolean } from './boolean.js';
|
|
10
|
-
export { VldDate } from './date.js';
|
|
11
|
-
export { VldStringBool } from './string-bool.js';
|
|
12
|
-
// Export complex validators
|
|
13
|
-
export { VldArray } from './array.js';
|
|
14
|
-
export { VldObject } from './object.js';
|
|
15
|
-
// Export utility validators (to be implemented)
|
|
16
|
-
export { VldUnion } from './union.js';
|
|
17
|
-
export { VldIntersection } from './intersection.js';
|
|
18
|
-
export { VldLiteral } from './literal.js';
|
|
19
|
-
export { VldEnum } from './enum.js';
|
|
20
|
-
export { VldTuple } from './tuple.js';
|
|
21
|
-
export { VldRecord } from './record.js';
|
|
22
|
-
export { VldSet } from './set.js';
|
|
23
|
-
export { VldMap } from './map.js';
|
|
24
|
-
export { VldBigInt } from './bigint.js';
|
|
25
|
-
export { VldSymbol } from './symbol.js';
|
|
26
|
-
// Export special validators
|
|
27
|
-
export { VldAny } from './any.js';
|
|
28
|
-
export { VldUnknown } from './unknown.js';
|
|
29
|
-
export { VldVoid } from './void.js';
|
|
30
|
-
export { VldNever } from './never.js';
|
|
31
|
-
// Export Zod 4 parity validators
|
|
32
|
-
export { VldNull } from './null.js';
|
|
33
|
-
export { VldUndefined } from './undefined.js';
|
|
34
|
-
export { VldNan } from './nan.js';
|
|
35
|
-
export { VldLazy } from './lazy.js';
|
|
36
|
-
export { VldDiscriminatedUnion } from './discriminated-union.js';
|
|
37
|
-
export { VldXor } from './xor.js';
|
|
38
|
-
export { VldJson } from './json.js';
|
|
39
|
-
export { VldTemplateLiteral, templateLiteral } from './template-literal.js';
|
|
40
|
-
export { VldCustom, custom } from './custom.js';
|
|
41
|
-
export { VldFile, file } from './file.js';
|
|
42
|
-
export { VldFunction, functionValidator } from './function.js';
|
|
43
|
-
// Export string format validators
|
|
44
|
-
export { email, uuid, uuidv4, hostname, emoji, base64, base64url, hex, jwt, nanoid, cuid, cuid2, ulid, ipv4, ipv6, mac, cidrv4, e164, hash, iso, stringFormat, regexes } from './string-formats.js';
|
|
45
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
export { i as VldBase, d as VldBigInt, b as VldBoolean, p as VldBrand, m as VldCatch, c as VldDate, l as VldDefault, f as VldNullable, g as VldNullish, a as VldNumber, e as VldOptional, n as VldPipe, h as VldPreprocess, o as VldReadonly, j as VldRefine, V as VldString, q as VldSuperRefine, k as VldTransform } from '../chunks/bigint-ZKkWLdmi.js';
|
|
2
|
+
export { n as VldAny, b as VldArray, j as VldDiscriminatedUnion, m as VldEnum, i as VldIntersection, u as VldJson, t as VldLazy, l as VldLiteral, g as VldMap, s as VldNan, p as VldNever, q as VldNull, c as VldObject, e as VldRecord, f as VldSet, a as VldStringBool, V as VldSymbol, d as VldTuple, r as VldUndefined, h as VldUnion, o as VldVoid, k as VldXor } from '../chunks/json-nIhyRPOU.js';
|
|
3
|
+
export { V as VldUnknown } from '../chunks/unknown-CjSRcELI.js';
|
|
4
|
+
export { A as VldCustom, B as VldFile, C as VldFunction, V as VldTemplateLiteral, o as base64, l as base64url, a as cidrv4, g as cuid, f as cuid2, z as custom, e as e164, w as email, p as emoji, y as file, x as functionValidator, h as hash, k as hex, q as hostname, d as ipv4, b as ipv6, i as iso, j as jwt, m as mac, n as nanoid, R as regexes, s as stringFormat, t as templateLiteral, u as ulid, v as uuid, r as uuidv4 } from '../chunks/index-eWXdjyyy.js';
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
|