def initialize_event_selected

bendvy-ecs-core@0.1.0.4 · ordinary_reader_stream_parameter.bend:312

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/reader_parameter.bend as RP
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

312def initialize_event_selected(~S:Data,~C:Type,~R:Type,~P:Data,~E:Data,~F:Type,~H:Type,
313  ~take:F -> F & Stream.Stream<S,E>,
314  ~put:F -> Stream.Stream<S,E> -> F,
315  ~declaration:Event.Declaration<S,E>,
316  readable:Bool,
317  context:Route.Runtime<S,C,R,Notice.Notice<S,P>,Mixed.State<S,P,F,H>>,
318  facts:RP.RegistrationFacts) -> 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> & RP.Param<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>,EventView<S,E>,Nat,
319  validate_event(~S,~C,~R,~P,~E,~F,~H,~take,~put,~declaration),prepare_event(~S,~C,~R,~P,~E,~F,~H,~take,~put,~declaration),commit_event(~S,~C,~R,~P,~E,~F,~H,~take,~put),release_event(~S,~C,~R,~P,~E,~F,~H,~take,~put)>):
320  match readable context facts:
321    case False{} Route.Runtime{world,state,tick} RP.RegistrationFacts{+namespace,+registryId,_,_}:
322      (Route.Runtime{world,state,tick},
323       (EventOwner{facts,Route.Reader{namespace,0,registryId}},event_param(~S,~C,~R,~P,~E,~F,~H,~take,~put,~declaration)))
324    case True{} Route.Runtime{world,state,+tick} RP.RegistrationFacts{+namespace,+registryId,_,_}:
325      event_initialized_registered(~S,~C,~R,~P,~E,~F,~H,~take,~put,~declaration,
326        world,tick,facts,
327        event_registered(~S,~P,~E,~F,~H,~take,~put,state,tick))

Uses (21)

Used by (1)