codekingpro/portable-devtools
114k
1from types import UnionType2from typing import (3 Any,4 AnyStr,5 Callable,6 Container,7 ContextManager,8 Iterable,9 Mapping,10 Match,11 Pattern,12 TypeVar,13 overload,14)15 16from attrs import _ValidatorType17from attrs import _ValidatorArgType18 19_T = TypeVar("_T")20_T1 = TypeVar("_T1")21_T2 = TypeVar("_T2")22_T3 = TypeVar("_T3")23_T4 = TypeVar("_T4")24_T5 = TypeVar("_T5")25_T6 = TypeVar("_T6")26_I = TypeVar("_I", bound=Iterable)27_K = TypeVar("_K")28_V = TypeVar("_V")29_M = TypeVar("_M", bound=Mapping)30 31def set_disabled(run: bool) -> None: ...32def get_disabled() -> bool: ...33def disabled() -> ContextManager[None]: ...34 35# To be more precise on instance_of use some overloads.36# If there are more than 3 items in the tuple then we fall back to Any37@overload38def instance_of(type: type[_T]) -> _ValidatorType[_T]: ...39@overload40def instance_of(type: tuple[type[_T]]) -> _ValidatorType[_T]: ...41@overload42def instance_of(43 type: tuple[type[_T1], type[_T2]],44) -> _ValidatorType[_T1 | _T2]: ...45@overload46def instance_of(47 type: tuple[type[_T1], type[_T2], type[_T3]],48) -> _ValidatorType[_T1 | _T2 | _T3]: ...49@overload50def instance_of(type: tuple[type, ...]) -> _ValidatorType[Any]: ...51@overload52def instance_of(type: UnionType) -> _ValidatorType[Any]: ...53def optional(54 validator: (55 _ValidatorType[_T]56 | list[_ValidatorType[_T]]57 | tuple[_ValidatorType[_T], ...]58 ),59) -> _ValidatorType[_T | None]: ...60def in_(options: Container[_T]) -> _ValidatorType[_T]: ...61def and_(*validators: _ValidatorType[_T]) -> _ValidatorType[_T]: ...62def matches_re(63 regex: Pattern[AnyStr] | AnyStr,64 flags: int = ...,65 func: Callable[[AnyStr, AnyStr, int], Match[AnyStr] | None] | None = ...,66) -> _ValidatorType[AnyStr]: ...67def deep_iterable(68 member_validator: _ValidatorArgType[_T],69 iterable_validator: _ValidatorArgType[_I] | None = ...,70) -> _ValidatorType[_I]: ...71@overload72def deep_mapping(73 key_validator: _ValidatorArgType[_K],74 value_validator: _ValidatorArgType[_V] | None = ...,75 mapping_validator: _ValidatorArgType[_M] | None = ...,76) -> _ValidatorType[_M]: ...77@overload78def deep_mapping(79 key_validator: _ValidatorArgType[_K] | None = ...,80 value_validator: _ValidatorArgType[_V] = ...,81 mapping_validator: _ValidatorArgType[_M] | None = ...,82) -> _ValidatorType[_M]: ...83def is_callable() -> _ValidatorType[_T]: ...84def lt(val: _T) -> _ValidatorType[_T]: ...85def le(val: _T) -> _ValidatorType[_T]: ...86def ge(val: _T) -> _ValidatorType[_T]: ...87def gt(val: _T) -> _ValidatorType[_T]: ...88def max_len(length: int) -> _ValidatorType[_T]: ...89def min_len(length: int) -> _ValidatorType[_T]: ...90def not_(91 validator: _ValidatorType[_T],92 *,93 msg: str | None = None,94 exc_types: type[Exception] | Iterable[type[Exception]] = ...,95) -> _ValidatorType[_T]: ...96@overload97def or_(98 __v1: _ValidatorType[_T1],99 __v2: _ValidatorType[_T2],100) -> _ValidatorType[_T1 | _T2]: ...101@overload102def or_(103 __v1: _ValidatorType[_T1],104 __v2: _ValidatorType[_T2],105 __v3: _ValidatorType[_T3],106) -> _ValidatorType[_T1 | _T2 | _T3]: ...107@overload108def or_(109 __v1: _ValidatorType[_T1],110 __v2: _ValidatorType[_T2],111 __v3: _ValidatorType[_T3],112 __v4: _ValidatorType[_T4],113) -> _ValidatorType[_T1 | _T2 | _T3 | _T4]: ...114@overload115def or_(116 __v1: _ValidatorType[_T1],117 __v2: _ValidatorType[_T2],118 __v3: _ValidatorType[_T3],119 __v4: _ValidatorType[_T4],120 __v5: _ValidatorType[_T5],121) -> _ValidatorType[_T1 | _T2 | _T3 | _T4 | _T5]: ...122@overload123def or_(124 __v1: _ValidatorType[_T1],125 __v2: _ValidatorType[_T2],126 __v3: _ValidatorType[_T3],127 __v4: _ValidatorType[_T4],128 __v5: _ValidatorType[_T5],129 __v6: _ValidatorType[_T6],130) -> _ValidatorType[_T1 | _T2 | _T3 | _T4 | _T5 | _T6]: ...131@overload132def or_(133 __v1: _ValidatorType[Any],134 __v2: _ValidatorType[Any],135 __v3: _ValidatorType[Any],136 __v4: _ValidatorType[Any],137 __v5: _ValidatorType[Any],138 __v6: _ValidatorType[Any],139 *validators: _ValidatorType[Any],140) -> _ValidatorType[Any]: ...141 