def before_state
bendvy-ecs-core@0.1.0.4 · event_notice_runtime.bend:149
import bendvy-ecs-core@0.1.0.4/event_notice_runtime.bend as EventNoticeRuntime
import Base
import bendvy-ecs-core@0.1.0.4/change_tick.bend as Tick
import bendvy-ecs-core@0.1.0.4/world.bend as W
import bendvy-ecs-core@0.1.0.4/relation_commands.bend as Notice
import bendvy-ecs-core@0.1.0.4/internal/relation_failures/domains.bend as D
import bendvy-ecs-core@0.1.0.4/event_family_routing.bend as Route
149
150
151def before_state(~S:Data,~C:Type,~R:Type,~P:Data,~F:Type,~H:Type,~sync:F -> Nat -> List<&2,P> -> F,~classify:Notice.Notice<S,P> -> Maybe<D.DescriptorKey<S>>,state:State<S,P,F,H>,+tick:Nat,world:W.World<S,C,R,Notice.Notice<S,P>>,clock:Tick.Tick) -> Route.Runtime<S,C,R,Notice.Notice<S,P>,State<S,P,F,H>>:
152 match state:
153 case State{typed,Failures{domains,positions,+failureTick,start,boundary,capacity,nextReader}}:
154 attempt_ingested(~S,~C,~R,~P,~F,~H,ingest(~S,~C,~R,~P,~F,~H,~sync,~classify,Nat.max(1n,Nat.max(tick,Nat.max(failureTick,Tick.total(clock)))),Route.Runtime{world,State{typed,Failures{domains,positions,failureTick,start,boundary,capacity,nextReader}},tick}))