def column_put

bendvy-ecs-core@0.1.0.3 · execution_composer_layout.bend:141

import bendvy-ecs-core@0.1.0.3/execution_composer_layout.bend as ExecutionComposerLayout
import Base
import bendvy-ecs-core@0.1.0.3/owner_product.bend as Product

141def column_put(~S:Data,layout:Layout,route:Route,rest:column_rest(~S,layout,route),slot:ColumnSlot<S,stored(layout,route),key(layout,route),origin(layout,route)>) -> columns(~S,layout):
142  match layout route rest:
143    case EmptyLayout{} _ rest:rest
144    case LayoutLeaf{P,V,_,key,_} AtLeaf{} _:slot
145    case ClassifiedLayoutLeaf{P,V,_,key,_,_} AtLeaf{} _:slot
146    case LayoutLeaf{P,V,_,key,_} InLeft{_} rest:rest
147    case ClassifiedLayoutLeaf{P,V,_,key,_,_} InLeft{_} rest:rest
148    case LayoutLeaf{P,V,_,key,_} InRight{_} rest:rest
149    case ClassifiedLayoutLeaf{P,V,_,key,_,_} InRight{_} rest:rest
150    case LayoutPair{left,right} AtLeaf{} rest:rest
151    case LayoutPair{left,right} InLeft{path}, (outer,inner):Product.Owner{column_put(~S,left,path,inner,slot),outer}
152    case LayoutPair{left,right} InRight{path}, (outer,inner):Product.Owner{outer,column_put(~S,right,path,inner,slot)}

Uses (10)

Used by (3)