feat(core): Upgrade pydantic to 2.x (#1428)

This commit is contained in:
Fangyin Cheng
2024-04-20 09:41:16 +08:00
committed by GitHub
parent baa1e3f9f6
commit 57be1ece18
103 changed files with 1146 additions and 534 deletions

View File

@@ -9,7 +9,7 @@ from typing import Dict, Optional, Type
class Serializable(ABC):
"""The serializable abstract class."""
serializer: Optional["Serializer"] = None
_serializer: Optional["Serializer"] = None
@abstractmethod
def to_dict(self) -> Dict:
@@ -21,11 +21,12 @@ class Serializable(ABC):
Returns:
bytes: The byte array after serialization
"""
if self.serializer is None:
if self._serializer is None:
raise ValueError(
"Serializer is not set. Please set the serializer before serialization."
"Serializer is not set. Please set the serializer before "
"serialization."
)
return self.serializer.serialize(self)
return self._serializer.serialize(self)
def set_serializer(self, serializer: "Serializer") -> None:
"""Set the serializer for current serializable object.
@@ -33,7 +34,7 @@ class Serializable(ABC):
Args:
serializer (Serializer): The serializer to set
"""
self.serializer = serializer
self._serializer = serializer
class Serializer(ABC):