in lib/ChatCompletionStream.ts [656:673]
next: async (): Promise<IteratorResult<ChatCompletionChunk>> => {
if (!pushQueue.length) {
if (done) {
return { value: undefined, done: true };
}
return new Promise<ChatCompletionChunk | undefined>((
resolve,
reject,
) => readQueue.push({ resolve, reject })).then((
chunk,
) => (chunk
? { value: chunk, done: false }
: { value: undefined, done: true })
);
}
const chunk = pushQueue.shift()!;
return { value: chunk, done: false };
},