tiloop

1.0.1 • Public • Published

tiloop

npm npm Build Status Codecov cdn

Higher order function creates a function contain a iterator that yield last value coincident with done.

Installation

yarn add tiloop

Usage

import tiloop from 'tiloop'
 
const fn = tiloop({
  length: 10000,
  maxIncrement: 4,
  yielded: (indexes) => indexes
})
 
fn() // { done: false, value: [0, 1, 2, 3] }
fn() // { done: false, value: [4, 5, 6, 7] }
...
fn() // { done: true, value: [9996, 9997, 9998, 9999] }

tiloop(config)

length: number

Used for determine virtual-array length. (required)

maxIncrement: number

Used for determine increment in every yield. (required)

yielded: (array) => value

Used for yield. (required)

promisify: boolean

Whether Promise.resolve() to value. [default: false]

random: boolean

Whether increment indexes by random. [default: false]

modules

import { create, IndexesZero, i2f } from 'tiloop'
 
const indexes = new IndexesZero({ length, maxIncrement })
const iterator = create(indexes, (array) => {})
const afn = i2f(iterator, true)

create(indexes, yielded)

create iterator.

IndexesZero({ length, maxIncrement })

indexes increments 0 to length - 1.

IndexesRandom({ length, maxIncrement })

indexes increments random.

i2f(iterator[, promisify])

iterator to function.

Note

iterator made by create has done with last value. In other words, using result as iterable (not iterator) will lost the last value 😔.

const iterator = create(indexes,yielded) // done with last value
const array = [...create(indexes,yielded)] // not includes last value

License

MIT (http://opensource.org/licenses/MIT)

Package Sidebar

Install

npm i tiloop

Weekly Downloads

1

Version

1.0.1

License

MIT

Unpacked Size

34.2 kB

Total Files

6

Last publish

Collaborators

  • kthjm