...
class AppendingState(State, Generic[TIN, OUT]): @abstractmethod def get(self) -> TOUT: pass @abstractmethod def add(self, value: TIN) -> None: pass class MergingState(AppendingState[IN, OUT]): pass |
ListState
class ListStateDescriptor(StateDescriptor): def __init__(self, super(ListStateDescriptor, self).__init__(name, Types.List(elem_type_info))
class ListState(MergingState[T, GenericIterable[T]]): @abstractmethod def update(self, values: List[T]) -> None: pass @abstractmethod def add_all(self, values: List[T]) -> None: pass def __iter__(self) -> Iterator[T]: return iter(self.get()) |
...