types-kit.internalnormalizesliceindex.md
September 4, 2023 ยท View on GitHub
Home > types-kit > InternalNormalizeSliceIndex
InternalNormalizeSliceIndex type
Signature:
type InternalNormalizeSliceIndex<
A extends readonly unknown[],
I extends number,
R extends readonly unknown[] = [],
> = I extends R['length']
? I
: `-${R['length']}` extends `${I}`
? A['length']
: A extends readonly [unknown, ...infer T]
? InternalNormalizeSliceIndex<T, I, [...R, unknown]>
: // out of range
`${I}` extends `-${number}`
? 0
: R['length']
References: InternalNormalizeSliceIndex