Source code for compages.path
from dataclasses import dataclass
from typing import Any
[docs]
@dataclass
class StructField:
"""A structure field."""
name: str
def __str__(self) -> str:
return self.name
[docs]
@dataclass
class UnionVariant:
"""A union variant."""
type_: type
def __str__(self) -> str:
return f"<{self.type_.__name__}>"
[docs]
@dataclass
class ListElem:
"""A list element."""
index: int
def __str__(self) -> str:
return f"[{self.index}]"
[docs]
@dataclass
class DictKey:
"""A dictionary key."""
key: Any
def __str__(self) -> str:
return f"key({self.key})"
[docs]
@dataclass
class DictValue:
"""A dictionary value."""
key: Any
def __str__(self) -> str:
return f"[{self.key}]"
PathElem = StructField | UnionVariant | ListElem | DictKey | DictValue