def handles

bendvy-ecs-core@0.1.0.4 · owned_event_family_reader_query.bend:48

import bendvy-ecs-core@0.1.0.4/owned_event_family_reader_query.bend as OwnedEventFamilyReaderQuery
import Base
import bendvy-ecs-core@0.1.0.4/change_tick.bend as Tick
import bendvy-ecs-core@0.1.0.4/deferred_command.bend as Deferred
import bendvy-ecs-core@0.1.0.4/trace_facts.bend as TraceFacts
import bendvy-ecs-core@0.1.0.4/world.bend as W
import bendvy-ecs-core@0.1.0.4/transaction.bend as T
import bendvy-ecs-core@0.1.0.4/compose.bend as Q
import bendvy-ecs-core@0.1.0.4/capture_query.bend as Fold
import bendvy-ecs-core@0.1.0.4/ordinary_query_declaration.bend as Decl
import bendvy-ecs-core@0.1.0.4/ordinary_owned_event_family_query.bend as QueryPlan
import bendvy-ecs-core@0.1.0.4/owned_event_log.bend as Log
import bendvy-ecs-core@0.1.0.4/owner_product.bend as Product
import bendvy-ecs-core@0.1.0.4/capabilities.bend as Cap

48def handles(~S:Data,~C:Type,~R:Type,~P:Type,~Rest:Type,~E:Data,~path:Product.Lens<R,Log.Log<P>,Rest>,~Request:Type,~Projection:Data,~Args:Type,~Observation:Type,~U:Data,~Out:Data,~Ops:Type -> Type,~at:P -> Request -> P & Projection,~project:@-H:Type -> @-read:Cap.Request<H,Request,Projection> -> H -> Args -> H & Projected<Args,Observation,U>,~query:Decl.Declaration<S,Q.Frame<S,C,R,E>,Ops(Q.Frame<S,C,R,E>)>,~body:@-H:Type -> @-caps:Ops(H) -> Observation -> Args -> H -> H & (Observation & (Args & (T.Outcome<U> & Out))),cursor:Maybe<&2,Tick.Tick>,undo:List<(W.World<S,C,R,E> -> W.World<S,C,R,E>)>,commands:List<Deferred.Command<W.World<S,C,R,E>>>,events:List<&2,E>,trace:TraceFacts.State,observation:Observation,args:Args,next:Args -> T.Tx<W.World<S,C,R,E>,E> -> Args & (List<Observation> & (T.Tx<W.World<S,C,R,E>,E> & (T.Outcome<Error<U>> & List<&2,Out>))),observed:W.World<S,C,R,E> & List<&2,W.Handle<S>>) -> Args & (List<Observation> & (T.Tx<W.World<S,C,R,E>,E> & (T.Outcome<Error<U>> & List<&2,Out>))):
49  match observed:
50    case (world,handles):queried(~S,~C,~R,~P,~Rest,~E,~path,~Request,~Projection,~Args,~Observation,~U,~Out,~Ops,~at,~project,~query,~body,next,Fold.run_handles(~S,~C,~R,~E,~(Observation & Args),~U,~Out,~Ops,~Unit,~QueryPlan.plan(~S,~C,~R,~E,~Ops,~query),~row(~S,~C,~R,~E,~Args,~Observation,~U,~Out,~Ops,~body),handles,Unit{},cursor,(observation,args),T.Tx{world,undo,commands,events,trace}))

Uses (23)

Used by (1)