def validate_event
bendvy-ecs-core@0.1.0.4 · ordinary_reader_stream_parameter.bend:142
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_family_routing.bend as Route
import bendvy-ecs-core@0.1.0.4/event_notice_runtime.bend as Mixed
import bendvy-ecs-core@0.1.0.4/relation_commands.bend as Notice
import bendvy-ecs-core@0.1.0.4/ordinary_event_declaration.bend as Event
142def validate_event(~S:Data,~C:Type,~R:Type,~P:Data,~E:Data,~F:Type,~H:Type,
143 ~take:F -> F & Stream.Stream<S,E>,
144 ~put:F -> Stream.Stream<S,E> -> F,
145 ~declaration:Event.Declaration<S,E>,
146 context:Route.Runtime<S,C,R,Notice.Notice<S,P>,Mixed.State<S,P,F,H>>,
147 owner:EventOwner<S,C,R,P,E,F,H,take,put>) -> Route.Runtime<S,C,R,Notice.Notice<S,P>,Mixed.State<S,P,F,H>> & (EventOwner<S,C,R,P,E,F,H,take,put> & Bool):
148 match context owner:
149 case Route.Runtime{world,state,tick} EventOwner{+facts,reader}:
150 event_validate_join(~S,~C,~R,~P,~E,~F,~H,~take,~put,~declaration,tick,facts,reader,
151 registered_context(~S,~C,~R,~Notice.Notice<S,P>,world,facts),
152 event_selected_domain(~S,~P,~E,~F,~H,~take,~put,declaration,
153 Mixed.take(~S,~E,~P,~F,~H,~take,state)))