o
    DD©iÀ  ã                   @   s*   d Z ddlmZ G dd„ dƒZdd„ ZdS )z¦Utilities for storing collections of error messages.

.. warning::

    This module is treated as private API.
    Users should not need to use this module directly.
é    )ÚSCHEMAc                   @   s"   e Zd Zdd„ Zedfdd„ZdS )Ú
ErrorStorec                 C   s
   i | _ d S ©N)Úerrors)Úself© r   úP/var/www/Datamplify/venv/lib/python3.10/site-packages/marshmallow/error_store.pyÚ__init__   s   
zErrorStore.__init__Nc                 C   s<   |t ks	t|tƒs||i}|d ur||i}t| j|ƒ| _d S r   )r   Ú
isinstanceÚdictÚmerge_errorsr   )r   ÚmessagesÚ
field_nameÚindexr   r   r   Ústore_error   s
   zErrorStore.store_error)Ú__name__Ú
__module__Ú__qualname__r	   r   r   r   r   r   r   r      s    r   c              	   C   sH  | s|S |s| S t | tƒr1t |tƒr| | S t |tƒr+t|fi tt| | t¡ƒi¤ŽS g | ¢|‘S t | tƒrt |tƒrKt| fi tt|  t¡|ƒi¤ŽS t |tƒrqt| ƒ}| ¡ D ]\}}||v rjt|| |ƒ||< qX|||< qX|S t| fi tt|  t¡|ƒi¤ŽS t |tƒr‹| g|¢S t |tƒr t|fi tt| | t¡ƒi¤ŽS | |gS )z¬Deeply merge two error messages.

    The format of ``errors1`` and ``errors2`` matches the ``message``
    parameter of :exc:`marshmallow.exceptions.ValidationError`.
    )r
   Úlistr   r   r   ÚgetÚitems)Úerrors1Úerrors2r   ÚkeyÚvalr   r   r   r      s4   


 

 

 


 r   N)Ú__doc__Úmarshmallow.exceptionsr   r   r   r   r   r   r   Ú<module>   s    