Type alias IntersectGenericProjection<T1, T2>

IntersectGenericProjection<T1, T2>: T1 extends false ? T1 : T2 extends false ? T2 : T1 extends true ? T2 : T2 extends true ? T1 : Expand<OmitUndefinedAndNeverKeys<{ [ K in keyof T1 | keyof T2]: T1 extends Record<K, GenericProjection> ? T2 extends Record<K, GenericProjection> ? IntersectGenericProjection<T1[K], T2[K]> : never : T2 extends Record<K, GenericProjection> ? never : never }>>

Given two GenericProjection with an explicit type (eg. const p1: {a: true} = ...) defined at compilation time, this intersect the two giving an explicit type at compilation time.

Type Parameters

Generated using TypeDoc