3.0.4 • Published 4 days ago

it-peekable v3.0.4

Weekly downloads
16,737
License
Apache-2.0 OR MIT
Repository
github
Last release
4 days ago

it-peekable

codecov CI

Allows peeking/pushing an iterable

About

Lets you look at the contents of an async iterator and decide what to do

Example

import peekable from 'it-peekable'

// This can also be an iterator, generator, etc
const values = [0, 1, 2, 3, 4]

const it = peekable(value)

const first = it.peek()

console.info(first) // 0

it.push(first)

console.info([...it])
// [ 0, 1, 2, 3, 4 ]

Async sources must be awaited:

import peekable from 'it-peekable'

const values = async function * () {
  yield * [0, 1, 2, 3, 4]
}

const it = peekable(values())

const first = await it.peek()

console.info(first) // 0

it.push(first)

console.info(await all(it))
// [ 0, 1, 2, 3, 4 ]

Install

$ npm i it-peekable

Browser <script> tag

Loading this module through a script tag will make it's exports available as ItPeekable in the global namespace.

<script src="https://unpkg.com/it-peekable/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.