def get

bendvy-ecs-core@0.1.0.4 · ordinary_inspector_removal.bend:35

import bendvy-ecs-core@0.1.0.4/ordinary_inspector_removal.bend as OrdinaryInspectorRemoval
import Base
import bendvy-ecs-core@0.1.0.4/ordinary_removal_provision.bend as Provision
import bendvy-ecs-core@0.1.0.4/ordinary_declaration.bend as Identity
import bendvy-ecs-core@0.1.0.4/world.bend as W
import bendvy-ecs-core@0.1.0.4/removals.bend as Rm

35def get(~S:Data,~C:Type,~R:Type,~E:Data,~P:Type,~inject:Identity.Declaration<S,P> -> W.Handle<S> -> E,~select:E -> Maybe<&2,Rm.Record<S,Identity.Declaration<S,P>>>,declaration:Declaration<S,P>,selection:Provision.Selection<S,P,E,inject,select>,world:W.World<S,C,R,E>) -> W.World<S,C,R,E> & Maybe<&2,List<&2,Rm.Record<S,Identity.Declaration<S,P>>>>:
36  match declaration selection:
37    case Declaration{_,Write{}} _:(world,None{})
38    case Declaration{identity,Read{}} Provision.Selection{selected}:
39      +key=Identity.key(~S,~P,identity)
40      checked(~S,~C,~R,~E,~P,~select,String.eq(key,Identity.key(~S,~P,selected)),key,world)

Uses (14)

Used by (1)