@@ -36,17 +36,31 @@ export type MultiTenancyConfigUpdate = {
3636  autoTenantCreation ?: boolean ; 
3737} ; 
3838
39+ export  type  ObjectDataType  =  'object'  |  'object[]' ; 
40+ 
41+ export  type  PrimitiveDataType  =  Exclude < DataType ,  ObjectDataType > ; 
42+ 
43+ export  type  NestedDataTypeConfig < T >  = 
44+   |  { 
45+       dataType : ObjectDataType ; 
46+       /** only for object types */ 
47+       nestedProperties ?: NestedPropertyConfigCreate < T ,  ObjectDataType > [ ] ; 
48+     } 
49+   |  { 
50+       dataType : PrimitiveDataType ; 
51+       /** If not an object, or an array of objecs, this field should never be assigned. */ 
52+       nestedProperties ?: never ; 
53+     } ; 
54+ 
3955export  type  NestedPropertyCreate < T  =  undefined >  =  T  extends  undefined 
4056  ? { 
4157      name : string ; 
42-       dataType : DataType ; 
4358      description ?: string ; 
44-       nestedProperties ?: NestedPropertyConfigCreate < T ,  DataType > [ ] ; 
4559      indexInverted ?: boolean ; 
4660      indexFilterable ?: boolean ; 
4761      indexSearchable ?: boolean ; 
4862      tokenization ?: WeaviateNestedProperty [ 'tokenization' ] ; 
49-     } 
63+     }   &   NestedDataTypeConfig < T > 
5064  : { 
5165      [ K  in  NonRefKeys < T > ] : RequiresNested < DataType < T [ K ] > >  extends  true 
5266        ? { 
@@ -92,17 +106,15 @@ export type NestedPropertyConfigCreateBase = {
92106export  type  PropertyConfigCreate < T >  =  T  extends  undefined 
93107  ? { 
94108      name : string ; 
95-       dataType : DataType ; 
96109      description ?: string ; 
97-       nestedProperties ?: NestedPropertyConfigCreate < T ,  DataType > [ ] ; 
98110      indexInverted ?: boolean ; 
99111      indexFilterable ?: boolean ; 
100112      indexRangeFilters ?: boolean ; 
101113      indexSearchable ?: boolean ; 
102114      tokenization ?: WeaviateProperty [ 'tokenization' ] ; 
103115      skipVectorization ?: boolean ; 
104116      vectorizePropertyName ?: boolean ; 
105-     } 
117+     }   &   NestedDataTypeConfig < T > 
106118  : { 
107119      [ K  in  NonRefKeys < T > ] : RequiresNested < DataType < T [ K ] > >  extends  true 
108120        ? { 
0 commit comments