Fix ReadableStream incorrectly marked as a sync iterable #1134
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
It looks like a regression slipped into the
ReadableStreaminterface. In TypeScript 4.4, it incorrectly has a[Symbol.iterator]method, along with automaticforEach/entries/keys/valuesmethods. In realityReadableStreamis anasync iterable<any>, meaning it has a[Symbol.asyncIterator]andvaluesmethod (both returning an async iterator).Since we don't (yet) have a way to express this, I've changed the emitter to instead ignore
async iterabledeclarations, so at least we don't add any non-existent methods. Alternatively, we could do this properly: tackle microsoft/TypeScript#29867 and introducelib.dom.asynciterable.d.ts.