def event_prepared
bendvy-ecs-core@0.1.0.4 · ordinary_reader_stream_parameter.bend:172
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/world.bend as W
import bendvy-ecs-core@0.1.0.4/event_runtime.bend as Ev
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
172def event_prepared(~S:Data,~C:Type,~R:Type,~P:Data,~E:Data,~F:Type,~H:Type,
173 ~take:F -> F & Stream.Stream<S,E>,
174 ~put:F -> Stream.Stream<S,E> -> F,
175 world:W.World<S,C,R,Notice.Notice<S,P>>,+tick:Nat,
176 owner:EventOwner<S,C,R,P,E,F,H,take,put>,
177 selected:Mixed.State<S,P,F,H> & (Stream.Stream<S,E> & Ev.Reading<E>)) -> 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)):
178
179
180 match owner:
181 case EventOwner{facts,Route.Reader{namespace,+id,registryId}}:
182 match selected:
183 case (state,(stream,reading)):
184 (Route.Runtime{world,Mixed.put(~S,~E,~P,~F,~H,~put,state,
185 Stream.completed(~S,~E,stream,id,Nat.sub(tick,1n),False{})),tick},
186 (EventOwner{facts,Route.Reader{namespace,id,registryId}},(EventView{reading},Nat.sub(tick,1n))))