entities.py 996 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. from typing import Any, Optional
  2. from core.workflow.entities.base_node_data_entities import BaseIterationNodeData, BaseIterationState
  3. class IterationNodeData(BaseIterationNodeData):
  4. """
  5. Iteration Node Data.
  6. """
  7. parent_loop_id: Optional[str] = None # redundant field, not used currently
  8. iterator_selector: list[str] # variable selector
  9. output_selector: list[str] # output selector
  10. class IterationState(BaseIterationState):
  11. """
  12. Iteration State.
  13. """
  14. outputs: list[Any] = None
  15. current_output: Optional[Any] = None
  16. class MetaData(BaseIterationState.MetaData):
  17. """
  18. Data.
  19. """
  20. iterator_length: int
  21. def get_last_output(self) -> Optional[Any]:
  22. """
  23. Get last output.
  24. """
  25. if self.outputs:
  26. return self.outputs[-1]
  27. return None
  28. def get_current_output(self) -> Optional[Any]:
  29. """
  30. Get current output.
  31. """
  32. return self.current_output