def snapshot
bendvy-ecs-core@0.1.0.3 · execution_relation_failure_access.bend:59
import bendvy-ecs-core@0.1.0.3/execution_relation_failure_access.bend as ExecutionRelationFailureAccess
import Base
import bendvy-ecs-core@0.1.0.3/relation_types.bend as T
import bendvy-ecs-core@0.1.0.3/execution_relation_store.bend as Store
import bendvy-ecs-core@0.1.0.3/execution_relation_failure_channel.bend as Reader
import bendvy-ecs-core@0.1.0.3/execution_composer_layout.bend as Layout
import bendvy-ecs-core@0.1.0.3/change_tick.bend as Tick
59def snapshot(~S:Data,~descriptor:T.Descriptor<S>,~full:Layout.Layout,~route:Layout.Route,namespace:U32,tick:Tick.Tick,reader:Reader.Reader<S,descriptor,full,route>,view:Store.View<S,descriptor>) -> Reader.Reading<S,descriptor,full,route>:
60 match reader view:
61 case Reader.Reader{actual,+id,cursor} Store.View{+stored,_,failures,sequence,+nextReader}:snapshot_checked(~S,~descriptor,~full,~route,Bool.and(U32.is_eq(namespace,stored),Bool.and(U32.is_lt(0,id),U32.is_lt(id,nextReader))),stored,sequence,tick,Reader.Reader{actual,id,cursor},failures)