def declaration
import bendvy-ecs-core@0.1.0.4/ordinary_owned_event_family_write.bend as OrdinaryOwnedEventFamilyWriteimport Base
import bendvy-ecs-core@0.1.0.4/world.bend as W
import bendvy-ecs-core@0.1.0.4/owner_product.bend as Product
import bendvy-ecs-core@0.1.0.4/owned_event_log.bend as Log
import bendvy-ecs-core@0.1.0.4/ordinary_owned_event.bend as Pub
import bendvy-ecs-core@0.1.0.4/ordinary_owned_event_binding.bend as Binding
import bendvy-ecs-core@0.1.0.4/ordinary_owned_event_declaration.bend as D
22# Declare owned publication from the canonical family binding, deriving
23# both operational authority and complete event description. Staged owners
24# commit to logs on success or return in the typed recovery product on abort;
25# this constructor performs neither. Compose heterogeneous domains with
26# ordinary-owned-event-declaration.both; see docs/parity/affine-events.md.
27def declaration(~S:Data,~C:Type,~R:Type,~P:Type,~Rest:Type,~E:Data,~path:Product.Lens<R,Log.Log<P>,Rest>,~inject:Nat -> E,~select:List<&2,E> -> List<&2,Nat>,~identity:Pub.Domain<S,P>,~binding:Binding.Binding<S,R,P,Rest,E,path,inject,select,identity>) -> D.Declaration<S,W.World<S,C,R,E>,List<P>,Ops(~S,~P,~identity),grant(~S,~C,~R,~P,~Rest,~E,~path,~inject,~identity)>:
28 D.Described{empty(~P),[Pub.access(~S,~P,identity,":write")],D.Description{[Pub.name(~S,~P,identity)],False{}}}
Uses (15)
Used by (0)
No other definition uses this definition.