massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / coc-python-data / languageServer.0.5.59 / Typeshed / stdlib / 3.7 / dataclasses.pyi
1 from typing import overload, Any, Callable, Dict, Generic, Iterable, List, Mapping, Optional, Tuple, Type, TypeVar, Union\r
2 \r
3 \r
4 _T = TypeVar('_T')\r
5 \r
6 class _MISSING_TYPE: ...\r
7 MISSING: _MISSING_TYPE\r
8 \r
9 def asdict(obj: Any, *, dict_factory: Callable[[List[Tuple[str, Any]]], _T] = ...) -> _T: ...\r
10 \r
11 def astuple(obj: Any, *, tuple_factory: Callable[[List[Any]], _T] = ...) -> _T: ...\r
12 \r
13 \r
14 @overload\r
15 def dataclass(_cls: Type[_T]) -> Type[_T]: ...\r
16 \r
17 @overload\r
18 def dataclass(*, init: bool = ..., repr: bool = ..., eq: bool = ..., order: bool = ...,\r
19     unsafe_hash: bool = ..., frozen: bool = ...) -> Callable[[Type[_T]], Type[_T]]: ...\r
20 \r
21 \r
22 class Field(Generic[_T]):\r
23     name: str\r
24     type: Type[_T]\r
25     default: _T\r
26     default_factory: Callable[[], _T]\r
27     repr: bool\r
28     hash: Optional[bool]\r
29     init: bool\r
30     compare: bool\r
31     metadata: Optional[Mapping[str, Any]]\r
32 \r
33 \r
34 # NOTE: Actual return type is 'Field[_T]', but we want to help type checkers\r
35 # to understand the magic that happens at runtime.\r
36 @overload  # `default` and `default_factory` are optional and mutually exclusive.\r
37 def field(*, default: _T,\r
38     init: bool = ..., repr: bool = ..., hash: Optional[bool] = ..., compare: bool = ...,\r
39     metadata: Optional[Mapping[str, Any]] = ...) -> _T: ...\r
40 \r
41 @overload\r
42 def field(*, default_factory: Callable[[], _T],\r
43     init: bool = ..., repr: bool = ..., hash: Optional[bool] = ..., compare: bool = ...,\r
44     metadata: Optional[Mapping[str, Any]] = ...) -> _T: ...\r
45 \r
46 @overload\r
47 def field(*,\r
48     init: bool = ..., repr: bool = ..., hash: Optional[bool] = ..., compare: bool = ...,\r
49     metadata: Optional[Mapping[str, Any]] = ...) -> Any: ...\r
50 \r
51 \r
52 def fields(class_or_instance: Any) -> Tuple[Field[Any], ...]: ...\r
53 \r
54 def is_dataclass(obj: Any) -> bool: ...\r
55 \r
56 class FrozenInstanceError(AttributeError): ...\r
57 \r
58 class InitVar(Generic[_T]): ...\r
59 \r
60 def make_dataclass(cls_name: str, fields: Iterable[Union[str, Tuple[str, type], Tuple[str, type, Field[Any]]]], *,\r
61     bases: Tuple[type, ...] = ..., namespace: Optional[Dict[str, Any]] = ...,\r
62     init: bool = ..., repr: bool = ..., eq: bool = ..., order: bool = ..., hash: bool = ..., frozen: bool = ...): ...\r
63 \r
64 def replace(obj: _T, **changes: Any) -> _T: ...\r