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)

Uses (9)

Used by (1)