def relate_command
bendvy-ecs-core@0.1.0.4 · relation_commands.bend:55
import bendvy-ecs-core@0.1.0.4/relation_commands.bend as RelationCommands
import Base
import bendvy-ecs-core@0.1.0.4/deferred_command.bend as Deferred
import relation_types.bend as G
import world.bend as W
55def relate_command(~S:Data,~C:Type,~R:Type,~E:Data,enabled:Bool,+descriptor:G.Descriptor<S>,+source:W.Handle<S>,+target:W.Handle<S>) -> Deferred.Command<W.World<S,Store<S,C>,R,Notice<S,E>>>:
56 match enabled:
57 case False{}:Deferred.Raw{world=>apply_relate(~S,~C,~R,~E,world,descriptor,source,target)}
58 case True{}:Deferred.Observed{trace=>world=>applied_relate_traced(~S,~C,~R,~E,trace,descriptor,source,target,apply_relate_result(~S,~C,~R,~E,world,descriptor,source,target))}