MachineHandlerTrace.events: def of bendvy-ecs-core@0.1.0.4 Import: import bendvy-ecs-core@0.1.0.4/machine_handler_trace.bend as MachineHandlerTrace Lines 16-24 of bendvy-ecs-core@0.1.0.4/machine_handler_trace.bend: https://jend.leeeet.dev/read.txt?path=bendvy-ecs-core@0.1.0.4/machine_handler_trace.bend&start_line=16&end_line=24 import Base import bendvy-ecs-core@0.1.0.4/execution_trace.bend as Trace import bendvy-ecs-core@0.1.0.4/trace_facts.bend as Facts def events(items:List<&2,Facts.Fact>,+barrier:Bool,+identity:Maybe<&2,Trace.Identity>) -> List<&2,Trace.TraceEvent>: match items: case []:[] case Facts.BoundaryFact{Facts.PhaseBoundary{name}} <> rest:Trace.PhaseEntered{name} <> events(rest,False{},None{}) case Facts.BoundaryFact{Facts.BarrierEntered{}} <> rest:events(rest,True{},None{}) case Facts.BoundaryFact{Facts.BarrierFinished{}} <> rest:Trace.DeferredApplied{} <> events(rest,False{},None{}) case Facts.HandlerFact{+namespace,+id,+name,ordinal,phase,from,to,result} <> rest:Trace.ExecutionOperationObserved{Facts.HandlerFact{namespace,id,name,ordinal,phase,from,to,result}} <> events(rest,barrier,Some{Trace.Identity{namespace,id,Some{name}}}) case Facts.ReaderFact{+namespace,+id,+name,readerId,domain,lagged} <> rest:Trace.OperationObserved{Trace.Identity{namespace,id,Some{name}},Facts.ReaderFact{namespace,id,name,readerId,domain,lagged}} <> events(rest,barrier,identity) case fact <> rest:observed(fact,barrier,identity) <> events(rest,barrier,identity) Uses (9): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Maybe https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.4/execution_trace.bend&name=Identity https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.4/execution_trace.bend&name=TraceEvent https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.4/machine_handler_trace.bend&name=observed https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.4/trace_facts.bend&name=Boundary https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.4/trace_facts.bend&name=Fact