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)

Uses (8)

Used by (1)