def release_event

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

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

255def release_event(~S:Data,~C:Type,~R:Type,~P:Data,~E:Data,~F:Type,~H:Type,
256  ~take:F -> F & Stream.Stream<S,E>,~put:F -> Stream.Stream<S,E> -> F,
257  context:Route.Runtime<S,C,R,Notice.Notice<S,P>,Mixed.State<S,P,F,H>>,
258  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>>:
259  match context owner:
260    case Route.Runtime{world,state,tick} EventOwner{_,reader}:
261      match reader:
262        case Route.Reader{namespace,+readerId,registryId}:
263          event_release_validated(~S,~C,~R,~P,~E,~F,~H,~take,~put,
264            Route.Runtime{world,state,tick},readerId)

Uses (8)

Used by (5)