async _peek()

in packages/azure-kusto-ingest/src/statusQ.ts [69:92]


    async _peek(qs: QueueDetails[], n: number, options: PeekParams | null): Promise<{ result: Message[]; nonEmptyQs: QueueDetails[]; done: boolean }> {
        const result: Message[] = [];
        const nonEmptyQs: QueueDetails[] = [];

        for (const q of qs) {
            const response = await q.service.peekMessages();
            const messages = response.peekedMessageItems;

            if (messages && messages.length > 0) {
                nonEmptyQs.push(q);
            }

            for (const m of messages) {
                if (m && Object.keys(m).length > 0) {
                    result.push(options && options.raw ? m : this.deserializeMessage(m));

                    if (result.length === n) {
                        return { done: true, nonEmptyQs, result };
                    }
                }
            }
        }
        return { done: nonEmptyQs.length === 0, nonEmptyQs, result };
    }