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))

Uses (10)

Used by (1)