UNPKG

@lou.codes/iterables

Version:
21 lines (20 loc) 683 B
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;