@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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/value/convert.js +8 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sinclair/typebox",
3
- "version": "0.31.12",
3
+ "version": "0.31.13",
4
4
  "description": "JSONSchema Type Builder with Static Type Resolution for TypeScript",
5
5
  "keywords": [
6
6
  "typescript",
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':