Merge

Merge two object types with B overriding A's properties.

#types #typescript #utility-type
type Prettify<T> = {
[K in keyof T]: T[K];
} & {};
export type Merge<A, B> = Prettify<
Omit<A, keyof B> & B
>;
// Usage
type Base = { name: string; age: number };
type Override = { age: string; email: string };
type Merged = Merge<Base, Override>;
// { name: string; age: string; email: string }

Share this snippet

Comments