Improve callback data serialization

This commit is contained in:
Alex Root Junior 2023-04-12 23:58:34 +03:00
parent 2c756a1689
commit 0c7a4ce878
No known key found for this signature in database
GPG key ID: 074C1D455EBEA4AC

View file

@ -67,7 +67,11 @@ class CallbackData(BaseModel):
return ""
if isinstance(value, Enum):
return str(value.value)
if isinstance(value, (int, str, float, Decimal, Fraction, UUID)):
if isinstance(value, UUID):
return value.hex
if isinstance(value, bool):
return str(int(value))
if isinstance(value, (int, str, float, Decimal, Fraction)):
return str(value)
raise ValueError(
f"Attribute {key}={value!r} of type {type(value).__name__!r}"