def single_scanned
bendvy-ecs-core@0.1.0.4 · query_contract.bend:75
import bendvy-ecs-core@0.1.0.4/query_contract.bend as QueryContract
import Base
import bendvy-ecs-core@0.1.0.4/change_tick.bend as Tick
import compose.bend as Q
import world.bend as W
import transaction.bend as T
75def single_scanned(~S: Data,~Store: Type,~R: Type,~E: Data,~Ops: Type -> Type,~plan: Q.Plan<S,Store,R,E,Ops>,~A: Data,~U: Data,~Out: Data,~body: @-H: Type -> @-caps: Ops(H) -> A -> H -> H & (T.Outcome<U> & Out),args: A,cursor:Maybe<&2,Tick.Tick>,observed: Scanned<S,Store,R,E>) -> Executed<W.World<S,Store,R,E>,U,Out>:
76 match observed:
77 case Scanned{world,[]}: Executed{world,Fail{NoEntities{}}}
78 case Scanned{world,handle <> []}: invoke(~S,~Store,~R,~E,~Ops,~plan,~A,~U,~Out,~body,args,world,handle,cursor)
79 case Scanned{world,+handles}: Executed{world,Fail{MultipleEntities{count_list(~S,handles,0)}}}