Allows peeking/pushing an iterable
Lets you look at the contents of an async iterator and decide what to do
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 ]
$ npm i it-peekable
<script>
tagLoading this module through a script tag will make its exports available as ItPeekable
in the global namespace.
<script src="https://unpkg.com/it-peekable/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.
Lets you look at the contents of an async iterator and decide what to do
Example
Async sources must be awaited: