
    6|h                     .    d Z ddlmZ  G d d      Zd Zy)zUtilities for storing collections of error messages.

.. warning::

    This module is treated as private API.
    Users should not need to use this module directly.
    )SCHEMAc                       e Zd Zd ZedfdZy)
ErrorStorec                     i | _         y N)errors)selfs    V/var/www/html/test/engine/venv/lib/python3.12/site-packages/marshmallow/error_store.py__init__zErrorStore.__init__   s	        Nc                     |t         k7  st        |t              s||i}|||i}t        | j                  |      | _        y r   )r   
isinstancedictmerge_errorsr   )r	   messages
field_nameindexs       r
   store_errorzErrorStore.store_error   sA     z(D'A"H-Hx(H"4;;9r   )__name__
__module____qualname__r   r   r    r   r
   r   r      s     06T :r   r   c                 6   | s|S |s| S t        | t              rZt        |t              r| |z   S t        |t              r/t        |fi t        t	        | |j                  t                    iS | |gz   S t        | t              rt        |t              r/t        | fi t        t	        | j                  t              |      iS t        |t              rAt        |       }|j                         D ]!  \  }}||v rt	        ||   |      ||<   |||<   # |S t        | fi t        t	        | j                  t              |      iS t        |t              r| g|z   S t        |t              r/t        |fi t        t	        | |j                  t                    iS | |gS )zDeeply 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vals        r
   r   r      su    '4 gt$W$$gt$XFL'++fBU,V#WXX'""'4 gt$XFLV9Lg,V#WXXgt$']F#MMO &S&=".vc{C"@F3K"%F3K	&
 MGTW[[5H'(RSTT'4 y7""'4 GTWgkk&>Q(RSTTWr   N)__doc__marshmallow.exceptionsr   r   r   r   r   r
   <module>r#      s    *: :  r   