def selected
bendvy-ecs-core@0.1.0.4 · ordinary_optional_resource.bend:19
import bendvy-ecs-core@0.1.0.4/ordinary_optional_resource.bend as OrdinaryOptionalResource
import Base
import bendvy-ecs-core@0.1.0.4/ordinary_schema.bend as Schema
import bendvy-ecs-core@0.1.0.4/owner_product.bend as Product
19def selected(~S:Data,~R:Type,~P:Type,~Rest:Type,~V:Data,~identity:Schema.Resource<S,P>,~lens:Product.Lens<R,Slot<S,P,identity>,Rest>,~view:P -> P & V,result:Rest & Slot<S,P,identity>) -> R & Maybe<&2,V>:
20 match result:
21 case (rest,Missing{}):(Product.put_field(~R,~Slot<S,P,identity>,~Rest,lens)(rest,Missing{}),None{})
22 case (rest,Present{owner}):viewed(~S,~R,~P,~Rest,~V,~identity,~lens,rest,view(owner))