Package Exports
- it-reader
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (it-reader) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
it-reader
Read an exact number of bytes from a binary (async) iterable
Install
npm install it-reader
Usage
const Reader = require('it-reader')
const reader = Reader(source) // source is any iterable or async iterable
const { value, done } = await reader.next(8)
// NOTE: value is a BufferList (https://npm.im/bl)
console.log(value.toString())
// Now read 16 more bytes:
await reader.next(16)
// or...
// Consume the rest of the stream
for await (const chunk of reader) {
console.log(chunk.toString())
}
API
const Reader = require('it-reader')
Reader(source)
Create and return a new reader.
Parameters
source
(Iterable
) - An iterable or async iterable that yieldsBuffer
orBufferList
objects.
Returns
An async iterator that yields BufferList
objects.
The iterator's next
method takes an optional parameter - the number of bytes to read from the source
.
If the number of bytes to read are not specified, the iterator will yield any bytes remaining in the internal buffer or the next available chunk.
If the number of bytes to read exceeds the number of bytes available in the source the iterator will throw and error with a code
property set to 'ERR_UNDER_READ'
and a buffer
property (the bytes read so far, if any), which is a BufferList
instance.
Contribute
Feel free to dive in! Open an issue or submit PRs.
License
MIT © Alan Shaw