TanLeslie
TanLeslie
```ts // 你的答案 type IsNever = [T] extends [never] ? ([never] extends [T] ? true : false) : false type Permutation = { [P in `${T}`]: [P extends `${infer Bool...
```ts // 你的答案 type LengthOfString = S extends `${infer R}${infer Rest}` ? (R extends '' ? List["length"] : LengthOfString) : List["length"]; ```
```ts // 你的答案 // [T] extends [never] 可以正确判断never类型。如果T是never类型,不以元组或数组的方式判断never类型,那么ts会直接推断这个表达式为never不进入预期判断的条件。 // R extends R ? [R, ...Permutation< Exclude > ] : [] 联合条件类型的分发 + 递归;ts扁平化递归得到的数据,一层层往上递归回来,得到预期结果。 // 参考链接:https://github.com/type-challenges/type-challenges/issues/614 type Permutation = [T] extends...
```ts // 你的答案 type ReplaceAll = From extends '' ? S : S extends `${infer Y}${From}${infer G}` ? `${Y}${To}${ReplaceAll}` : S; ```
```ts // 你的答案 type Flatten = T extends [infer R, ...infer Rest] ? (R extends [...infer Ele] ? [...Flatten,...Flatten] : [R, ...Flatten]) : []; ```