U
    ÍZj  ã                   @   sN   d dl Z d dlmZmZ e jr:d dl mZmZmZ edƒZG dd„ de	ƒZ
dS )é    N)ÚABCMetaÚabstractmethod)ÚTypeVarÚOptionalÚUnionÚTc                   @   s,   e Zd ZdZeZedd„ ƒZedd„ ƒZdS )Ú
Serializerz:Represents an abstract object used for Serialization tasksc                 C   s   dS )z�Serializes an object into a string.

        :param obj: object to serialize
        :return: serialized object in string format
        :rtype: str
        N© )ÚselfÚobjr	   r	   úd/var/www/html/TRUCKING_PROJECT/venv/lib/python3.8/site-packages/ask_sdk_model/services/serializer.pyÚ	serialize   s    	zSerializer.serializec                 C   s   dS )a  Deserializes the payload to object of provided obj_type.

        :param payload: String to deserialize
        :type payload: str
        :param obj_type: Target type of deserialization
        :type obj_type: object
        :return: Deserialized object
        :rtype: object
        Nr	   )r
   ÚpayloadÚobj_typer	   r	   r   Údeserialize%   s    zSerializer.deserializeN)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Z__metaclass__r   r   r   r	   r	   r	   r   r      s   

r   )ÚtypingÚabcr   r   ÚTYPE_CHECKINGr   r   r   r   Úobjectr   r	   r	   r	   r   Ú<module>   s
   