Typeservicesv0.6.0
ExcludeExactly
A stricter version of Exclude<T, U>Exclude<T, U> that excludes types only when they are exactly identical.
type ExcludeExactly<Union, Delete> = IfNotAnyOrNever<Union, _ExcludeExactly<Union, Delete>, // If `Union` is `any`, then if `Delete` is `any`, return `never`, else return `Union`. If<IsAny<Delete>, never, Union>, // If `Union` is `never`, then if `Delete` is `never`, return `never`, else return `Union`. If<IsNever<Delete>, never, Union>>type ExcludeExactly<Union, Delete> = IfNotAnyOrNever<Union, _ExcludeExactly<Union, Delete>, // If `Union` is `any`, then if `Delete` is `any`, return `never`, else return `Union`. If<IsAny<Delete>, never, Union>, // If `Union` is `never`, then if `Delete` is `never`, return `never`, else return `Union`. If<IsNever<Delete>, never, Union>>Union
UnionUnionDelete
DeleteDelete