o
    1_Wc                     @   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      dS )zSerializes an object into a string.

        :param obj: object to serialize
        :return: serialized object in string format
        :rtype: str
        N )selfobjr
   r
   CD:\Flask\env\Lib\site-packages\ask_sdk_model/services/serializer.py	serialize   s   	zSerializer.serializec                 C   r	   )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   __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   