def source_checked
bendvy-ecs-core@0.1.0.4 · restore_graph_validation.bend:28
import bendvy-ecs-core@0.1.0.4/restore_graph_validation.bend as RestoreGraphValidation
import Base
import bendvy-ecs-core@0.1.0.4/restore_graph_data.bend as R
import bendvy-ecs-core@0.1.0.4/entity_key.bend as Key
import bendvy-ecs-core@0.1.0.4/relation_types.bend as G
import bendvy-ecs-core@0.1.0.4/relation_graph.bend as Graph
28def source_checked(~S:Data,valid:Bool,graph:G.Graph<S>,descriptor:G.Descriptor<S>,source:Key.Key,target:Key.Key,next:G.Graph<S> -> R.GraphResult<S>) -> R.GraphResult<S>:
29 match valid:
30 case False{}:R.Rejected{R.InvalidRelation{Graph.name(~S,descriptor),source,target}}
31 case True{}:next(added(~S,graph,descriptor,source,target))