def relate_staged

bendvy-ecs-core@0.1.0.4 · relation_commands.bend:59

import bendvy-ecs-core@0.1.0.4/relation_commands.bend as RelationCommands
import Base
import bendvy-ecs-core@0.1.0.4/trace_relation.bend as TraceRel
import bendvy-ecs-core@0.1.0.4/trace_facts.bend as TraceFacts
import relation_types.bend as G
import world.bend as W
import transaction.bend as X

59def relate_staged(~S:Data,~C:Type,~R:Type,~E:Data,+descriptor:G.Descriptor<S>,+source:W.Handle<S>,+target:W.Handle<S>,tx:X.Tx<W.World<S,Store<S,C>,R,Notice<S,E>>,Notice<S,E>>) -> X.Tx<W.World<S,Store<S,C>,R,Notice<S,E>>,Notice<S,E>>:
60  match tx:
61    case X.Tx{world,undo,commands,events,+trace}:X.Tx{world,undo,relate_command(~S,~C,~R,~E,TraceFacts.enabled(trace),descriptor,source,target) <> commands,events,TraceRel.relate(~S,trace,descriptor,TraceFacts.StageOperation{},source,target,TraceFacts.Attempted{})}

Uses (12)

Used by (1)