1 import Base 2 import ./inspector_event_value.bend as Getter 3 import ./ordinary_event_family.bend as Provision 4 import ./ordinary_event_declaration.bend as Event 5 import ./event_family_routing.bend as Route 6 import ./event_stream.bend as Leaf 7 import ./capabilities.bend as Cap 8 import ./event_notice_runtime.bend as Mixed 9 # Bind existing generated selection and the same ordinary declaration once. 10 def bind(~S:Data,~C:Type,~R:Type,~P:Data,~E:Data,~F:Type,~take:F -> F & Leaf.Stream,~put:F -> Leaf.Stream -> F,declaration:Event.Declaration,_:Provision.Selection) -> Cap.ValueRead,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. 14 def lift_notice(~S:Data,~E:Data,~P:Data,~F:Type,~H:Type,~take:F -> F & Leaf.Stream,~put:F -> Leaf.Stream -> F,_:Provision.Selection) -> Provision.Selection,Mixed.take(~S,~E,~P,~F,~H,~take),Mixed.put(~S,~E,~P,~F,~H,~put)>:Provision.Selection{}