def observed_set_enabled

bendvy-ecs-core@0.1.0.4 · resource_field.bend:48

import bendvy-ecs-core@0.1.0.4/resource_field.bend as ResourceField
import Base
import bendvy-ecs-core@0.1.0.4/owner_product.bend as Product
import bendvy-ecs-core@0.1.0.4/world.bend as W
import bendvy-ecs-core@0.1.0.4/transaction.bend as T
import bendvy-ecs-core@0.1.0.4/resource.bend as Resource

48def observed_set_enabled(~S:Data,~C:Type,~R:Type,~E:Data,~P:Type,~Rest:Type,~V:Data,~lens:Product.Lens<R,P,Rest>,~view:P -> P & V,~render:V -> String,key:String,replacement:P,result:T.Tx<W.World<S,C,R,E>,E> & Bool) -> T.Tx<W.World<S,C,R,E>,E>:
49  match result:
50    case (tx,False{}):tx_set(~S,~C,~R,~E,~P,~Rest,~lens,tx,replacement)
51    case (tx,True{}):observed_set_ready(~S,~C,~R,~E,~P,~Rest,~V,~lens,~view,~render,key,Resource.tx_get(~S,~C,~R,~E,~V,~project(~R,~P,~Rest,~V,~lens,~view),tx),view(replacement))

Uses (11)

Used by (1)