UNPKG

dastal

Version:

Data Structures & Algorithms implementations

50 lines (49 loc) 1.56 kB
/** * 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>>;