%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/python3/dist-packages/attr/__pycache__/
Upload File :
Create Path :
Current File : //lib/python3/dist-packages/attr/__pycache__/converters.cpython-312.pyc

�

��e&��P�dZddlZddlmZddlmZmZmZgd�Zd�Z	edfd�Z
d	�Zy)
z
Commonly useful converters.
�N�)�_AnnotationExtractor)�NOTHING�Factory�pipe)�default_if_none�optionalr�to_boolc�����fd�}t��}|j�}|r tj||jd<|j�}|r tj||jd<|S)aO
    A converter that allows an attribute to be optional. An optional attribute
    is one which can be set to ``None``.

    Type annotations will be inferred from the wrapped converter's, if it
    has any.

    :param callable converter: the converter that is used for non-``None``
        values.

    .. versionadded:: 17.1.0
    c���|�y�|�S�N�)�val�	converters ��1/usr/lib/python3/dist-packages/attr/converters.py�optional_converterz$optional.<locals>.optional_converter$s����;����~��r�return)r�get_first_param_type�typing�Optional�__annotations__�get_return_type)rr�xtr�t�rts`    rr	r	sp����
�y�
)�C�� � �"�A��4:�O�O�A�4F��*�*�5�1�	�	�	�	�B�	�7=���r�7J��*�*�8�4��rc�����tur|�
d}t|���tur|�
d}t|��|�t|��t�t�r �jr
d}t|���fd�}|S�fd�}|S)a�
    A converter that allows to replace ``None`` values by *default* or the
    result of *factory*.

    :param default: Value to be used if ``None`` is passed. Passing an instance
       of `attrs.Factory` is supported, however the ``takes_self`` option
       is *not*.
    :param callable factory: A callable that takes no parameters whose result
       is used if ``None`` is passed.

    :raises TypeError: If **neither** *default* or *factory* is passed.
    :raises TypeError: If **both** *default* and *factory* are passed.
    :raises ValueError: If an instance of `attrs.Factory` is passed with
       ``takes_self=True``.

    .. versionadded:: 18.2.0
    z(Must pass either `default` or `factory`.z5Must pass either `default` or `factory` but not both.z1`takes_self` is not supported by default_if_none.c�,��|�|S�j�Sr
)�factory�r�defaults �r�default_if_none_converterz2default_if_none.<locals>.default_if_none_converterXs������
��?�?�$�$rc���|�|S�Sr
rr s �rr"z2default_if_none.<locals>.default_if_none_converter`s������
��Nr)r�	TypeErrorr�
isinstance�
takes_self�
ValueError)r!r�msgr"s`   rrr6s����$�'��g�o�8����n���g��'�"5�E����n�����'�"���'�7�#����E�C��S�/�!�	%�%�$�
	�%�$rc��t|t�r|j�}hd�}hd�}	||vry||vry	d|��}t	|��#t$rY�wxYw)a
    Convert "boolean" strings (e.g., from env. vars.) to real booleans.

    Values mapping to :code:`True`:

    - :code:`True`
    - :code:`"true"` / :code:`"t"`
    - :code:`"yes"` / :code:`"y"`
    - :code:`"on"`
    - :code:`"1"`
    - :code:`1`

    Values mapping to :code:`False`:

    - :code:`False`
    - :code:`"false"` / :code:`"f"`
    - :code:`"no"` / :code:`"n"`
    - :code:`"off"`
    - :code:`"0"`
    - :code:`0`

    :raises ValueError: for any other value.

    .. versionadded:: 21.3.0
    >T�1r�y�on�yes�true>F�0�f�n�no�off�falseTFzCannot convert value to bool: )r%�str�lowerr$r')r�truthy�falsyr(s    rr
r
ism��4�#�s���i�i�k��
:�F�;�E�
��&�=���%�<���

+�3�%�
0�C�
�S�/���	�
��
�s�A�A�	A�A)�__doc__r�_compatr�_makerrr�__all__r	rr
rrr�<module>r=s7���
�)�)�)����@$�T�0%�f'r

Zerion Mini Shell 1.0