types-kit.internalslice.md
September 4, 2023 ยท View on GitHub
Home > types-kit > InternalSlice
InternalSlice type
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
R
References: InternalSlice, IsEmptyTypeArray