node
node copied to clipboard
fs: make `FileHandle.readableWebStream` always create byte streams
The original implementation of the experimental
FileHandle.readableWebStream
API created non-type: 'bytes'
streams, which prevented callers from creating mode: 'byob'
readers from the returned stream, which means they could not achieve the associated "zero-copy" performance characteristics.
Then, #46933 added a parameter allowing callers to pass the type
parameter down to the ReadableStream constructor, exposing the same semantics to callers of FileHandle.readableWebStream
.
But there is no point to giving callers this choice: FileHandle-derived streams are by their very nature byte streams. We should not require callers to explicitly opt in to having byte stream semantics. Moreover, I do not see a situation in which callers would ever want to have a non-bytes stream: bytes-streams only do anything differently than normal ones if mode: 'byob'
is passed to getReader
.
So, remove the options
parameter and always create a ReadableStream with type: 'bytes'
.
Fixes #54041.