From 84e857b6f3624fcb01db807affa49ca8d9580f3b Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com> Date: Mon, 23 Sep 2019 15:57:32 -0700 Subject: [PATCH] use forEachEntry --- src/services/codefixes/inferFromUsage.ts | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/services/codefixes/inferFromUsage.ts b/src/services/codefixes/inferFromUsage.ts index 090c241b05d..5dd34782885 100644 --- a/src/services/codefixes/inferFromUsage.ts +++ b/src/services/codefixes/inferFromUsage.ts @@ -947,22 +947,19 @@ namespace ts.codefix { function allPropertiesAreAssignableToUsage(type: Type, usage: Usage) { if (!usage.properties) return false; - let result = true; - usage.properties.forEach((propUsage, name) => { + return !forEachEntry(usage.properties, (propUsage, name) => { const source = checker.getTypeOfPropertyOfType(type, name as string); if (!source) { - result = false; - return; + return true; } if (propUsage.calls) { const sigs = checker.getSignaturesOfType(source, SignatureKind.Call); - result = result && !!sigs.length && checker.isTypeAssignableTo(source, getFunctionFromCalls(propUsage.calls)); + return !sigs.length || !checker.isTypeAssignableTo(source, getFunctionFromCalls(propUsage.calls)); } else { - result = result && checker.isTypeAssignableTo(source, combineFromUsage(propUsage)); + return !checker.isTypeAssignableTo(source, combineFromUsage(propUsage)); } }); - return result; } /**