File: classes.py

package info (click to toggle)
dacite 1.9.2-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 332 kB
  • sloc: python: 1,870; makefile: 8
file content (48 lines) | stat: -rw-r--r-- 931 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
from dataclasses import dataclass
from enum import Enum
from typing import Optional, List, Set, Union, Dict


@dataclass
class ForwardRef:
    inner: "LongUnion"


@dataclass
class Simple:
    attr_string: str
    attr_int: int
    attr_list: List[str]
    attr_set: Set[float]
    attr_string_opt: Optional[str] = None


@dataclass
class Nested:
    nested1: Simple
    nested2: Simple
    nested_list: List[Simple]
    nested_dict: Dict[str, Simple]


@dataclass
class LongUnion:
    simple_type_union: Union[set, dict, tuple, str, bool]
    unrealistically_complex_union: Union[int, str, bool, set, list, Simple, Nested]
    unrealistically_complex_union2: Union[int, str, bool, set, Simple, Nested, List[Nested]]


@dataclass
class UnionCollection:
    collection: List[Union[int, str, bool, set, list, dict, Simple, Nested, List[Nested]]]


class E(Enum):
    X = "x"
    Y = "y"
    Z = "z"


@dataclass
class Cast:
    e: E