def read_rows
bendvy-ecs-core@0.1.0.3 · owned_event_log.bend:59
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
59def read_rows(~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,fuel:Nat,rows:List<Row<P>>,+wanted:Nat,args:Args) -> List<Row<P>> & ReadResult<Args,Observation>:
60 match fuel rows:
61 case _, []:([],Missing{args})
62 case 0n, rows:(rows,Missing{args})
63 case 1n+fuel, Row{+id,payload} <> tail:read_selected(~P,~Request,~Projection,~Args,~Observation,~at,~body,rows => args => read_rows(~P,~Request,~Projection,~Args,~Observation,~at,~body,fuel,rows,wanted,args),Nat.is_eq(id,wanted),id,payload,tail,args)