aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/attr/setters.pyi
blob: 73abf36e7d5b0f5f56e7fddeee716824c1c60d58 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from typing import Any, NewType, NoReturn, TypeVar

from . import Attribute
from attrs import _OnSetAttrType

_T = TypeVar("_T")

def frozen(
    instance: Any, attribute: Attribute[Any], new_value: Any
) -> NoReturn: ...
def pipe(*setters: _OnSetAttrType) -> _OnSetAttrType: ...
def validate(instance: Any, attribute: Attribute[_T], new_value: _T) -> _T: ...

# convert is allowed to return Any, because they can be chained using pipe.
def convert(
    instance: Any, attribute: Attribute[Any], new_value: Any
) -> Any: ...

_NoOpType = NewType("_NoOpType", object)
NO_OP: _NoOpType