yujie
yujie
` type Shift = T extends [infer F, ...infer O] ? O : []; `
` type Includes = T extends Array ? E extends R ? true : false : false; `
type Tail<T extends any[]> = T extends [infer F, ...infer O] ? O : [];
type ConditionalPick = { [P in keyof T as ([T[P]] extends [U] ? P : never)]: T[P]; }
type Split< S extends string, Delimiter extends string, > = S extends `${infer L}${Delimiter}${infer R}` ? [L, ...Split<R, Delimiter>] : [S];
type Head<T extends any[]> = T extends [infer F, ...infer O] ? F : never;
type TrimLeft<V extends string> = V extends ` ${infer C}` ? TrimLeft<C> : V; type TrimRight<V extends string> = V extends `${infer C} ` ? TrimRight<C> : V; type Trim<V...
type IsEqual<A, B> = A extends B ? B extends A ? true : false : false;
` type OptionalKeys = { [P in keyof T]: {} extends Pick ? P : never; }[keyof T] `
type Split< S extends string, Delimiter extends string, > = S extends `${infer L}${Delimiter}${infer R}` ? [L, ...Split<R, Delimiter>] : [S]; type ToPath<S extends string, A = Split<S, '.'>> =...