ordinary_inspector_event.bend
bendvy-ecs-core@0.1.0.0 · 14 lines · 0 definitions
1import Base
2import bendvy-ecs-core@0.1.0.0/inspector_event_value.bend as Getter
3import bendvy-ecs-core@0.1.0.0/ordinary_event_family.bend as Provision
4import bendvy-ecs-core@0.1.0.0/ordinary_event_declaration.bend as Event
5import bendvy-ecs-core@0.1.0.0/event_family_routing.bend as Route
6import bendvy-ecs-core@0.1.0.0/event_stream.bend as Leaf
7import bendvy-ecs-core@0.1.0.0/capabilities.bend as Cap
8import bendvy-ecs-core@0.1.0.0/event_notice_runtime.bend as Mixed
9# Bind existing generated selection and the same ordinary declaration once.
10def bind(~S:Data,~C:Type,~R:Type,~P:Data,~E:Data,~F:Type,~take:F -> F & Leaf.Stream<S,E>,~put:F -> Leaf.Stream<S,E> -> F,declaration:Event.Declaration<S,E>,_:Provision.Selection<S,E,F,take,put>) -> Cap.ValueRead<Route.Runtime<S,C,R,P,F>,Maybe<&2,List<&2,E>>>:
11 Getter.read(~S,~C,~R,~P,~E,~F,~take,~put,declaration)
12
13# Lift an already generated typed selection through the retained notice owner wrapper.
14def lift_notice(~S:Data,~E:Data,~P:Data,~F:Type,~H:Type,~take:F -> F & Leaf.Stream<S,E>,~put:F -> Leaf.Stream<S,E> -> F,_:Provision.Selection<S,E,F,take,put>) -> Provision.Selection<S,E,Mixed.State<S,P,F,H>,Mixed.take(~S,~E,~P,~F,~H,~take),Mixed.put(~S,~E,~P,~F,~H,~put)>:Provision.Selection{}