def read_valid
bendvy-ecs-core@0.1.0.4 · internal/query_read_session.bend:23
import bendvy-ecs-core@0.1.0.4/internal/query_read_session.bend as QueryReadSession
import Base
import bendvy-ecs-core@0.1.0.4/change_tick.bend as Tick
import bendvy-ecs-core@0.1.0.4/entity_key.bend as K
import bendvy-ecs-core@0.1.0.4/entity_allocator.bend as A
import bendvy-ecs-core@0.1.0.4/component.bend as C
import bendvy-ecs-core@0.1.0.4/column.bend as Col
23def read_valid(~S:Data,~Store:Type,~Rest:Type,~Payload:Type,~V:Data,~take:Store -> Rest & Col.Column<S,Payload>,~put:Rest -> Col.Column<S,Payload> -> Store,~view:Payload -> Payload & V,namespace:U32,store:Store,cursor:Maybe<&2,Tick.Tick>,key:K.Key,observed:A.Allocator & Bool) -> Owner<S,Store> & C.Access<V>:
24 match key observed:
25 case _, (allocator,False{}):(Owner{namespace,allocator,store,cursor},C.MissingEntity{})
26 case K.EntityKey{id,_}, (allocator,True{}):read_join(~S,~Store,~V,namespace,allocator,cursor,C.get_store(~S,~Store,~Unit,~Nat,~Rest,~Payload,~V,~Unit,~take,~put,~view,id,take(store)))