Source code for tickit.utils.byte_format

from dataclasses import dataclass

from apischema import deserializer, serializer


[docs]@dataclass(frozen=True) class ByteFormat: """An immutable dataclass for custom (de)serialization byte format strings.""" format: bytes
[docs] @serializer def serialize(self) -> str: """An apischema serialization method which returns a utf-8 decoded string. Returns: str: A utf-8 decoded string of the format. """ return self.format.decode("utf-8")
[docs] @deserializer @staticmethod def deserialize(data: str) -> "ByteFormat": """An apischema deserialization method builds from a utf-8 encoded string. Returns: ByteFormat: The deserialized ByteFormat. """ return ByteFormat(data.encode("utf-8"))