Nightclub Party Music

    lazy-iterable
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.1 • Public • Published

    LazyIterable

    An iterable object that lazily implements many Array.prototype members.

    function * generator () {
      yield 1
      yield 2
      yield 3
    }
     
    const lazy = new LazyIterable(generator)
     
    const array = lazy.map(v => v * 2).toArray()
     
    console.log(array) // [2, 4, 6]

    The advantage that LazyIterable has over Array is that the its source is evaluated as late as possible.

    let iterated = false
     
    function * generator () {
      iterated = true
      yield 1
      yield 2
      yield 3
    }
     
    let lazy = new LazyIterable(generator)
    console.log(iterated) // false
     
    lazy = lazy.map(v => v * 2)
    console.log(iterated) // false
     
    const array = lazy.toArray()
    console.log(iterated) // true

    LazyIterable implements most of the read-only members of Array.prototype as well as a couple in-place members in a read-only fashion.

    • Lazy members
      • concat
      • entries
      • filter
      • keys
      • map
      • reverse
      • slice
      • sort
      • values
    • Eager members:
      • length
      • every
      • find
      • findIndex
      • forEach
      • includes
      • indexOf
      • itemAt
      • join
      • reduce
      • reduceRight
      • some
      • toArray

    reverse and sort each return a new LazyIterable whereas Array performs the action in-place.

    Read more in the API Documentation.

    Keywords

    none

    Install

    npm i lazy-iterable

    DownloadsWeekly Downloads

    7

    Version

    1.0.1

    License

    MIT

    Unpacked Size

    50.6 kB

    Total Files

    7

    Last publish

    Collaborators

    • jordanbtucker