File tree Expand file tree Collapse file tree 3 files changed +11
-6
lines changed Expand file tree Collapse file tree 3 files changed +11
-6
lines changed Original file line number Diff line number Diff line change 1
1
[project ]
2
2
name = ' normalize_json'
3
- version = ' 0.0.16 '
3
+ version = ' 0.0.17 '
4
4
authors = [
5
5
{
name =
' João Gabriel Santos' ,
email =
' [email protected] ' }
6
6
]
Original file line number Diff line number Diff line change @@ -261,19 +261,21 @@ def translate(
261
261
if node .get ('array' ) and not isinstance (value , list ):
262
262
value = [value ]
263
263
264
+ default = node .get ('default' )
264
265
if err := check_types (node , value , modifiers ):
265
- raise ValueError ('check_types @ %s (got "%s", expected "%s")' % (original_name , * err ))
266
+ if not default :
267
+ raise ValueError ('check_types @ %s (got "%s", expected "%s")' % (original_name , * err ))
266
268
267
269
if (node_enum := node .get ('enum' )) and value != None :
268
270
if node .get ('array' ):
269
271
if not isinstance (value , list ):
270
272
raise TypeError ()
271
273
value = [
272
- node .get ('enum' , {}).get (v )
274
+ node .get ('enum' , {}).get (v , default )
273
275
for v in typing .cast (list [str ], value )
274
276
]
275
277
else :
276
- value = node_enum .get (typing .cast (typing .Any , value ))
278
+ value = node_enum .get (typing .cast (typing .Any , value ), default )
277
279
278
280
ret [original_name ] = value
279
281
Original file line number Diff line number Diff line change 131
131
'pago' : 'paid' ,
132
132
'pendente' : 'pending' ,
133
133
'recusado' : 'refused' ,
134
- }
134
+ },
135
135
},
136
136
'statuses' : {
137
137
'array' : True ,
138
138
'enum' : {
139
139
'pago' : 'paid' ,
140
140
'pendente' : 'pending' ,
141
141
'recusado' : 'refused' ,
142
- }
142
+ },
143
+ 'default' : 'pending'
143
144
},
144
145
'items' : {
145
146
'map' : 'items' ,
181
182
'statuses' : [
182
183
'pendente' ,
183
184
'recusado' ,
185
+ 'invalid' ,
184
186
],
185
187
'items' : {
186
188
'meta' : {
@@ -229,6 +231,7 @@ def test_translate_enums(self):
229
231
self .assertEqual (result ['status' ], 'paid' )
230
232
self .assertEqual (result ['statuses' ][0 ], 'pending' )
231
233
self .assertEqual (result ['statuses' ][1 ], 'refused' )
234
+ self .assertEqual (result ['statuses' ][2 ], 'pending' )
232
235
233
236
234
237
def test_translate_substitute (self ):
You can’t perform that action at this time.
0 commit comments