(
docs: ReadonlyArray<MessageDoc>,
queryReplies: (
query: string,
parameters: ReadonlyArray<CosmosParameter>
) => Effect.Effect<Array<ReplyDoc>, E>
)
| 763 | }) |
| 764 | |
| 765 | const activeReplyRequestIds = <E>( |
| 766 | docs: ReadonlyArray<MessageDoc>, |
| 767 | queryReplies: ( |
| 768 | query: string, |
| 769 | parameters: ReadonlyArray<CosmosParameter> |
| 770 | ) => Effect.Effect<Array<ReplyDoc>, E> |
| 771 | ) => { |
| 772 | const requestIds = Array.from(new Set(docs.map((doc) => doc.requestId))) |
| 773 | if (!Arr.isArrayNonEmpty(requestIds)) return Effect.succeed(new Set<string>()) |
| 774 | return queryReplies( |
| 775 | "SELECT * FROM c WHERE c.type = 'reply' AND ARRAY_CONTAINS(@requestIds, c.requestId) AND (c.kind = 'WithExit' OR (c.kind = 'Chunk' AND c.acked = false))", |
| 776 | [{ name: "@requestIds", value: requestIds }] |
| 777 | ) |
| 778 | .pipe(Effect.map((replies) => new Set(replies.map((reply) => reply.requestId)))) |
| 779 | } |
| 780 | |
| 781 | const lastRepliesById = <E>( |
| 782 | docs: ReadonlyArray<MessageDoc>, |
no test coverage detected
searching dependent graphs…