@forklaunch/validator 0.3.9 → 0.3.11

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.
@@ -25,7 +25,7 @@ export type ParseResult<T> = {
25
25
  * @template ParseFunction - The function type for parsing a value against a schema.
26
26
  * @template OpenAPIFunction - The function type for converting a schema into an OpenAPI schema object.
27
27
  */
28
- export interface SchemaValidator<CompilationFunction = <T>(schema: T) => unknown, SchematicFunction = <T>(schema: T) => unknown, OptionalFunction = <T>(schema: T) => unknown, ArrayFunction = <T>(schema: T) => unknown, UnionFunction = <T>(schemas: T[]) => unknown, LiteralFunction = <T extends LiteralSchema>(schema: T) => unknown, ValidationFunction = <T>(schema: T, value: unknown) => boolean, ParseFunction = <T>(schema: T, value: unknown) => ParseResult<SchemaResolve<T>>, OpenAPIFunction = <T>(schema: T) => SchemaObject> {
28
+ export interface SchemaValidator<CompilationFunction = <T>(schema: T) => unknown, SchematicFunction = <T>(schema: T) => unknown, OptionalFunction = <T>(schema: T) => unknown, ArrayFunction = <T>(schema: T) => unknown, UnionFunction = <T>(schemas: T[]) => unknown, LiteralFunction = <T extends LiteralSchema>(schema: T) => unknown, EnumFunction = <T extends LiteralSchema>(schemaEnum: Record<string, T>) => unknown, ValidationFunction = <T>(schema: T, value: unknown) => boolean, ParseFunction = <T>(schema: T, value: unknown) => ParseResult<SchemaResolve<T>>, OpenAPIFunction = <T>(schema: T) => SchemaObject> {
29
29
  /**
30
30
  * The type of the schema validator. Meant to be used with non-null assertions.
31
31
  */
@@ -132,6 +132,13 @@ export interface SchemaValidator<CompilationFunction = <T>(schema: T) => unknown
132
132
  * @returns {unknown} - The literal schema.
133
133
  */
134
134
  literal: LiteralFunction;
135
+ /**
136
+ * Creates an enum schema from a record of literal values.
137
+ *
138
+ * @param {Record<string, T>} schemaEnum - The enum schema.
139
+ * @returns {unknown} - The enum schema.
140
+ */
141
+ enum_: EnumFunction;
135
142
  /**
136
143
  * Validates a value against a schema.
137
144
  *
@@ -159,7 +166,7 @@ export interface SchemaValidator<CompilationFunction = <T>(schema: T) => unknown
159
166
  /**
160
167
  * Type representing any schema validator.
161
168
  */
162
- export type AnySchemaValidator = SchemaValidator<unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown> & {
169
+ export type AnySchemaValidator = SchemaValidator<unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown> & {
163
170
  /**
164
171
  * The type of the schema resolver.
165
172
  */
@@ -1 +1 @@
1
- {"version":3,"file":"schema.types.d.ts","sourceRoot":"","sources":["../../../../src/shared/types/schema.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.types.d.ts","sourceRoot":"","sources":["../../../../src/shared/types/schema.types.ts"],"names":[],"mappings":"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"}
@@ -4,90 +4,92 @@ import { TypeboxSchemaValidator } from './typeboxSchemaValidator';
4
4
  * @returns {TypeboxSchemaValidator} The TypeboxSchemaValidator instance.
5
5
  */
6
6
  export declare const SchemaValidator: () => TypeboxSchemaValidator;
7
- declare const StaticSchemaValidator: TypeboxSchemaValidator;
8
7
  /**
9
8
  * TypeBox schema definition for string type.
10
9
  */
11
- export declare const string: typeof StaticSchemaValidator.string;
10
+ export declare const string: import("@sinclair/typebox").TString;
12
11
  /**
13
12
  * TypeBox schema definition for UUID type.
14
13
  */
15
- export declare const uuid: typeof StaticSchemaValidator.uuid;
14
+ export declare const uuid: import("@sinclair/typebox").TString;
16
15
  /**
17
16
  * TypeBox schema definition for URI type.
18
17
  */
19
- export declare const uri: typeof StaticSchemaValidator.uri;
18
+ export declare const uri: import("@sinclair/typebox").TString;
20
19
  /**
21
20
  * TypeBox schema definition for email type.
22
21
  */
23
- export declare const email: typeof StaticSchemaValidator.email;
22
+ export declare const email: import("@sinclair/typebox").TString;
24
23
  /**
25
24
  * TypeBox schema definition for number type.
26
25
  */
27
- export declare const number: typeof StaticSchemaValidator.number;
26
+ export declare const number: import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TString, import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TNull, import("@sinclair/typebox").TDate, import("@sinclair/typebox").TBigInt]>, number>;
28
27
  /**
29
28
  * TypeBox schema definition for bigint type.
30
29
  */
31
- export declare const bigint: typeof StaticSchemaValidator.bigint;
30
+ export declare const bigint: import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBigInt, import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TString, import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TDate]>, bigint>;
32
31
  /**
33
32
  * TypeBox schema definition for boolean type.
34
33
  */
35
- export declare const boolean: typeof StaticSchemaValidator.boolean;
34
+ export declare const boolean: import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TString]>, boolean | undefined>;
36
35
  /**
37
36
  * TypeBox schema definition for date type.
38
37
  */
39
- export declare const date: typeof StaticSchemaValidator.date;
38
+ export declare const date: import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TDate, import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TString, import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TNull]>, Date>;
40
39
  /**
41
40
  * TypeBox schema definition for symbol type.
42
41
  */
43
- export declare const symbol: typeof StaticSchemaValidator.symbol;
42
+ export declare const symbol: import("@sinclair/typebox").TSymbol;
44
43
  /**
45
44
  * TypeBox schema definition for undefined, null, void types.
46
45
  */
47
- export declare const nullish: typeof StaticSchemaValidator.nullish;
46
+ export declare const nullish: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TVoid, import("@sinclair/typebox").TNull, import("@sinclair/typebox").TUndefined]>;
48
47
  /**
49
48
  * TypeBox schema definition for any type.
50
49
  */
51
- export declare const any: typeof StaticSchemaValidator.any;
50
+ export declare const any: import("@sinclair/typebox").TAny;
52
51
  /**
53
52
  * TypeBox schema definition for unknown type.
54
53
  */
55
- export declare const unknown: typeof StaticSchemaValidator.unknown;
54
+ export declare const unknown: import("@sinclair/typebox").TUnknown;
56
55
  /**
57
56
  * TypeBox schema definition for never type.
58
57
  */
59
- export declare const never: typeof StaticSchemaValidator.never;
58
+ export declare const never: import("@sinclair/typebox").TNever;
60
59
  /**
61
60
  * Transforms valid schema into TypeBox schema.
62
61
  */
63
- export declare const schemify: typeof StaticSchemaValidator.schemify;
62
+ export declare const schemify: <T extends import("./types/schema.types").TIdiomaticSchema>(schema: T) => import("./types/schema.types").TResolve<T>;
64
63
  /**
65
64
  * Makes a valid schema optional.
66
65
  */
67
- export declare const optional: typeof StaticSchemaValidator.optional;
66
+ export declare const optional: <T extends import("./types/schema.types").TIdiomaticSchema>(schema: T) => import("@sinclair/typebox").TOptional<import("./types/schema.types").TResolve<T>>;
68
67
  /**
69
68
  * Defines an array for a valid schema.
70
69
  */
71
- export declare const array: typeof StaticSchemaValidator.array;
70
+ export declare const array: <T extends import("./types/schema.types").TIdiomaticSchema>(schema: T) => import("@sinclair/typebox").TArray<import("./types/schema.types").TResolve<T>>;
72
71
  /**
73
72
  * Defines a union for a valid schema.
74
73
  */
75
- export declare const union: typeof StaticSchemaValidator.union;
74
+ export declare const union: <T extends import("./types/schema.types").TUnionContainer>(schemas: [...T]) => import("@sinclair/typebox").TUnion<import("./types/schema.types").UnionTResolve<T>>;
76
75
  /**
77
76
  * Defines a literal for a valid schema.
78
77
  */
79
- export declare const literal: typeof StaticSchemaValidator.literal;
78
+ export declare const literal: <T extends import("../..").LiteralSchema>(value: T) => import("@sinclair/typebox").TLiteral<T>;
79
+ /**
80
+ * Defines an enum for a valid schema.
81
+ */
82
+ export declare const enum_: <T extends import("../..").LiteralSchema>(schemaEnum: Record<string, T>) => import("@sinclair/typebox").TUnion<import("./types/schema.types").UnionTResolve<T[]>>;
80
83
  /**
81
84
  * Validates a value against a valid schema.
82
85
  */
83
- export declare const validate: typeof StaticSchemaValidator.validate;
86
+ export declare const validate: <T extends import("./types/schema.types").TIdiomaticSchema | import("@sinclair/typebox").TSchema>(schema: T | import("@sinclair/typebox/compiler").TypeCheck<import("./types/schema.types").TResolve<T>>, value: unknown) => boolean;
84
87
  /**
85
88
  * Parses a value against a valid schema.
86
89
  */
87
- export declare const parse: typeof StaticSchemaValidator.parse;
90
+ export declare const parse: <T extends import("./types/schema.types").TIdiomaticSchema | import("@sinclair/typebox").TSchema>(schema: T | import("@sinclair/typebox/compiler").TypeCheck<import("./types/schema.types").TResolve<T>>, value: unknown) => import("../..").ParseResult<import("./types/schema.types").TResolve<T>>;
88
91
  /**
89
92
  * Generates an OpenAPI schema object from a valid schema.
90
93
  */
91
- export declare const openapi: typeof StaticSchemaValidator.openapi;
92
- export {};
94
+ export declare const openapi: <T extends import("./types/schema.types").TIdiomaticSchema | import("@sinclair/typebox").TSchema>(schema: T) => import("openapi3-ts/oas31").SchemaObject;
93
95
  //# sourceMappingURL=staticSchemaValidator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"staticSchemaValidator.d.ts","sourceRoot":"","sources":["../../../src/typebox/staticSchemaValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE;;;GAGG;AACH,eAAO,MAAM,eAAe,8BAAqC,CAAC;AAElE,QAAA,MAAM,qBAAqB,wBAAoB,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,OAAO,qBAAqB,CAAC,MACpB,CAAC;AAE/B;;GAEG;AACH,eAAO,MAAM,IAAI,EAAE,OAAO,qBAAqB,CAAC,IACpB,CAAC;AAE7B;;GAEG;AACH,eAAO,MAAM,GAAG,EAAE,OAAO,qBAAqB,CAAC,GAA+B,CAAC;AAE/E;;GAEG;AACH,eAAO,MAAM,KAAK,EAAE,OAAO,qBAAqB,CAAC,KACpB,CAAC;AAE9B;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,OAAO,qBAAqB,CAAC,MACpB,CAAC;AAE/B;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,OAAO,qBAAqB,CAAC,MACpB,CAAC;AAE/B;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,OAAO,qBAAqB,CAAC,OACpB,CAAC;AAEhC;;GAEG;AACH,eAAO,MAAM,IAAI,EAAE,OAAO,qBAAqB,CAAC,IACpB,CAAC;AAE7B;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,OAAO,qBAAqB,CAAC,MACpB,CAAC;AAE/B;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,OAAO,qBAAqB,CAAC,OACpB,CAAC;AAEhC;;GAEG;AACH,eAAO,MAAM,GAAG,EAAE,OAAO,qBAAqB,CAAC,GAA+B,CAAC;AAE/E;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,OAAO,qBAAqB,CAAC,OACpB,CAAC;AAEhC;;GAEG;AACH,eAAO,MAAM,KAAK,EAAE,OAAO,qBAAqB,CAAC,KACpB,CAAC;AAE9B;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,OAAO,qBAAqB,CAAC,QACQ,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,OAAO,qBAAqB,CAAC,QACQ,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,KAAK,EAAE,OAAO,qBAAqB,CAAC,KACQ,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,KAAK,EAAE,OAAO,qBAAqB,CAAC,KACQ,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,OAAO,qBAAqB,CAAC,OACQ,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,OAAO,qBAAqB,CAAC,QACQ,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,KAAK,EAAE,OAAO,qBAAqB,CAAC,KACQ,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,OAAO,qBAAqB,CAAC,OACQ,CAAC"}
1
+ {"version":3,"file":"staticSchemaValidator.d.ts","sourceRoot":"","sources":["../../../src/typebox/staticSchemaValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE;;;GAGG;AACH,eAAO,MAAM,eAAe,8BAAqC,CAAC;AAIlE;;GAEG;AACH,eAAO,MAAM,MAAM,qCAA+B,CAAC;AAEnD;;GAEG;AACH,eAAO,MAAM,IAAI,qCAA6B,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,GAAG,qCAA4B,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,KAAK,qCAA8B,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,MAAM,iTAA+B,CAAC;AAEnD;;GAEG;AACH,eAAO,MAAM,MAAM,8QAA+B,CAAC;AAEnD;;GAEG;AACH,eAAO,MAAM,OAAO,8KAAgC,CAAC;AAErD;;GAEG;AACH,eAAO,MAAM,IAAI,0QAA6B,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,MAAM,qCAA+B,CAAC;AAEnD;;GAEG;AACH,eAAO,MAAM,OAAO,oJAAgC,CAAC;AAErD;;GAEG;AACH,eAAO,MAAM,GAAG,kCAA4B,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,OAAO,sCAAgC,CAAC;AAErD;;GAEG;AACH,eAAO,MAAM,KAAK,oCAA8B,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,QAAQ,sHAEpB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,6JAEpB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,KAAK,0JAA0D,CAAC;AAE7E;;GAEG;AACH,eAAO,MAAM,KAAK,oKAA0D,CAAC;AAE7E;;GAEG;AACH,eAAO,MAAM,OAAO,gGAEnB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,KAAK,mKAA0D,CAAC;AAE7E;;GAEG;AACH,eAAO,MAAM,QAAQ,sOAEpB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,KAAK,sSAA0D,CAAC;AAE7E;;GAEG;AACH,eAAO,MAAM,OAAO,0JAEnB,CAAC"}
@@ -77,6 +77,10 @@ export const union = StaticSchemaValidator.union.bind(StaticSchemaValidator);
77
77
  * Defines a literal for a valid schema.
78
78
  */
79
79
  export const literal = StaticSchemaValidator.literal.bind(StaticSchemaValidator);
80
+ /**
81
+ * Defines an enum for a valid schema.
82
+ */
83
+ export const enum_ = StaticSchemaValidator.enum_.bind(StaticSchemaValidator);
80
84
  /**
81
85
  * Validates a value against a valid schema.
82
86
  */
@@ -13,7 +13,7 @@ import { TIdiomaticSchema, TObject, TResolve, TUnionContainer, UnionTResolve } f
13
13
  * Class representing a TypeBox schema definition.
14
14
  * @implements {SchemaValidator}
15
15
  */
16
- export declare class TypeboxSchemaValidator implements SV<(<T extends TObject<TProperties>>(schema: T) => TypeCheck<T>), <T extends TIdiomaticSchema>(schema: T) => TResolve<T>, <T extends TIdiomaticSchema>(schema: T) => TOptional<TResolve<T>>, <T extends TIdiomaticSchema>(schema: T) => TArray<TResolve<T>>, <T extends TUnionContainer>(schemas: [...T]) => TUnion<UnionTResolve<T>>, <T extends LiteralSchema>(value: T) => TLiteral<T>, <T extends TIdiomaticSchema>(schema: T, value: unknown) => boolean, <T extends TIdiomaticSchema>(schema: T, value: unknown) => ParseResult<TResolve<T>>, <T extends TIdiomaticSchema>(schema: T) => SchemaObject> {
16
+ export declare class TypeboxSchemaValidator implements SV<(<T extends TObject<TProperties>>(schema: T) => TypeCheck<T>), <T extends TIdiomaticSchema>(schema: T) => TResolve<T>, <T extends TIdiomaticSchema>(schema: T) => TOptional<TResolve<T>>, <T extends TIdiomaticSchema>(schema: T) => TArray<TResolve<T>>, <T extends TUnionContainer>(schemas: [...T]) => TUnion<UnionTResolve<T>>, <T extends LiteralSchema>(value: T) => TLiteral<T>, <T extends LiteralSchema>(schemaEnum: Record<string, T>) => TUnion<UnionTResolve<T[]>>, <T extends TIdiomaticSchema>(schema: T, value: unknown) => boolean, <T extends TIdiomaticSchema>(schema: T, value: unknown) => ParseResult<TResolve<T>>, <T extends TIdiomaticSchema>(schema: T) => SchemaObject> {
17
17
  _Type: 'TypeBox';
18
18
  _SchemaCatchall: TKind;
19
19
  _ValidSchemaObject: TObject<TProperties> | TArray<TObject<TProperties>>;
@@ -84,6 +84,12 @@ export declare class TypeboxSchemaValidator implements SV<(<T extends TObject<TP
84
84
  * @returns {TLiteral<T>} The literal schema.
85
85
  */
86
86
  literal<T extends LiteralSchema>(value: T): TLiteral<T>;
87
+ /**
88
+ * Create an enum schema.
89
+ * @param {Record<string, LiteralSchema>} schemaEnum - The enum schema.
90
+ * @returns {TUnion<UnionTResolve<T[]>>} The enum schema.
91
+ */
92
+ enum_<T extends LiteralSchema>(schemaEnum: Record<string, T>): TUnion<UnionTResolve<T[]>>;
87
93
  /**
88
94
  * Validate a value against a schema.
89
95
  *
@@ -1 +1 @@
1
- {"version":3,"file":"typeboxSchemaValidator.d.ts","sourceRoot":"","sources":["../../../src/typebox/typeboxSchemaValidator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typeboxSchemaValidator.d.ts","sourceRoot":"","sources":["../../../src/typebox/typeboxSchemaValidator.ts"],"names":[],"mappings":"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"}
@@ -152,6 +152,9 @@ export class TypeboxSchemaValidator {
152
152
  if (Object.hasOwn(schema, 'errorType')) {
153
153
  return schema.errorType;
154
154
  }
155
+ else if (KindGuard.IsLiteral(schema)) {
156
+ return schema.const;
157
+ }
155
158
  return schema[Kind].toLowerCase();
156
159
  }
157
160
  /**
@@ -254,9 +257,17 @@ export class TypeboxSchemaValidator {
254
257
  */
255
258
  literal(value) {
256
259
  return Type.Literal(value, {
257
- errorType: `literal "${value}"`
260
+ errorType: value
258
261
  });
259
262
  }
263
+ /**
264
+ * Create an enum schema.
265
+ * @param {Record<string, LiteralSchema>} schemaEnum - The enum schema.
266
+ * @returns {TUnion<UnionTResolve<T[]>>} The enum schema.
267
+ */
268
+ enum_(schemaEnum) {
269
+ return this.union(Object.values(schemaEnum));
270
+ }
260
271
  /**
261
272
  * Validate a value against a schema.
262
273
  *
@@ -4,90 +4,92 @@ import { ZodSchemaValidator } from './zodSchemaValidator';
4
4
  * @returns {ZodSchemaValidator} The ZodSchemaValidator instance.
5
5
  */
6
6
  export declare const SchemaValidator: () => ZodSchemaValidator;
7
- declare const StaticSchemaValidator: ZodSchemaValidator;
8
7
  /**
9
8
  * Zod schema definition for string type.
10
9
  */
11
- export declare const string: typeof StaticSchemaValidator.string;
10
+ export declare const string: import("zod").ZodString;
12
11
  /**
13
12
  * Zod schema definition for UUID type.
14
13
  */
15
- export declare const uuid: typeof StaticSchemaValidator.uuid;
14
+ export declare const uuid: import("zod").ZodString;
16
15
  /**
17
16
  * Zod schema definition for email type.
18
17
  */
19
- export declare const email: typeof StaticSchemaValidator.email;
18
+ export declare const email: import("zod").ZodString;
20
19
  /**
21
20
  * Zod schema definition for URI type.
22
21
  */
23
- export declare const uri: typeof StaticSchemaValidator.uri;
22
+ export declare const uri: import("zod").ZodString;
24
23
  /**
25
24
  * Zod schema definition for number type.
26
25
  */
27
- export declare const number: typeof StaticSchemaValidator.number;
26
+ export declare const number: import("zod").ZodNumber;
28
27
  /**
29
28
  * Zod schema definition for bigint type.
30
29
  */
31
- export declare const bigint: typeof StaticSchemaValidator.bigint;
30
+ export declare const bigint: import("zod").ZodBigInt;
32
31
  /**
33
32
  * Zod schema definition for boolean type.
34
33
  */
35
- export declare const boolean: typeof StaticSchemaValidator.boolean;
34
+ export declare const boolean: import("zod").ZodEffects<import("zod").ZodBoolean, boolean, unknown>;
36
35
  /**
37
36
  * Zod schema definition for date type.
38
37
  */
39
- export declare const date: typeof StaticSchemaValidator.date;
38
+ export declare const date: import("zod").ZodDate;
40
39
  /**
41
40
  * Zod schema definition for symbol type.
42
41
  */
43
- export declare const symbol: typeof StaticSchemaValidator.symbol;
42
+ export declare const symbol: import("zod").ZodSymbol;
44
43
  /**
45
44
  * Zod schema definition for undefined, null, void types.
46
45
  */
47
- export declare const nullish: typeof StaticSchemaValidator.nullish;
46
+ export declare const nullish: import("zod").ZodUnion<[import("zod").ZodVoid, import("zod").ZodNull, import("zod").ZodUndefined]>;
48
47
  /**
49
48
  * Zod schema definition for any type.
50
49
  */
51
- export declare const any: typeof StaticSchemaValidator.any;
50
+ export declare const any: import("zod").ZodAny;
52
51
  /**
53
52
  * Zod schema definition for unknown type.
54
53
  */
55
- export declare const unknown: typeof StaticSchemaValidator.unknown;
54
+ export declare const unknown: import("zod").ZodUnknown;
56
55
  /**
57
56
  * Zod schema definition for never type.
58
57
  */
59
- export declare const never: typeof StaticSchemaValidator.never;
58
+ export declare const never: import("zod").ZodNever;
60
59
  /**
61
60
  * Transforms valid schema into Zod schema.
62
61
  */
63
- export declare const schemify: typeof StaticSchemaValidator.schemify;
62
+ export declare const schemify: <T extends import("./types/schema.types").ZodIdiomaticSchema>(schema: T) => import("./types/schema.types").ZodResolve<T>;
64
63
  /**
65
64
  * Makes a valid schema optional.
66
65
  */
67
- export declare const optional: typeof StaticSchemaValidator.optional;
66
+ export declare const optional: <T extends import("./types/schema.types").ZodIdiomaticSchema>(schema: T) => import("zod").ZodOptional<import("./types/schema.types").ZodResolve<T>>;
68
67
  /**
69
68
  * Defines an array for a valid schema.
70
69
  */
71
- export declare const array: typeof StaticSchemaValidator.array;
70
+ export declare const array: <T extends import("./types/schema.types").ZodIdiomaticSchema>(schema: T) => import("zod").ZodArray<import("./types/schema.types").ZodResolve<T>>;
72
71
  /**
73
72
  * Defines a union for a valid schema.
74
73
  */
75
- export declare const union: typeof StaticSchemaValidator.union;
74
+ export declare const union: <T extends import("./types/schema.types").ZodUnionContainer>(schemas: T) => import("zod").ZodUnion<import("./types/schema.types").UnionZodResolve<T>>;
76
75
  /**
77
76
  * Defines a literal for a valid schema.
78
77
  */
79
- export declare const literal: typeof StaticSchemaValidator.literal;
78
+ export declare const literal: <T extends import("../..").LiteralSchema>(value: T) => import("zod").ZodLiteral<import("./types/schema.types").ZodResolve<T>>;
79
+ /**
80
+ * Defines an enum for a valid schema.
81
+ */
82
+ export declare const enum_: <T extends import("../..").LiteralSchema>(schemaEnum: Record<string, T>) => import("zod").ZodUnion<import("./types/schema.types").UnionZodResolve<[T, T, ...T[]]>>;
80
83
  /**
81
84
  * Validates a value against a valid schema.
82
85
  */
83
- export declare const validate: typeof StaticSchemaValidator.validate;
86
+ export declare const validate: <T extends import("./types/schema.types").ZodCatchall>(schema: T, value: unknown) => boolean;
84
87
  /**
85
88
  * Parses a value to be conformant to a particular schema.
86
89
  */
87
- export declare const parse: typeof StaticSchemaValidator.parse;
90
+ export declare const parse: <T extends import("./types/schema.types").ZodCatchall>(schema: T, value: unknown) => import("../..").ParseResult<import("./types/schema.types").ZodResolve<T>>;
88
91
  /**
89
92
  * Generates an OpenAPI schema object from a valid schema.
90
93
  */
91
- export declare const openapi: typeof StaticSchemaValidator.openapi;
92
- export {};
94
+ export declare const openapi: <T extends import("./types/schema.types").ZodIdiomaticSchema>(schema: T) => import("openapi3-ts/oas31").SchemaObject;
93
95
  //# sourceMappingURL=staticSchemaValidator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"staticSchemaValidator.d.ts","sourceRoot":"","sources":["../../../src/zod/staticSchemaValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;;GAGG;AACH,eAAO,MAAM,eAAe,0BAAiC,CAAC;AAE9D,QAAA,MAAM,qBAAqB,oBAAoB,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,OAAO,qBAAqB,CAAC,MACpB,CAAC;AAE/B;;GAEG;AACH,eAAO,MAAM,IAAI,EAAE,OAAO,qBAAqB,CAAC,IACpB,CAAC;AAE7B;;GAEG;AACH,eAAO,MAAM,KAAK,EAAE,OAAO,qBAAqB,CAAC,KACpB,CAAC;AAE9B;;GAEG;AACH,eAAO,MAAM,GAAG,EAAE,OAAO,qBAAqB,CAAC,GAA+B,CAAC;AAE/E;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,OAAO,qBAAqB,CAAC,MACpB,CAAC;AAE/B;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,OAAO,qBAAqB,CAAC,MACpB,CAAC;AAE/B;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,OAAO,qBAAqB,CAAC,OACpB,CAAC;AAEhC;;GAEG;AACH,eAAO,MAAM,IAAI,EAAE,OAAO,qBAAqB,CAAC,IACpB,CAAC;AAE7B;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,OAAO,qBAAqB,CAAC,MACpB,CAAC;AAE/B;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,OAAO,qBAAqB,CAAC,OACpB,CAAC;AAEhC;;GAEG;AACH,eAAO,MAAM,GAAG,EAAE,OAAO,qBAAqB,CAAC,GAA+B,CAAC;AAE/E;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,OAAO,qBAAqB,CAAC,OACpB,CAAC;AAEhC;;GAEG;AACH,eAAO,MAAM,KAAK,EAAE,OAAO,qBAAqB,CAAC,KACpB,CAAC;AAE9B;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,OAAO,qBAAqB,CAAC,QACQ,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,OAAO,qBAAqB,CAAC,QACQ,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,KAAK,EAAE,OAAO,qBAAqB,CAAC,KACQ,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,KAAK,EAAE,OAAO,qBAAqB,CAAC,KACQ,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,OAAO,qBAAqB,CAAC,OACQ,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,OAAO,qBAAqB,CAAC,QACQ,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,KAAK,EAAE,OAAO,qBAAqB,CAAC,KACQ,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,OAAO,qBAAqB,CAAC,OACQ,CAAC"}
1
+ {"version":3,"file":"staticSchemaValidator.d.ts","sourceRoot":"","sources":["../../../src/zod/staticSchemaValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;;GAGG;AACH,eAAO,MAAM,eAAe,0BAAiC,CAAC;AAI9D;;GAEG;AACH,eAAO,MAAM,MAAM,yBAA+B,CAAC;AAEnD;;GAEG;AACH,eAAO,MAAM,IAAI,yBAA6B,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,KAAK,yBAA8B,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,GAAG,yBAA4B,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,MAAM,yBAA+B,CAAC;AAEnD;;GAEG;AACH,eAAO,MAAM,MAAM,yBAA+B,CAAC;AAEnD;;GAEG;AACH,eAAO,MAAM,OAAO,sEAAgC,CAAC;AAErD;;GAEG;AACH,eAAO,MAAM,IAAI,uBAA6B,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,MAAM,yBAA+B,CAAC;AAEnD;;GAEG;AACH,eAAO,MAAM,OAAO,oGAAgC,CAAC;AAErD;;GAEG;AACH,eAAO,MAAM,GAAG,sBAA4B,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,OAAO,0BAAgC,CAAC;AAErD;;GAEG;AACH,eAAO,MAAM,KAAK,wBAA8B,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,QAAQ,0HAEpB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,qJAEpB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,KAAK,kJAA0D,CAAC;AAE7E;;GAEG;AACH,eAAO,MAAM,KAAK,uJAA0D,CAAC;AAE7E;;GAEG;AACH,eAAO,MAAM,OAAO,+HAEnB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,KAAK,oKAA0D,CAAC;AAE7E;;GAEG;AACH,eAAO,MAAM,QAAQ,8FAEpB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,KAAK,gKAA0D,CAAC;AAE7E;;GAEG;AACH,eAAO,MAAM,OAAO,sHAEnB,CAAC"}
@@ -77,6 +77,10 @@ export const union = StaticSchemaValidator.union.bind(StaticSchemaValidator);
77
77
  * Defines a literal for a valid schema.
78
78
  */
79
79
  export const literal = StaticSchemaValidator.literal.bind(StaticSchemaValidator);
80
+ /**
81
+ * Defines an enum for a valid schema.
82
+ */
83
+ export const enum_ = StaticSchemaValidator.enum_.bind(StaticSchemaValidator);
80
84
  /**
81
85
  * Validates a value against a valid schema.
82
86
  */
@@ -12,7 +12,7 @@ import { UnionZodResolve, ZodCatchall, ZodIdiomaticSchema, ZodResolve, ZodUnionC
12
12
  * Class representing a Zod schema definition.
13
13
  * @implements {StaticSchemaValidator}
14
14
  */
15
- export declare class ZodSchemaValidator implements SV<(<T extends ZodObject<ZodRawShape>>(schema: T) => ZodResolve<T>), <T extends ZodIdiomaticSchema>(schema: T) => ZodResolve<T>, <T extends ZodIdiomaticSchema>(schema: T) => ZodOptional<ZodResolve<T>>, <T extends ZodIdiomaticSchema>(schema: T) => ZodArray<ZodResolve<T>>, <T extends ZodUnionContainer>(schemas: T) => ZodUnion<UnionZodResolve<T>>, <T extends LiteralSchema>(value: T) => ZodLiteral<ZodResolve<T>>, <T extends ZodCatchall>(schema: T, value: unknown) => boolean, <T extends ZodCatchall>(schema: T, value: unknown) => ParseResult<ZodResolve<T>>, <T extends ZodIdiomaticSchema>(schema: T) => SchemaObject> {
15
+ export declare class ZodSchemaValidator implements SV<(<T extends ZodObject<ZodRawShape>>(schema: T) => ZodResolve<T>), <T extends ZodIdiomaticSchema>(schema: T) => ZodResolve<T>, <T extends ZodIdiomaticSchema>(schema: T) => ZodOptional<ZodResolve<T>>, <T extends ZodIdiomaticSchema>(schema: T) => ZodArray<ZodResolve<T>>, <T extends ZodUnionContainer>(schemas: T) => ZodUnion<UnionZodResolve<T>>, <T extends LiteralSchema>(value: T) => ZodLiteral<ZodResolve<T>>, <T extends LiteralSchema>(schemaEnum: Record<string, T>) => ZodUnion<UnionZodResolve<[T, T, ...T[]]>>, <T extends ZodCatchall>(schema: T, value: unknown) => boolean, <T extends ZodCatchall>(schema: T, value: unknown) => ParseResult<ZodResolve<T>>, <T extends ZodIdiomaticSchema>(schema: T) => SchemaObject> {
16
16
  _Type: 'Zod';
17
17
  _SchemaCatchall: ZodType;
18
18
  _ValidSchemaObject: ZodObject<ZodRawShape> | ZodArray<ZodObject<ZodRawShape>>;
@@ -73,6 +73,12 @@ export declare class ZodSchemaValidator implements SV<(<T extends ZodObject<ZodR
73
73
  * @returns {ZodLiteral<ZodResolve<T>>} The literal schema.
74
74
  */
75
75
  literal<T extends LiteralSchema>(value: T): ZodLiteral<ZodResolve<T>>;
76
+ /**
77
+ * Create an enum schema.
78
+ * @param {Record<string, LiteralSchema>} schemaEnum - The enum schema.
79
+ * @returns {ZodUnion<UnionZodResolve<[T, T, ...T[]]>>} The enum schema.
80
+ */
81
+ enum_<T extends LiteralSchema>(schemaEnum: Record<string, T>): ZodUnion<UnionZodResolve<[T, T, ...T[]]>>;
76
82
  /**
77
83
  * Validate a value against a schema.
78
84
  * @param {ZodCatchall} schema - The schema to validate against.
@@ -1 +1 @@
1
- {"version":3,"file":"zodSchemaValidator.d.ts","sourceRoot":"","sources":["../../../src/zod/zodSchemaValidator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zodSchemaValidator.d.ts","sourceRoot":"","sources":["../../../src/zod/zodSchemaValidator.ts"],"names":[],"mappings":"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"}
@@ -116,16 +116,13 @@ export class ZodSchemaValidator {
116
116
  * @returns {ZodUnion<UnionZodResolve<T>>} The union schema.
117
117
  */
118
118
  union(schemas) {
119
- if (schemas.length < 2) {
120
- throw new Error('Union must have at least two schemas');
121
- }
122
- const unionTypes = schemas.map((schema) => {
119
+ const resolvedSchemas = schemas.map((schema) => {
123
120
  if (schema instanceof ZodType) {
124
121
  return schema;
125
122
  }
126
123
  return this.schemify(schema);
127
124
  });
128
- return z.union(unionTypes);
125
+ return z.union(resolvedSchemas);
129
126
  }
130
127
  /**
131
128
  * Create a literal schema.
@@ -135,6 +132,14 @@ export class ZodSchemaValidator {
135
132
  literal(value) {
136
133
  return z.literal(value);
137
134
  }
135
+ /**
136
+ * Create an enum schema.
137
+ * @param {Record<string, LiteralSchema>} schemaEnum - The enum schema.
138
+ * @returns {ZodUnion<UnionZodResolve<[T, T, ...T[]]>>} The enum schema.
139
+ */
140
+ enum_(schemaEnum) {
141
+ return this.union(Object.values(schemaEnum));
142
+ }
138
143
  /**
139
144
  * Validate a value against a schema.
140
145
  * @param {ZodCatchall} schema - The schema to validate against.
@@ -1,5 +1,5 @@
1
1
  import { Type } from '@sinclair/typebox';
2
- import { array, number, openapi, optional, parse, schemify, string, union, validate } from '../../src/typebox/staticSchemaValidator';
2
+ import { array, enum_, number, openapi, optional, parse, schemify, string, union, validate } from '../../src/typebox/staticSchemaValidator';
3
3
  import { compare } from '../utils/compare';
4
4
  describe('typebox schema validator tests', () => {
5
5
  let schema;
@@ -145,6 +145,27 @@ describe('typebox schema validator tests', () => {
145
145
  hello: Type.Literal('world')
146
146
  }));
147
147
  });
148
+ test('enum', async () => {
149
+ let TestSingleEnum;
150
+ (function (TestSingleEnum) {
151
+ TestSingleEnum["WORLD"] = "world";
152
+ })(TestSingleEnum || (TestSingleEnum = {}));
153
+ const schemified = enum_(TestSingleEnum);
154
+ compare(schemified, Type.Literal('world', {
155
+ errorType: 'any of world',
156
+ errorSuffix: true
157
+ }));
158
+ let TestMultipleEnum;
159
+ (function (TestMultipleEnum) {
160
+ TestMultipleEnum["WORLD"] = "world";
161
+ TestMultipleEnum["HELLO"] = "hello";
162
+ })(TestMultipleEnum || (TestMultipleEnum = {}));
163
+ const schemifiedMultiple = enum_(TestMultipleEnum);
164
+ compare(schemifiedMultiple, Type.Union([Type.Literal('world'), Type.Literal('hello')], {
165
+ errorType: 'any of world, hello',
166
+ errorSuffix: true
167
+ }));
168
+ });
148
169
  test('validate', async () => {
149
170
  validate(schemified, {
150
171
  hello: {
@@ -1,8 +1,8 @@
1
1
  export const compare = (received, expected) => {
2
2
  switch (typeof received) {
3
3
  case 'bigint':
4
- return expect(received).toBe(expected);
4
+ return expect(expected).toEqual(received);
5
5
  default:
6
- return expect(JSON.stringify(received)).toBe(JSON.stringify(expected));
6
+ return expect(JSON.stringify(expected)).toEqual(JSON.stringify(received));
7
7
  }
8
8
  };
@@ -13,7 +13,7 @@ type RecursiveUnion<T extends readonly string[]> = T extends readonly [
13
13
  infer F extends string,
14
14
  ...infer R extends readonly string[]
15
15
  ] ? R extends [] ? F : `${F} | ${RecursiveUnion<R>}` : '';
16
- export declare class MockSchemaValidator implements SchemaValidator<(<T extends string>(schema: T) => T), <T extends string>(schema: T) => T, <T extends string>(schema: T) => `optional ${T}`, <T extends string>(schema: T) => `array ${T}`, <T extends readonly string[]>(schemas: T) => RecursiveUnion<T>, <T extends LiteralSchema>(schema: T) => `literal ${T}`, <T extends string>(schema: T, value: string) => boolean, <T extends string>(schema: T, value: string) => ParseResult<T>, <T extends string>(schema: T) => SchemaObject> {
16
+ export declare class MockSchemaValidator implements SchemaValidator<(<T extends string>(schema: T) => T), <T extends string>(schema: T) => T, <T extends string>(schema: T) => `optional ${T}`, <T extends string>(schema: T) => `array ${T}`, <T extends readonly string[]>(schemas: T) => RecursiveUnion<T>, <T extends LiteralSchema>(schema: T) => `literal ${T}`, <T extends LiteralSchema>(schemaEnum: Record<string, T>) => `enum ${T}`, <T extends string>(schema: T, value: string) => boolean, <T extends string>(schema: T, value: string) => ParseResult<T>, <T extends string>(schema: T) => SchemaObject> {
17
17
  _Type: 'Mock';
18
18
  _SchemaCatchall: string;
19
19
  _ValidSchemaObject: string;
@@ -36,6 +36,7 @@ export declare class MockSchemaValidator implements SchemaValidator<(<T extends
36
36
  array<T extends string>(schema: T): `array ${T}`;
37
37
  union<T extends readonly string[]>(schemas: T): RecursiveUnion<T>;
38
38
  literal<T extends LiteralSchema>(schema: T): `literal ${T}`;
39
+ enum_<T extends LiteralSchema>(schemaEnum: Record<string, T>): `enum ${T}`;
39
40
  validate<T extends string>(schema: T, value: string): boolean;
40
41
  parse<T extends string>(schema: T, value: string): ParseResult<T>;
41
42
  openapi<T extends string>(_schema: T): SchemaObject;
@@ -56,6 +57,7 @@ export declare const optional: <T extends string>(schema: T) => `optional ${T}`;
56
57
  export declare const array: <T extends string>(schema: T) => `array ${T}`;
57
58
  export declare const union: <T extends readonly string[]>(schemas: T) => RecursiveUnion<T>;
58
59
  export declare const literal: <T extends LiteralSchema>(schema: T) => `literal ${T}`;
60
+ export declare const enum_: <T extends LiteralSchema>(schemaEnum: Record<string, T>) => `enum ${T}`;
59
61
  export declare const validate: <T extends string>(schema: T, value: string) => boolean;
60
62
  export declare const openapi: <T extends string>(_schema: T) => SchemaObject;
61
63
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"mockSchemaValidator.d.ts","sourceRoot":"","sources":["../../../tests/utils/mockSchemaValidator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mockSchemaValidator.d.ts","sourceRoot":"","sources":["../../../tests/utils/mockSchemaValidator.ts"],"names":[],"mappings":"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"}
@@ -22,10 +22,10 @@ export class MockSchemaValidator {
22
22
  return schema;
23
23
  }
24
24
  optional(schema) {
25
- return ('optional ' + schema);
25
+ return `optional ${schema}`;
26
26
  }
27
27
  array(schema) {
28
- return ('array ' + schema);
28
+ return `array ${schema}`;
29
29
  }
30
30
  union(schemas) {
31
31
  return schemas.join(' | ');
@@ -33,6 +33,9 @@ export class MockSchemaValidator {
33
33
  literal(schema) {
34
34
  return `literal ${schema}`;
35
35
  }
36
+ enum_(schemaEnum) {
37
+ return `enum ${Object.values(schemaEnum).join(' | ')}`;
38
+ }
36
39
  validate(schema, value) {
37
40
  return schema === value;
38
41
  }
@@ -68,5 +71,6 @@ export const array = mockSchemaValidator.array.bind(mockSchemaValidator);
68
71
  // note, use 'as const' when calling on the input array, for proper type parsing
69
72
  export const union = mockSchemaValidator.union.bind(mockSchemaValidator);
70
73
  export const literal = mockSchemaValidator.literal.bind(mockSchemaValidator);
74
+ export const enum_ = mockSchemaValidator.enum_.bind(mockSchemaValidator);
71
75
  export const validate = mockSchemaValidator.validate.bind(mockSchemaValidator);
72
76
  export const openapi = mockSchemaValidator.openapi.bind(mockSchemaValidator);