(requestIds: Array<string>)
| 728 | const replyLatch = yield* Effect.makeLatch() |
| 729 | |
| 730 | function repliesFor(requestIds: Array<string>) { |
| 731 | const replies = Arr.empty<Reply.ReplyEncoded<any>>() |
| 732 | for (const requestId of requestIds) { |
| 733 | const request = requests.get(requestId) |
| 734 | if (!request) continue |
| 735 | else if (Option.isNone(request.lastReceivedChunk)) { |
| 736 | // eslint-disable-next-line no-restricted-syntax |
| 737 | replies.push(...request.replies) |
| 738 | continue |
| 739 | } |
| 740 | const sequence = request.lastReceivedChunk.value.sequence |
| 741 | for (const reply of request.replies) { |
| 742 | if (reply._tag === "Chunk" && reply.sequence <= sequence) { |
| 743 | continue |
| 744 | } |
| 745 | replies.push(reply) |
| 746 | } |
| 747 | } |
| 748 | return replies |
| 749 | } |
| 750 | |
| 751 | const encoded: Encoded = { |
| 752 | saveEnvelope: ({ deliverAt, envelope: envelope_, primaryKey }) => |
no test coverage detected