We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Though contain many helper method, but it is very straightforward. All test case passed.
type NumberToArray<T extends number, S extends unknown[] = []> = S['length'] extends T ? S : NumberToArray<T, [...S, 1]> // A.len > B.len type _MinusAB<A extends any[], B extends any[], R extends any[] = []> = A["length"] extends B["length"] ? R["length"] : _MinusAB<A, [1, ...B], [1, ...R]> // return converted/normalized/positive index pos: type NormalizeIndex<A extends any[], N extends number, Ng=`${N}`> = Ng extends `-${infer E extends number}` ? _MinusAB<A, NumberToArray<E>> : N type getHead<A, N, R extends any[] = []> = A extends [infer F, ... infer Tail] ? R['length'] extends N ? R : getHead<Tail, N, [ ...R, F]> : R type getTail<A extends any[], N, Pop extends any[] = [], Tail extends any[] = A> = Pop['length'] extends N ? Tail : A extends [infer F, ... infer Tail] ? getTail<Tail, N, [... Pop, F], Tail> : [] type Slice<Arr extends any[], Start extends number=0, End extends number= Arr["length"]> = getTail<getHead<Arr, NormalizeIndex<Arr, End>>, NormalizeIndex<Arr, Start>>
The text was updated successfully, but these errors were encountered:
No branches or pull requests
Though contain many helper method, but it is very straightforward. All test case passed.
The text was updated successfully, but these errors were encountered: