def setup

bendvy-ecs-core@0.1.0.4 · ordinary_owned_event_family_reader.bend:25

import bendvy-ecs-core@0.1.0.4/ordinary_owned_event_family_reader.bend as OrdinaryOwnedEventFamilyReader
import 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_family_reader_binding.bend as Setup
import bendvy-ecs-core@0.1.0.4/event_stream.bend as Stream
import bendvy-ecs-core@0.1.0.4/event_family_runtime.bend as FR
import bendvy-ecs-core@0.1.0.4/event_family_routing.bend as Route

25# Public setup carries the coupled log route and operational stream selection.
26# All callbacks below are erased indices derived by its canonical constructors.
27# Initialize the selected family runtime from its coupled owned-log/stream setup,
28# retaining actual World and supplied family owners. Stream entries are Nat keys;
29# affine payload P remains in the resource log. Raw routes/lenses are trusted setup.
30def setup(~S:Data,~C:Type,~R:Type,~P:Type,~Rest:Type,~E:Data,~Domains:Data,~F:Type,~path:Product.Lens<R,Log.Log<P>,Rest>,~inject:Nat -> E,~select:List<&2,E> -> List<&2,Nat>,~identity:Pub.Domain<S,P>,~make:Domains -> Nat -> F,~sync:F -> Nat -> List<&2,E> -> F,~frame:F -> Nat -> F,~retain:F -> Nat -> List<&2,E> -> F & List<&2,E>,~inventory:F -> F & List<&2,String>,~take:F -> F & Stream.Stream<S,Nat>,~put:F -> Stream.Stream<S,Nat> -> F,~Owners:Type,descriptor:Setup.Setup<S,R,P,Rest,E,Domains,F,path,inject,select,identity,make,sync,frame,retain,inventory,take,put>,world:W.World<S,C,R,E>,owners:Owners,capacity:Nat) -> Route.Runtime<S,C,R,E,FR.State<E,F,Owners>>:
31  match descriptor:
32    case Setup.Setup{_,provision,_}:FR.setup(~S,~C,~R,~E,~Domains,~F,~Owners,~make,~sync,~frame,~retain,~inventory,world,provision,owners,capacity)

Uses (13)

Used by (0)

No other definition uses this definition.