def selected
bendvy-ecs-core@0.1.0.4 · recognized_system.bend:25
import bendvy-ecs-core@0.1.0.4/recognized_system.bend as RecognizedSystem
import Base
import bendvy-ecs-core@0.1.0.4/recognized_query_declaration.bend as N
import bendvy-ecs-core@0.1.0.4/internal/compact_operational_frame.bend as F
import bendvy-ecs-core@0.1.0.4/compose.bend as Q
import bendvy-ecs-core@0.1.0.4/transaction.bend as T
import bendvy-ecs-core@0.1.0.4/capabilities.bend as Cap
25def selected(~S:Data,~Store:Type,~R:Type,~E:Data,~Ops:Type -> Type,~A:Data,~U:Data,~Out:Data,~query:N.Declaration<S,Store,R,E,Ops>,~body:@-H:Type -> @-caps:Ops(H) -> A -> H -> H & (T.Outcome<U> & Out),args:A,observed:F.Frame<S,Store,R,E> & Bool) -> F.Frame<S,Store,R,E> & Q.RowResult<U,Out>:
26 match observed:
27 case (frame,False{}):(frame,Q.Skipped{})
28 case (frame,True{}):body_returned(~S,~Store,~R,~E,~U,~Out,Cap.invoke(~Ops,~A,~(T.Outcome<U> & Out),~body,~F.Frame<S,Store,R,E>,~N.caps(~S,~Store,~R,~E,~Ops,query),args,frame))