def next_ancestor
bendvy-ecs-core@0.1.0.4 · hierarchy_traversal.bend:37
import bendvy-ecs-core@0.1.0.4/hierarchy_traversal.bend as HierarchyTraversal
import Base
import entity_key.bend as K
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
37def next_ancestor(~S:Data,graph:G.Graph<S>,descriptor:G.Descriptor<S>,state:Maybe<&2,K.Key> & List<&2,K.Key>) -> Maybe<&2,K.Key> & List<&2,K.Key>:
38 match state:
39 case (None{},acc): (None{},acc)
40 case (Some{+id},acc): (Graph.target(~S,graph,descriptor,id),id <> acc)