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