2020-09-21
Prerequisite to understanding TypeScript Omit in React TypeScript Cheatsheet
selfnote, typescript, react
selfnote, typescript, react
Image by Edward Lich from Pixabay
A note to self lest I forget the resources I learned from.
As I was going thru Swyx's React TypeScript Cheatsheet, Props: Omit prop from a type, I had trouble understand the definition of Omit.
1// this comes inbuilt with TS 3.52type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
Could not wrap my heads around it so Googled and found Marius Schulz's blog posts.
I read these backwards initially but the posts in following order seems to make sense.
type Exclude<T, U> = T extends U ? never : T;
Advaned utlity type document and sources for
Omit<Type, Keys>
1/**2 * Construct a type with the properties of T except for those in type K.3 */4type Omit<T, K extends keyof any> = Pick<T, Exclude<keyof T, K>>;
Pick<Type, Keys>
1/**2 * From T, pick a set of properties whose keys are in the union K3 */4type Pick<T, K extends keyof T> = {5 [P in K]: T[P];6};
Exclude<Type, ExcludedUnion>
1/**2 * Exclude from T those types that are assignable to U3 */4type Exclude<T, U> = T extends U ? never : T;
Need to watch Marius Schulz's Egghead course, Advanced Static Types in TypeScript.
Image by Edward Lich from Pixabay
cuz, Donut's hole reminds me of Omit 😉