Flat<T, D, C>: C["length"] extends D ? T : T extends [infer F, ...(infer R)] ? If_Never<F> extends true ? [F, ...Flat<R, D, C>] : F extends any[] ? [...Flat<F, D, [...C, 1]>, ...Flat<R, D, C>] : [F, ...Flat<R, D, C>] : []
Type Parameters
-
T extends any[]
-
D extends number = -1
-
C extends any[] = []
将嵌套元组展开,可以给出第二个参数表示要展开多少层,默认展开所有层