UNPKG

446 BTypeScriptView Raw
1/**
2 * Pick the value from an array.
3 */
4export declare type PickValue<T> = T extends ReadonlyArray<any> ? {
5 [K in Extract<keyof T, number>]: PickValue<T[K]>;
6}[number] : T;
7/**
8 * Flatten an `ArrayLike` object in TypeScript.
9 */
10export declare type FlatArray<T extends ArrayLike<any>> = Array<PickValue<T[number]>>;
11/**
12 * Flatten an array indefinitely.
13 */
14export declare function flatten<T extends ArrayLike<any>>(array: T): FlatArray<T>;