1 | /**
|
2 | * An object which can produce a reverse iterator over its values.
|
3 | */
|
4 | export interface IRetroable<T> {
|
5 | /**
|
6 | * Get a reverse iterator over the object's values.
|
7 | *
|
8 | * @returns An iterator which yields the object's values in reverse.
|
9 | */
|
10 | retro(): IterableIterator<T>;
|
11 | }
|
12 | /**
|
13 | * Create an iterator for a retroable object.
|
14 | *
|
15 | * @param object - The retroable or array-like object of interest.
|
16 | *
|
17 | * @returns An iterator which traverses the object's values in reverse.
|
18 | *
|
19 | * #### Example
|
20 | * ```typescript
|
21 | * import { retro } from '@lumino/algorithm';
|
22 | *
|
23 | * let data = [1, 2, 3, 4, 5, 6];
|
24 | *
|
25 | * let stream = retro(data);
|
26 | *
|
27 | * Array.from(stream); // [6, 5, 4, 3, 2, 1]
|
28 | * ```
|
29 | */
|
30 | export declare function retro<T>(object: IRetroable<T> | ArrayLike<T>): IterableIterator<T>;
|