U
    ‡i7gB  ã                   @  sD   d Z ddlmZ ddlmZmZ G dd„ deƒZG dd„ deƒZdS )	zØAbstract base classes.

These are necessary to avoid circular imports between schema.py and fields.py.

.. warning::

    This module is treated as private API.
    Users should not need to use this module directly.
é    )Úannotations)ÚABCÚabstractmethodc                   @  sN   e Zd ZdZdZdZdZeddd„ƒZedd„ ƒZ	edd„ ƒZ
ed	d
„ ƒZdS )ÚFieldABCz9Abstract base class from which all Field classes inherit.Nc                 C  s   d S ©N© )ÚselfÚattrÚobjÚaccessorr   r   ú4/tmp/pip-unpacked-wheel-o_a6af_p/marshmallow/base.pyÚ	serialize   s    zFieldABC.serializec                 C  s   d S r   r   )r   Úvaluer   r   r   Údeserialize   s    zFieldABC.deserializec                 K  s   d S r   r   )r   r   r	   r
   Úkwargsr   r   r   Ú
_serialize   s    zFieldABC._serializec                 K  s   d S r   r   )r   r   r	   Údatar   r   r   r   Ú_deserialize#   s    zFieldABC._deserialize)N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚparentÚnameÚrootr   r   r   r   r   r   r   r   r   r      s   

r   c                   @  sx   e Zd ZdZeddœddœdd„ƒZeddœddœdd„ƒZedddd	œddœd
d„ƒZedddd	œddœdd„ƒZdS )Ú	SchemaABCz3Abstract base class from which all Schemas inherit.N)Úmanyzbool | Nonec                C  s   d S r   r   ©r   r
   r   r   r   r   Údump+   s    zSchemaABC.dumpc                C  s   d S r   r   r   r   r   r   Údumps/   s    zSchemaABC.dumps)r   ÚpartialÚunknownc                C  s   d S r   r   )r   r   r   r    r!   r   r   r   Úload3   s    zSchemaABC.loadc                K  s   d S r   r   )r   Z	json_datar   r    r!   r   r   r   r   Úloads7   s    
zSchemaABC.loads)	r   r   r   r   r   r   r   r"   r#   r   r   r   r   r   (   s   úr   N)r   Ú
__future__r   Úabcr   r   r   r   r   r   r   r   Ú<module>   s   
