def visited

bendvy-ecs-core@0.1.0.4 · owned_event_family_reader_runtime.bend:24

import bendvy-ecs-core@0.1.0.4/owned_event_family_reader_runtime.bend as OwnedEventFamilyReaderRuntime
import Base
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/owned_event_log.bend as Log
import bendvy-ecs-core@0.1.0.4/owner_product.bend as Product

24def visited(~S:Data,~C:Type,~R:Type,~P:Type,~Rest:Type,~E:Data,~path:Product.Lens<R,Log.Log<P>,Rest>,~Args:Type,~Error:Data,lagged:Bool,next:W.World<S,C,R,E> -> Args -> W.World<S,C,R,E> & Reply<Error,Args>,result:W.World<S,C,R,E> & Log.ReadResult<Args,T.Outcome<Error> & Args>) -> W.World<S,C,R,E> & Reply<Error,Args>:
25  match result:
26    case (world,Log.Missing{args}):stopped(~S,~C,~R,~P,~Rest,~E,~path,~Args,~Error,world,args,T.Failure{MissingPayload{}},lagged)
27    case (world,Log.Found{(T.Failure{error},args)}):stopped(~S,~C,~R,~P,~Rest,~E,~path,~Args,~Error,world,args,T.Failure{BodyFailed{error}},lagged)
28    case (world,Log.Found{(T.Success{},args)}):next(world,args)

Uses (11)

Used by (1)