def run_result_traced

bendvy-ecs-core@0.1.0.4 · event_family_routing.bend:84

import bendvy-ecs-core@0.1.0.4/event_family_routing.bend as EventFamilyRouting
import Base
import bendvy-ecs-core@0.1.0.4/world.bend as W
import bendvy-ecs-core@0.1.0.4/system.bend as Sys
import bendvy-ecs-core@0.1.0.4/event_runtime.bend as Ev
import bendvy-ecs-core@0.1.0.4/trace_facts.bend as Facts
import bendvy-ecs-core@0.1.0.4/event_stream.bend as Leaf

84def run_result_traced(~S:Data,~C:Type,~R:Type,~P:Data,~E:Data,~F:Type,~A:Type,~Error:Data,~O:Type,~take:F -> F & Leaf.Stream<S,E>,~put:F -> Leaf.Stream<S,E> -> F,~runner:W.World<S,C,R,P> -> Ev.Input<E,A> -> Sys.Outcome<W.World<S,C,R,P>,Error,O>,~observed:Facts.State -> W.World<S,C,R,P> -> Ev.Input<E,A> -> Sys.Outcome<W.World<S,C,R,P>,Error,O> & Facts.State,~accepted:O -> O & Bool,~synchronize:W.World<S,C,R,P> -> F -> Nat -> W.World<S,C,R,P> & F,family:F,stream:Leaf.Stream<S,E>,reader:Reader<S,E,F,take,put>,id:U32,tick:Nat,result:Sys.RunResult<S,C,R,P,Ev.Input<E,A>,Error,O,runner> & Facts.State) -> RunResult<S,C,R,P,E,F,A,Error,O,take,put,runner> & Facts.State:
85  match result:
86    case (Sys.RegistrationRejected{registry,world,Ev.Input{_,_,args}},trace):(Ran{Runtime{world,put(family,stream),1n+tick},reader,registry,Ev.Rejected{args}},trace)
87    case (Sys.Completed{registry,outcome},trace):run_outcome_traced(~S,~C,~R,~P,~E,~F,~A,~Error,~O,~take,~put,~runner,~observed,~accepted,~synchronize,family,stream,reader,registry,id,tick,outcome,trace)

Uses (16)

Used by (2)