1 | // @flow
|
2 | export interface Lux$Collection<T> {
|
3 | size: number;
|
4 |
|
5 | has(key: T): boolean;
|
6 | clear(): void;
|
7 | delete(key: T): boolean;
|
8 | values(): Iterator<T>;
|
9 | }
|
10 |
|
11 | export interface Chain<T> {
|
12 | pipe<U>(handler: (value: T) => U): Chain<U>;
|
13 | value(): T;
|
14 | construct<U, V: Class<U>>(constructor: V): Chain<U>;
|
15 | }
|