def drain
bendvy-ecs-core@0.1.0.4 · internal/relation_failures/barrier.bend:22
import bendvy-ecs-core@0.1.0.4/internal/relation_failures/barrier.bend as Barrier
import Base
import bendvy-ecs-core@0.1.0.4/deferred_command.bend as Deferred
import domains.bend as D
import bendvy-ecs-core@0.1.0.4/world.bend as W
22def drain(~S: Data,~C: Type,~R: Type,~E: Data,~classify: E -> Maybe<D.DescriptorKey<S>>,commands: List<Deferred.Command<W.World<S,C,R,E>>>,state: BarrierState<S,C,R,E>) -> BarrierState<S,C,R,E>:
23 match commands:
24 case []: closed(~S,~C,~R,~E,state)
25 case command <> rest: drain(~S,~C,~R,~E,~classify,rest,command_collected(~S,~C,~R,~E,~classify,command,state))