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

Uses (12)

Used by (5)