@forklaunch/validator 0.2.1 → 0.2.3

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/dist/index.d.ts CHANGED
@@ -5,16 +5,17 @@
5
5
  * @module SchemaTypes
6
6
  */
7
7
  import { Prettify } from "@forklaunch/common";
8
+ import { SchemaValidator } from "./interfaces/schemaValidator.interfaces";
8
9
  import { TypeboxSchemaValidator } from "./typebox";
9
10
  import { TCatchall, TObject, TObjectShape, TOuterArray, TResolve, TSchemaTranslate } from "./typebox/types/typebox.schema.types";
10
11
  import { IdiomaticSchema } from "./types/schema.types";
11
12
  import { ZodSchemaValidator } from "./zod";
12
13
  import { ZodCatchall, ZodObject, ZodObjectShape, ZodOuterArray, ZodResolve, ZodSchemaTranslate } from "./zod/types/zod.schema.types";
13
14
  /**
14
- * Interface representing any schema validator.
15
- * Extends the SchemaValidator interface with any schema types.
15
+ * Interface representing unknown schema validator.
16
+ * Extends the SchemaValidator interface with unknown schema types.
16
17
  */
17
- export type AnySchemaValidator = TypeboxSchemaValidator | ZodSchemaValidator;
18
+ export type AnySchemaValidator = SchemaValidator<unknown, unknown, unknown, unknown, unknown, unknown, unknown>;
18
19
  /**
19
20
  * Type alias for a schema object shape.
20
21
  * Resolves to ZodObjectShape for Zod schemas and TObjectShape for TypeBox schemas.
@@ -84,4 +85,4 @@ export type ValidSchemaObject<SV extends AnySchemaValidator> = SchemaObject<Sche
84
85
  * @template SV - SchemaValidator type.
85
86
  */
86
87
  export type Schema<T extends ValidSchemaObject<SV> | IdiomaticSchema<SchemaCatchall<SV>>, SV extends AnySchemaValidator> = SchemaPrettify<SchemaResolve<T, SV>, SV>;
87
- export {};
88
+ export * from "./interfaces";
package/dist/index.js CHANGED
@@ -5,5 +5,20 @@
5
5
  *
6
6
  * @module SchemaTypes
7
7
  */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
20
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
21
+ };
8
22
  Object.defineProperty(exports, "__esModule", { value: true });
23
+ __exportStar(require("./interfaces"), exports);
9
24
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;AAsHH,+CAA6B"}
@@ -0,0 +1 @@
1
+ export * from './schemaValidator.interfaces';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./schemaValidator.interfaces"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+DAA6C"}
@@ -4,10 +4,10 @@ import { LiteralSchema } from "../types/schema.types";
4
4
  * Interface representing a schema validator.
5
5
  *
6
6
  * @template UnionContainer - The type for union schemas.
7
- * @template IdiomaticSchema - The type for idiomatic schemas.
7
+ * @template IdiomaticSchema<unknown> - The type for idiomatic schemas.
8
8
  * @template Catchall - The catch-all type for all schemas.
9
9
  */
10
- export interface SchemaValidator<UnionContainer = unknown, IdiomaticSchema = unknown, Catchall = unknown> {
10
+ export interface SchemaValidator<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) => unknown, OpenAPIFunction = <T>(schema: T) => SchemaObject> {
11
11
  /**
12
12
  * Validator for string type.
13
13
  */
@@ -55,7 +55,7 @@ export interface SchemaValidator<UnionContainer = unknown, IdiomaticSchema = unk
55
55
  * @param {T} schema - The schema to schemify.
56
56
  * @returns {unknown} - The schemified form of the schema.
57
57
  */
58
- schemify<T extends IdiomaticSchema>(schema: T): unknown;
58
+ schemify: SchematicFunction;
59
59
  /**
60
60
  * Converts a schema into an optional schema.
61
61
  *
@@ -63,7 +63,7 @@ export interface SchemaValidator<UnionContainer = unknown, IdiomaticSchema = unk
63
63
  * @param {T} schema - The schema to make optional.
64
64
  * @returns {unknown} - The optional form of the schema.
65
65
  */
66
- optional<T extends IdiomaticSchema>(schema: T): unknown;
66
+ optional: OptionalFunction;
67
67
  /**
68
68
  * Converts a schema into an array schema.
69
69
  *
@@ -71,7 +71,7 @@ export interface SchemaValidator<UnionContainer = unknown, IdiomaticSchema = unk
71
71
  * @param {T} schema - The schema to convert into an array.
72
72
  * @returns {unknown} - The array form of the schema.
73
73
  */
74
- array<T extends IdiomaticSchema>(schema: T): unknown;
74
+ array: ArrayFunction;
75
75
  /**
76
76
  * Converts multiple schemas into a union schema.
77
77
  *
@@ -79,7 +79,7 @@ export interface SchemaValidator<UnionContainer = unknown, IdiomaticSchema = unk
79
79
  * @param {T} schemas - The schemas to unionize.
80
80
  * @returns {unknown} - The union form of the schemas.
81
81
  */
82
- union<T extends UnionContainer>(schemas: T): unknown;
82
+ union: UnionFunction;
83
83
  /**
84
84
  * Creates a literal schema from a value.
85
85
  *
@@ -87,7 +87,7 @@ export interface SchemaValidator<UnionContainer = unknown, IdiomaticSchema = unk
87
87
  * @param {T} value - The literal value.
88
88
  * @returns {unknown} - The literal schema.
89
89
  */
90
- literal<T extends LiteralSchema>(value: T): unknown;
90
+ literal: LiteralFunction;
91
91
  /**
92
92
  * Validates a value against a schema.
93
93
  *
@@ -96,7 +96,7 @@ export interface SchemaValidator<UnionContainer = unknown, IdiomaticSchema = unk
96
96
  * @param {unknown} value - The value to validate.
97
97
  * @returns {boolean} - Whether the value is valid according to the schema.
98
98
  */
99
- validate<T extends Catchall>(schema: T, value: unknown): boolean;
99
+ validate: ValidationFunction;
100
100
  /**
101
101
  * Converts a schema into an OpenAPI schema object.
102
102
  *
@@ -104,5 +104,5 @@ export interface SchemaValidator<UnionContainer = unknown, IdiomaticSchema = unk
104
104
  * @param {T} schema - The schema to convert.
105
105
  * @returns {SchemaObject} - The OpenAPI schema object.
106
106
  */
107
- openapi<T extends IdiomaticSchema>(schema: T): SchemaObject;
107
+ openapi: OpenAPIFunction;
108
108
  }
