Open Choozii opened 1 year ago
type MyReturnType = T extends (...args:any) => infer Res? Res : never;
type MyOmit<T, K extends keyof T> = {[P in Exclude<keyof T, K>] : T[P]}
type TupleToObject<T extends readonly any[]> = { [P in T[number]] : P }
type Length<T extends readonly string[]> = T["length"]
type MyReturnType = T extends (...args:any) => infer Res? Res : never;
type MyOmit<T, K extends keyof T> = {[P in Exclude<keyof T, K>] : T[P]}
type TupleToObject<T extends readonly any[]> = { [P in T[number]] : P }
type Length<T extends readonly string[]> = T["length"]