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,[])

Uses (10)

Used by (1)