@forklaunch/validator 0.2.7 → 0.2.8
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 +1 -0
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -0
- package/dist/jest.config.d.ts +3 -0
- package/dist/jest.config.js +10 -0
- package/dist/jest.config.js.map +1 -0
- package/dist/tests/mockSchemaValidator.d.ts +50 -0
- package/dist/tests/mockSchemaValidator.js +59 -0
- package/dist/tests/mockSchemaValidator.js.map +1 -0
- package/dist/tests/typebox/equality.test.d.ts +1 -0
- package/dist/tests/typebox/equality.test.js +234 -0
- package/dist/tests/typebox/equality.test.js.map +1 -0
- package/dist/tests/typebox/largeSchema.test.d.ts +1 -0
- package/dist/tests/typebox/largeSchema.test.js +153 -0
- package/dist/tests/typebox/largeSchema.test.js.map +1 -0
- package/dist/tests/zod/equality.test.d.ts +1 -0
- package/dist/tests/zod/equality.test.js +238 -0
- package/dist/tests/zod/equality.test.js.map +1 -0
- package/dist/tests/zod/largeSchema.test.d.ts +1 -0
- package/dist/tests/zod/largeSchema.test.js +153 -0
- package/dist/tests/zod/largeSchema.test.js.map +1 -0
- package/dist/typebox/index.d.ts +150 -0
- package/dist/typebox/index.js +203 -0
- package/dist/typebox/index.js.map +1 -0
- package/dist/typebox/types/typebox.schema.types.d.ts +63 -0
- package/dist/typebox/types/typebox.schema.types.js +3 -0
- package/dist/typebox/types/typebox.schema.types.js.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.js +18 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/schema.types.d.ts +157 -0
- package/dist/types/schema.types.js +3 -0
- package/dist/types/schema.types.js.map +1 -0
- package/dist/zod/index.d.ts +147 -0
- package/dist/zod/index.js +196 -0
- package/dist/zod/index.js.map +1 -0
- package/dist/zod/types/zod.schema.types.d.ts +70 -0
- package/dist/zod/types/zod.schema.types.js +3 -0
- package/dist/zod/types/zod.schema.types.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.assert = assert;
|
|
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)({
|
|
8
|
+
name: {
|
|
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)([
|
|
11
|
+
(0, zod_2.array)({
|
|
12
|
+
y: (0, zod_2.array)(zod_2.number)
|
|
13
|
+
}),
|
|
14
|
+
zod_2.string
|
|
15
|
+
])),
|
|
16
|
+
m: {
|
|
17
|
+
a: (0, zod_2.optional)(zod_2.string),
|
|
18
|
+
b: zod_2.number,
|
|
19
|
+
c: {
|
|
20
|
+
d: zod_2.string,
|
|
21
|
+
e: zod_2.number
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
200: {
|
|
26
|
+
j: zod_2.string
|
|
27
|
+
},
|
|
28
|
+
m: {
|
|
29
|
+
a: true
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
const two = (0, zod_2.array)({
|
|
33
|
+
name: {
|
|
34
|
+
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]),
|
|
35
|
+
t: (0, zod_2.optional)((0, zod_2.union)([
|
|
36
|
+
(0, zod_2.array)({
|
|
37
|
+
y: (0, zod_2.array)(zod_2.number)
|
|
38
|
+
}),
|
|
39
|
+
zod_2.string
|
|
40
|
+
])),
|
|
41
|
+
m: (0, zod_2.schemify)({
|
|
42
|
+
a: (0, zod_2.optional)(zod_2.string),
|
|
43
|
+
b: zod_2.number,
|
|
44
|
+
c: {
|
|
45
|
+
d: zod_2.string,
|
|
46
|
+
e: zod_2.number
|
|
47
|
+
}
|
|
48
|
+
})
|
|
49
|
+
},
|
|
50
|
+
200: {
|
|
51
|
+
j: zod_2.string
|
|
52
|
+
},
|
|
53
|
+
m: {
|
|
54
|
+
a: true
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
const three = (0, zod_2.schemify)((0, zod_2.array)((0, zod_2.schemify)({
|
|
58
|
+
name: (0, zod_2.schemify)({
|
|
59
|
+
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]),
|
|
60
|
+
t: (0, zod_2.optional)((0, zod_2.union)([
|
|
61
|
+
(0, zod_2.array)({
|
|
62
|
+
y: (0, zod_2.array)(zod_2.number)
|
|
63
|
+
}),
|
|
64
|
+
zod_2.string
|
|
65
|
+
])),
|
|
66
|
+
m: (0, zod_2.schemify)({
|
|
67
|
+
a: (0, zod_2.optional)(zod_2.string),
|
|
68
|
+
b: zod_2.number,
|
|
69
|
+
c: {
|
|
70
|
+
d: zod_2.string,
|
|
71
|
+
e: zod_2.number
|
|
72
|
+
}
|
|
73
|
+
})
|
|
74
|
+
}),
|
|
75
|
+
200: (0, zod_2.schemify)({
|
|
76
|
+
j: zod_2.string
|
|
77
|
+
}),
|
|
78
|
+
m: (0, zod_2.schemify)({
|
|
79
|
+
a: true
|
|
80
|
+
})
|
|
81
|
+
})));
|
|
82
|
+
function assert() { }
|
|
83
|
+
assert();
|
|
84
|
+
assert();
|
|
85
|
+
assert();
|
|
86
|
+
assert();
|
|
87
|
+
const shortOne = {
|
|
88
|
+
s: zod_2.string,
|
|
89
|
+
non: zod_2.number
|
|
90
|
+
};
|
|
91
|
+
const shortTwo = (0, zod_2.schemify)({
|
|
92
|
+
s: zod_2.string,
|
|
93
|
+
non: zod_2.number
|
|
94
|
+
});
|
|
95
|
+
assert();
|
|
96
|
+
assert();
|
|
97
|
+
const compareSchemas = (schema1, schema2) => {
|
|
98
|
+
return JSON.stringify(schema1) === JSON.stringify(schema2);
|
|
99
|
+
};
|
|
100
|
+
describe('Zod Equality Tests', () => {
|
|
101
|
+
let schema;
|
|
102
|
+
let schemified;
|
|
103
|
+
let expectedSchema;
|
|
104
|
+
beforeAll(() => {
|
|
105
|
+
schema = {
|
|
106
|
+
hello: {
|
|
107
|
+
world: zod_2.string
|
|
108
|
+
},
|
|
109
|
+
foo: {
|
|
110
|
+
bar: zod_2.number
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
schemified = (0, zod_2.schemify)(schema);
|
|
114
|
+
expectedSchema = zod_1.z.object({
|
|
115
|
+
hello: zod_1.z.object({
|
|
116
|
+
world: zod_1.z.string()
|
|
117
|
+
}),
|
|
118
|
+
foo: zod_1.z.object({
|
|
119
|
+
bar: zod_1.z.number()
|
|
120
|
+
})
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
test('Schema Equality', async () => {
|
|
124
|
+
expect(compareSchemas(schemified, expectedSchema)).toBe(true);
|
|
125
|
+
expect(compareSchemas(schemified, (0, zod_2.schemify)({
|
|
126
|
+
hello: {
|
|
127
|
+
world: zod_2.string
|
|
128
|
+
},
|
|
129
|
+
foo: {
|
|
130
|
+
bar: zod_2.number
|
|
131
|
+
}
|
|
132
|
+
}))).toBe(true);
|
|
133
|
+
expect(compareSchemas(schemified, (0, zod_2.schemify)({
|
|
134
|
+
hello: (0, zod_2.schemify)({
|
|
135
|
+
world: zod_2.string
|
|
136
|
+
}),
|
|
137
|
+
foo: {
|
|
138
|
+
bar: zod_2.number
|
|
139
|
+
}
|
|
140
|
+
}))).toBe(true);
|
|
141
|
+
expect(compareSchemas(schemified, (0, zod_2.schemify)({
|
|
142
|
+
hello: {
|
|
143
|
+
world: zod_2.string
|
|
144
|
+
},
|
|
145
|
+
foo: (0, zod_2.schemify)({
|
|
146
|
+
bar: zod_2.number
|
|
147
|
+
})
|
|
148
|
+
}))).toBe(true);
|
|
149
|
+
expect(compareSchemas(schemified, (0, zod_2.schemify)({
|
|
150
|
+
hello: (0, zod_2.schemify)({
|
|
151
|
+
world: zod_2.string
|
|
152
|
+
}),
|
|
153
|
+
foo: (0, zod_2.schemify)({
|
|
154
|
+
bar: zod_2.number
|
|
155
|
+
})
|
|
156
|
+
}))).toBe(true);
|
|
157
|
+
});
|
|
158
|
+
test('Optional Schema Equality', async () => {
|
|
159
|
+
const unboxSchemified = (0, zod_2.optional)(schema);
|
|
160
|
+
const boxSchemified = (0, zod_2.optional)(schemified);
|
|
161
|
+
const schemifiedExpected = zod_1.z.optional(expectedSchema);
|
|
162
|
+
expect(compareSchemas(unboxSchemified, schemifiedExpected)).toBe(true);
|
|
163
|
+
expect(compareSchemas(boxSchemified, schemifiedExpected)).toBe(true);
|
|
164
|
+
});
|
|
165
|
+
test('Array Schema Equality', async () => {
|
|
166
|
+
const unboxSchemified = (0, zod_2.array)(schema);
|
|
167
|
+
const boxSchemified = (0, zod_2.array)(schemified);
|
|
168
|
+
const schemifiedExpected = zod_1.z.array(expectedSchema);
|
|
169
|
+
expect(compareSchemas(unboxSchemified, schemifiedExpected)).toBe(true);
|
|
170
|
+
expect(compareSchemas(boxSchemified, schemifiedExpected)).toBe(true);
|
|
171
|
+
});
|
|
172
|
+
test('Union Schema Equality', async () => {
|
|
173
|
+
const unboxSchemified = (0, zod_2.union)([
|
|
174
|
+
schema,
|
|
175
|
+
{
|
|
176
|
+
test: zod_2.string
|
|
177
|
+
}
|
|
178
|
+
]);
|
|
179
|
+
const unboxSchemified2 = (0, zod_2.union)([
|
|
180
|
+
schema,
|
|
181
|
+
(0, zod_2.schemify)({
|
|
182
|
+
test: zod_2.string
|
|
183
|
+
})
|
|
184
|
+
]);
|
|
185
|
+
const boxSchemified1 = (0, zod_2.union)([
|
|
186
|
+
schemified,
|
|
187
|
+
(0, zod_2.schemify)({
|
|
188
|
+
test: zod_2.string
|
|
189
|
+
})
|
|
190
|
+
]);
|
|
191
|
+
const boxSchemified2 = (0, zod_2.union)([
|
|
192
|
+
schemified,
|
|
193
|
+
{
|
|
194
|
+
test: zod_2.string
|
|
195
|
+
}
|
|
196
|
+
]);
|
|
197
|
+
const schemifiedExpected = zod_1.z.union([
|
|
198
|
+
expectedSchema,
|
|
199
|
+
zod_1.z.object({
|
|
200
|
+
test: zod_1.z.string()
|
|
201
|
+
})
|
|
202
|
+
]);
|
|
203
|
+
expect(compareSchemas(unboxSchemified, schemifiedExpected)).toBe(true);
|
|
204
|
+
expect(compareSchemas(unboxSchemified2, schemifiedExpected)).toBe(true);
|
|
205
|
+
});
|
|
206
|
+
test('Literal Schema Equality', async () => {
|
|
207
|
+
const schemified = (0, zod_2.schemify)({
|
|
208
|
+
hello: 'world'
|
|
209
|
+
});
|
|
210
|
+
expect(compareSchemas(schemified, zod_1.z.object({
|
|
211
|
+
hello: zod_1.z.literal('world')
|
|
212
|
+
}))).toBe(true);
|
|
213
|
+
});
|
|
214
|
+
test('Validate Schema', async () => {
|
|
215
|
+
expect((0, zod_2.validate)(schemified, {
|
|
216
|
+
hello: {
|
|
217
|
+
world: 'world'
|
|
218
|
+
},
|
|
219
|
+
foo: {
|
|
220
|
+
bar: 42
|
|
221
|
+
}
|
|
222
|
+
})).toBe(true);
|
|
223
|
+
expect((0, zod_2.validate)(schemified, {
|
|
224
|
+
hello: {
|
|
225
|
+
world: 55
|
|
226
|
+
},
|
|
227
|
+
foo: {
|
|
228
|
+
bar: 42
|
|
229
|
+
}
|
|
230
|
+
})).toBe(false);
|
|
231
|
+
});
|
|
232
|
+
test('OpenAPI Conversion', async () => {
|
|
233
|
+
const schemified = (0, zod_2.schemify)(schema);
|
|
234
|
+
const openApi = (0, zod_2.openapi)(schemified);
|
|
235
|
+
expect(openApi).toEqual((0, zod_openapi_1.generateSchema)(schemified));
|
|
236
|
+
});
|
|
237
|
+
});
|
|
238
|
+
//# sourceMappingURL=equality.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"equality.test.js","sourceRoot":"","sources":["../../../tests/zod/equality.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const index_1 = require("../../zod/index");
|
|
4
|
+
describe('Zod Large Schema Tests', () => {
|
|
5
|
+
it('Deep Union', async () => {
|
|
6
|
+
const deepOne = {
|
|
7
|
+
s: {
|
|
8
|
+
s: {
|
|
9
|
+
s: {
|
|
10
|
+
s: {
|
|
11
|
+
s: {
|
|
12
|
+
s: {
|
|
13
|
+
s: {
|
|
14
|
+
s: {
|
|
15
|
+
s: {
|
|
16
|
+
s: {
|
|
17
|
+
s: {
|
|
18
|
+
s: {
|
|
19
|
+
s: {
|
|
20
|
+
s: {
|
|
21
|
+
b: 'number'
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
const deepTwo = {
|
|
38
|
+
k: {
|
|
39
|
+
o: index_1.number,
|
|
40
|
+
s: {
|
|
41
|
+
s: {
|
|
42
|
+
s: {
|
|
43
|
+
s: {
|
|
44
|
+
s: {
|
|
45
|
+
s: {
|
|
46
|
+
s: {
|
|
47
|
+
s: {
|
|
48
|
+
s: {
|
|
49
|
+
s: {
|
|
50
|
+
s: {
|
|
51
|
+
s: {
|
|
52
|
+
s: {
|
|
53
|
+
b: index_1.string
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
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)([
|
|
76
|
+
index_1.string,
|
|
77
|
+
index_1.number,
|
|
78
|
+
index_1.date,
|
|
79
|
+
index_1.boolean,
|
|
80
|
+
index_1.bigint,
|
|
81
|
+
index_1.empty,
|
|
82
|
+
index_1.symbol,
|
|
83
|
+
index_1.never
|
|
84
|
+
]),
|
|
85
|
+
t: (0, index_1.optional)((0, index_1.union)([
|
|
86
|
+
(0, index_1.array)({
|
|
87
|
+
y: (0, index_1.array)(index_1.number)
|
|
88
|
+
}),
|
|
89
|
+
index_1.string
|
|
90
|
+
])),
|
|
91
|
+
m: {
|
|
92
|
+
a: (0, index_1.optional)(index_1.string),
|
|
93
|
+
b: index_1.number,
|
|
94
|
+
c: {
|
|
95
|
+
d: index_1.string,
|
|
96
|
+
e: index_1.number,
|
|
97
|
+
f: {
|
|
98
|
+
g: index_1.string,
|
|
99
|
+
h: index_1.number,
|
|
100
|
+
i: {
|
|
101
|
+
j: index_1.string,
|
|
102
|
+
k: index_1.number,
|
|
103
|
+
l: {
|
|
104
|
+
m: index_1.boolean,
|
|
105
|
+
n: (0, index_1.array)(index_1.string),
|
|
106
|
+
o: (0, index_1.optional)((0, index_1.union)([index_1.string, index_1.number])),
|
|
107
|
+
p: {
|
|
108
|
+
q: index_1.string,
|
|
109
|
+
r: index_1.number
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
additionalField1: {
|
|
118
|
+
a: (0, index_1.union)([index_1.string, index_1.boolean, index_1.bigint, index_1.empty]),
|
|
119
|
+
b: (0, index_1.optional)((0, index_1.array)(index_1.number)),
|
|
120
|
+
c: {
|
|
121
|
+
d: index_1.string,
|
|
122
|
+
e: index_1.number,
|
|
123
|
+
f: {
|
|
124
|
+
g: index_1.string,
|
|
125
|
+
h: index_1.number
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
additionalField2: {
|
|
130
|
+
x: index_1.string,
|
|
131
|
+
y: (0, index_1.union)([index_1.string, (0, index_1.array)(index_1.boolean)]),
|
|
132
|
+
z: {
|
|
133
|
+
a: index_1.string,
|
|
134
|
+
b: index_1.number
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
},
|
|
138
|
+
code: {
|
|
139
|
+
200: {
|
|
140
|
+
j: index_1.string
|
|
141
|
+
},
|
|
142
|
+
404: {
|
|
143
|
+
k: index_1.string
|
|
144
|
+
}
|
|
145
|
+
},
|
|
146
|
+
flag: {
|
|
147
|
+
a: true,
|
|
148
|
+
b: false
|
|
149
|
+
}
|
|
150
|
+
});
|
|
151
|
+
});
|
|
152
|
+
});
|
|
153
|
+
//# sourceMappingURL=largeSchema.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"largeSchema.test.js","sourceRoot":"","sources":["../../../tests/zod/largeSchema.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This module provides a TypeScript-based schema definition using the TypeBox library.
|
|
3
|
+
* It includes various types, schema creation, validation, and OpenAPI integration.
|
|
4
|
+
*
|
|
5
|
+
* @module TypeboxSchemaValidator
|
|
6
|
+
*/
|
|
7
|
+
import { TArray, TLiteral, TOptional, TProperties, TSchema, TUnion } from '@sinclair/typebox';
|
|
8
|
+
import { SchemaObject } from 'openapi3-ts/oas31';
|
|
9
|
+
import { LiteralSchema, SchemaValidator } from '../types/schema.types';
|
|
10
|
+
import { TIdiomaticSchema, TObject, TResolve, TUnionContainer, UnionTResolve } from './types/typebox.schema.types';
|
|
11
|
+
/**
|
|
12
|
+
* Class representing a TypeBox schema definition.
|
|
13
|
+
* @implements {SchemaValidator}
|
|
14
|
+
*/
|
|
15
|
+
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> {
|
|
16
|
+
_Type: 'TypeBox';
|
|
17
|
+
_SchemaCatchall: TSchema;
|
|
18
|
+
_ValidSchemaObject: TObject<TProperties> | TArray<TObject<TProperties>>;
|
|
19
|
+
string: import("@sinclair/typebox").TString;
|
|
20
|
+
number: import("@sinclair/typebox").TNumber;
|
|
21
|
+
bigint: import("@sinclair/typebox").TBigInt;
|
|
22
|
+
boolean: import("@sinclair/typebox").TBoolean;
|
|
23
|
+
date: import("@sinclair/typebox").TDate;
|
|
24
|
+
symbol: import("@sinclair/typebox").TSymbol;
|
|
25
|
+
empty: TUnion<[import("@sinclair/typebox").TVoid, import("@sinclair/typebox").TNull, import("@sinclair/typebox").TUndefined]>;
|
|
26
|
+
any: import("@sinclair/typebox").TAny;
|
|
27
|
+
unknown: import("@sinclair/typebox").TUnknown;
|
|
28
|
+
never: import("@sinclair/typebox").TNever;
|
|
29
|
+
/**
|
|
30
|
+
* Convert a schema to a TypeBox schema.
|
|
31
|
+
* @param {TIdiomaticSchema} schema - The schema to convert.
|
|
32
|
+
* @returns {TResolve<T>} The resolved schema.
|
|
33
|
+
*/
|
|
34
|
+
schemify<T extends TIdiomaticSchema>(schema: T): TResolve<T>;
|
|
35
|
+
/**
|
|
36
|
+
* Make a schema optional.
|
|
37
|
+
* @param {TIdiomaticSchema} schema - The schema to make optional.
|
|
38
|
+
* @returns {TOptional<TResolve<T>>} The optional schema.
|
|
39
|
+
*/
|
|
40
|
+
optional<T extends TIdiomaticSchema>(schema: T): TOptional<TResolve<T>>;
|
|
41
|
+
/**
|
|
42
|
+
* Create an array schema.
|
|
43
|
+
* @param {TIdiomaticSchema} schema - The schema to use for array items.
|
|
44
|
+
* @returns {TArray<TResolve<T>>} The array schema.
|
|
45
|
+
*/
|
|
46
|
+
array<T extends TIdiomaticSchema>(schema: T): TArray<TResolve<T>>;
|
|
47
|
+
/**
|
|
48
|
+
* Create a union schema.
|
|
49
|
+
* @param {TUnionContainer} schemas - The schemas to union.
|
|
50
|
+
* @returns {TUnion<UnionTResolve<T>>} The union schema.
|
|
51
|
+
*
|
|
52
|
+
* WARNING: If "empty" or TUndefined is included in the union, the key will still be expected.
|
|
53
|
+
* This is a limitation of TypeBox. Consider using "optional" instead.
|
|
54
|
+
*/
|
|
55
|
+
union<T extends TUnionContainer>(schemas: T): TUnion<UnionTResolve<T>>;
|
|
56
|
+
/**
|
|
57
|
+
* Create a literal schema.
|
|
58
|
+
* @param {LiteralSchema} value - The literal value.
|
|
59
|
+
* @returns {TLiteral<T>} The literal schema.
|
|
60
|
+
*/
|
|
61
|
+
literal<T extends LiteralSchema>(value: T): TLiteral<T>;
|
|
62
|
+
/**
|
|
63
|
+
* Validate a value against a schema.
|
|
64
|
+
* @param {TSchema} schema - The schema to validate against.
|
|
65
|
+
* @param {unknown} value - The value to validate.
|
|
66
|
+
* @returns {boolean} True if valid, otherwise false.
|
|
67
|
+
*/
|
|
68
|
+
validate<T extends TIdiomaticSchema | TSchema>(schema: T, value: unknown): boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Convert a schema to an OpenAPI schema object.
|
|
71
|
+
* @param {TIdiomaticSchema | TSchema} schema - The schema to convert.
|
|
72
|
+
* @returns {SchemaObject} The OpenAPI schema object.
|
|
73
|
+
*/
|
|
74
|
+
openapi<T extends TIdiomaticSchema | TSchema>(schema: T): SchemaObject;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Factory function for creating a TypeboxSchemaValidator instance.
|
|
78
|
+
* @returns {TypeboxSchemaValidator} The TypeboxSchemaValidator instance.
|
|
79
|
+
*/
|
|
80
|
+
export declare const TypeboxSchema: () => TypeboxSchemaValidator;
|
|
81
|
+
declare const SchemaValidator: TypeboxSchemaValidator;
|
|
82
|
+
/**
|
|
83
|
+
* TypeBox schema definition for string type.
|
|
84
|
+
*/
|
|
85
|
+
export declare const string: typeof SchemaValidator.string;
|
|
86
|
+
/**
|
|
87
|
+
* TypeBox schema definition for number type.
|
|
88
|
+
*/
|
|
89
|
+
export declare const number: typeof SchemaValidator.number;
|
|
90
|
+
/**
|
|
91
|
+
* TypeBox schema definition for bigint type.
|
|
92
|
+
*/
|
|
93
|
+
export declare const bigint: typeof SchemaValidator.bigint;
|
|
94
|
+
/**
|
|
95
|
+
* TypeBox schema definition for boolean type.
|
|
96
|
+
*/
|
|
97
|
+
export declare const boolean: typeof SchemaValidator.boolean;
|
|
98
|
+
/**
|
|
99
|
+
* TypeBox schema definition for date type.
|
|
100
|
+
*/
|
|
101
|
+
export declare const date: typeof SchemaValidator.date;
|
|
102
|
+
/**
|
|
103
|
+
* TypeBox schema definition for symbol type.
|
|
104
|
+
*/
|
|
105
|
+
export declare const symbol: typeof SchemaValidator.symbol;
|
|
106
|
+
/**
|
|
107
|
+
* TypeBox schema definition for undefined, null, void types.
|
|
108
|
+
*/
|
|
109
|
+
export declare const empty: typeof SchemaValidator.empty;
|
|
110
|
+
/**
|
|
111
|
+
* TypeBox schema definition for any type.
|
|
112
|
+
*/
|
|
113
|
+
export declare const any: typeof SchemaValidator.any;
|
|
114
|
+
/**
|
|
115
|
+
* TypeBox schema definition for unknown type.
|
|
116
|
+
*/
|
|
117
|
+
export declare const unknown: typeof SchemaValidator.unknown;
|
|
118
|
+
/**
|
|
119
|
+
* TypeBox schema definition for never type.
|
|
120
|
+
*/
|
|
121
|
+
export declare const never: typeof SchemaValidator.never;
|
|
122
|
+
/**
|
|
123
|
+
* Transforms valid schema into TypeBox schema.
|
|
124
|
+
*/
|
|
125
|
+
export declare const schemify: typeof SchemaValidator.schemify;
|
|
126
|
+
/**
|
|
127
|
+
* Makes a valid schema optional.
|
|
128
|
+
*/
|
|
129
|
+
export declare const optional: typeof SchemaValidator.optional;
|
|
130
|
+
/**
|
|
131
|
+
* Defines an array for a valid schema.
|
|
132
|
+
*/
|
|
133
|
+
export declare const array: typeof SchemaValidator.array;
|
|
134
|
+
/**
|
|
135
|
+
* Defines a union for a valid schema.
|
|
136
|
+
*/
|
|
137
|
+
export declare const union: typeof SchemaValidator.union;
|
|
138
|
+
/**
|
|
139
|
+
* Defines a literal for a valid schema.
|
|
140
|
+
*/
|
|
141
|
+
export declare const literal: typeof SchemaValidator.literal;
|
|
142
|
+
/**
|
|
143
|
+
* Validates a value against a valid schema.
|
|
144
|
+
*/
|
|
145
|
+
export declare const validate: typeof SchemaValidator.validate;
|
|
146
|
+
/**
|
|
147
|
+
* Generates an OpenAPI schema object from a valid schema.
|
|
148
|
+
*/
|
|
149
|
+
export declare const openapi: typeof SchemaValidator.openapi;
|
|
150
|
+
export {};
|