@sinclair/typebox 0.31.12 → 0.31.13
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/package.json +1 -1
- package/value/convert.js +8 -1
package/package.json
CHANGED
package/value/convert.js
CHANGED
|
@@ -180,6 +180,12 @@ function TDate(schema, references, value) {
|
|
|
180
180
|
function TInteger(schema, references, value) {
|
|
181
181
|
return TryConvertInteger(value);
|
|
182
182
|
}
|
|
183
|
+
function TIntersect(schema, references, value) {
|
|
184
|
+
// prettier-ignore
|
|
185
|
+
return (schema.allOf.every(schema => Types.TypeGuard.TObject(schema)))
|
|
186
|
+
? Visit(Types.Type.Composite(schema.allOf), references, value)
|
|
187
|
+
: Visit(schema.allOf[0], references, value);
|
|
188
|
+
}
|
|
183
189
|
function TLiteral(schema, references, value) {
|
|
184
190
|
return TryConvertLiteral(schema, value);
|
|
185
191
|
}
|
|
@@ -254,6 +260,8 @@ function Visit(schema, references, value) {
|
|
|
254
260
|
return TDate(schema_, references_, value);
|
|
255
261
|
case 'Integer':
|
|
256
262
|
return TInteger(schema_, references_, value);
|
|
263
|
+
case 'Intersect':
|
|
264
|
+
return TIntersect(schema_, references_, value);
|
|
257
265
|
case 'Literal':
|
|
258
266
|
return TLiteral(schema_, references_, value);
|
|
259
267
|
case 'Null':
|
|
@@ -285,7 +293,6 @@ function Visit(schema, references, value) {
|
|
|
285
293
|
case 'AsyncIterator':
|
|
286
294
|
case 'Constructor':
|
|
287
295
|
case 'Function':
|
|
288
|
-
case 'Intersect':
|
|
289
296
|
case 'Iterator':
|
|
290
297
|
case 'Never':
|
|
291
298
|
case 'Promise':
|