def run_checked
bendvy-ecs-core@0.1.0.4 · schedule_with_barrier.bend:14
import bendvy-ecs-core@0.1.0.4/schedule_with_barrier.bend as ScheduleWithBarrier
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/schedule.bend as Sch
14def run_checked(~S: Data,~C: Type,~R: Type,~E: Data,~H: Type,~Error: Data,~skip: H -> W.World<S,C,R,E> -> U32 -> H & W.World<S,C,R,E>,~dispatch: H -> W.World<S,C,R,E> -> U32 -> H & Sys.Outcome<W.World<S,C,R,E>,Error,Unit>,~barrier: H -> W.World<S,C,R,E> -> H & W.World<S,C,R,E>,~condition: W.World<S,C,R,E> -> U32 -> W.World<S,C,R,E> & Bool,allowed: Bool,schedule: Sch.Schedule<S,C,R,E,H>,world: W.World<S,C,R,E>) -> Sch.RunResult<S,C,R,E,H,Error>:
15 match allowed schedule:
16 case False{} schedule: Sch.Rejected{schedule,world}
17 case True{} Sch.Schedule{+namespace,+name,+steps,owners}: execute(~S,~C,~R,~E,~H,~Error,~skip,~dispatch,~barrier,~condition,steps,owners,world,namespace,name,steps,[])