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)}

Uses (10)

Used by (1)