Properly handle intersection types in getUnmatchedProperty

This commit is contained in:
Anders Hejlsberg 2017-11-02 16:58:41 -07:00
parent 1a7a587a9e
commit 5b0bcecfae

View File

@ -10792,7 +10792,7 @@ namespace ts {
}
function getUnmatchedProperty(source: Type, target: Type, requireOptionalProperties: boolean) {
const properties = getPropertiesOfObjectType(target);
const properties = target.flags & TypeFlags.Intersection ? getPropertiesOfUnionOrIntersectionType(<IntersectionType>target) : getPropertiesOfObjectType(target);
for (const targetProp of properties) {
if (requireOptionalProperties || !(targetProp.flags & SymbolFlags.Optional)) {
const sourceProp = getPropertyOfType(source, targetProp.escapedName);