File: //home/arjun/projects/env/lib/python3.10/site-packages/attr/__pycache__/setters.cpython-310.pyc
o
"wex � @ sF d Z ddlmZ ddlmZ dd� Zdd� Zdd � Zd
d� Ze � Z
dS )
z%
Commonly used hooks for on_setattr.
� )�_config��FrozenAttributeErrorc s � fdd�}|S )zf
Run all *setters* and return the return value of the last one.
.. versionadded:: 20.1.0
c s |}� D ]}|| ||�}q|S )N� )�instance�attrib� new_value�rv�setter��settersr �E/home/arjun/projects/env/lib/python3.10/site-packages/attr/setters.py�wrapped_pipe s zpipe.<locals>.wrapped_piper )r r r r r
�pipe s r c C s t � �)zL
Prevent an attribute to be modified.
.. versionadded:: 20.1.0
r )�_�__�___r r r
�frozen s r c C s, t jdu r|S |j}|s|S || ||� |S )z^
Run *attrib*'s validator on *new_value* if it has one.
.. versionadded:: 20.1.0
F)r �_run_validators� validator)r r r �vr r r
�validate'