dastal
Version:
Data Structures & Algorithms implementations
50 lines (49 loc) • 1.56 kB
TypeScript
/**
* Get an iterator that always returns a given value.
*/
export declare function always<T = any>(fn: () => T): Iterator<T>;
/**
* Get an iterator that returns a value a given amount of times.
*/
export declare function fill<T = any>(length: number, fn: () => T): Iterator<T>;
/**
* Iterate through the first num elements of an iterator.
*
* @param n - The number of elements to iterate.
* @param iterator - The iterator.
*
* @returns - An iterator limited to the next n elements.
*/
export declare function first<T = any>(n: number, iterator: Iterator<T>): Iterator<T>;
/**
* Join multiple iterators into one.
*
* @param iterators - The iterators to join.
*/
export declare function join<T = any>(iterators: Iterator<Iterator<T>>): Iterator<T>;
/**
* Get an empty iterator.
*/
export declare function never<T = any>(): Iterator<T>;
/**
* Wrap a value in an iterator.
*/
export declare function once<T = any>(fn: () => T): Iterator<T>;
/**
* Skip the next num elements of an iterator.
*
* @param n - The number of elements to skip.
* @param iterator - The iterator.
*
* @returns - The iterator after skipping n elements.
*/
export declare function skip<T = any>(n: number, iterator: Iterator<T>): Iterator<T>;
/**
* Split an iterator into multiple iterators of a given length.
*
* @param length - The length of each iterator.
* @param iterator - The iterator to split.
*
* @returns - An iterator of the resulting iterators.
*/
export declare function split<T = any>(length: number, iterator: Iterator<T>): Iterator<Iterator<T>>;