
    	h	              
         d Z ddlmZ ddlmZ ddlmZmZmZm	Z	m
Z
mZmZmZmZmZmZmZ eZ	 eeeef         eeef         f         Z	 e
eef         Z	 eeeegee	eef         eeeeedf         f         f         Z	 eee         eee         f         Z	 eeegdf         Z	 e G d de                      Ze G d	 d
e                      Z G d dee          ZdS )z
Type information used throughout *structlog*.

For now, they are considered provisional. Especially `BindableLogger` will
probably change to something more elegant.

.. versionadded:: 22.2.0
    )annotations)TracebackType)AnyCallableDictMappingMutableMappingOptionalProtocolTextIOTupleTypeUnionruntime_checkable.Nc                      e Zd ZdZddZdS )	ExceptionTransformeraC  
    **Protocol:** A callable that transforms an `ExcInfo` into another
    datastructure.

    The result should be something that your renderer can work with, e.g., a
    ``str`` or a JSON-serializable ``dict``.

    Used by `structlog.processors.format_exc_info()` and
    `structlog.processors.ExceptionPrettyPrinter`.

    Arguments:

        exc_info: Is the exception tuple to format

    Returns:

        Anything that can be rendered by the last processor in your chain,
        for example, a string or a JSON-serializable structure.

    .. versionadded:: 22.1.0
    exc_infoExcInforeturnr   c                    d S N )selfr   s     ]/var/www/html/web-builder-api.evdpl.com/venv/lib/python3.11/site-packages/structlog/typing.py__call__zExceptionTransformer.__call__u           N)r   r   r   r   )__name__
__module____qualname____doc__r   r   r   r   r   r   ]   s2         ,     r   r   c                  >    e Zd ZU dZded<   ddZdd
ZddZddZdS )BindableLoggerz
    **Protocol**: Methods shared among all bound loggers and that are relied on
    by *structlog*.

    .. versionadded:: 20.2.0
    Context_context
new_valuesr   r   c                    d S r   r   r   r&   s     r   bindzBindableLogger.bind   r   r   keysstrc                    d S r   r   r   r*   s     r   unbindzBindableLogger.unbind   r   r   c                    d S r   r   r-   s     r   
try_unbindzBindableLogger.try_unbind   r   r   c                    d S r   r   r(   s     r   newzBindableLogger.new   r   r   N)r&   r   r   r#   )r*   r+   r   r#   )	r   r   r    r!   __annotations__r)   r.   r0   r2   r   r   r   r#   r#   y   s~                         r   r#   c                      e Zd ZdZd&dZd'dZd'd	Zd&d
Zd(dZd(dZ	d(dZ
d(dZd(dZd(dZd(dZd(dZd(dZd(dZd(dZd(dZd(dZd(dZd(dZd(dZd(dZd(dZd(d Zd)d#Zd)d$Zd%S )*FilteringBoundLoggera  
    **Protocol**: A `BindableLogger` that filters by a level.

    The only way to instantiate one is using `make_filtering_bound_logger`.

    .. versionadded:: 20.2.0
    .. versionadded:: 22.2.0 String interpolation using positional arguments.
    .. versionadded:: 22.2.0
       Async variants ``alog()``, ``adebug()``, ``ainfo()``, and so forth.
    .. versionchanged:: 22.3.0
       String interpolation is only attempted if positional arguments are
       passed.
    r&   r   r   c                    dS )zu
        Return a new logger with *new_values* added to the existing ones.

        .. versionadded:: 22.1.0
        Nr   r(   s     r   r)   zFilteringBoundLogger.bind         r   r*   r+   c                    dS )zm
        Return a new logger with *keys* removed from the context.

        .. versionadded:: 22.1.0
        Nr   r-   s     r   r.   zFilteringBoundLogger.unbind   r7   r   c                    dS )zs
        Like :meth:`unbind`, but best effort: missing keys are ignored.

        .. versionadded:: 22.1.0
        Nr   r-   s     r   r0   zFilteringBoundLogger.try_unbind   r7   r   c                    dS )zj
        Clear context and binds *initial_values* using `bind`.

        .. versionadded:: 22.1.0
        Nr   r(   s     r   r2   zFilteringBoundLogger.new   r7   r   eventargskwc                    dS )zF
        Log ``event % args`` with **kw** at **debug** level.
        Nr   r   r;   r<   r=   s       r   debugzFilteringBoundLogger.debug   r7   r   c                
   K   dS )zg
        Log ``event % args`` with **kw** at **debug** level.

        ..versionadded:: 22.2.0
        Nr   r?   s       r   adebugzFilteringBoundLogger.adebug   
        r   c                    dS zE
        Log ``event % args`` with **kw** at **info** level.
        Nr   r?   s       r   infozFilteringBoundLogger.info   r7   r   c                
   K   dS )zf
        Log ``event % args`` with **kw** at **info** level.

        ..versionadded:: 22.2.0
        Nr   r?   s       r   ainfozFilteringBoundLogger.ainfo   rC   r   c                    dS zE
        Log ``event % args`` with **kw** at **warn** level.
        Nr   r?   s       r   warningzFilteringBoundLogger.warning   r7   r   c                
   K   dS zf
        Log ``event % args`` with **kw** at **warn** level.

        ..versionadded:: 22.2.0
        Nr   r?   s       r   awarningzFilteringBoundLogger.awarning   rC   r   c                    dS rJ   r   r?   s       r   warnzFilteringBoundLogger.warn   r7   r   c                
   K   dS rM   r   r?   s       r   awarnzFilteringBoundLogger.awarn   rC   r   c                    dS zF
        Log ``event % args`` with **kw** at **error** level.
        Nr   r?   s       r   errorzFilteringBoundLogger.error   r7   r   c                
   K   dS )zg
        Log ``event % args`` with **kw** at **error** level.

        ..versionadded:: 22.2.0
        Nr   r?   s       r   aerrorzFilteringBoundLogger.aerror   rC   r   c                    dS rT   r   r?   s       r   errzFilteringBoundLogger.err   r7   r   c                    dS zI
        Log ``event % args`` with **kw** at **critical** level.
        Nr   r?   s       r   fatalzFilteringBoundLogger.fatal   r7   r   c                
   K   dS zj
        Log ``event % args`` with **kw** at **critical** level.

        ..versionadded:: 22.2.0
        Nr   r?   s       r   afatalzFilteringBoundLogger.afatal  rC   r   c                    dS )z
        Log ``event % args`` with **kw** at **error** level and ensure that
        ``exc_info`` is set in the event dictionary.
        Nr   r?   s       r   	exceptionzFilteringBoundLogger.exception	  r7   r   c                
   K   dS )z
        Log ``event % args`` with **kw** at **error** level and ensure that
        ``exc_info`` is set in the event dictionary.

        ..versionadded:: 22.2.0
        Nr   r?   s       r   
aexceptionzFilteringBoundLogger.aexception  rC   r   c                    dS r[   r   r?   s       r   criticalzFilteringBoundLogger.critical  r7   r   c                
   K   dS r^   r   r?   s       r   	acriticalzFilteringBoundLogger.acritical  rC   r   c                    dS rE   r   r?   s       r   msgzFilteringBoundLogger.msg#  r7   r   c                
   K   dS rE   r   r?   s       r   amsgzFilteringBoundLogger.amsg(  rC   r   levelintc                    dS z>
        Log ``event % args`` with **kw** at *level*.
        Nr   r   rl   r;   r<   r=   s        r   logzFilteringBoundLogger.log-  r7   r   c                
   K   dS ro   r   rp   s        r   alogzFilteringBoundLogger.alog2  rC   r   N)r&   r   r   r5   )r*   r+   r   r5   )r;   r+   r<   r   r=   r   r   r   )
rl   rm   r;   r+   r<   r   r=   r   r   r   )r   r   r    r!   r)   r.   r0   r2   r@   rB   rF   rH   rK   rN   rP   rR   rU   rW   rY   r\   r_   ra   rc   re   rg   ri   rk   rq   rs   r   r   r   r5   r5      s                       
      
      
      
      
      
   
            
      
   
   
     r   r5   )r!   
__future__r   typesr   typingr   r   r   r   r	   r
   r   r   r   r   r   r   WrappedLoggerr+   r$   	EventDictbytes	bytearray	ProcessorBaseExceptionr   ExceptionRendererr   r#   r5   r   r   r   <module>r~      s9    # " " " " "                                    S#XS#X.
/ 38$	 C#	'#s(
S%E#s(O
CDF	 ]#]H]4KK
L fg.45      8   6     X   .d d d d d>8 d d d d dr   