There are 2 types
type A = {
x: number
y: number
}
type B = {
y: number
z: number
}
How to get type with common properties of that
Based on @kube's answer,
type Common = Pick<
A,
{
[K in keyof A & keyof B]: A[K] extends B[K]
? B[K] extends A[K]
? K
: never
: never;
}[keyof A & keyof B]
>;