def inverse_add_erased

bendvy-ecs-core@0.1.0.3 · relation_graph.bend:88

import bendvy-ecs-core@0.1.0.3/relation_graph.bend as RelationGraph
import Base
import entity_key.bend as K
import relation_types.bend as T

88def inverse_add_erased(-S: Data,entries: List<&2,T.Inverse<S>>,+descriptor: T.Descriptor<S>,+target: K.Key,+source: K.Key) -> List<&2,T.Inverse<S>>:
89  match entries:
90    case []: [T.Inverse{descriptor,target,[source]}]
91    case T.Inverse{+other,+id,+sources} <> +rest: inverse_add_found_erased(S,Bool.and(U32.is_eq(key_erased(S,other),key_erased(S,descriptor)),K.equal(id,target)),other,id,sources,descriptor,target,source,rest,_ => inverse_add_erased(S,rest,descriptor,target,source))

Uses (9)

Used by (2)