@@ -33,6 +33,7 @@ def __init__(self, history: simpleflow.swf.mapper.models.history.History) -> Non
3333 self ._external_workflows_signaling : dict [int , dict [str , Any ]] = {}
3434 self ._external_workflows_canceling : dict [str , dict [str , Any ]] = {}
3535 self ._signals : dict [str , dict [str , Any ]] = {}
36+ self ._signal_lists : collections .defaultdict [str , list [dict [str , Any ]]] = collections .defaultdict (list )
3637 self ._signaled_workflows = collections .defaultdict (list )
3738 self ._markers : dict [str , list [dict [str , Any ]]] = {}
3839 self ._timers : dict [str , dict [str , Any ]] = {}
@@ -75,6 +76,13 @@ def signals(self):
7576 """
7677 return self ._signals
7778
79+ @property
80+ def signal_lists (self ):
81+ return self ._signal_lists
82+
83+ def get_signal_events (self , signal_name ):
84+ return self ._signal_lists .get (signal_name , [])
85+
7886 @property
7987 def cancel_requested (self ):
8088 """
@@ -437,6 +445,7 @@ def parse_workflow_event(self, events: list[Event], event: WorkflowExecutionEven
437445 "timestamp" : event .timestamp ,
438446 }
439447 self ._signals [event .signal_name ] = signal
448+ self ._signal_lists [event .signal_name ].append (signal )
440449 self ._tasks .append (signal )
441450 elif event .state == "cancel_requested" :
442451 cancel_requested = {
0 commit comments