def read_selected
bendvy-ecs-core@0.1.0.3 · owned_event_log.bend:55
import bendvy-ecs-core@0.1.0.3/owned_event_log.bend as OwnedEventLog
import Base
import bendvy-ecs-core@0.1.0.3/capabilities.bend as Cap
import bendvy-ecs-core@0.1.0.3/owned_event_scope.bend as Scope
55def read_selected(~P:Type,~Request:Type,~Projection:Data,~Args:Type,~Observation:Type,~at:P -> Request -> P & Projection,~body:@-H:Type -> @-read:Cap.Request<H,Request,Projection> -> H -> Args -> H & Observation,next:List<Row<P>> -> Args -> List<Row<P>> & ReadResult<Args,Observation>,selected:Bool,id:Nat,payload:P,tail:List<Row<P>>,args:Args) -> List<Row<P>> & ReadResult<Args,Observation>:
56 match selected:
57 case True{}:read_returned(~P,~Args,~Observation,id,tail,Scope.provide(~P,~Request,~Projection,~Args,~Observation,~at,~body,payload,args))
58 case False{}:read_rebuilt(~P,~Args,~Observation,Row{id,payload},next(tail,args))