6
6
import flask
7
7
8
8
from ._grouping import grouping_len , map_grouping
9
+ from ._no_update import NoUpdate
9
10
from .development .base_component import Component
10
11
from . import exceptions
11
12
from ._utils import (
@@ -211,8 +212,10 @@ def validate_multi_return(output_lists, output_values, callback_id):
211
212
212
213
213
214
def fail_callback_output (output_value , output ):
214
- valid_children = (str , int , float , type (None ), Component )
215
- valid_props = (str , int , float , type (None ), tuple , MutableSequence )
215
+ valid_children = (str , int , float , type (None ), Component , NoUpdate )
216
+ valid_props = (str , int , float , type (None ), tuple , MutableSequence , NoUpdate )
217
+
218
+ print ("================================" )
216
219
217
220
def _raise_invalid (bad_val , outer_val , path , index = None , toplevel = False ):
218
221
bad_type = type (bad_val ).__name__
@@ -261,6 +264,7 @@ def _valid_prop(val):
261
264
return isinstance (val , valid_props )
262
265
263
266
def _can_serialize (val ):
267
+ print ("checking ability to serialize" )
264
268
if not (_valid_child (val ) or _valid_prop (val )):
265
269
return False
266
270
try :
@@ -272,6 +276,7 @@ def _can_serialize(val):
272
276
def _validate_value (val , index = None ):
273
277
# val is a Component
274
278
if isinstance (val , Component ):
279
+ print ("Is Component" )
275
280
unserializable_items = []
276
281
# pylint: disable=protected-access
277
282
for p , j in val ._traverse_with_paths ():
@@ -332,6 +337,7 @@ def _validate_value(val, index=None):
332
337
333
338
if isinstance (output_value , list ):
334
339
for i , val in enumerate (output_value ):
340
+ print (val )
335
341
_validate_value (val , index = i )
336
342
else :
337
343
_validate_value (output_value )
0 commit comments