UNPKG

1.61 kBTypeScriptView Raw
1import { IIterator, IterableOrArrayLike } from './iter';
2/**
3 * Enumerate an iterable object.
4 *
5 * @param object - The iterable or array-like object of interest.
6 *
7 * @param start - The starting enum value. The default is `0`.
8 *
9 * @returns An iterator which yields the enumerated values.
10 *
11 * #### Example
12 * ```typescript
13 * import { enumerate, toArray } from '@lumino/algorithm';
14 *
15 * let data = ['foo', 'bar', 'baz'];
16 *
17 * let stream = enumerate(data, 1);
18 *
19 * toArray(stream); // [[1, 'foo'], [2, 'bar'], [3, 'baz']]
20 * ```
21 */
22export declare function enumerate<T>(object: IterableOrArrayLike<T>, start?: number): IIterator<[number, T]>;
23/**
24 * An iterator which enumerates the source values.
25 */
26export declare class EnumerateIterator<T> implements IIterator<[number, T]> {
27 /**
28 * Construct a new enumerate iterator.
29 *
30 * @param source - The iterator of values of interest.
31 *
32 * @param start - The starting enum value.
33 */
34 constructor(source: IIterator<T>, start: number);
35 /**
36 * Get an iterator over the object's values.
37 *
38 * @returns An iterator which yields the object's values.
39 */
40 iter(): IIterator<[number, T]>;
41 /**
42 * Create an independent clone of the iterator.
43 *
44 * @returns A new independent clone of the iterator.
45 */
46 clone(): IIterator<[number, T]>;
47 /**
48 * Get the next value from the iterator.
49 *
50 * @returns The next value from the iterator, or `undefined`.
51 */
52 next(): [number, T] | undefined;
53 private _source;
54 private _index;
55}
56//# sourceMappingURL=enumerate.d.ts.map
\No newline at end of file