def checked
bendvy-ecs-core@0.1.0.3 · execution_relation_failure_access.bend:40
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/execution_state.bend as State
import bendvy-ecs-core@0.1.0.3/owner_product.bend as Product
40def checked(~S:Data,~descriptor:T.Descriptor<S>,~full:Layout.Layout,~route:Layout.Route,~C:Type,~R:Type,~Rest:Type,~lens:Product.Lens<R,Layout.ResourceSlot<S,Layout.Viewed<Store.Store<S,descriptor>,Store.View<S,descriptor>>,Layout.key(full,route),Layout.origin(full,route)>,Rest>,allowed:Bool,reader:Reader.Reader<S,descriptor,full,route>,scope:State.Scope<S,C,R>) -> State.Scope<S,C,R> & Reader.Reading<S,descriptor,full,route>:
41 match allowed scope:
42 case False{} scope:(scope,Reader.Refused{reader})
43 case True{} State.Scope{columns,resource,handles,tick,prior,view}:taken(~S,~descriptor,~full,~route,~C,~R,~Rest,~lens,reader,columns,handles,tick,prior,view,Product.get_field(~R,~Layout.ResourceSlot<S,Layout.Viewed<Store.Store<S,descriptor>,Store.View<S,descriptor>>,Layout.key(full,route),Layout.origin(full,route)>,~Rest,lens)(resource))