def store_root
bendvy-ecs-core@0.1.0.4 · hierarchy_traversal_provider.bend:42
import bendvy-ecs-core@0.1.0.4/hierarchy_traversal_provider.bend as HierarchyTraversalProvider
import Base
import bendvy-ecs-core@0.1.0.4/relation_types.bend as G
import bendvy-ecs-core@0.1.0.4/relation_commands.bend as A
import bendvy-ecs-core@0.1.0.4/world.bend as W
import bendvy-ecs-core@0.1.0.4/hierarchy_traversal.bend as T
import bendvy-ecs-core@0.1.0.4/hierarchy_provider.bend as P
42def store_root(~S:Data,~C:Type,store:A.Store<S,C>,descriptor:G.Descriptor<S>,target:W.Handle<S>) -> A.Store<S,C> & Maybe<&2,W.Handle<S>>:
43 match store target:
44 case A.Store{components,+graph} W.Handle{namespace,+id}: (A.Store{components,graph},P.handle(~S,T.root(T.ancestors(~S,graph,descriptor,id),id),namespace))