def read_lens_left
bendvy-ecs-core@0.1.0.3 · execution_layout_access.bend:38
import bendvy-ecs-core@0.1.0.3/execution_layout_access.bend as ExecutionLayoutAccess
import Base
import bendvy-ecs-core@0.1.0.3/execution_composer_layout.bend as Layout
import bendvy-ecs-core@0.1.0.3/owner_product.bend as Product
38def read_lens_left(-S:Data,-left:Layout.Layout,-right:Layout.Layout,-route:Layout.Route,lens:Product.Lens<Layout.resources_generic(S,left),read_slot_type(S,left,route),Layout.resource_rest_generic(S,left,route)>) -> Product.Lens<Layout.resources_generic(S,Layout.LayoutPair{left,right}),read_slot_type(S,Layout.LayoutPair{left,right},Layout.InLeft{route}),Layout.resource_rest_generic(S,Layout.LayoutPair{left,right},Layout.InLeft{route})>:
39 match lens:
40 case Product.Lens{take,put}:Product.Lens{owner => read_lens_left_take(S,left,right,route,take,owner),rest => slot => read_lens_left_put(S,left,right,route,put,rest,slot)}