def lookup_valid
bendvy-ecs-core@0.1.0.4 · query_contract.bend:86
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
86def lookup_valid(~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,+handle: W.Handle<S>,+cursor:Maybe<&2,Tick.Tick>,observed: W.World<S,Store,R,E> & Bool) -> Executed<W.World<S,Store,R,E>,U,Out>:
87 match observed:
88 case (world,False{}): Executed{world,Fail{MissingEntity{handle_id(~S,handle)}}}
89 case (world,True{}): lookup_selected(~S,~Store,~R,~E,~Ops,~plan,~A,~U,~Out,~body,args,handle,cursor,unselect(~S,~Store,~R,~E,Q.plan_select(~S,~Store,~R,~E,~Ops,plan)(Q.Frame{T.begin(~W.World<S,Store,R,E>,~E,world),handle,None{},cursor})))