def cycles

bendvy-ecs-core@0.1.0.4 · restore_graph_validation.bend:44

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/relation_types.bend as G
import bendvy-ecs-core@0.1.0.4/relation_graph.bend as Graph

44def cycles(~S:Data,edges:List<&2,G.Edge<S>>,+graph:G.Graph<S>,next:Unit -> R.GraphResult<S>) -> R.GraphResult<S>:
45  match edges:
46    case []:next(Unit{})
47    case G.Edge{+descriptor,+source,+target} <> rest:cycle_checked(~S,Graph.cycle(~S,graph,descriptor,source,target),descriptor,source,target,_ => cycles(~S,rest,graph,next))

Uses (7)

Used by (1)