@vates/stream-reader
v0.1.0
Published
Efficiently reads and skips chunks of a given size in a stream
Downloads
191
Readme
@vates/stream-reader
Efficiently reads and skips chunks of a given size in a stream
Install
Installation of the npm package:
npm install --save @vates/stream-reader
Usage
import StreamReader from '@vates/stream-reader'
const reader = new StreamReader(stream)
.read([size])
- returns the next available chunk of data
- like
stream.read()
, a number of bytes can be specified - returns with less data than expected if stream has ended
- returns
null
if the stream has ended and no data has been read
const chunk = await reader.read(512)
.readStrict([size])
Similar behavior to readChunk
but throws if the stream ended before the requested data could be read.
const chunk = await reader.readStrict(512)
.skip(size)
Skips a given number of bytes from a stream.
Returns the number of bytes actually skipped, which may be less than the requested size if the stream has ended.
const bytesSkipped = await reader.skip(2 * 1024 * 1024 * 1024)
.skipStrict(size)
Skips a given number of bytes from a stream and throws if the stream ended before enough stream has been skipped.
await reader.skipStrict(2 * 1024 * 1024 * 1024)
Contributions
Contributions are very welcomed, either on the documentation or on the code.
You may:
- report any issue you've encountered;
- fork and create a pull request.