(n: number)
| 21 | } |
| 22 | |
| 23 | const concurrentFib = (n: number): Effect.Effect<number> => { |
| 24 | if (n <= 1) { |
| 25 | return Effect.succeed(n) |
| 26 | } |
| 27 | return Effect.gen(function*() { |
| 28 | const fiber1 = yield* (Effect.fork(concurrentFib(n - 1))) |
| 29 | const fiber2 = yield* (Effect.fork(concurrentFib(n - 2))) |
| 30 | const v1 = yield* (Fiber.join(fiber1)) |
| 31 | const v2 = yield* (Fiber.join(fiber2)) |
| 32 | return v1 + v2 |
| 33 | }) |
| 34 | } |
| 35 | |
| 36 | describe("Effect", () => { |
| 37 | it.effect("shallow fork/join identity", () => |
no test coverage detected