o
    À©Zh¯  ã                   @   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   úN/var/www/html/lang_env/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   sF  | s|S |s| S t | tƒr0t |tƒr| | S t |tƒr+t|fi tt| | t¡ƒi¤ŽS | |g S t | tƒr€t |tƒrJt| fi tt|  t¡|ƒi¤ŽS t |tƒrpt| ƒ}| ¡ D ]\}}||v rit|| |ƒ||< qW|||< qW|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)Zerrors1Zerrors2r   ÚkeyÚvalr   r   r   r      s4   


 


 

 


 r   N)Ú__doc__Zmarshmallow.exceptionsr   r   r   r   r   r   r   Ú<module>   s    