UNPKG

iterator-helper

Version:

Provide helpers that polyfill all methods defined in [iterator helpers proposal](https://github.com/tc39/proposal-iterator-helpers), both for `Iterator` and `AsyncIterator`, and even more.

20 lines (19 loc) 1.19 kB
import { HIterator } from './HIterator'; interface IIterFunction { /** Create a new `HIterator` instance from an iterator or an iterable. */ <T, TReturn, TNext>(item: Iterator<T, TReturn, TNext>): HIterator<T, TReturn, TNext>; <T>(item: Iterable<T>): HIterator<T>; <T, TReturn = any, TNext = undefined>(iterator: Iterator<T, TReturn, TNext> | Iterable<T>): HIterator<T, TReturn, TNext>; /** Create a new range `HIterator` from {0} to {stop}, 1 by 1. If {stop} is negative, it goes -1 by -1. */ range(stop: number): HIterator<number>; /** Create a new range `HIterator` from {start} to {stop}, 1 by 1. If {stop} < {start}, it goes -1 by -1. */ range(start: number, stop: number): HIterator<number>; /** Create a new range `HIterator` from {start} to {stop}, adding {step} at each step. */ range(start: number, stop: number, step: number): HIterator<number>; /** Create a new `HIterator` that emit only {item} indefinitively. */ repeat<I>(item: I): HIterator<I>; /** Create a new `HIterator` that emit only {item}, {times} times. */ repeat<I>(item: I, times: number): HIterator<I>; } export declare const iter: IIterFunction; export {};