+ def __init__(self,
+ todo: Todo,
+ seen: bool,
+ children: list[TodoNode]) -> None:
+ self.todo = todo
+ self.seen = seen
+ self.children = children
+
+ @property
+ def as_dict(self) -> dict[str, object]:
+ """Return self as (json.dumps-coompatible) dict."""
+ return {'todo': self.todo.id_,
+ 'seen': self.seen,
+ 'children': [c.as_dict for c in self.children]}
+