Module aws_lambda_powertools.utilities.idempotency.serialization.custom_dict
Expand source code
from typing import Any, Callable, Dict
from aws_lambda_powertools.utilities.idempotency.serialization.base import BaseIdempotencySerializer
class CustomDictSerializer(BaseIdempotencySerializer):
def __init__(self, to_dict: Callable[[Any], Dict], from_dict: Callable[[Dict], Any]):
"""
Parameters
----------
to_dict: Callable[[Any], Dict]
A function capable of transforming the saved data object representation into a dictionary
from_dict: Callable[[Dict], Any]
A function capable of transforming the saved dictionary into the original data object representation
"""
self.__to_dict: Callable[[Any], Dict] = to_dict
self.__from_dict: Callable[[Dict], Any] = from_dict
def to_dict(self, data: Any) -> Dict:
return self.__to_dict(data)
def from_dict(self, data: Dict) -> Any:
return self.__from_dict(data)
Classes
class CustomDictSerializer (to_dict: Callable[[Any], Dict], from_dict: Callable[[Dict], Any])
-
Abstract Base Class for Idempotency serialization layer, supporting dict operations.
Parameters
to_dict
:Callable[[Any], Dict]
- A function capable of transforming the saved data object representation into a dictionary
from_dict
:Callable[[Dict], Any]
- A function capable of transforming the saved dictionary into the original data object representation
Expand source code
class CustomDictSerializer(BaseIdempotencySerializer): def __init__(self, to_dict: Callable[[Any], Dict], from_dict: Callable[[Dict], Any]): """ Parameters ---------- to_dict: Callable[[Any], Dict] A function capable of transforming the saved data object representation into a dictionary from_dict: Callable[[Dict], Any] A function capable of transforming the saved dictionary into the original data object representation """ self.__to_dict: Callable[[Any], Dict] = to_dict self.__from_dict: Callable[[Dict], Any] = from_dict def to_dict(self, data: Any) -> Dict: return self.__to_dict(data) def from_dict(self, data: Dict) -> Any: return self.__from_dict(data)
Ancestors
- BaseIdempotencySerializer
- abc.ABC
Methods
def from_dict(self, data: Dict) ‑> Any
-
Expand source code
def from_dict(self, data: Dict) -> Any: return self.__from_dict(data)
def to_dict(self, data: Any) ‑> Dict
-
Expand source code
def to_dict(self, data: Any) -> Dict: return self.__to_dict(data)