1 | import { _Drop } from './Drop';
|
2 | import { _Take } from './Take';
|
3 | import { Cast } from '../Any/Cast';
|
4 | import { Append } from './Append';
|
5 | import { List } from './List';
|
6 | import { Extends } from '../Any/Extends';
|
7 |
|
8 |
|
9 |
|
10 | declare type __Group<L extends List, N extends number, LN extends List = []> = {
|
11 | 0: __Group<_Drop<L, N>, N, Append<LN, _Take<L, N>>>;
|
12 | 1: LN;
|
13 | }[Extends<L, List<never>>];
|
14 |
|
15 |
|
16 |
|
17 | export declare type _Group<L extends List, N extends number> = __Group<L, N> extends infer X ? Cast<X, List> : never;
|
18 |
|
19 |
|
20 |
|
21 |
|
22 |
|
23 |
|
24 |
|
25 |
|
26 |
|
27 | export declare type Group<L extends List, N extends number> = L extends unknown ? N extends unknown ? _Group<L, N> : never : never;
|
28 | export {};
|