%PDF- %PDF-
Direktori : /snap/core20/2582/lib/python3/dist-packages/attr/__pycache__/ |
Current File : //snap/core20/2582/lib/python3/dist-packages/attr/__pycache__/converters.cpython-38.pyc |
U ]�]] � @ sB d Z ddlmZmZmZ ddlmZmZ dd� Zedfdd �Z dS ) z Commonly useful converters. � )�absolute_import�division�print_function� )�NOTHING�Factoryc s � fdd�}|S )z� A converter that allows an attribute to be optional. An optional attribute is one which can be set to ``None``. :param callable converter: the converter that is used for non-``None`` values. .. versionadded:: 17.1.0 c s | d krd S � | �S �N� ��val�� converterr �1/usr/lib/python3/dist-packages/attr/converters.py�optional_converter s z$optional.<locals>.optional_converterr )r r r r r �optional s r Nc sv � t kr|dkrtd��� t k r0|dk r0td��|dk r@t|�� t� t�rf� jrXtd��� fdd�}n� fdd�}|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 `attr.Factory` is supported, however the ``takes_self`` option is *not*. :param callable factory: A callable that takes not 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 `attr.Factory` is passed with ``takes_self=True``. .. versionadded:: 18.2.0 Nz(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 | d k r| S � � � S r )�factoryr ��defaultr r �default_if_none_converter@ s z2default_if_none.<locals>.default_if_none_converterc s | d k r| S � S r r r r r r r H s )r � TypeErrorr � isinstanceZ takes_self� ValueError)r r r r r r �default_if_none s � �r ) �__doc__Z __future__r r r �_maker r r r r r r r �<module> s