@lou.codes/iterables
Version:
🔁 Iterable and AsyncIterable utils
21 lines (20 loc) • 683 B
TypeScript
import type { ReadOnlyIterable } from "@lou.codes/types";
/**
* Get a `Symbol.iterator` from an iterable.
*
* @category Common
* @example
* ```typescript
* const iterator = getIterator([1, 2, 3]);
* iterator.next(); // { value: 1, done: false }
* iterator.next(); // { value: 2, done: false }
* iterator.next(); // { value: 3, done: false }
* iterator.next(); // { value: undefined, done: true }
* ```
* @param iterable Iterable to get the iterator from.
* @returns Iterator instance.
*/
export declare const getIterator: <Iterable extends ReadOnlyIterable>(
iterable: Iterable,
) => Iterable extends ReadOnlyIterable<infer Item> ? Iterator<Item, Item, Item>
: never;