def commit_event
bendvy-ecs-core@0.1.0.4 · ordinary_reader_stream_parameter.bend:213
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/change_tick.bend as Tick
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
213def commit_event(~S:Data,~C:Type,~R:Type,~P:Data,~E:Data,~F:Type,~H:Type,
214 ~take:F -> F & Stream.Stream<S,E>,
215 ~put:F -> Stream.Stream<S,E> -> F,
216 context:Route.Runtime<S,C,R,Notice.Notice<S,P>,Mixed.State<S,P,F,H>>,
217 owner:EventOwner<S,C,R,P,E,F,H,take,put>,readThrough:Nat,+cursor:Tick.Tick) -> 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>:
218 match context owner:
219 case Route.Runtime{world,state,tick} EventOwner{facts,reader}:
220 match reader:
221 case Route.Reader{namespace,+id,registryId}:
222 (Route.Runtime{world,event_advanced(~S,~P,~E,~F,~H,~take,~put,state,id,readThrough),tick},
223 EventOwner{facts,Route.Reader{namespace,id,registryId}})