use serializer before serializing base yourself (#3960)
This commit is contained in:
parent
bca49d3537
commit
a5d73654fc
@ -1074,6 +1074,20 @@ class LiteralVar(Var):
|
|||||||
if isinstance(value, EventHandler):
|
if isinstance(value, EventHandler):
|
||||||
return Var(_js_expr=".".join(filter(None, get_event_handler_parts(value))))
|
return Var(_js_expr=".".join(filter(None, get_event_handler_parts(value))))
|
||||||
|
|
||||||
|
serialized_value = serializers.serialize(value)
|
||||||
|
if serialized_value is not None:
|
||||||
|
if isinstance(serialized_value, dict):
|
||||||
|
return LiteralObjectVar.create(
|
||||||
|
serialized_value,
|
||||||
|
_var_type=type(value),
|
||||||
|
_var_data=_var_data,
|
||||||
|
)
|
||||||
|
if isinstance(serialized_value, str):
|
||||||
|
return LiteralStringVar.create(
|
||||||
|
serialized_value, _var_type=type(value), _var_data=_var_data
|
||||||
|
)
|
||||||
|
return LiteralVar.create(serialized_value, _var_data=_var_data)
|
||||||
|
|
||||||
if isinstance(value, Base):
|
if isinstance(value, Base):
|
||||||
# get the fields of the pydantic class
|
# get the fields of the pydantic class
|
||||||
fields = value.__fields__.keys()
|
fields = value.__fields__.keys()
|
||||||
@ -1089,20 +1103,6 @@ class LiteralVar(Var):
|
|||||||
_var_data=_var_data,
|
_var_data=_var_data,
|
||||||
)
|
)
|
||||||
|
|
||||||
serialized_value = serializers.serialize(value)
|
|
||||||
if serialized_value is not None:
|
|
||||||
if isinstance(serialized_value, dict):
|
|
||||||
return LiteralObjectVar.create(
|
|
||||||
serialized_value,
|
|
||||||
_var_type=type(value),
|
|
||||||
_var_data=_var_data,
|
|
||||||
)
|
|
||||||
if isinstance(serialized_value, str):
|
|
||||||
return LiteralStringVar.create(
|
|
||||||
serialized_value, _var_type=type(value), _var_data=_var_data
|
|
||||||
)
|
|
||||||
return LiteralVar.create(serialized_value, _var_data=_var_data)
|
|
||||||
|
|
||||||
if dataclasses.is_dataclass(value) and not isinstance(value, type):
|
if dataclasses.is_dataclass(value) and not isinstance(value, type):
|
||||||
return LiteralObjectVar.create(
|
return LiteralObjectVar.create(
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user