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
TypeScript
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 {};