def deliver

bendvy-ecs-core@0.1.0.4 · execution_trace.bend:64

import bendvy-ecs-core@0.1.0.4/execution_trace.bend as ExecutionTrace
import Base

64# Thread subscriber State through Ready events in list order; Disabled returns
65# the subscriber unchanged. Delivery is explicitly called after the ECS run.
66# Any external printing/file IO performed by a consumer is outside ECS rollback,
67# not an in-transaction observer. See examples/scheduled-health/application.bend.
68def deliver(~State:Type,~Error:Data,~step:State -> TraceEvent<Error> -> State,value:Subscriber<State,Error,step>,batch:Batch<Error>) -> Subscriber<State,Error,step>:
69  match value batch:
70    case subscriber Disabled{}:subscriber
71    case Subscriber{state} BendvyReady{events}:Subscriber{delivered(~State,~Error,~step,events,state)}

Uses (4)

Used by (0)

No other definition uses this definition.