SweeperDuan
SweeperDuan
```ts type JoinStrArray = Arr extends [infer El,...infer Rest] ? Rest extends string[] ? El extends string ? Result extends "" ? JoinStrArray : JoinStrArray :`${Result}` : `${Result}` : `${Result}`...
```ts type AppendArgument = F extends (...args: infer P) => infer R ? (x: A, ...args: P) => R : F ```
```ts type Trim = V extends ` ${infer S} ` ? Trim : V ```
return { id: u.id, kind: 'customer', } as T 也可以,不知道这样改合适不
```ts type Split< S extends string, Delimiter extends string, > = S extends `${infer A}${Delimiter}${infer Rest}` ? [A, ...Split] : [S]; ```
> ```ts > // 拆分 > type Split< > S extends string, > Delimiter extends string, > > = S extends `${infer A}${Delimiter}${infer B}` ? [A, ...Split] : [S] >...
```ts type Foo = { readonly a: number; readonly b: string; readonly c: boolean; }; type Mutable = Omit & { - readonly[K in keyof T as (K extends Keys...
```ts type Reverse< T extends Array, R extends any[] = [], > = T extends [infer A, ...infer Rest] ? Reverse : R ```
```ts type Head = T extends [infer F, ...infer Rest] ? F : never; ```
我第一反应就是这个答案 ```ts type Includes = E extends T[number] ? true : false type I0 = Includes // false type I1 = Includes // true type I2 = Includes // true...