def register

bendvy-ecs-core@0.1.0.4 · event_family_routing.bend:46

import bendvy-ecs-core@0.1.0.4/event_family_routing.bend as EventFamilyRouting
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/event_runtime.bend as Ev
import bendvy-ecs-core@0.1.0.4/event_stream.bend as Leaf

46# Register against the selected stream's read declaration and actual World.
47# Check stream/system id admission before returning reader/registry; does not run
48# a callback or activate unread position merely by registering.
49def register(~S:Data,~C:Type,~R:Type,~P:Data,~E:Data,~F:Type,~A:Type,~Error:Data,~O:Type,~take:F -> F & Leaf.Stream<S,E>,~put:F -> Leaf.Stream<S,E> -> F,~runner:W.World<S,C,R,P> -> Ev.Input<E,A> -> Sys.Outcome<W.World<S,C,R,P>,Error,O>,runtime:Runtime<S,C,R,P,F>,name:String) -> Registration<S,C,R,P,E,F,A,Error,O,take,put,runner>:
50  match runtime:
51    case Runtime{world,family,tick}:registration_leaf(~S,~C,~R,~P,~E,~F,~A,~Error,~O,~take,~put,~runner,world,tick,name,take(family))

Uses (9)

Used by (1)