Skip to content

Serializers

blake2signer.serializers

Serializers: classes that implement the SerializerInterface.

JSONSerializer

Bases: SerializerInterface

JSON serializer.

Source code in blake2signer/serializers.py
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
class JSONSerializer(SerializerInterface):
    """JSON serializer."""

    def serialize(self, data: typing.Any, **kwargs: typing.Any) -> bytes:
        """Serialize given data to JSON.

        Args:
            data: Data to serialize.

        Keyword Args:
            **kwargs: Additional arguments for `json.dumps`.

        Returns:
            Serialized data
        """
        kwargs.setdefault('separators', (',', ':'))  # Use JSON compact encoding

        return json.dumps(data, **kwargs).encode()

    def unserialize(self, data: bytes, **kwargs: typing.Any) -> typing.Any:
        """Unserialize given JSON data.

        Args:
            data: Serialized data to unserialize.

        Keyword Args:
            **kwargs: Additional arguments for `json.loads`.

        Returns:
            Original data.
        """
        return json.loads(data, **kwargs)

serialize(data, **kwargs)

Serialize given data to JSON.

Parameters:

Name Type Description Default
data Any

Data to serialize.

required

Other Parameters:

Name Type Description
**kwargs Any

Additional arguments for json.dumps.

Returns:

Type Description
bytes

Serialized data

Source code in blake2signer/serializers.py
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
def serialize(self, data: typing.Any, **kwargs: typing.Any) -> bytes:
    """Serialize given data to JSON.

    Args:
        data: Data to serialize.

    Keyword Args:
        **kwargs: Additional arguments for `json.dumps`.

    Returns:
        Serialized data
    """
    kwargs.setdefault('separators', (',', ':'))  # Use JSON compact encoding

    return json.dumps(data, **kwargs).encode()

unserialize(data, **kwargs)

Unserialize given JSON data.

Parameters:

Name Type Description Default
data bytes

Serialized data to unserialize.

required

Other Parameters:

Name Type Description
**kwargs Any

Additional arguments for json.loads.

Returns:

Type Description
Any

Original data.

Source code in blake2signer/serializers.py
29
30
31
32
33
34
35
36
37
38
39
40
41
def unserialize(self, data: bytes, **kwargs: typing.Any) -> typing.Any:
    """Unserialize given JSON data.

    Args:
        data: Serialized data to unserialize.

    Keyword Args:
        **kwargs: Additional arguments for `json.loads`.

    Returns:
        Original data.
    """
    return json.loads(data, **kwargs)

NullSerializer

Bases: SerializerInterface

Null serializer that doesn't serialize anything.

Source code in blake2signer/serializers.py
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
class NullSerializer(SerializerInterface):
    """Null serializer that doesn't serialize anything."""

    def serialize(self, data: typing.Any, **kwargs: typing.Any) -> bytes:
        """Null serializes data (it just converts it to bytes).

        Args:
            data: Data to serialize.

        Keyword Args:
            **kwargs: Ignored.

        Returns:
            Serialized data
        """
        return force_bytes(data)

    def unserialize(self, data: bytes, **kwargs: typing.Any) -> typing.Any:
        """Return given data as-is.

        Args:
            data: Serialized data to unserialize.

        Keyword Args:
            **kwargs: Ignored.

        Returns:
            Original data.
        """
        return data

serialize(data, **kwargs)

Null serializes data (it just converts it to bytes).

Parameters:

Name Type Description Default
data Any

Data to serialize.

required

Other Parameters:

Name Type Description
**kwargs Any

Ignored.

Returns:

Type Description
bytes

Serialized data

Source code in blake2signer/serializers.py
47
48
49
50
51
52
53
54
55
56
57
58
59
def serialize(self, data: typing.Any, **kwargs: typing.Any) -> bytes:
    """Null serializes data (it just converts it to bytes).

    Args:
        data: Data to serialize.

    Keyword Args:
        **kwargs: Ignored.

    Returns:
        Serialized data
    """
    return force_bytes(data)

unserialize(data, **kwargs)

Return given data as-is.

Parameters:

Name Type Description Default
data bytes

Serialized data to unserialize.

required

Other Parameters:

Name Type Description
**kwargs Any

Ignored.

Returns:

Type Description
Any

Original data.

Source code in blake2signer/serializers.py
61
62
63
64
65
66
67
68
69
70
71
72
73
def unserialize(self, data: bytes, **kwargs: typing.Any) -> typing.Any:
    """Return given data as-is.

    Args:
        data: Serialized data to unserialize.

    Keyword Args:
        **kwargs: Ignored.

    Returns:
        Original data.
    """
    return data