def checked_lens

bendvy-ecs-core@0.1.0.3 · execution_relation_failure_provider.bend:16

import bendvy-ecs-core@0.1.0.3/execution_relation_failure_provider.bend as ExecutionRelationFailureProvider
import Base
import bendvy-ecs-core@0.1.0.3/execution_composer_layout.bend as Layout
import bendvy-ecs-core@0.1.0.3/execution_layout_access.bend as LayoutAccess
import bendvy-ecs-core@0.1.0.3/owner_product.bend as Product
import bendvy-ecs-core@0.1.0.3/relation_types.bend as T

16def checked_lens(~S:Data,~R:Type,~full:Layout.Layout,~route:Layout.Route,~descriptor:T.Descriptor<S>,~local:Layout.Layout,~selected:Layout.Route,~same:{R == Layout.resources(~S,local) : Type},slot:{LayoutAccess.resource_slot(~S,local,selected) == Slot(~S,~full,~route,~descriptor) : Type}) -> Product.Lens<R,Slot(~S,~full,~route,~descriptor),Layout.resource_rest(~S,local,selected)>:
17  %slot : Product.Lens<R,_,Layout.resource_rest(~S,local,selected)>
18  LayoutAccess.resource_lens(~S,~R,~local,~selected,~same)

Uses (9)

Used by (1)