it-split

Splits Uint8Arrays emitted by an (async) iterable by a delimiter
About
Searches Uint8Array
s emitted by an (async)iterable for a delimiter and yields chunks split by that delimiter.
Example
import split from 'it-split'
const encoder = new TextEncoder()
const values = [
encoder.encode('hello\nwor'),
encoder.encode('ld')
]
const arr = all(split(values))
console.info(arr)
You can also split by arbitrary delimiters:
const values = [
Uint8Array.from([0, 1, 2, 3]),
Uint8Array.from([0, 1, 2, 3]),
Uint8Array.from([1, 1, 2])
]
const delimiter = Uint8Array.from([1, 2])
const arr = all(split(values, {
delimiter
}))
console.info(arr)
Async sources must be awaited:
import split from 'it-split'
const encoder = new TextEncoder()
const values = async function * () {
yield * [
encoder.encode('hello\nwor'),
encoder.encode('ld')
]
}
const arr = await all(split(values()))
console.info(arr)
Install
$ npm i it-split
Browser <script>
tag
Loading this module through a script tag will make its exports available as ItSplit
in the global namespace.
<script src="https://unpkg.com/it-split/dist/index.min.js"></script>
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.