def finished
bendvy-ecs-core@0.1.0.4 · ordinary_owned_event_query.bend:22
import bendvy-ecs-core@0.1.0.4/ordinary_owned_event_query.bend as OrdinaryOwnedEventQuery
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/transaction.bend as T
import bendvy-ecs-core@0.1.0.4/compose.bend as Q
import bendvy-ecs-core@0.1.0.4/capture_query.bend as Fold
import bendvy-ecs-core@0.1.0.4/ordinary_owned_event.bend as Pub
import bendvy-ecs-core@0.1.0.4/owned_event_storage.bend as Storage
22def finished(~S:Data,~C:Type,~R:Type,~P:Type,~U:Data,~Out:Data,result:Fold.Executed<W.World<S,C,Storage.Resources<R,P>,Nat>,Stage<P>,Q.Error<U>,Out>) -> Sys.Outcome<W.World<S,C,Storage.Resources<R,P>,Nat>,Unit,Pub.Reply<Q.Error<U>,List<&2,Out>,P>>:
23 match result:
24 case Fold.Executed{world,Stage{newest},T.Success{},values}:Sys.Succeeded{Storage.commit_owned(~S,~C,~R,~P,world,List.reverse(&1,P,newest)),Pub.Reply{T.Success{},values,[]}}
25 case Fold.Executed{world,Stage{newest},T.Failure{error},_}:Sys.Succeeded{world,Pub.Reply{T.Failure{error},[],List.reverse(&1,P,newest)}}