def resource_put_generic
bendvy-ecs-core@0.1.0.3 · execution_composer_layout.bend:182
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
182def resource_put_generic(-S:Data,layout:Layout,route:Route,rest:resource_rest_generic(S,layout,route),slot:ResourceSlot<S,stored(layout,route),key(layout,route),origin(layout,route)>) -> resources_generic(S,layout):
183 match layout route rest:
184 case EmptyLayout{} _ rest:rest
185 case LayoutLeaf{P,V,_,key,_} AtLeaf{} _:slot
186 case ClassifiedLayoutLeaf{P,V,_,key,_,_} AtLeaf{} _:slot
187 case LayoutLeaf{P,V,_,key,_} InLeft{_} rest:rest
188 case ClassifiedLayoutLeaf{P,V,_,key,_,_} InLeft{_} rest:rest
189 case LayoutLeaf{P,V,_,key,_} InRight{_} rest:rest
190 case ClassifiedLayoutLeaf{P,V,_,key,_,_} InRight{_} rest:rest
191 case LayoutPair{left,right} AtLeaf{} rest:rest
192 case LayoutPair{left,right} InLeft{path}, (outer,inner):Product.Owner{resource_put_generic(S,left,path,inner,slot),outer}
193 case LayoutPair{left,right} InRight{path}, (outer,inner):Product.Owner{outer,resource_put_generic(S,right,path,inner,slot)}