def event_selected_domain
bendvy-ecs-core@0.1.0.4 · ordinary_reader_stream_parameter.bend:84
import bendvy-ecs-core@0.1.0.4/ordinary_reader_stream_parameter.bend as OrdinaryReaderStreamParameter
import Base
import bendvy-ecs-core@0.1.0.4/event_stream.bend as Stream
import bendvy-ecs-core@0.1.0.4/event_notice_runtime.bend as Mixed
import bendvy-ecs-core@0.1.0.4/ordinary_event_declaration.bend as Event
84def event_selected_domain(~S:Data,~P:Data,~E:Data,~F:Type,~H:Type,
85 ~take:F -> F & Stream.Stream<S,E>,
86 ~put:F -> Stream.Stream<S,E> -> F,
87 declaration:Event.Declaration<S,E>,
88 selected:Mixed.State<S,P,F,H> & Stream.Stream<S,E>) -> Mixed.State<S,P,F,H> & Bool:
89 match selected:
90 case (state,+stream):
91 (Mixed.put(~S,~E,~P,~F,~H,~put,state,stream),
92 event_domain_matches(~S,~E,declaration,Stream.domain(~S,~E,stream)))