New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

it-split

Package Overview
Dependencies
Maintainers
0
Versions
17
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

it-split

Splits Uint8Arrays emitted by an (async) iterable by a delimiter

3.0.8
latest
Source
npm
Version published
Weekly downloads
995
23.76%
Maintainers
0
Weekly downloads
 
Created
Source

it-split

codecov CI

Splits Uint8Arrays emitted by an (async) iterable by a delimiter

About

Searches Uint8Arrays 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()

// This can also be an iterator, generator, etc
const values = [
  encoder.encode('hello\nwor'),
  encoder.encode('ld')
]

const arr = all(split(values))

console.info(arr) // [encoder.encode('hello'), encoder.encode('world')]

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) // [ Buffer.from([0]), Buffer.from([3, 0]), Buffer.from([3, 1]) ]

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) // [encoder.encode('hello'), encoder.encode('world')]

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.

FAQs

Package last updated on 06 Mar 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts