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
It's so extreme level as so much time I had spent to solute it.
Playground.
// #4425 type _GreaterThan<T extends number, U extends number, Arr extends 0[] = []> = U extends Arr['length'] ? T extends Arr['length'] ? false // 相等 : true // T 数字更大 : T extends Arr['length'] ? false // 先到达 T,证明 U 数字更大 : _GreaterThan<T, U, [ ...Arr, 0 ]> // 两个都没到达 type _ToPositiveIdx<N extends number, Arr extends unknown[], _Counter extends 0[] = []> = `${ N }` extends `-${ infer I extends number }` ? _Counter['length'] extends I ? Arr['length'] : Arr extends [ unknown, ...infer Rest ] ? _ToPositiveIdx<N, Rest, [ ..._Counter, 0 ]> : never : N type _VerifyIdx<A extends number, B extends number, Max extends number> = _GreaterThan<A, B> extends true ? false : _GreaterThan<A, Max> extends true ? false : _GreaterThan<B, Max> extends true ? false : true type Slice< Arr extends unknown[], Start extends number = 0, End extends number = Arr['length'], _Idx extends 0[] = [], _OverStart extends boolean = false, _Result extends unknown[] = [], _Start extends number = _ToPositiveIdx<Start, Arr>, _End extends number = _ToPositiveIdx<End, Arr>, _CurrentValue extends Arr[number] = Arr[_Idx['length']], _ValidIdx extends boolean = _VerifyIdx<_Start, _End, Arr['length']>, > = _ValidIdx extends false ? [] : _Idx['length'] extends _Start ? _Idx['length'] extends _End ? [] : Slice<Arr, _Start, _End, [ ..._Idx, 0 ], true, [ _CurrentValue ]> : _OverStart extends false ? Slice<Arr, _Start, _End, [ ..._Idx, 0 ], false> : _Idx['length'] extends _End ? _Result : Slice<Arr, _Start, _End, [ ..._Idx, 0 ], true, [ ..._Result, _CurrentValue ]>
The text was updated successfully, but these errors were encountered:
No branches or pull requests
It's so extreme level as so much time I had spent to solute it.
Playground.
The text was updated successfully, but these errors were encountered: