douhao1988

Results 13 comments of douhao1988

```typescript type Shift = ((...t: T) => void) extends (h: any, ...args: infer R) => void ? R : never; // 测试用例 type S0 = Shift // [2,3] type S1...

```typescript type Tail = ((...t: T) => void) extends (h: any, ...args: infer R) => void? R : never // 测试用例 type T0 = Tail // [] type T1 =...

```typescript type Push = [...T, V]; type RepeatString< T extends string, C extends number, R extends string = '', A extends any[] = [], > = A['length'] extends C ?...

```typescript type Unshift = undefined extends T[0]? [E] : ((h: E, ...t: T) => void) extends (...args: infer R) => void? R : never // 测试用例 type Arr2 = Unshift;...

```typescript type Head = undefined extends T[0] ? never : ((...t: T) => void) extends (h: infer A, ...args: any[]) => void? A : never // 测试用例 type H0 =...

```typescript type Push = [...T, V]; type CreateTuple< T extends number, A extends any[] = [] > = A['length'] extends T ? A : CreateTuple type Add< T extends number,...

```typescript type IsEqual = ((t: A, p: B) => void) extends (...args: infer R) => void ? (R[number] extends A ? true : false) : false // 测试用例 type E0...

```typescript type Push = [...T, V]; type Repeat< T, C extends number, R extends Array = [] > = R['length'] extends C ? R : Repeat; type R01 = Repeat;...

```typescript type Person = { id: string; name: string; age: number; from?: string; speak?: string; }; type OptionalKeys = NonNullable type PersonOptionalKeys = OptionalKeys // "from" | "speak" ```

```typescript type IndexOf = A extends [infer F, ...infer L] ? F extends Item ? C['length'] : IndexOf : -1 type Arr = [1, 2, 3, 4, 5] type I01...