(stream: Stream.Stream<number, E>)
| 126 | const double = Stream.make(1, 2) |
| 127 | const failed = Stream.fail("Ouch") |
| 128 | const run = <E>(stream: Stream.Stream<number, E>) => |
| 129 | Ref.make(Array.empty<number>()).pipe( |
| 130 | Effect.flatMap((ref) => |
| 131 | stream.pipe( |
| 132 | Stream.transduce(Sink.reduceWhileEffect( |
| 133 | () => 0, |
| 134 | constTrue, |
| 135 | (_, y: number) => Effect.as(Ref.update(ref, Array.append(y)), 30) |
| 136 | )), |
| 137 | Stream.runCollect, |
| 138 | Effect.flatMap((exit) => |
| 139 | Ref.get(ref).pipe( |
| 140 | Effect.map((result) => [exit, result]) |
| 141 | ) |
| 142 | ) |
| 143 | ) |
| 144 | ), |
| 145 | Effect.exit |
| 146 | ) |
| 147 | const result1 = yield* run(empty) |
| 148 | const result2 = yield* run(single) |
| 149 | const result3 = yield* run(double) |
no test coverage detected