@@ -0,0 +1,21 @@
1
+ import { SchemaValidator } from "../index";
2
+ import { LiteralSchema } from "../types/schema.types";
3
+ export declare class MockSchemaValidator implements SchemaValidator {
4
+ string: string;
5
+ number: string;
6
+ bigint: string;
7
+ boolean: string;
8
+ date: string;
9
+ symbol: string;
10
+ empty: string;
11
+ any: string;
12
+ unknown: string;
13
+ never: string;
14
+ schemify<T>(schema: T): T;
15
+ optional<T>(schema: T): string;
16
+ array<T>(schema: T): string;
17
+ union<T>(schemas: T[]): string;
18
+ literal<T extends LiteralSchema>(schema: T): string;
19
+ validate<T>(schema: T): boolean;
20
+ openapi<T>(schema: T): {};
21
+ }
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MockSchemaValidator = void 0;
4
+ class MockSchemaValidator {
5
+ string = 'string';
6
+ number = 'number';
7
+ bigint = 'bigint';
8
+ boolean = 'boolean';
9
+ date = 'date';
10
+ symbol = 'symbol';
11
+ empty = 'empty';
12
+ any = 'any';
13
+ unknown = 'unknown';
14
+ never = 'never';
15
+ schemify(schema) {
16
+ return schema;
17
+ }
18
+ ;
19
+ optional(schema) {
20
+ return 'optional ' + schema;
21
+ }
22
+ ;
23
+ array(schema) {
24
+ return 'array ' + schema;
25
+ }
26
+ union(schemas) {
27
+ return schemas.join(' | ');
28
+ }
29
+ literal(schema) {
30
+ return 'literal ' + schema;
31
+ }
32
+ ;
33
+ validate(schema) {
34
+ return true;
35
+ }
36
+ ;
37
+ openapi(schema) {
38
+ return {};
39
+ }
40
+ }
41
+ exports.MockSchemaValidator = MockSchemaValidator;
42
+ //# sourceMappingURL=mockSchemaValidator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockSchemaValidator.js","sourceRoot":"","sources":["../../tests/mockSchemaValidator.ts"],"names":[],"mappings":";;;AAIA,MAAa,mBAAmB;IAC5B,MAAM,GAAG,QAAQ,CAAC;IAClB,MAAM,GAAG,QAAQ,CAAC;IAClB,MAAM,GAAG,QAAQ,CAAC;IAClB,OAAO,GAAG,SAAS,CAAC;IACpB,IAAI,GAAG,MAAM,CAAC;IACd,MAAM,GAAG,QAAQ,CAAC;IAClB,KAAK,GAAG,OAAO,CAAC;IAChB,GAAG,GAAG,KAAK,CAAC;IACZ,OAAO,GAAG,SAAS,CAAC;IACpB,KAAK,GAAG,OAAO,CAAC;IAEhB,QAAQ,CAAI,MAAS;QACjB,OAAO,MAAM,CAAC;IAClB,CAAC;IAAA,CAAC;IACF,QAAQ,CAAI,MAAS;QACjB,OAAO,WAAW,GAAG,MAAM,CAAC;IAChC,CAAC;IAAA,CAAC;IACF,KAAK,CAAI,MAAS;QACd,OAAO,QAAQ,GAAG,MAAM,CAAC;IAC7B,CAAC;IACD,KAAK,CAAI,OAAY;QACjB,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,CAA0B,MAAS;QACtC,OAAO,UAAU,GAAG,MAAM,CAAC;IAC/B,CAAC;IAAA,CAAC;IACF,QAAQ,CAAI,MAAS;QACjB,OAAO,IAAI,CAAC;IAChB,CAAC;IAAA,CAAC;IACF,OAAO,CAAI,MAAS;QAChB,OAAO,EAAE,CAAC;IACd,CAAC;CACJ;AAjCD,kDAiCC"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.assert = assert;
4
+ const typebox_1 = require("@sinclair/typebox");
4
5
  const index_1 = require("../../typebox/index");
