aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/builtins/js/ReadableStreamInternals.js
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-12-05 11:35:34 -0800
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-12-05 11:35:34 -0800
commit0ea8de40871052842f2e342b4c452f6746691487 (patch)
treea4e1028f90a801324966172e47b9b20533e4ad7a /src/bun.js/builtins/js/ReadableStreamInternals.js
parent71293033474eea83c47b6c6948f991b1dc37ad22 (diff)
downloadbun-0ea8de40871052842f2e342b4c452f6746691487.tar.gz
bun-0ea8de40871052842f2e342b4c452f6746691487.tar.zst
bun-0ea8de40871052842f2e342b4c452f6746691487.zip
Make `console` an `AsyncIterable`
Diffstat (limited to 'src/bun.js/builtins/js/ReadableStreamInternals.js')
-rw-r--r--src/bun.js/builtins/js/ReadableStreamInternals.js51
1 files changed, 24 insertions, 27 deletions
diff --git a/src/bun.js/builtins/js/ReadableStreamInternals.js b/src/bun.js/builtins/js/ReadableStreamInternals.js
index f317eeaec..ca7a1c355 100644
--- a/src/bun.js/builtins/js/ReadableStreamInternals.js
+++ b/src/bun.js/builtins/js/ReadableStreamInternals.js
@@ -2168,37 +2168,34 @@ function readableStreamDefineLazyIterators(prototype) {
var ReadableStreamAsyncIterator = async function* ReadableStreamAsyncIterator(stream, preventCancel) {
var reader = stream.getReader();
var deferredError;
- try {
- while (true) {
- var done, value;
- const firstResult = reader.readMany();
- if (@isPromise(firstResult)) {
- const result = await firstResult;
- done = result.done;
- value = result.value;
- } else {
- done = firstResult.done;
- value = firstResult.value;
- }
-
- if (done) {
- return;
- }
- yield* value;
- }
- } catch(e) {
- deferredError = e;
- } finally {
- reader.releaseLock();
-
- if (!preventCancel) {
- stream.cancel(deferredError);
+ try {
+ while (true) {
+ var done, value;
+ const firstResult = reader.readMany();
+ if (@isPromise(firstResult)) {
+ ({done, value} = await firstResult);
+ } else {
+ ({done, value} = firstResult);
+ }
+
+ if (done) {
+ return;
+ }
+ yield* value;
}
+ } catch(e) {
+ deferredError = e;
+ } finally {
+ reader.releaseLock();
- if (deferredError) {
- throw deferredError;
+ if (!preventCancel) {
+ stream.cancel(deferredError);
}
+
+ if (deferredError) {
+ throw deferredError;
}
+ }
};
var createAsyncIterator = function asyncIterator() {
return ReadableStreamAsyncIterator(this, false);