17 lines
526 B
TypeScript
17 lines
526 B
TypeScript
declare function flatten <T> (array: flatten.NestedArray<T>): T[];
|
|
|
|
declare namespace flatten {
|
|
export interface NestedArray <T> extends ReadonlyArray<T | NestedArray<T>> {}
|
|
|
|
export interface NestedList <T> {
|
|
[index: number]: T | NestedList<T>;
|
|
length: number;
|
|
}
|
|
|
|
export function from <T> (array: NestedList<T>): T[];
|
|
export function depth <T> (array: NestedArray<T>, depth: number): NestedArray<T>;
|
|
export function depthFrom <T> (array: NestedList<T>, depth: number): NestedArray<T>;
|
|
}
|
|
|
|
export = flatten;
|