@@ -53,6 +53,7 @@ const defaultIterationMetadata: Schedule.IterationMetadata = {
5353 start: 0,
5454 now: 0,
5555 input: undefined,
56+ output: undefined,
5657 elapsed: Duration.zero,
5758 elapsedSincePrevious: Duration.zero,
5859 recurrence: 0
@@ -103,13 +104,15 @@ class ScheduleImpl<S, Out, In, R> implements Schedule.Schedule<Out, In, R> {
103104const updateInfo = (
104105 iterationMetaRef: Ref.Ref<Schedule.IterationMetadata>,
105106 now: number,
106- input: unknown
107+ input: unknown,
108+ output: unknown
107109) =>
108110 ref.update(iterationMetaRef, (prev) =>
109111 (prev.recurrence === 0) ?
110112 {
111113 now,
112114 input,
115+ output,
113116 recurrence: prev.recurrence + 1,
114117 elapsed: Duration.zero,
115118 elapsedSincePrevious: Duration.zero,
@@ -118,6 +121,7 @@ const updateInfo = (
118121 {
119122 now,
120123 input,
124+ output,
121125 recurrence: prev.recurrence + 1,
122126 elapsed: Duration.millis(now - prev.start),
123127 elapsedSincePrevious: Duration.millis(now - prev.now),
@@ -177,14 +181,14 @@ class ScheduleDriverImpl<Out, In, R> implements Schedule.ScheduleDriver<Out, In,
177181 const millis = Intervals.start(decision.intervals) - now
178182 if (millis <= 0) {
179183 return setState.pipe(
180- core.zipRight(updateInfo(this.iterationMeta, now, input)),
184+ core.zipRight(updateInfo(this.iterationMeta, now, input, out )),
181185 core.as(out)
182186 )
183187 }
184188 const duration = Duration.millis(millis)
185189 return pipe(
186190 setState,
187- core.zipRight(updateInfo(this.iterationMeta, now, input)),
191+ core.zipRight(updateInfo(this.iterationMeta, now, input, out )),
188192 core.zipRight(effect.sleep(duration)),
189193 core.as(out)
190194 )
0 commit comments