Takes an async iterator that emits byte arrays and emits them as fixed size batches
The final batch may be smaller than the max.
import batch from 'it-batched-bytes'
import all from 'it-all'
// This can also be an iterator, generator, etc
const values = [
Uint8Array.from([0]),
Uint8Array.from([1]),
Uint8Array.from([2]),
Uint8Array.from([3]),
Uint8Array.from([4])
]
const batchSize = 2
const result = all(batch(values, { size: batchSize }))
console.info(result) // [0, 1], [2, 3], [4]
Async sources must be awaited:
import batch from 'it-batched-bytes'
import all from 'it-all'
const values = async function * () {
yield Uint8Array.from([0])
yield Uint8Array.from([1])
yield Uint8Array.from([2])
yield Uint8Array.from([3])
yield Uint8Array.from([4])
}
const batchSize = 2
const result = await all(batch(values, { size: batchSize }))
console.info(result) // [0, 1], [2, 3], [4]
$ npm i it-batched-bytes
<script>
tagLoading this module through a script tag will make its exports available as ItBatchedBytes
in the global namespace.
<script src="https://unpkg.com/it-batched-bytes/dist/index.min.js"></script>
Licensed under either of
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.
The final batch may be smaller than the max.
Example
Async sources must be awaited: