@forklaunch/validator 0.2.0 → 0.2.2
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 +2 -2
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces/index.d.ts +1 -0
- package/dist/interfaces/index.js +18 -0
- package/dist/interfaces/index.js.map +1 -0
- package/dist/interfaces/schemaValidator.interfaces.d.ts +1 -1
- package/dist/tests/typebox/equality.test.js +124 -0
- package/dist/tests/typebox/equality.test.js.map +1 -1
- package/dist/tests/typebox/largeSchema.test.js +82 -76
- package/dist/tests/typebox/largeSchema.test.js.map +1 -1
- package/dist/tests/zod/equality.test.js +169 -41
- package/dist/tests/zod/equality.test.js.map +1 -1
- package/dist/tests/zod/largeSchema.test.js +82 -76
- package/dist/tests/zod/largeSchema.test.js.map +1 -1
- package/dist/typebox/index.d.ts +1 -1
- package/dist/typebox/index.js +11 -7
- package/dist/typebox/index.js.map +1 -1
- package/dist/zod/index.js +1 -2
- package/dist/zod/index.js.map +1 -1
- package/package.json +2 -1
package/dist/index.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ import { ZodCatchall, ZodObject, ZodObjectShape, ZodOuterArray, ZodResolve, ZodS
|
|
|
14
14
|
* Interface representing any schema validator.
|
|
15
15
|
* Extends the SchemaValidator interface with any schema types.
|
|
16
16
|
*/
|
|
17
|
-
type AnySchemaValidator = TypeboxSchemaValidator | ZodSchemaValidator;
|
|
17
|
+
export type AnySchemaValidator = TypeboxSchemaValidator | ZodSchemaValidator;
|
|
18
18
|
/**
|
|
19
19
|
* Type alias for a schema object shape.
|
|
20
20
|
* Resolves to ZodObjectShape for Zod schemas and TObjectShape for TypeBox schemas.
|
|
@@ -84,4 +84,4 @@ export type ValidSchemaObject<SV extends AnySchemaValidator> = SchemaObject<Sche
|
|
|
84
84
|
* @template SV - SchemaValidator type.
|
|
85
85
|
*/
|
|
86
86
|
export type Schema<T extends ValidSchemaObject<SV> | IdiomaticSchema<SchemaCatchall<SV>>, SV extends AnySchemaValidator> = SchemaPrettify<SchemaResolve<T, SV>, SV>;
|
|
87
|
-
export
|
|
87
|
+
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;;;;;;;;;;;;;;;;AAqHH,+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"}
|
|
@@ -7,7 +7,7 @@ import { LiteralSchema } from "../types/schema.types";
|
|
|
7
7
|
* @template IdiomaticSchema - The type for idiomatic schemas.
|
|
8
8
|
* @template Catchall - The catch-all type for all schemas.
|
|
9
9
|
*/
|
|
10
|
-
export interface SchemaValidator<UnionContainer, IdiomaticSchema, Catchall> {
|
|
10
|
+
export interface SchemaValidator<UnionContainer = unknown, IdiomaticSchema = unknown, Catchall = unknown> {
|
|
11
11
|
/**
|
|
12
12
|
* Validator for string type.
|
|
13
13
|
*/
|
|
@@ -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":";;
|
|
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
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
68
|
-
const realistic = (0, index_1.array)({
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
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
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
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
|
-
|
|
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":";;AACA,+
|
|
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
|
|
5
|
-
const
|
|
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,
|
|
8
|
-
t: (0,
|
|
9
|
-
y: (0,
|
|
10
|
-
}),
|
|
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,
|
|
13
|
-
b:
|
|
14
|
+
a: (0, zod_2.optional)(zod_2.string),
|
|
15
|
+
b: zod_2.number,
|
|
14
16
|
c: {
|
|
15
|
-
d:
|
|
16
|
-
e:
|
|
17
|
+
d: zod_2.string,
|
|
18
|
+
e: zod_2.number
|
|
17
19
|
}
|
|
18
20
|
}
|
|
19
21
|
},
|
|
20
22
|
200: {
|
|
21
|
-
j:
|
|
23
|
+
j: zod_2.string
|
|
22
24
|
},
|
|
23
25
|
m: {
|
|
24
26
|
a: true
|
|
25
27
|
}
|
|
26
28
|
});
|
|
27
|
-
const two = (0,
|
|
29
|
+
const two = (0, zod_2.array)({
|
|
28
30
|
name: {
|
|
29
|
-
j: (0,
|
|
30
|
-
t: (0,
|
|
31
|
-
y: (0,
|
|
32
|
-
}),
|
|
33
|
-
m: (0,
|
|
34
|
-
a: (0,
|
|
35
|
-
b:
|
|
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:
|
|
38
|
-
e:
|
|
39
|
+
d: zod_2.string,
|
|
40
|
+
e: zod_2.number
|
|
39
41
|
}
|
|
40
42
|
})
|
|
41
43
|
},
|
|
42
44
|
200: {
|
|
43
|
-
j:
|
|
45
|
+
j: zod_2.string
|
|
44
46
|
},
|
|
45
47
|
m: {
|
|
46
48
|
a: true
|
|
47
49
|
}
|
|
48
50
|
});
|
|
49
|
-
const three = (0,
|
|
50
|
-
name: (0,
|
|
51
|
-
j: (0,
|
|
52
|
-
t: (0,
|
|
53
|
-
y: (0,
|
|
54
|
-
}),
|
|
55
|
-
m: (0,
|
|
56
|
-
a: (0,
|
|
57
|
-
b:
|
|
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:
|
|
60
|
-
e:
|
|
61
|
+
d: zod_2.string,
|
|
62
|
+
e: zod_2.number
|
|
61
63
|
}
|
|
62
64
|
})
|
|
63
65
|
}),
|
|
64
|
-
200: (0,
|
|
65
|
-
j:
|
|
66
|
+
200: (0, zod_2.schemify)({
|
|
67
|
+
j: zod_2.string
|
|
66
68
|
}),
|
|
67
|
-
m: (0,
|
|
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:
|
|
78
|
-
non:
|
|
79
|
+
s: zod_2.string,
|
|
80
|
+
non: zod_2.number
|
|
79
81
|
};
|
|
80
|
-
const shortTwo = (0,
|
|
81
|
-
s:
|
|
82
|
-
non:
|
|
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":";;
|
|
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
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
68
|
-
const realistic = (0, index_1.array)({
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
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
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
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
|
-
|
|
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,
|
|
1
|
+
{"version":3,"file":"largeSchema.test.js","sourceRoot":"","sources":["../../../tests/zod/largeSchema.test.ts"],"names":[],"mappings":";;AACA,2CAA0I;AAE1I,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAE,YAAY,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,OAAO,GAAG;YACZ,CAAC,EAAE;gBACC,CAAC,EAAE;oBACC,CAAC,EAAE;wBACC,CAAC,EAAE;4BACC,CAAC,EAAE;gCACC,CAAC,EAAE;oCACC,CAAC,EAAE;wCACC,CAAC,EAAE;4CACC,CAAC,EAAE;gDACC,CAAC,EAAC;oDACE,CAAC,EAAE;wDACC,CAAC,EAAE;4DACC,CAAC,EAAE;gEACC,CAAC,EAAE;oEACC,CAAC,EAAE,QAAiB;iEACvB;6DACJ;yDACJ;qDACJ;iDACJ;6CACJ;yCACJ;qCACJ;iCACJ;6BACJ;yBACJ;qBACJ;iBACJ;aACJ;SACJ,CAAA;QAGD,MAAM,OAAO,GAAG;YACZ,CAAC,EAAE;gBACC,CAAC,EAAE,cAAM;gBACT,CAAC,EAAE;oBACC,CAAC,EAAE;wBACC,CAAC,EAAE;4BACC,CAAC,EAAE;gCACC,CAAC,EAAE;oCACC,CAAC,EAAE;wCACC,CAAC,EAAE;4CACC,CAAC,EAAE;gDACC,CAAC,EAAC;oDACE,CAAC,EAAE;wDACC,CAAC,EAAE;4DACC,CAAC,EAAE;gEACC,CAAC,EAAE;oEACC,CAAC,EAAE,cAAM;iEACZ;6DACJ;yDACJ;qDACJ;iDACJ;6CACJ;yCACJ;qCACJ;iCACJ;6BACJ;yBACJ;qBACJ;iBACJ;aACJ;SACJ,CAAA;QAED,MAAM,SAAS,GAAG,IAAA,aAAK,EAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;IAE/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QAC9B,MAAM,SAAS,GAAG,IAAA,aAAK,EAAC;YACpB,MAAM,EAAE;gBACJ,IAAI,EAAE;oBACF,CAAC,EAAE,IAAA,aAAK,EAAC,CAAC,cAAM,EAAE,cAAM,EAAE,YAAI,EAAE,eAAO,EAAE,cAAM,EAAE,aAAK,EAAE,cAAM,EAAE,aAAK,CAAC,CAAC;oBACvE,CAAC,EAAE,IAAA,gBAAQ,EAAC,IAAA,aAAK,EAAC,CAAC,IAAA,aAAK,EAAC;4BACrB,CAAC,EAAE,IAAA,aAAK,EAAC,cAAM,CAAC;yBACnB,CAAC,EAAE,cAAM,CAAC,CAAC,CAAC;oBACb,CAAC,EAAE;wBACC,CAAC,EAAE,IAAA,gBAAQ,EAAC,cAAM,CAAC;wBACnB,CAAC,EAAE,cAAM;wBACT,CAAC,EAAE;4BACC,CAAC,EAAE,cAAM;4BACT,CAAC,EAAE,cAAM;4BACT,CAAC,EAAE;gCACC,CAAC,EAAE,cAAM;gCACT,CAAC,EAAE,cAAM;gCACT,CAAC,EAAE;oCACC,CAAC,EAAE,cAAM;oCACT,CAAC,EAAE,cAAM;oCACT,CAAC,EAAE;wCACC,CAAC,EAAE,eAAO;wCACV,CAAC,EAAE,IAAA,aAAK,EAAC,cAAM,CAAC;wCAChB,CAAC,EAAE,IAAA,gBAAQ,EAAC,IAAA,aAAK,EAAC,CAAC,cAAM,EAAE,cAAM,CAAC,CAAC,CAAC;wCACpC,CAAC,EAAE;4CACC,CAAC,EAAE,cAAM;4CACT,CAAC,EAAE,cAAM;yCACZ;qCACJ;iCACJ;6BACJ;yBACJ;qBACJ;iBACJ;gBACD,gBAAgB,EAAE;oBACd,CAAC,EAAE,IAAA,aAAK,EAAC,CAAC,cAAM,EAAE,eAAO,EAAE,cAAM,EAAE,aAAK,CAAC,CAAC;oBAC1C,CAAC,EAAE,IAAA,gBAAQ,EAAC,IAAA,aAAK,EAAC,cAAM,CAAC,CAAC;oBAC1B,CAAC,EAAE;wBACC,CAAC,EAAE,cAAM;wBACT,CAAC,EAAE,cAAM;wBACT,CAAC,EAAE;4BACC,CAAC,EAAE,cAAM;4BACT,CAAC,EAAE,cAAM;yBACZ;qBACJ;iBACJ;gBACD,gBAAgB,EAAE;oBACd,CAAC,EAAE,cAAM;oBACT,CAAC,EAAE,IAAA,aAAK,EAAC,CAAC,cAAM,EAAE,IAAA,aAAK,EAAC,eAAO,CAAC,CAAC,CAAC;oBAClC,CAAC,EAAE;wBACC,CAAC,EAAE,cAAM;wBACT,CAAC,EAAE,cAAM;qBACZ;iBACJ;aACJ;YACD,IAAI,EAAE;gBACF,GAAG,EAAE;oBACD,CAAC,EAAE,cAAM;iBACZ;gBACD,GAAG,EAAE;oBACD,CAAC,EAAE,cAAM;iBACZ;aACJ;YACD,IAAI,EAAE;gBACF,CAAC,EAAE,IAAa;gBAChB,CAAC,EAAE,KAAc;aACpB;SACJ,CAAC,CAAC;IAGP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
package/dist/typebox/index.d.ts
CHANGED
|
@@ -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.
|
package/dist/typebox/index.js
CHANGED
|
@@ -42,8 +42,8 @@ class TypeboxSchemaValidator {
|
|
|
42
42
|
newSchema[key] = schema[key];
|
|
43
43
|
}
|
|
44
44
|
else {
|
|
45
|
-
const
|
|
46
|
-
newSchema[key] =
|
|
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
|
|
61
|
-
return typebox_1.Type.Optional(
|
|
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
|
|
73
|
-
return typebox_1.Type.Array(
|
|
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
|
-
|
|
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":";AAAA;;;;;GAKG;;;AAEH,+CAA6F;AAC7F,mDAAgD;AAMhD;;;GAGG;AACH,MAAa,sBAAsB;IAK/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,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../typebox/index.ts"],"names":[],"mappings":"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"}
|
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.
|
|
105
|
-
return true;
|
|
104
|
+
return schema.safeParse(value).success;
|
|
106
105
|
}
|
|
107
106
|
/**
|
|
108
107
|
* Convert a schema to an OpenAPI schema object.
|
package/dist/zod/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../zod/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,sDAAsD;AAEtD,6BAA2F;AAK3F;;;GAGG;AACH,MAAa,kBAAkB;IAK3B,MAAM,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC;IACpB,MAAM,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC;IACpB,MAAM,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC;IACpB,OAAO,GAAG,OAAC,CAAC,OAAO,EAAE,CAAC;IACtB,IAAI,GAAG,OAAC,CAAC,IAAI,EAAE,CAAC;IAChB,MAAM,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC;IACpB,KAAK,GAAG,OAAC,CAAC,KAAK,CAAC,CAAC,OAAC,CAAC,IAAI,EAAE,EAAE,OAAC,CAAC,IAAI,EAAE,EAAE,OAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACrD,GAAG,GAAG,OAAC,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,GAAG,OAAC,CAAC,OAAO,EAAE,CAAC;IACtB,KAAK,GAAG,OAAC,CAAC,KAAK,EAAE,CAAC;IAElB;;;;OAIG;IACH,QAAQ,CAA+B,MAAS;QAC5C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,SAAS,EAAE,CAAC;YAC1F,OAAO,OAAC,CAAC,OAAO,CAAC,MAAM,CAAkB,CAAC;QAC9C,CAAC;QAED,IAAI,MAAM,YAAY,aAAO,EAAE,CAAC;YAC5B,OAAO,MAAuB,CAAC;QACnC,CAAC;QAED,MAAM,SAAS,GAAgB,EAAE,CAAC;QAClC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC/C,IAAI,MAAM,CAAC,GAAG,CAAC,YAAY,aAAO,EAAE,CAAC;gBACjC,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAuB,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACJ,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAChD,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,OAAC,CAAC,MAAM,CAAC,SAAS,CAAkB,CAAC;IAChD,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAA+B,MAAS;QAC5C,IAAI,MAAM,YAAY,aAAO,EAAE,CAAC;YAC5B,OAAO,MAAM,CAAC,QAAQ,EAAgC,CAAC;QAC3D,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAgC,CAAC;IAC1E,CAAC;IAED;;;;OAIG;IACH,KAAK,CAA+B,MAAS;QACzC,IAAI,MAAM,YAAY,aAAO,EAAE,CAAC;YAC5B,OAAO,MAAM,CAAC,KAAK,EAA6B,CAAC;QACrD,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAA6B,CAAC;IACpE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAA8B,OAAU;QACzC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACtC,IAAI,MAAM,YAAY,aAAO,EAAE,CAAC;gBAC5B,OAAO,MAAM,CAAC;YAClB,CAAC;YACD,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,OAAO,OAAC,CAAC,KAAK,CAAC,UAAyD,CAAiC,CAAC;IAC9G,CAAC;IAED;;;;OAIG;IACH,OAAO,CAA0B,KAAQ;QACrC,OAAO,OAAC,CAAC,OAAO,CAAC,KAAK,CAA8B,CAAC;IACzD,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAwB,MAAS,EAAE,KAAc;QACrD,MAAM,CAAC,
|
|
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.
|
|
3
|
+
"version": "0.2.2",
|
|
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",
|