@@ -1103,7 +1103,7 @@ def fromDoc(
1103
1103
try :
1104
1104
type = load_field (
1105
1105
_doc .get ("type" ),
1106
- typedsl_enum_d9cba076fca539106791a4f46d198c7fcfbdb779Loader_2 ,
1106
+ typedsl_Record_nameLoader_2 ,
1107
1107
baseuri ,
1108
1108
loadingOptions ,
1109
1109
)
@@ -1185,6 +1185,7 @@ def __init__(
1185
1185
self ,
1186
1186
symbols : Any ,
1187
1187
type : Any ,
1188
+ name : Optional [Any ] = None ,
1188
1189
extension_fields : Optional [Dict [str , Any ]] = None ,
1189
1190
loadingOptions : Optional [LoadingOptions ] = None ,
1190
1191
) -> None :
@@ -1197,16 +1198,21 @@ def __init__(
1197
1198
self .loadingOptions = loadingOptions
1198
1199
else :
1199
1200
self .loadingOptions = LoadingOptions ()
1201
+ self .name = name
1200
1202
self .symbols = symbols
1201
1203
self .type = type
1202
1204
1203
1205
def __eq__ (self , other : Any ) -> bool :
1204
1206
if isinstance (other , EnumSchema ):
1205
- return bool (self .symbols == other .symbols and self .type == other .type )
1207
+ return bool (
1208
+ self .name == other .name
1209
+ and self .symbols == other .symbols
1210
+ and self .type == other .type
1211
+ )
1206
1212
return False
1207
1213
1208
1214
def __hash__ (self ) -> int :
1209
- return hash ((self .symbols , self .type ))
1215
+ return hash ((self .name , self . symbols , self .type ))
1210
1216
1211
1217
@classmethod
1212
1218
def fromDoc (
@@ -1221,6 +1227,33 @@ def fromDoc(
1221
1227
_doc .lc .data = doc .lc .data
1222
1228
_doc .lc .filename = doc .lc .filename
1223
1229
_errors__ = []
1230
+ if "name" in _doc :
1231
+ try :
1232
+ name = load_field (
1233
+ _doc .get ("name" ),
1234
+ uri_union_of_None_type_or_strtype_True_False_None ,
1235
+ baseuri ,
1236
+ loadingOptions ,
1237
+ )
1238
+ except ValidationException as e :
1239
+ _errors__ .append (
1240
+ ValidationException (
1241
+ "the `name` field is not valid because:" ,
1242
+ SourceLine (_doc , "name" , str ),
1243
+ [e ],
1244
+ )
1245
+ )
1246
+ else :
1247
+ name = None
1248
+
1249
+ __original_name_is_none = name is None
1250
+ if name is None :
1251
+ if docRoot is not None :
1252
+ name = docRoot
1253
+ else :
1254
+ name = "_:" + str (_uuid__ .uuid4 ())
1255
+ if not __original_name_is_none :
1256
+ baseuri = name
1224
1257
try :
1225
1258
symbols = load_field (
1226
1259
_doc .get ("symbols" ),
@@ -1239,7 +1272,7 @@ def fromDoc(
1239
1272
try :
1240
1273
type = load_field (
1241
1274
_doc .get ("type" ),
1242
- typedsl_enum_d961d79c225752b9fadb617367615ab176b47d77Loader_2 ,
1275
+ typedsl_Enum_nameLoader_2 ,
1243
1276
baseuri ,
1244
1277
loadingOptions ,
1245
1278
)
@@ -1262,7 +1295,7 @@ def fromDoc(
1262
1295
else :
1263
1296
_errors__ .append (
1264
1297
ValidationException (
1265
- "invalid field `{}`, expected one of: `symbols`, `type`" .format (
1298
+ "invalid field `{}`, expected one of: `name`, ` symbols`, `type`" .format (
1266
1299
k
1267
1300
),
1268
1301
SourceLine (_doc , k , str ),
@@ -1273,11 +1306,13 @@ def fromDoc(
1273
1306
if _errors__ :
1274
1307
raise ValidationException ("Trying 'EnumSchema'" , None , _errors__ )
1275
1308
_constructed = cls (
1309
+ name = name ,
1276
1310
symbols = symbols ,
1277
1311
type = type ,
1278
1312
extension_fields = extension_fields ,
1279
1313
loadingOptions = loadingOptions ,
1280
1314
)
1315
+ loadingOptions .idx [name ] = (_constructed , loadingOptions )
1281
1316
return _constructed
1282
1317
1283
1318
def save (
@@ -1291,12 +1326,15 @@ def save(
1291
1326
else :
1292
1327
for ef in self .extension_fields :
1293
1328
r [ef ] = self .extension_fields [ef ]
1329
+ if self .name is not None :
1330
+ u = save_relative_uri (self .name , base_url , True , None , relative_uris )
1331
+ r ["name" ] = u
1294
1332
if self .symbols is not None :
1295
- u = save_relative_uri (self .symbols , base_url , True , None , relative_uris )
1333
+ u = save_relative_uri (self .symbols , self . name , True , None , relative_uris )
1296
1334
r ["symbols" ] = u
1297
1335
if self .type is not None :
1298
1336
r ["type" ] = save (
1299
- self .type , top = False , base_url = base_url , relative_uris = relative_uris
1337
+ self .type , top = False , base_url = self . name , relative_uris = relative_uris
1300
1338
)
1301
1339
1302
1340
# top refers to the directory level
@@ -1307,7 +1345,7 @@ def save(
1307
1345
r ["$schemas" ] = self .loadingOptions .schemas
1308
1346
return r
1309
1347
1310
- attrs = frozenset (["symbols" , "type" ])
1348
+ attrs = frozenset (["name" , " symbols" , "type" ])
1311
1349
1312
1350
1313
1351
class ArraySchema (Saveable ):
@@ -1369,7 +1407,7 @@ def fromDoc(
1369
1407
try :
1370
1408
type = load_field (
1371
1409
_doc .get ("type" ),
1372
- typedsl_enum_d062602be0b4b8fd33e69e29a841317b6ab665bcLoader_2 ,
1410
+ typedsl_Array_nameLoader_2 ,
1373
1411
baseuri ,
1374
1412
loadingOptions ,
1375
1413
)
@@ -2405,7 +2443,7 @@ def fromDoc(
2405
2443
try :
2406
2444
type = load_field (
2407
2445
_doc .get ("type" ),
2408
- typedsl_enum_d9cba076fca539106791a4f46d198c7fcfbdb779Loader_2 ,
2446
+ typedsl_Record_nameLoader_2 ,
2409
2447
baseuri ,
2410
2448
loadingOptions ,
2411
2449
)
@@ -2726,9 +2764,9 @@ class SaladEnumSchema(NamedType, EnumSchema, SchemaDefinedType):
2726
2764
2727
2765
def __init__ (
2728
2766
self ,
2729
- name : Any ,
2730
2767
symbols : Any ,
2731
2768
type : Any ,
2769
+ name : Optional [Any ] = None ,
2732
2770
inVocab : Optional [Any ] = None ,
2733
2771
doc : Optional [Any ] = None ,
2734
2772
docParent : Optional [Any ] = None ,
@@ -2812,7 +2850,7 @@ def fromDoc(
2812
2850
try :
2813
2851
name = load_field (
2814
2852
_doc .get ("name" ),
2815
- uri_strtype_True_False_None ,
2853
+ uri_union_of_None_type_or_strtype_True_False_None ,
2816
2854
baseuri ,
2817
2855
loadingOptions ,
2818
2856
)
@@ -2832,7 +2870,7 @@ def fromDoc(
2832
2870
if docRoot is not None :
2833
2871
name = docRoot
2834
2872
else :
2835
- raise ValidationException ( "Missing name" )
2873
+ name = "_:" + str ( _uuid__ . uuid4 () )
2836
2874
if not __original_name_is_none :
2837
2875
baseuri = name
2838
2876
if "inVocab" in _doc :
@@ -2871,7 +2909,7 @@ def fromDoc(
2871
2909
try :
2872
2910
type = load_field (
2873
2911
_doc .get ("type" ),
2874
- typedsl_enum_d961d79c225752b9fadb617367615ab176b47d77Loader_2 ,
2912
+ typedsl_Enum_nameLoader_2 ,
2875
2913
baseuri ,
2876
2914
loadingOptions ,
2877
2915
)
@@ -3324,7 +3362,7 @@ def fromDoc(
3324
3362
try :
3325
3363
type = load_field (
3326
3364
_doc .get ("type" ),
3327
- typedsl_enum_056429f0e9355680bd9b2411dc96a69c7ff2e76bLoader_2 ,
3365
+ typedsl_Documentation_nameLoader_2 ,
3328
3366
baseuri ,
3329
3367
loadingOptions ,
3330
3368
)
@@ -3553,31 +3591,8 @@ def save(
3553
3591
idmap_fields_union_of_None_type_or_array_of_RecordFieldLoader = _IdMapLoader (
3554
3592
union_of_None_type_or_array_of_RecordFieldLoader , "name" , "type"
3555
3593
)
3556
- enum_d9cba076fca539106791a4f46d198c7fcfbdb779Loader = _EnumLoader (
3557
- ("record" ,), "enum_d9cba076fca539106791a4f46d198c7fcfbdb779"
3558
- )
3559
- typedsl_enum_d9cba076fca539106791a4f46d198c7fcfbdb779Loader_2 = _TypeDSLLoader (
3560
- enum_d9cba076fca539106791a4f46d198c7fcfbdb779Loader , 2
3561
- )
3562
- uri_array_of_strtype_True_False_None = _URILoader (array_of_strtype , True , False , None )
3563
- enum_d961d79c225752b9fadb617367615ab176b47d77Loader = _EnumLoader (
3564
- ("enum" ,), "enum_d961d79c225752b9fadb617367615ab176b47d77"
3565
- )
3566
- typedsl_enum_d961d79c225752b9fadb617367615ab176b47d77Loader_2 = _TypeDSLLoader (
3567
- enum_d961d79c225752b9fadb617367615ab176b47d77Loader , 2
3568
- )
3569
- uri_union_of_PrimitiveTypeLoader_or_RecordSchemaLoader_or_EnumSchemaLoader_or_ArraySchemaLoader_or_strtype_or_array_of_union_of_PrimitiveTypeLoader_or_RecordSchemaLoader_or_EnumSchemaLoader_or_ArraySchemaLoader_or_strtype_False_True_2 = _URILoader (
3570
- union_of_PrimitiveTypeLoader_or_RecordSchemaLoader_or_EnumSchemaLoader_or_ArraySchemaLoader_or_strtype_or_array_of_union_of_PrimitiveTypeLoader_or_RecordSchemaLoader_or_EnumSchemaLoader_or_ArraySchemaLoader_or_strtype ,
3571
- False ,
3572
- True ,
3573
- 2 ,
3574
- )
3575
- enum_d062602be0b4b8fd33e69e29a841317b6ab665bcLoader = _EnumLoader (
3576
- ("array" ,), "enum_d062602be0b4b8fd33e69e29a841317b6ab665bc"
3577
- )
3578
- typedsl_enum_d062602be0b4b8fd33e69e29a841317b6ab665bcLoader_2 = _TypeDSLLoader (
3579
- enum_d062602be0b4b8fd33e69e29a841317b6ab665bcLoader , 2
3580
- )
3594
+ Record_nameLoader = _EnumLoader (("record" ,), "Record_name" )
3595
+ typedsl_Record_nameLoader_2 = _TypeDSLLoader (Record_nameLoader , 2 )
3581
3596
union_of_None_type_or_strtype = _UnionLoader (
3582
3597
(
3583
3598
None_type ,
@@ -3587,6 +3602,17 @@ def save(
3587
3602
uri_union_of_None_type_or_strtype_True_False_None = _URILoader (
3588
3603
union_of_None_type_or_strtype , True , False , None
3589
3604
)
3605
+ uri_array_of_strtype_True_False_None = _URILoader (array_of_strtype , True , False , None )
3606
+ Enum_nameLoader = _EnumLoader (("enum" ,), "Enum_name" )
3607
+ typedsl_Enum_nameLoader_2 = _TypeDSLLoader (Enum_nameLoader , 2 )
3608
+ uri_union_of_PrimitiveTypeLoader_or_RecordSchemaLoader_or_EnumSchemaLoader_or_ArraySchemaLoader_or_strtype_or_array_of_union_of_PrimitiveTypeLoader_or_RecordSchemaLoader_or_EnumSchemaLoader_or_ArraySchemaLoader_or_strtype_False_True_2 = _URILoader (
3609
+ union_of_PrimitiveTypeLoader_or_RecordSchemaLoader_or_EnumSchemaLoader_or_ArraySchemaLoader_or_strtype_or_array_of_union_of_PrimitiveTypeLoader_or_RecordSchemaLoader_or_EnumSchemaLoader_or_ArraySchemaLoader_or_strtype ,
3610
+ False ,
3611
+ True ,
3612
+ 2 ,
3613
+ )
3614
+ Array_nameLoader = _EnumLoader (("array" ,), "Array_name" )
3615
+ typedsl_Array_nameLoader_2 = _TypeDSLLoader (Array_nameLoader , 2 )
3590
3616
union_of_None_type_or_booltype = _UnionLoader (
3591
3617
(
3592
3618
None_type ,
@@ -3642,12 +3668,8 @@ def save(
3642
3668
idmap_specialize_union_of_None_type_or_array_of_SpecializeDefLoader = _IdMapLoader (
3643
3669
union_of_None_type_or_array_of_SpecializeDefLoader , "specializeFrom" , "specializeTo"
3644
3670
)
3645
- enum_056429f0e9355680bd9b2411dc96a69c7ff2e76bLoader = _EnumLoader (
3646
- ("documentation" ,), "enum_056429f0e9355680bd9b2411dc96a69c7ff2e76b"
3647
- )
3648
- typedsl_enum_056429f0e9355680bd9b2411dc96a69c7ff2e76bLoader_2 = _TypeDSLLoader (
3649
- enum_056429f0e9355680bd9b2411dc96a69c7ff2e76bLoader , 2
3650
- )
3671
+ Documentation_nameLoader = _EnumLoader (("documentation" ,), "Documentation_name" )
3672
+ typedsl_Documentation_nameLoader_2 = _TypeDSLLoader (Documentation_nameLoader , 2 )
3651
3673
union_of_SaladRecordSchemaLoader_or_SaladEnumSchemaLoader_or_DocumentationLoader = (
3652
3674
_UnionLoader (
3653
3675
(
0 commit comments