66import flask
77
88from ._grouping import grouping_len , map_grouping
9+ from ._no_update import NoUpdate
910from .development .base_component import Component
1011from . import exceptions
1112from ._utils import (
@@ -211,8 +212,10 @@ def validate_multi_return(output_lists, output_values, callback_id):
211212
212213
213214def 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 ("================================" )
216219
217220 def _raise_invalid (bad_val , outer_val , path , index = None , toplevel = False ):
218221 bad_type = type (bad_val ).__name__
@@ -261,6 +264,7 @@ def _valid_prop(val):
261264 return isinstance (val , valid_props )
262265
263266 def _can_serialize (val ):
267+ print ("checking ability to serialize" )
264268 if not (_valid_child (val ) or _valid_prop (val )):
265269 return False
266270 try :
@@ -272,6 +276,7 @@ def _can_serialize(val):
272276 def _validate_value (val , index = None ):
273277 # val is a Component
274278 if isinstance (val , Component ):
279+ print ("Is Component" )
275280 unserializable_items = []
276281 # pylint: disable=protected-access
277282 for p , j in val ._traverse_with_paths ():
@@ -332,6 +337,7 @@ def _validate_value(val, index=None):
332337
333338 if isinstance (output_value , list ):
334339 for i , val in enumerate (output_value ):
340+ print (val )
335341 _validate_value (val , index = i )
336342 else :
337343 _validate_value (output_value )
0 commit comments