Unfreeze datastructures
This commit is contained in:
parent
ef844c9b57
commit
162dd48748
@ -16,7 +16,7 @@ from .tree_formatters import (
|
||||
from .value_types import QEnum, Values, values_from_json
|
||||
|
||||
|
||||
@dataclass(frozen=True, eq=True, order=True)
|
||||
@dataclass(frozen=False, eq=True, order=True, unsafe_hash=True)
|
||||
class Qube:
|
||||
data: NodeData
|
||||
children: tuple['Qube', ...]
|
||||
|
@ -6,7 +6,7 @@ from frozendict import frozendict
|
||||
from .value_types import Values
|
||||
|
||||
|
||||
@dataclass(frozen=True, eq=True, order=True)
|
||||
@dataclass(frozen=False, eq=True, order=True, unsafe_hash=True)
|
||||
class NodeData:
|
||||
key: str
|
||||
values: Values
|
||||
@ -15,7 +15,7 @@ class NodeData:
|
||||
def summary(self) -> str:
|
||||
return f"{self.key}={self.values.summary()}" if self.key != "root" else "root"
|
||||
|
||||
@dataclass(frozen=True, eq=True, order=True)
|
||||
@dataclass(frozen=False, eq=True, order=True)
|
||||
class RootNodeData(NodeData):
|
||||
"Helper class to print a custom root name"
|
||||
def summary(self) -> str:
|
||||
|
@ -38,8 +38,8 @@ class Values(ABC):
|
||||
|
||||
T = TypeVar("T")
|
||||
EnumValuesType = FrozenSet[T]
|
||||
@dataclass(frozen=True, order=True)
|
||||
|
||||
@dataclass(frozen=True, order=True)
|
||||
class QEnum(Values):
|
||||
"""
|
||||
The simplest kind of key value is just a list of strings.
|
||||
|
Loading…
x
Reference in New Issue
Block a user