def relate_target
bendvy-ecs-core@0.1.0.3 · execution_relation_interpreter.bend:23
import bendvy-ecs-core@0.1.0.3/execution_relation_interpreter.bend as ExecutionRelationInterpreter
import Base
import bendvy-ecs-core@0.1.0.3/entity_allocator.bend as A
import bendvy-ecs-core@0.1.0.3/world.bend as W
import bendvy-ecs-core@0.1.0.3/relation_types.bend as T
import bendvy-ecs-core@0.1.0.3/relation_graph.bend as Graph
import bendvy-ecs-core@0.1.0.3/execution_relation_operation.bend as O
23def relate_target(~S:Data,graph:T.Graph<S>,descriptor:T.Descriptor<S>,+source:W.Handle<S>,+target:W.Handle<S>,sourceLive:Bool,checked:A.Allocator & Bool) -> A.Allocator & O.Outcome<S>:
24 match checked:
25 case (allocator,targetLive):(allocator,result(~S,O.Relate{source,target},Graph.relate(~S,graph,descriptor,W.handle_key(~S,source),W.handle_key(~S,target),sourceLive,targetLive)))