Skip to content

Serializers

blake2signer.serializers

Serializers: classes that implement the SerializerInterface.

JSONSerializer (SerializerInterface)

JSON serializer.

Source code in blake2signer/serializers.py
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(self, data, **kwargs)

Serialize given data to JSON.

Parameters:

Name Type Description Default
data Any

Data to serialize.

required

Keyword arguments:

Name Type Description
**kwargs Any

Additional arguments for json.dumps.

Returns:

Type Description
bytes

Serialized data

Source code in blake2signer/serializers.py
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(self, data, **kwargs)

Unserialize given JSON data.

Parameters:

Name Type Description Default
data bytes

Serialized data to unserialize.

required

Keyword arguments:

Name Type Description
**kwargs Any

Additional arguments for json.loads.

Returns:

Type Description
Any

Original data.

Source code in blake2signer/serializers.py
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 (SerializerInterface)

Null serializer that doesn't serializes anything.

Source code in blake2signer/serializers.py
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(self, data, **kwargs)

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

Parameters:

Name Type Description Default
data Any

Data to serialize.

required

Keyword arguments:

Name Type Description
**kwargs Any

Ignored.

Returns:

Type Description
bytes

Serialized data

Source code in blake2signer/serializers.py
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(self, data, **kwargs)

Return given data as-is.

Parameters:

Name Type Description Default
data bytes

Serialized data to unserialize.

required

Keyword arguments:

Name Type Description
**kwargs Any

Ignored.

Returns:

Type Description
Any

Original data.

Source code in blake2signer/serializers.py
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
Back to top