5
6
  const one = (0, index_1.array)({
6
7
  name: {
@@ -83,4 +84,127 @@ const shortTwo = (0, index_1.schemify)({
83
84
  });
84
85
  assert();
85
86
  assert();
87
+ describe('Typebox Equality Tests', () => {
88
+ let schema;
89
+ let schemified;
90
+ let expectedSchema;
91
+ beforeAll(() => {
92
+ schema = {
93
+ hello: {
94
+ world: index_1.string
95
+ },
96
+ foo: {
97
+ bar: index_1.number
98
+ }
99
+ };
100
+ schemified = (0, index_1.schemify)(schema);
101
+ expectedSchema = typebox_1.Type.Object({
102
+ hello: typebox_1.Type.Object({
103
+ world: typebox_1.Type.String()
104
+ }),
105
+ foo: typebox_1.Type.Object({
106
+ bar: typebox_1.Type.Number()
107
+ })
108
+ });
109
+ });
110
+ test('Schema Equality', async () => {
111
+ expect(schemified).toEqual(expectedSchema);
112
+ expect(schemified).toEqual((0, index_1.schemify)({
113
+ hello: {
114
+ world: index_1.string
115
+ },
116
+ foo: {
117
+ bar: index_1.number
118
+ }
119
+ }));
120
+ expect(schemified).toEqual((0, index_1.schemify)({
121
+ hello: (0, index_1.schemify)({
122
+ world: index_1.string
123
+ }),
124
+ foo: {
125
+ bar: index_1.number
126
+ }
127
+ }));
128
+ expect(schemified).toEqual((0, index_1.schemify)({
129
+ hello: {
130
+ world: index_1.string
131
+ },
132
+ foo: (0, index_1.schemify)({
133
+ bar: index_1.number
134
+ })
135
+ }));
136
+ expect(schemified).toEqual((0, index_1.schemify)({
137
+ hello: (0, index_1.schemify)({
138
+ world: index_1.string
139
+ }),
140
+ foo: (0, index_1.schemify)({
141
+ bar: index_1.number
142
+ })
143
+ }));
144
+ });
145
+ test('Optional Schema Equality', async () => {
146
+ const unboxSchemified = (0, index_1.optional)(schema);
147
+ const boxSchemified = (0, index_1.optional)(schemified);
148
+ const schemifiedExpected = typebox_1.Type.Optional(expectedSchema);
149
+ expect(unboxSchemified).toEqual(schemifiedExpected);
150
+ expect(boxSchemified).toEqual(schemifiedExpected);
151
+ });
152
+ test('Array Schema Equality', async () => {
153
+ const unboxSchemified = (0, index_1.array)(schema);
154
+ const boxSchemified = (0, index_1.array)(schemified);
155
+ const schemifiedExpected = typebox_1.Type.Array(expectedSchema);
156
+ expect(unboxSchemified).toEqual(schemifiedExpected);
157
+ expect(boxSchemified).toEqual(schemifiedExpected);
158
+ });
159
+ test('Union Schema Equality', async () => {
160
+ const unboxSchemified = (0, index_1.union)([schema, {
161
+ test: index_1.string
162
+ }]);
163
+ const unboxSchemified2 = (0, index_1.union)([schema, (0, index_1.schemify)({
164
+ test: index_1.string
165
+ })]);
166
+ const boxSchemified1 = (0, index_1.union)([schemified, (0, index_1.schemify)({
167
+ test: index_1.string
168
+ })]);
169
+ const boxSchemified2 = (0, index_1.union)([schemified, {
170
+ test: index_1.string
171
+ }]);
172
+ const schemifiedExpected = typebox_1.Type.Union([expectedSchema, typebox_1.Type.Object({
173
+ test: typebox_1.Type.String()
174
+ })]);
175
+ expect(unboxSchemified).toEqual(schemifiedExpected);
176
+ expect(unboxSchemified2).toEqual(schemifiedExpected);
177
+ });
178
+ test('Literal Schema Equality', async () => {
179
+ const schemified = (0, index_1.schemify)({
180
+ hello: 'world'
181
+ });
182
+ expect(schemified).toEqual(typebox_1.Type.Object({
183
+ hello: typebox_1.Type.Literal('world')
184
+ }));
185
+ });
186
+ test('Validate Schema', async () => {
187
+ expect((0, index_1.validate)(schemified, {
188
+ hello: {
189
+ world: 'world'
190
+ },
191
+ foo: {
192
+ bar: 42
193
+ }
194
+ })).toBe(true);
195
+ expect((0, index_1.validate)(schemified, {
196
+ hello: {
197
+ world: 55
198
+ },
199
+ foo: {
200
+ bar: 42
201
+ }
202
+ })).toBe(false);
203
+ });
204
+ test('OpenAPI Conversion', async () => {
205
+ const schemified = (0, index_1.schemify)(schema);
206
+ const openApi = (0, index_1.openapi)(schemified);
207
+ expect(openApi).toEqual(schemified);
208
+ });
209
+ });
86
210
  //# sourceMappingURL=equality.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"equality.test.js","sourceRoot":"","sources":["../../../tests/typebox/equality.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"equality.test.js","sourceRoot":"","sources":["../../../tests/typebox/equality.test.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const index_1 = require("../../typebox/index");
4
- const deepOne = {
5
- s: {
6
- s: {
4
+ describe("Typebox Large Schema Tests", () => {
5
+ it("Deep Union", () => {
6
+ const deepOne = {
7
7
  s: {
8
8
  s: {
9
9
  s: {
@@ -16,7 +16,11 @@ const deepOne = {
16
16
  s: {
17
17
  s: {
18
18
  s: {
19
- b: "number"
19
+ s: {
20
+ s: {
21
+ b: "number"
22
+ }
23
+ }
20
24
  }
21
25
  }
22
26
  }
@@ -29,14 +33,10 @@ const deepOne = {
29
33
  }
30
34
  }
31
35
  }
32
- }
33
- }
34
- };
35
- const deepTwo = {
36
- k: {
37
- o: index_1.number,
38
- s: {
39
- s: {
36
+ };
37
+ const deepTwo = {
38
+ k: {
39
+ o: index_1.number,
40
40
  s: {
41
41
  s: {
42
42
  s: {
@@ -48,7 +48,11 @@ const deepTwo = {
48
48
  s: {
49
49
  s: {
50
50
  s: {
51
- b: index_1.string
51
+ s: {
52
+ s: {
53
+ b: index_1.string
54
+ }
55
+ }
52
56
  }
53
57
  }
54
58
  }
@@ -61,75 +65,77 @@ const deepTwo = {
61
65
  }
62
66
  }
63
67
  }
64
- }
65
- }
66
- };
67
- const deepUnion = (0, index_1.union)([deepOne, deepTwo]);
68
- const realistic = (0, index_1.array)({
69
- level1: {
70
- name: {
71
- j: (0, index_1.union)([index_1.string, index_1.number, index_1.date, index_1.boolean, index_1.bigint, index_1.empty, index_1.symbol, index_1.never]),
72
- t: (0, index_1.optional)((0, index_1.union)([(0, index_1.array)({
73
- y: (0, index_1.array)(index_1.number)
74
- }), index_1.string])),
75
- m: {
76
- a: (0, index_1.optional)(index_1.string),
77
- b: index_1.number,
78
- c: {
79
- d: index_1.string,
80
- e: index_1.number,
81
- f: {
82
- g: index_1.string,
83
- h: index_1.number,
84
- i: {
85
- j: index_1.string,
86
- k: index_1.number,
87
- l: {
88
- m: index_1.boolean,
89
- n: (0, index_1.array)(index_1.string),
90
- o: (0, index_1.optional)((0, index_1.union)([index_1.string, index_1.number])),
91
- p: {
92
- q: index_1.string,
93
- r: index_1.number
68
+ };
69
+ const deepUnion = (0, index_1.union)([deepOne, deepTwo]);
70
+ });
71
+ it("Realistic Schema", () => {
72
+ const realistic = (0, index_1.array)({
73
+ level1: {
74
+ name: {
75
+ j: (0, index_1.union)([index_1.string, index_1.number, index_1.date, index_1.boolean, index_1.bigint, index_1.empty, index_1.symbol, index_1.never]),
76
+ t: (0, index_1.optional)((0, index_1.union)([(0, index_1.array)({
77
+ y: (0, index_1.array)(index_1.number)
78
+ }), index_1.string])),
79
+ m: {
80
+ a: (0, index_1.optional)(index_1.string),
81
+ b: index_1.number,
82
+ c: {
83
+ d: index_1.string,
84
+ e: index_1.number,
85
+ f: {
86
+ g: index_1.string,
87
+ h: index_1.number,
88
+ i: {
89
+ j: index_1.string,
90
+ k: index_1.number,
91
+ l: {
92
+ m: index_1.boolean,
93
+ n: (0, index_1.array)(index_1.string),
94
+ o: (0, index_1.optional)((0, index_1.union)([index_1.string, index_1.number])),
95
+ p: {
96
+ q: index_1.string,
97
+ r: index_1.number
98
+ }
99
+ }
94
100
  }
95
101
  }
96
102
  }
97
103
  }
104
+ },
105
+ additionalField1: {
106
+ a: (0, index_1.union)([index_1.string, index_1.boolean, index_1.bigint, index_1.empty]),
107
+ b: (0, index_1.optional)((0, index_1.array)(index_1.number)),
108
+ c: {
109
+ d: index_1.string,
110
+ e: index_1.number,
111
+ f: {
112
+ g: index_1.string,
113
+ h: index_1.number
114
+ }
115
+ }
116
+ },
117
+ additionalField2: {
118
+ x: index_1.string,
119
+ y: (0, index_1.union)([index_1.string, (0, index_1.array)(index_1.boolean)]),
120
+ z: {
121
+ a: index_1.string,
122
+ b: index_1.number
123
+ }
98
124
  }
99
- }
100
- },
101
- additionalField1: {
102
- a: (0, index_1.union)([index_1.string, index_1.boolean, index_1.bigint, index_1.empty]),
103
- b: (0, index_1.optional)((0, index_1.array)(index_1.number)),
104
- c: {
105
- d: index_1.string,
106
- e: index_1.number,
107
- f: {
108
- g: index_1.string,
109
- h: index_1.number
125
+ },
126
+ code: {
127
+ 200: {
128
+ j: index_1.string
129
+ },
130
+ 404: {
131
+ k: index_1.string
110
132
  }
133
+ },
134
+ flag: {
135
+ a: true,
136
+ b: false
111
137
  }
112
- },
113
- additionalField2: {
114
- x: index_1.string,
115
- y: (0, index_1.union)([index_1.string, (0, index_1.array)(index_1.boolean)]),
116
- z: {
117
- a: index_1.string,
118
- b: index_1.number
119
- }
120
- }
121
- },
122
- code: {
123
- 200: {
124
- j: index_1.string
125
- },
126
- 404: {
127
- k: index_1.string
128
- }
129
- },
130
- flag: {
131
- a: true,
132
- b: false
133
- }
138
+ });
139
+ });
134
140
  });
135
141
  //# sourceMappingURL=largeSchema.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"largeSchema.test.js","sourceRoot":"","sources":["../../../tests/typebox/largeSchema.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"largeSchema.test.js","sourceRoot":"","sources":["../../../tests/typebox/largeSchema.test.ts"],"names":[],"mappings":"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"}
@@ -1,70 +1,72 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.assert = assert;
4
- const zod_1 = require("../../zod");
5
- const one = (0, zod_1.array)({
4
+ const zod_openapi_1 = require("@anatine/zod-openapi");
5
+ const zod_1 = require("zod");
6
+ const zod_2 = require("../../zod");
7
+ const one = (0, zod_2.array)({
6
8
  name: {
7
- j: (0, zod_1.union)([zod_1.string, zod_1.number, zod_1.date, zod_1.boolean, zod_1.bigint, zod_1.empty, zod_1.symbol, zod_1.never]),
8
- t: (0, zod_1.optional)((0, zod_1.union)([(0, zod_1.array)({
9
- y: (0, zod_1.array)(zod_1.number)
10
- }), zod_1.string])),
9
+ j: (0, zod_2.union)([zod_2.string, zod_2.number, zod_2.date, zod_2.boolean, zod_2.bigint, zod_2.empty, zod_2.symbol, zod_2.never]),
10
+ t: (0, zod_2.optional)((0, zod_2.union)([(0, zod_2.array)({
11
+ y: (0, zod_2.array)(zod_2.number)
12
+ }), zod_2.string])),
11
13
  m: {
12
- a: (0, zod_1.optional)(zod_1.string),
13
- b: zod_1.number,
14
+ a: (0, zod_2.optional)(zod_2.string),
15
+ b: zod_2.number,
14
16
  c: {
15
- d: zod_1.string,
16
- e: zod_1.number
17
+ d: zod_2.string,
18
+ e: zod_2.number
17
19
  }
18
20
  }
19
21
  },
20
22
  200: {
21
- j: zod_1.string
23
+ j: zod_2.string
22
24
  },
23
25
  m: {
24
26
  a: true
25
27
  }
26
28
  });
27
- const two = (0, zod_1.array)({
29
+ const two = (0, zod_2.array)({
28
30
  name: {
29
- j: (0, zod_1.union)([zod_1.string, zod_1.number, zod_1.date, zod_1.boolean, zod_1.bigint, zod_1.empty, zod_1.symbol, zod_1.never]),
30
- t: (0, zod_1.optional)((0, zod_1.union)([(0, zod_1.array)({
31
- y: (0, zod_1.array)(zod_1.number)
32
- }), zod_1.string])),
33
- m: (0, zod_1.schemify)({
34
- a: (0, zod_1.optional)(zod_1.string),
35
- b: zod_1.number,
31
+ j: (0, zod_2.union)([zod_2.string, zod_2.number, zod_2.date, zod_2.boolean, zod_2.bigint, zod_2.empty, zod_2.symbol, zod_2.never]),
32
+ t: (0, zod_2.optional)((0, zod_2.union)([(0, zod_2.array)({
33
+ y: (0, zod_2.array)(zod_2.number)
34
+ }), zod_2.string])),
35
+ m: (0, zod_2.schemify)({
36
+ a: (0, zod_2.optional)(zod_2.string),
37
+ b: zod_2.number,
36
38
  c: {
37
- d: zod_1.string,
38
- e: zod_1.number
39
+ d: zod_2.string,
40
+ e: zod_2.number
39
41
  }
40
42
  })
41
43
  },
42
44
  200: {
43
- j: zod_1.string
45
+ j: zod_2.string
44
46
  },
45
47
  m: {
46
48
  a: true
47
49
  }
48
50
  });
49
- const three = (0, zod_1.schemify)((0, zod_1.array)((0, zod_1.schemify)({
50
- name: (0, zod_1.schemify)({
51
- j: (0, zod_1.union)([zod_1.string, zod_1.number, zod_1.date, zod_1.boolean, zod_1.bigint, zod_1.empty, zod_1.symbol, zod_1.never]),
52
- t: (0, zod_1.optional)((0, zod_1.union)([(0, zod_1.array)({
53
- y: (0, zod_1.array)(zod_1.number)
54
- }), zod_1.string])),
55
- m: (0, zod_1.schemify)({
56
- a: (0, zod_1.optional)(zod_1.string),
57
- b: zod_1.number,
51
+ const three = (0, zod_2.schemify)((0, zod_2.array)((0, zod_2.schemify)({
52
+ name: (0, zod_2.schemify)({
53
+ j: (0, zod_2.union)([zod_2.string, zod_2.number, zod_2.date, zod_2.boolean, zod_2.bigint, zod_2.empty, zod_2.symbol, zod_2.never]),
54
+ t: (0, zod_2.optional)((0, zod_2.union)([(0, zod_2.array)({
55
+ y: (0, zod_2.array)(zod_2.number)
56
+ }), zod_2.string])),
57
+ m: (0, zod_2.schemify)({
58
+ a: (0, zod_2.optional)(zod_2.string),
59
+ b: zod_2.number,
58
60
  c: {
59
- d: zod_1.string,
60
- e: zod_1.number
61
+ d: zod_2.string,
62
+ e: zod_2.number
61
63
  }
62
64
  })
63
65
  }),
64
- 200: (0, zod_1.schemify)({
65
- j: zod_1.string
66
+ 200: (0, zod_2.schemify)({
67
+ j: zod_2.string
66
68
  }),
67
- m: (0, zod_1.schemify)({
69
+ m: (0, zod_2.schemify)({
68
70
  a: true
69
71
  })
70
72
  })));
@@ -74,13 +76,139 @@ assert();
74
76
  assert();
75
77
  assert();
76
78
  const shortOne = {
77
- s: zod_1.string,
78
- non: zod_1.number
79
+ s: zod_2.string,
80
+ non: zod_2.number
79
81
  };
80
- const shortTwo = (0, zod_1.schemify)({
81
- s: zod_1.string,
82
- non: zod_1.number
82
+ const shortTwo = (0, zod_2.schemify)({
83
+ s: zod_2.string,
84
+ non: zod_2.number
83
85
  });
84
86
  assert();
85
87
  assert();
88
+ const compareSchemas = (schema1, schema2) => {
89
+ return JSON.stringify(schema1) === JSON.stringify(schema2);
90
+ };
91
+ describe('Zod Equality Tests', () => {
92
+ let schema;
93
+ let schemified;
94
+ let expectedSchema;
95
+ beforeAll(() => {
96
+ schema = {
97
+ hello: {
98
+ world: zod_2.string
99
+ },
100
+ foo: {
101
+ bar: zod_2.number
102
+ }
103
+ };
104
+ schemified = (0, zod_2.schemify)(schema);
105
+ expectedSchema = zod_1.z.object({
106
+ hello: zod_1.z.object({
107
+ world: zod_1.z.string()
108
+ }),
109
+ foo: zod_1.z.object({
110
+ bar: zod_1.z.number()
111
+ })
112
+ });
113
+ });
114
+ test('Schema Equality', async () => {
115
+ expect(compareSchemas(schemified, expectedSchema)).toBe(true);
116
+ expect(compareSchemas(schemified, (0, zod_2.schemify)({
117
+ hello: {
118
+ world: zod_2.string
119
+ },
120
+ foo: {
121
+ bar: zod_2.number
122
+ }
123
+ }))).toBe(true);
124
+ expect(compareSchemas(schemified, (0, zod_2.schemify)({
125
+ hello: (0, zod_2.schemify)({
126
+ world: zod_2.string
127
+ }),
128
+ foo: {
129
+ bar: zod_2.number
130
+ }
131
+ }))).toBe(true);
132
+ expect(compareSchemas(schemified, (0, zod_2.schemify)({
133
+ hello: {
134
+ world: zod_2.string
135
+ },
136
+ foo: (0, zod_2.schemify)({
137
+ bar: zod_2.number
138
+ })
139
+ }))).toBe(true);
140
+ expect(compareSchemas(schemified, (0, zod_2.schemify)({
141
+ hello: (0, zod_2.schemify)({
142
+ world: zod_2.string
143
+ }),
144
+ foo: (0, zod_2.schemify)({
145
+ bar: zod_2.number
146
+ })
147
+ }))).toBe(true);
148
+ });
149
+ test('Optional Schema Equality', async () => {
150
+ const unboxSchemified = (0, zod_2.optional)(schema);
151
+ const boxSchemified = (0, zod_2.optional)(schemified);
152
+ const schemifiedExpected = zod_1.z.optional(expectedSchema);
153
+ expect(compareSchemas(unboxSchemified, schemifiedExpected)).toBe(true);
154
+ expect(compareSchemas(boxSchemified, schemifiedExpected)).toBe(true);
155
+ });
156
+ test('Array Schema Equality', async () => {
157
+ const unboxSchemified = (0, zod_2.array)(schema);
158
+ const boxSchemified = (0, zod_2.array)(schemified);
159
+ const schemifiedExpected = zod_1.z.array(expectedSchema);
160
+ expect(compareSchemas(unboxSchemified, schemifiedExpected)).toBe(true);
161
+ expect(compareSchemas(boxSchemified, schemifiedExpected)).toBe(true);
162
+ });
163
+ test('Union Schema Equality', async () => {
164
+ const unboxSchemified = (0, zod_2.union)([schema, {
165
+ test: zod_2.string
166
+ }]);
167
+ const unboxSchemified2 = (0, zod_2.union)([schema, (0, zod_2.schemify)({
168
+ test: zod_2.string
169
+ })]);
170
+ const boxSchemified1 = (0, zod_2.union)([schemified, (0, zod_2.schemify)({
171
+ test: zod_2.string
172
+ })]);
173
+ const boxSchemified2 = (0, zod_2.union)([schemified, {
174
+ test: zod_2.string
175
+ }]);
176
+ const schemifiedExpected = zod_1.z.union([expectedSchema, zod_1.z.object({
177
+ test: zod_1.z.string()
178
+ })]);
179
+ expect(compareSchemas(unboxSchemified, schemifiedExpected)).toBe(true);
180
+ expect(compareSchemas(unboxSchemified2, schemifiedExpected)).toBe(true);
181
+ });
182
+ test('Literal Schema Equality', async () => {
183
+ const schemified = (0, zod_2.schemify)({
184
+ hello: 'world'
185
+ });
186
+ expect(compareSchemas(schemified, zod_1.z.object({
187
+ hello: zod_1.z.literal('world')
188
+ }))).toBe(true);
189
+ });
190
+ test('Validate Schema', async () => {
191
+ expect((0, zod_2.validate)(schemified, {
192
+ hello: {
193
+ world: 'world'
194
+ },
195
+ foo: {
196
+ bar: 42
197
+ }
198
+ })).toBe(true);
199
+ expect((0, zod_2.validate)(schemified, {
200
+ hello: {
201
+ world: 55
202
+ },
203
+ foo: {
204
+ bar: 42
205
+ }
206
+ })).toBe(false);
207
+ });
208
+ test('OpenAPI Conversion', async () => {
209
+ const schemified = (0, zod_2.schemify)(schema);
210
+ const openApi = (0, zod_2.openapi)(schemified);
211
+ expect(openApi).toEqual((0, zod_openapi_1.generateSchema)(schemified));
212
+ });
213
+ });
86
214
  //# sourceMappingURL=equality.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"equality.test.js","sourceRoot":"","sources":["../../../tests/zod/equality.test.ts"],"names":[],"mappings":";;AAsEA,wBAA4C;AArE5C,mCAA6I;AAE7I,MAAM,GAAG,GAAG,IAAA,WAAK,EAAC;IACd,IAAI,EAAE;QACF,CAAC,EAAE,IAAA,WAAK,EAAC,CAAC,YAAM,EAAE,YAAM,EAAE,UAAI,EAAE,aAAO,EAAE,YAAM,EAAE,WAAK,EAAE,YAAM,EAAE,WAAK,CAAC,CAAC;QACvE,CAAC,EAAE,IAAA,cAAQ,EAAC,IAAA,WAAK,EAAC,CAAC,IAAA,WAAK,EAAC;gBACrB,CAAC,EAAE,IAAA,WAAK,EAAC,YAAM,CAAC;aACnB,CAAC,EAAE,YAAM,CAAC,CAAC,CAAC;QACb,CAAC,EAAE;YACC,CAAC,EAAE,IAAA,cAAQ,EAAC,YAAM,CAAC;YACnB,CAAC,EAAE,YAAM;YACT,CAAC,EAAE;gBACC,CAAC,EAAE,YAAM;gBACT,CAAC,EAAE,YAAM;aACZ;SACJ;KACJ;IACD,GAAG,EAAE;QACD,CAAC,EAAE,YAAM;KACZ;IACD,CAAC,EAAE;QACC,CAAC,EAAE,IAAa;KACnB;CACJ,CAAC,CAAA;AACF,MAAM,GAAG,GAAG,IAAA,WAAK,EAAC;IACd,IAAI,EAAE;QACF,CAAC,EAAE,IAAA,WAAK,EAAC,CAAC,YAAM,EAAE,YAAM,EAAE,UAAI,EAAE,aAAO,EAAE,YAAM,EAAE,WAAK,EAAE,YAAM,EAAE,WAAK,CAAC,CAAC;QACvE,CAAC,EAAE,IAAA,cAAQ,EAAC,IAAA,WAAK,EAAC,CAAC,IAAA,WAAK,EAAC;gBACrB,CAAC,EAAE,IAAA,WAAK,EAAC,YAAM,CAAC;aACnB,CAAC,EAAE,YAAM,CAAC,CAAC,CAAC;QACb,CAAC,EAAE,IAAA,cAAQ,EAAC;YACR,CAAC,EAAE,IAAA,cAAQ,EAAC,YAAM,CAAC;YACnB,CAAC,EAAE,YAAM;YACT,CAAC,EAAE;gBACC,CAAC,EAAE,YAAM;gBACT,CAAC,EAAE,YAAM;aACZ;SACJ,CAAC;KACL;IACD,GAAG,EAAE;QACD,CAAC,EAAE,YAAM;KACZ;IACD,CAAC,EAAE;QACC,CAAC,EAAE,IAAa;KACnB;CACJ,CAAC,CAAA;AACF,MAAM,KAAK,GAAG,IAAA,cAAQ,EAAC,IAAA,WAAK,EAAC,IAAA,cAAQ,EAAC;IAClC,IAAI,EAAE,IAAA,cAAQ,EAAC;QACX,CAAC,EAAE,IAAA,WAAK,EAAC,CAAC,YAAM,EAAE,YAAM,EAAE,UAAI,EAAE,aAAO,EAAE,YAAM,EAAE,WAAK,EAAE,YAAM,EAAE,WAAK,CAAC,CAAC;QACvE,CAAC,EAAE,IAAA,cAAQ,EAAC,IAAA,WAAK,EAAC,CAAC,IAAA,WAAK,EAAC;gBACrB,CAAC,EAAE,IAAA,WAAK,EAAC,YAAM,CAAC;aACnB,CAAC,EAAE,YAAM,CAAC,CAAC,CAAC;QACb,CAAC,EAAE,IAAA,cAAQ,EAAC;YACR,CAAC,EAAE,IAAA,cAAQ,EAAC,YAAM,CAAC;YACnB,CAAC,EAAE,YAAM;YACT,CAAC,EAAE;gBACC,CAAC,EAAE,YAAM;gBACT,CAAC,EAAE,YAAM;aACZ;SACJ,CAAC;KACL,CAAC;IACF,GAAG,EAAE,IAAA,cAAQ,EAAC;QACV,CAAC,EAAE,YAAM;KACZ,CAAC;IACF,CAAC,EAAE,IAAA,cAAQ,EAAC;QACR,CAAC,EAAE,IAAa;KACnB,CAAC;CACL,CAAC,CAAC,CAAC,CAAA;AAEJ,SAAgB,MAAM,KAAqB,CAAC;AA8B5C,MAAM,EAAiC,CAAC;AACxC,MAAM,EAAkC,CAAC;AACzC,MAAM,EAAoC,CAAC;AAC3C,MAAM,EAAoC,CAAC;AAE3C,MAAM,QAAQ,GAAG;IACb,CAAC,EAAE,YAAM;IACT,GAAG,EAAE,YAAM;CACd,CAAA;AAED,MAAM,QAAQ,GAAG,IAAA,cAAQ,EAAC;IACtB,CAAC,EAAE,YAAM;IACT,GAAG,EAAE,YAAM;CACd,CAAC,CAAA;AAMF,MAAM,EAAwE,CAAC;AAC/E,MAAM,EAAsG,CAAC"}
1
+ {"version":3,"file":"equality.test.js","sourceRoot":"","sources":["../../../tests/zod/equality.test.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const index_1 = require("../../zod/index");
4
- const deepOne = {
5
- s: {
6
- s: {
4
+ describe('Zod Large Schema Tests', () => {
5
+ it('Deep Union', async () => {
6
+ const deepOne = {
7
7
  s: {
8
8
  s: {
9
9
  s: {
@@ -16,7 +16,11 @@ const deepOne = {
16
16
  s: {
17
17
  s: {
18
18
  s: {
19
- b: "number"
19
+ s: {
20
+ s: {
21
+ b: "number"
22
+ }
23
+ }
20
24
  }
21
25
  }
22
26
  }
@@ -29,14 +33,10 @@ const deepOne = {
29
33
  }
30
34
  }
31
35
  }
32
- }
33
- }
34
- };
35
- const deepTwo = {
36
- k: {
37
- o: index_1.number,
38
- s: {
39
- s: {
36
+ };
37
+ const deepTwo = {
38
+ k: {
39
+ o: index_1.number,
40
40
  s: {
41
41
  s: {
42
42
  s: {
@@ -48,7 +48,11 @@ const deepTwo = {
48
48
  s: {
49
49
  s: {
50
50
  s: {
51
- b: index_1.string
51
+ s: {
52
+ s: {
53
+ b: index_1.string
54
+ }
55
+ }
52
56
  }
53
57
  }
54
58
  }
@@ -61,75 +65,77 @@ const deepTwo = {
61
65
  }
62
66
  }
63
67
  }
64
- }
65
- }
66
- };
67
- const deepUnion = (0, index_1.union)([deepOne, deepTwo]);
68
- const realistic = (0, index_1.array)({
69
- level1: {
70
- name: {
71
- j: (0, index_1.union)([index_1.string, index_1.number, index_1.date, index_1.boolean, index_1.bigint, index_1.empty, index_1.symbol, index_1.never]),
72
- t: (0, index_1.optional)((0, index_1.union)([(0, index_1.array)({
73
- y: (0, index_1.array)(index_1.number)
74
- }), index_1.string])),
75
- m: {
76
- a: (0, index_1.optional)(index_1.string),
77
- b: index_1.number,
78
- c: {
79
- d: index_1.string,
80
- e: index_1.number,
81
- f: {
82
- g: index_1.string,
83
- h: index_1.number,
84
- i: {
85
- j: index_1.string,
86
- k: index_1.number,
87
- l: {
88
- m: index_1.boolean,
89
- n: (0, index_1.array)(index_1.string),
90
- o: (0, index_1.optional)((0, index_1.union)([index_1.string, index_1.number])),
91
- p: {
92
- q: index_1.string,
93
- r: index_1.number
68
+ };
69
+ const deepUnion = (0, index_1.union)([deepOne, deepTwo]);
70
+ });
71
+ it('Realistic Schema', async () => {
72
+ const realistic = (0, index_1.array)({
73
+ level1: {
74
+ name: {
75
+ j: (0, index_1.union)([index_1.string, index_1.number, index_1.date, index_1.boolean, index_1.bigint, index_1.empty, index_1.symbol, index_1.never]),
76
+ t: (0, index_1.optional)((0, index_1.union)([(0, index_1.array)({
77
+ y: (0, index_1.array)(index_1.number)
78
+ }), index_1.string])),
79
+ m: {
80
+ a: (0, index_1.optional)(index_1.string),
81
+ b: index_1.number,
82
+ c: {
83
+ d: index_1.string,
84
+ e: index_1.number,
85
+ f: {
86
+ g: index_1.string,
87
+ h: index_1.number,
88
+ i: {
89
+ j: index_1.string,
90
+ k: index_1.number,
91
+ l: {
92
+ m: index_1.boolean,
93
+ n: (0, index_1.array)(index_1.string),
94
+ o: (0, index_1.optional)((0, index_1.union)([index_1.string, index_1.number])),
95
+ p: {
96
+ q: index_1.string,
97
+ r: index_1.number
98
+ }
99
+ }
94
100
  }
95
101
  }
96
102
  }
97
103
  }
104
+ },
105
+ additionalField1: {
106
+ a: (0, index_1.union)([index_1.string, index_1.boolean, index_1.bigint, index_1.empty]),
107
+ b: (0, index_1.optional)((0, index_1.array)(index_1.number)),
108
+ c: {
109
+ d: index_1.string,
110
+ e: index_1.number,
111
+ f: {
112
+ g: index_1.string,
113
+ h: index_1.number
114
+ }
115
+ }
116
+ },
117
+ additionalField2: {
118
+ x: index_1.string,
119
+ y: (0, index_1.union)([index_1.string, (0, index_1.array)(index_1.boolean)]),
120
+ z: {
121
+ a: index_1.string,
122
+ b: index_1.number
123
+ }
98
124
  }
99
- }
100
- },
101
- additionalField1: {
102
- a: (0, index_1.union)([index_1.string, index_1.boolean, index_1.bigint, index_1.empty]),
103
- b: (0, index_1.optional)((0, index_1.array)(index_1.number)),
104
- c: {
105
- d: index_1.string,
106
- e: index_1.number,
107
- f: {
108
- g: index_1.string,
109
- h: index_1.number
125
+ },
126
+ code: {
127
+ 200: {
128
+ j: index_1.string
129
+ },
130
+ 404: {
131
+ k: index_1.string
110
132
  }
133
+ },
134
+ flag: {
135
+ a: true,
136
+ b: false
111
137
  }
112
- },
113
- additionalField2: {
114
- x: index_1.string,
115
- y: (0, index_1.union)([index_1.string, (0, index_1.array)(index_1.boolean)]),
116
- z: {
117
- a: index_1.string,
118
- b: index_1.number
119
- }
120
- }
121
- },
122
- code: {
123
- 200: {
124
- j: index_1.string
125
- },
126
- 404: {
127
- k: index_1.string
128
- }
129
- },
130
- flag: {
131
- a: true,
132
- b: false
133
- }
138
+ });
139
+ });
134
140
  });
135
141
  //# sourceMappingURL=largeSchema.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"largeSchema.test.js","sourceRoot":"","sources":["../../../tests/zod/largeSchema.test.ts"],"names":[],"mappings":";;AACA,2CAAyI;AAEzI,MAAM,OAAO,GAAG;IACZ,CAAC,EAAE;QACC,CAAC,EAAE;YACC,CAAC,EAAE;gBACC,CAAC,EAAE;oBACC,CAAC,EAAE;wBACC,CAAC,EAAE;4BACC,CAAC,EAAE;gCACC,CAAC,EAAE;oCACC,CAAC,EAAE;wCACC,CAAC,EAAC;4CACE,CAAC,EAAE;gDACC,CAAC,EAAE;oDACC,CAAC,EAAE;wDACC,CAAC,EAAE;4DACC,CAAC,EAAE,QAAiB;yDACvB;qDACJ;iDACJ;6CACJ;yCACJ;qCACJ;iCACJ;6BACJ;yBACJ;qBACJ;iBACJ;aACJ;SACJ;KACJ;CACJ,CAAA;AAGD,MAAM,OAAO,GAAG;IACZ,CAAC,EAAE;QACC,CAAC,EAAE,cAAM;QACT,CAAC,EAAE;YACC,CAAC,EAAE;gBACC,CAAC,EAAE;oBACC,CAAC,EAAE;wBACC,CAAC,EAAE;4BACC,CAAC,EAAE;gCACC,CAAC,EAAE;oCACC,CAAC,EAAE;wCACC,CAAC,EAAC;4CACE,CAAC,EAAE;gDACC,CAAC,EAAE;oDACC,CAAC,EAAE;wDACC,CAAC,EAAE;4DACC,CAAC,EAAE,cAAM;yDACZ;qDACJ;iDACJ;6CACJ;yCACJ;qCACJ;iCACJ;6BACJ;yBACJ;qBACJ;iBACJ;aACJ;SACJ;KACJ;CACJ,CAAA;AAED,MAAM,SAAS,GAAG,IAAA,aAAK,EAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;AAG3C,MAAM,SAAS,GAAG,IAAA,aAAK,EAAC;IACpB,MAAM,EAAE;QACJ,IAAI,EAAE;YACF,CAAC,EAAE,IAAA,aAAK,EAAC,CAAC,cAAM,EAAE,cAAM,EAAE,YAAI,EAAE,eAAO,EAAE,cAAM,EAAE,aAAK,EAAE,cAAM,EAAE,aAAK,CAAC,CAAC;YACvE,CAAC,EAAE,IAAA,gBAAQ,EAAC,IAAA,aAAK,EAAC,CAAC,IAAA,aAAK,EAAC;oBACrB,CAAC,EAAE,IAAA,aAAK,EAAC,cAAM,CAAC;iBACnB,CAAC,EAAE,cAAM,CAAC,CAAC,CAAC;YACb,CAAC,EAAE;gBACC,CAAC,EAAE,IAAA,gBAAQ,EAAC,cAAM,CAAC;gBACnB,CAAC,EAAE,cAAM;gBACT,CAAC,EAAE;oBACC,CAAC,EAAE,cAAM;oBACT,CAAC,EAAE,cAAM;oBACT,CAAC,EAAE;wBACC,CAAC,EAAE,cAAM;wBACT,CAAC,EAAE,cAAM;wBACT,CAAC,EAAE;4BACC,CAAC,EAAE,cAAM;4BACT,CAAC,EAAE,cAAM;4BACT,CAAC,EAAE;gCACC,CAAC,EAAE,eAAO;gCACV,CAAC,EAAE,IAAA,aAAK,EAAC,cAAM,CAAC;gCAChB,CAAC,EAAE,IAAA,gBAAQ,EAAC,IAAA,aAAK,EAAC,CAAC,cAAM,EAAE,cAAM,CAAC,CAAC,CAAC;gCACpC,CAAC,EAAE;oCACC,CAAC,EAAE,cAAM;oCACT,CAAC,EAAE,cAAM;iCACZ;6BACJ;yBACJ;qBACJ;iBACJ;aACJ;SACJ;QACD,gBAAgB,EAAE;YACd,CAAC,EAAE,IAAA,aAAK,EAAC,CAAC,cAAM,EAAE,eAAO,EAAE,cAAM,EAAE,aAAK,CAAC,CAAC;YAC1C,CAAC,EAAE,IAAA,gBAAQ,EAAC,IAAA,aAAK,EAAC,cAAM,CAAC,CAAC;YAC1B,CAAC,EAAE;gBACC,CAAC,EAAE,cAAM;gBACT,CAAC,EAAE,cAAM;gBACT,CAAC,EAAE;oBACC,CAAC,EAAE,cAAM;oBACT,CAAC,EAAE,cAAM;iBACZ;aACJ;SACJ;QACD,gBAAgB,EAAE;YACd,CAAC,EAAE,cAAM;YACT,CAAC,EAAE,IAAA,aAAK,EAAC,CAAC,cAAM,EAAE,IAAA,aAAK,EAAC,eAAO,CAAC,CAAC,CAAC;YAClC,CAAC,EAAE;gBACC,CAAC,EAAE,cAAM;gBACT,CAAC,EAAE,cAAM;aACZ;SACJ;KACJ;IACD,IAAI,EAAE;QACF,GAAG,EAAE;YACD,CAAC,EAAE,cAAM;SACZ;QACD,GAAG,EAAE;YACD,CAAC,EAAE,cAAM;SACZ;KACJ;IACD,IAAI,EAAE;QACF,CAAC,EAAE,IAAa;QAChB,CAAC,EAAE,KAAc;KACpB;CACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"largeSchema.test.js","sourceRoot":"","sources":["../../../tests/zod/largeSchema.test.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ import { TIdiomaticSchema, TResolve, TUnionContainer, UnionTResolve } from './ty
13
13
  * Class representing a TypeBox schema definition.
14
14
  * @implements {SchemaValidator}
15
15
  */
16
- export declare class TypeboxSchemaValidator implements SchemaValidator<TUnionContainer, TIdiomaticSchema, TSchema> {
16
+ export declare class TypeboxSchemaValidator implements SchemaValidator<(<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) => SchemaObject> {
17
17
  string: import("@sinclair/typebox").TString;
18
18
  number: import("@sinclair/typebox").TNumber;
19
19
  bigint: import("@sinclair/typebox").TBigInt;
@@ -63,7 +63,7 @@ export declare class TypeboxSchemaValidator implements SchemaValidator<TUnionCon
63
63
  * @param {unknown} value - The value to validate.
64
64
  * @returns {boolean} True if valid, otherwise false.
65
65
  */
66
- validate<T extends TSchema>(schema: T, value: unknown): boolean;
66
+ validate<T extends TIdiomaticSchema | TSchema>(schema: T, value: unknown): boolean;
67
67
  /**
68
68
  * Convert a schema to an OpenAPI schema object.
69
69
  * @param {TIdiomaticSchema | TSchema} schema - The schema to convert.
@@ -42,8 +42,8 @@ class TypeboxSchemaValidator {
42
42
  newSchema[key] = schema[key];
43
43
  }
44
44
  else {
45
- const scheme = this.schemify(schema[key]);
46
- newSchema[key] = scheme;
45
+ const schemified = this.schemify(schema[key]);
46
+ newSchema[key] = schemified;
47
47
  }
48
48
  });
49
49
  return typebox_1.Type.Object(newSchema);
@@ -57,8 +57,8 @@ class TypeboxSchemaValidator {
57
57
  if (typebox_1.Kind in schema) {
58
58
  return typebox_1.Type.Optional(schema);
59
59
  }
60
- const scheme = this.schemify(schema);
61
- return typebox_1.Type.Optional(scheme);
60
+ const schemified = this.schemify(schema);
61
+ return typebox_1.Type.Optional(schemified);
62
62
  }
63
63
  /**
64
64
  * Create an array schema.
@@ -69,8 +69,8 @@ class TypeboxSchemaValidator {
69
69
  if (typebox_1.Kind in schema) {
70
70
  return typebox_1.Type.Array(schema);
71
71
  }
72
- const scheme = this.schemify(schema);
73
- return typebox_1.Type.Array(scheme);
72
+ const schemified = this.schemify(schema);
73
+ return typebox_1.Type.Array(schemified);
74
74
  }
75
75
  /**
76
76
  * Create a union schema.
@@ -104,7 +104,11 @@ class TypeboxSchemaValidator {
104
104
  * @returns {boolean} True if valid, otherwise false.
105
105
  */
106
106
  validate(schema, value) {
107
- return value_1.Value.Check(schema, value);
107
+ if (typebox_1.Kind in schema) {
108
+ return value_1.Value.Check(schema, value);
109
+ }
110
+ const schemified = this.schemify(schema);
111
+ return value_1.Value.Check(schemified, value);
108
112
  }
109
113
  /**
110
114
  * Convert a schema to an OpenAPI schema object.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../typebox/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../typebox/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,+CAA6F;AAC7F,mDAAgD;AAShD;;;GAGG;AACH,MAAa,sBAAsB;IAS/B,MAAM,GAAG,cAAI,CAAC,MAAM,EAAE,CAAC;IACvB,MAAM,GAAG,cAAI,CAAC,MAAM,EAAE,CAAC;IACvB,MAAM,GAAG,cAAI,CAAC,MAAM,EAAE,CAAC;IACvB,OAAO,GAAG,cAAI,CAAC,OAAO,EAAE,CAAC;IACzB,IAAI,GAAG,cAAI,CAAC,IAAI,EAAE,CAAC;IACnB,MAAM,GAAG,cAAI,CAAC,MAAM,EAAE,CAAC;IACvB,KAAK,GAAG,cAAI,CAAC,KAAK,CAAC,CAAC,cAAI,CAAC,IAAI,EAAE,EAAE,cAAI,CAAC,IAAI,EAAE,EAAE,cAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACjE,GAAG,GAAG,cAAI,CAAC,GAAG,EAAE,CAAC;IACjB,OAAO,GAAG,cAAI,CAAC,OAAO,EAAE,CAAC;IACzB,KAAK,GAAG,cAAI,CAAC,KAAK,EAAE,CAAC;IAErB;;;;OAIG;IACH,QAAQ,CAA6B,MAAS;QAC1C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,SAAS,EAAE,CAAC;YAC1F,OAAO,cAAI,CAAC,OAAO,CAAC,MAAM,CAAgB,CAAC;QAC/C,CAAC;QAED,IAAI,cAAI,IAAK,MAAkB,EAAE,CAAC;YAC9B,OAAO,MAAqB,CAAC;QACjC,CAAC;QAED,MAAM,SAAS,GAAiB,EAAE,CAAC;QACnC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC/C,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,cAAI,IAAK,MAAM,CAAC,GAAG,CAAa,EAAE,CAAC;gBACtE,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAY,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACJ,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9C,SAAS,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;YAChC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,cAAI,CAAC,MAAM,CAAC,SAAS,CAAgB,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAA6B,MAAS;QAC1C,IAAI,cAAI,IAAK,MAAkB,EAAE,CAAC;YAC9B,OAAO,cAAI,CAAC,QAAQ,CAAC,MAAiB,CAA2B,CAAC;QACtE,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACzC,OAAO,cAAI,CAAC,QAAQ,CAAC,UAAU,CAA2B,CAAC;IAC/D,CAAC;IAED;;;;OAIG;IACH,KAAK,CAA6B,MAAS;QACvC,IAAI,cAAI,IAAK,MAAkB,EAAE,CAAC;YAC9B,OAAO,cAAI,CAAC,KAAK,CAAC,MAAiB,CAAwB,CAAC;QAChE,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACzC,OAAO,cAAI,CAAC,KAAK,CAAC,UAAU,CAAwB,CAAC;IACzD,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAA4B,OAAU;QACvC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACtC,IAAI,cAAI,IAAK,MAAkB,EAAE,CAAC;gBAC9B,OAAO,MAAiB,CAAC;YAC7B,CAAC;YACD,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,OAAO,cAAI,CAAC,KAAK,CAAC,UAAU,CAA6B,CAAC;IAC9D,CAAC;IAED;;;;OAIG;IACH,OAAO,CAA0B,KAAQ;QACrC,OAAO,cAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAuC,MAAS,EAAE,KAAc;QACpE,IAAI,cAAI,IAAK,MAAkB,EAAE,CAAC;YAC9B,OAAO,aAAK,CAAC,KAAK,CAAC,MAAiB,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACzC,OAAO,aAAK,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAuC,MAAS;QACnD,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;CACJ;AA3HD,wDA2HC;AAED;;;GAGG;AACI,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,IAAI,sBAAsB,EAAE,CAAC;AAAnD,QAAA,aAAa,iBAAsC;AAEhE,MAAM,eAAe,GAAG,IAAA,qBAAa,GAAE,CAAC;AAExC;;GAEG;AACU,QAAA,MAAM,GAAkC,eAAe,CAAC,MAAM,CAAC;AAE5E;;GAEG;AACU,QAAA,MAAM,GAAkC,eAAe,CAAC,MAAM,CAAC;AAE5E;;GAEG;AACU,QAAA,MAAM,GAAkC,eAAe,CAAC,MAAM,CAAC;AAE5E;;GAEG;AACU,QAAA,OAAO,GAAmC,eAAe,CAAC,OAAO,CAAC;AAE/E;;GAEG;AACU,QAAA,IAAI,GAAgC,eAAe,CAAC,IAAI,CAAC;AAEtE;;GAEG;AACU,QAAA,MAAM,GAAkC,eAAe,CAAC,MAAM,CAAC;AAE5E;;GAEG;AACU,QAAA,KAAK,GAAiC,eAAe,CAAC,KAAK,CAAC;AAEzE;;GAEG;AACU,QAAA,GAAG,GAA+B,eAAe,CAAC,GAAG,CAAC;AAEnE;;GAEG;AACU,QAAA,OAAO,GAAmC,eAAe,CAAC,OAAO,CAAC;AAE/E;;GAEG;AACU,QAAA,KAAK,GAAiC,eAAe,CAAC,KAAK,CAAC;AAEzE;;GAEG;AACU,QAAA,QAAQ,GAAoC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AAExG;;GAEG;AACU,QAAA,QAAQ,GAAoC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AAExG;;GAEG;AACU,QAAA,KAAK,GAAiC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AAE/F;;GAEG;AACU,QAAA,KAAK,GAAiC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AAE/F;;GAEG;AACU,QAAA,OAAO,GAAmC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AAErG;;GAEG;AACU,QAAA,QAAQ,GAAoC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AAExG;;GAEG;AACU,QAAA,OAAO,GAAmC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC"}
@@ -13,7 +13,7 @@ import { UnionZodResolve, ZodCatchall, ZodIdiomaticSchema, ZodResolve, ZodUnionC
13
13
  * Class representing a Zod schema definition.
14
14
  * @implements {SchemaValidator}
15
15
  */
16
- export declare class ZodSchemaValidator implements SchemaValidator<ZodUnionContainer, ZodIdiomaticSchema, ZodCatchall> {
16
+ export declare class ZodSchemaValidator implements SchemaValidator<(<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 ZodIdiomaticSchema>(schema: T) => SchemaObject> {
17
17
  string: z.ZodString;
18
18
  number: z.ZodNumber;
19
19
  bigint: z.ZodBigInt;
package/dist/zod/index.js CHANGED
@@ -101,8 +101,7 @@ class ZodSchemaValidator {
101
101
  * @returns {boolean} True if valid, otherwise false.
102
102
  */
103
103
  validate(schema, value) {
104
- schema.parse(value);
105
- return true;
104
+ return schema.safeParse(value).success;
106
105
  }
107
106
  /**
108
107
  * Convert a schema to an OpenAPI schema object.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../zod/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../zod/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forklaunch/validator",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
4
4
  "description": "Schema validator for ForkLaunch components.",
5
5
  "files": [
6
6
  "dist"
@@ -33,6 +33,7 @@
33
33
  },
34
34
  "devDependencies": {
35
35
  "@eslint/js": "^9.6.0",
36
+ "@types/jest": "^29.5.12",
36
37
  "globals": "^15.7.0",
37
38
  "openapi3-ts": "^4.3.3",
38
39
  "ts-jest": "^29.1.5",