Home > types-kit > InternalSlice
Signature:
type InternalSlice<
Arr extends readonly unknown[],
Start extends number,
End extends number,
N extends readonly unknown[] = [],
R extends readonly unknown[] = [],
> = N['length'] extends End // End > Start => []
? R
: Arr extends readonly [infer H, ...infer T]
? InternalSlice<
T,
Start,
End,
[...N, unknown],
N['length'] extends Start
? [H]
: IsEmptyTypeArray<R> extends true
? []
: [...R, H]
>
: // empty
RReferences: InternalSlice, IsEmptyTypeArray