fix no async iteration over readablestream in chrome

This commit is contained in:
Spencer Pogorzelski 2023-08-14 21:33:08 -07:00
parent ccf556118b
commit f6a06b5fb3

View file

@ -19,6 +19,19 @@ type OpenWSMeta = {
onerror: (message: string) => void;
};
(ReadableStream as any).prototype[Symbol.asyncIterator] = async function* () {
const reader = this.getReader();
try {
while (true) {
const { done, value } = await reader.read();
if (done) return;
yield value;
}
} finally {
reader.releaseLock();
}
};
export class Connection {
requestCallbacks: Record<number, Function> = {};
openRequestStreams: Record<number, ReadableStreamDefaultController<any>> = {};