def cached_stamp
bendvy-ecs-core@0.1.0.3 · execution_query_store.bend:16
import bendvy-ecs-core@0.1.0.3/execution_query_store.bend as ExecutionQueryStore
import Base
import bendvy-ecs-core@0.1.0.3/execution_query_matches.bend as Q
import bendvy-ecs-core@0.1.0.3/lifecycle.bend as Life
16def cached_stamp(-V:Data,rows:List<&2,Q.Row<V>>,+index:U32) -> Life.Stamp:
17 match rows:
18 case []:Life.Stamp{None{},None{}}
19 case +row <> rest:Life.choose(U32.is_eq(index,Q.row_offset(V,row)),Q.row_stamp(V,row),cached_stamp(V,rest,index))