(n: number)
| 240 | it.effect("zip/parallel - paralellizes simple success values", () => |
| 241 | Effect.gen(function*() { |
| 242 | const countdown = (n: number): Effect.Effect<number> => { |
| 243 | return n === 0 |
| 244 | ? Effect.succeed(0) |
| 245 | : pipe( |
| 246 | Effect.succeed(1), |
| 247 | Effect.zip(Effect.succeed(2), { concurrent: true }), |
| 248 | Effect.flatMap((tuple) => pipe(countdown(n - 1), Effect.map((y) => tuple[0] + tuple[1] + y))) |
| 249 | ) |
| 250 | } |
| 251 | const result = yield* (countdown(50)) |
| 252 | strictEqual(result, 150) |
| 253 | })) |
no test coverage detected