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
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 typing.Any

Data to serialize.

required

Other Parameters:

Name Type Description
**kwargs typing.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
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 typing.Any

Additional arguments for json.loads.

Returns:

Type Description
typing.Any

Original data.

Source code in blake2signer/serializers.py
28
29
30
31
32
33
34
35
36
37
38
39
40
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 serializes anything.

Source code in blake2signer/serializers.py
43
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
class NullSerializer(SerializerInterface):
    """Null serializer that doesn't serializes anything."""

    def serialize(self, data: typing.Any, **kwargs: typing.Any) -> bytes:
        """Null serialize 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 serialize data (it just converts it to bytes).

Parameters:

Name Type Description Default
data typing.Any

Data to serialize.

required

Other Parameters:

Name Type Description
**kwargs typing.Any

Ignored.

Returns:

Type Description
bytes

Serialized data

Source code in blake2signer/serializers.py
46
47
48
49
50
51
52
53
54
55
56
57
58
def serialize(self, data: typing.Any, **kwargs: typing.Any) -> bytes:
    """Null serialize 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 typing.Any

Ignored.

Returns:

Type Description
typing.Any

Original data.

Source code in blake2signer/serializers.py
60
61
62
63
64
65
66
67
68
69
70
71
72
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