ZhengOneDream

Results 16 comments of ZhengOneDream

```typescript type SmallerThan< N extends number, M extends number, A extends any[] = [] > = N extends A['length'] ? M extends A['length'] ? false : true : M extends...

```typescript type ConsistsOnlyOf = LongString extends `${Substring}${infer Others}` ? ConsistsOnlyOf : LongString extends '' ? true : false ```

```typescript type RequireAllOrNone = | (Omit & Required) | { [Key in keyof T]: Key extends K ? never: T[Key] }; ```

```typescript type Permutation = [T] extends [never] ? [] : K extends any ? [K, ...Permutation] : never // ["a", "b"] | ["b", "a"] type P0 = Permutation; // type...

```typescript type Permutation = T extends any ? Exclude extends never ? [T] : [T, ...Permutation] : never ```

```typescript type Permutation = T extends any ? Exclude extends never ? [T] : [T, ...Permutation] : never ```

> 为什么看上去不对,答案却是对的? 分开操作 意思明明是 text 和 json 都必须有???

```typesript type ToNumber< T extends string, A extends any[] = [] > = `${A['length']}` extends T ? A['length'] : ToNumber type T0 = ToNumber; // 0 type T1 = ToNumber;...

```typescript // 这个O就算是个数字也可以扩展才对,这就是最佳解法 type ToNumber = T extends `${infer O extends number}` ? O : never type T0 = ToNumber; // 0 type T1 = ToNumber; // 10 type T2...

> 你这个把 any 都去掉了 如果是 interface Foo { [key: string]: any; [key: number]: any; bar(): void; o: any; } o 不也没了吗