(n: number)
| 67 | it.effect("flatMap - deep flatMap stack safety", () => |
| 68 | Effect.gen(function*() { |
| 69 | const fib = (n: number): Stream.Stream<number> => |
| 70 | n <= 1 ? |
| 71 | Stream.succeed(n) : |
| 72 | pipe( |
| 73 | fib(n - 1), |
| 74 | Stream.flatMap((a) => |
| 75 | pipe( |
| 76 | fib(n - 2), |
| 77 | Stream.flatMap((b) => Stream.succeed(a + b)) |
| 78 | ) |
| 79 | ) |
| 80 | ) |
| 81 | const result = yield* (Stream.runCollect(fib(10))) |
| 82 | deepStrictEqual(Array.from(result), [55]) |
| 83 | })) |
no test coverage detected