(responses: ReadonlyArray<Response>)
| 19 | ) |
| 20 | |
| 21 | const responsesLayer = (responses: ReadonlyArray<Response>) => |
| 22 | RequestExecutor.layer.pipe( |
| 23 | Layer.provide( |
| 24 | Layer.unwrap( |
| 25 | Effect.gen(function* () { |
| 26 | const cursor = yield* Ref.make(0) |
| 27 | return Layer.succeed( |
| 28 | HttpClient.HttpClient, |
| 29 | HttpClient.make((request) => |
| 30 | Effect.gen(function* () { |
| 31 | const index = yield* Ref.getAndUpdate(cursor, (value) => value + 1) |
| 32 | return HttpClientResponse.fromWeb(request, responses[index] ?? responses[responses.length - 1]) |
| 33 | }), |
| 34 | ), |
| 35 | ) |
| 36 | }), |
| 37 | ), |
| 38 | ), |
| 39 | ) |
| 40 | |
| 41 | const countedResponsesLayer = (attempts: Ref.Ref<number>, responses: ReadonlyArray<Response>) => |
| 42 | RequestExecutor.layer.pipe( |
no test coverage detected