def define

bendvy-ecs-core@0.1.0.4 · ordinary_owned_event_family_publisher.bend:31

import bendvy-ecs-core@0.1.0.4/ordinary_owned_event_family_publisher.bend as OrdinaryOwnedEventFamilyPublisher
import Base
import bendvy-ecs-core@0.1.0.4/world.bend as W
import bendvy-ecs-core@0.1.0.4/system.bend as Sys
import bendvy-ecs-core@0.1.0.4/transaction.bend as T
import bendvy-ecs-core@0.1.0.4/ordinary_owned_event_declaration.bend as D

31# Register a staged publisher with access from its owned-event declaration.
32# Returns System registration result retaining World on refusal. Does not
33# execute body or publish events while registering.
34def define(~S:Data,~C:Type,~R:Type,~E:Data,~Recovery:Type,~Ops:Type -> Type,~builder:D.Builder(~W.World<S,C,R,E>,~Recovery,~Ops),~declaration:D.Declaration<S,W.World<S,C,R,E>,Recovery,Ops,builder>,~Args:Type,~Error:Data,~Out:Type,~body:@-J:Type -> @-caps:Ops(J) -> Args -> J -> J & (T.Outcome<Error> & Out),world:W.World<S,C,R,E>,name:String) -> Sys.RegistrationResult<S,C,R,E,Args,Unit,Reply<Error,Out,Recovery>,runner(~S,~C,~R,~E,~Recovery,~Ops,~builder,~declaration,~Args,~Error,~Out,~body)>:
35  Sys.register(~S,~C,~R,~E,~Args,~Unit,~Reply<Error,Out,Recovery>,~runner(~S,~C,~R,~E,~Recovery,~Ops,~builder,~declaration,~Args,~Error,~Out,~body),world,name,D.access(~S,~W.World<S,C,R,E>,~Recovery,~Ops,~builder,declaration))

Uses (12)

Used by (1)