it-reader
Read an exact number of bytes from a binary (async) iterable
Table of contents
Install
$ npm i it-reader
Browser <script>
tag
Loading this module through a script tag will make it's exports available as ItReader
in the global namespace.
<script src="https://unpkg.com/it-reader/dist/index.min.js"></script>
Usage
import { reader } from 'it-reader'
const stream = reader(source)
const { value, done } = await stream.next(8)
console.log(value.toString())
await stream.next(16)
for await (const chunk of stream) {
console.log(chunk.toString())
}
API
import { reader } from 'it-reader'
reader(source)
Create and return a new reader.
Parameters
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.
API Docs
License
Licensed under either of
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.