def layout_lens
bendvy-ecs-core@0.1.0.3 · execution_query.bend:75
import bendvy-ecs-core@0.1.0.3/execution_query.bend as ExecutionQuery
import Base
import bendvy-ecs-core@0.1.0.3/chunk_column.bend as Col
import bendvy-ecs-core@0.1.0.3/owner_product.bend as Product
import bendvy-ecs-core@0.1.0.3/execution_composer_layout.bend as Layout
75def layout_lens(~S:Data,~C:Type,~layout:Layout.Layout,~route:Layout.Route,~same:{C == Layout.columns(~S,layout) : Type},~shape:{Layout.columns(~S,Layout.subtree(layout,route)) == Layout.query_pair(~S,~layout,~route) : Type}) -> Product.Lens<C,Product.Owner<Col.Column<S,Layout.stored(Layout.subtree(layout,route),Layout.InLeft{Layout.AtLeaf{}})>,Col.Column<S,Layout.stored(Layout.subtree(layout,route),Layout.InRight{Layout.AtLeaf{}})>>,Layout.subtree_rest(~S,layout,route)>:
76 Product.Lens{layout_take(~S,~C,~layout,~route,~same,~shape),layout_put(~S,~C,~layout,~route,~same,~shape)}