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)))

Uses (9)

Used by (1)