Module aws_lambda_powertools.utilities.idempotency.serialization.dataclass
Classes
class DataclassSerializer (model: Type[Any])
-
A serializer class for transforming data between dataclass objects and dictionaries.
Parameters
model
:Type[DataClass]
- A dataclass type to be used for serialization and deserialization
Expand source code
class DataclassSerializer(BaseIdempotencyModelSerializer): """ A serializer class for transforming data between dataclass objects and dictionaries. """ def __init__(self, model: Type[DataClass]): """ Parameters ---------- model: Type[DataClass] A dataclass type to be used for serialization and deserialization """ self.__model: Type[DataClass] = model def to_dict(self, data: DataClass) -> Dict: return asdict(data) def from_dict(self, data: Dict) -> DataClass: return self.__model(**data) @classmethod def instantiate(cls, model_type: Any) -> BaseIdempotencySerializer: if model_type is None: raise IdempotencyNoSerializationModelError("No serialization model was supplied") if not is_dataclass(model_type): raise IdempotencyModelTypeError("Model type is not inherited of dataclass type") return cls(model=model_type)
Ancestors
Methods
def from_dict(self, data: Dict) ‑> Any
def to_dict(self, data: Any) ‑> Dict
Inherited members