(source, target, requireOptionalProperties, matchDiscriminantProperties)
| 68255 | return getTypeFromInference(inference) || unknownType; |
| 68256 | } |
| 68257 | function getUnmatchedProperties(source, target, requireOptionalProperties, matchDiscriminantProperties) { |
| 68258 | var properties, _i, properties_2, targetProp, sourceProp, targetType, sourceType; |
| 68259 | return __generator(this, function (_a) { |
| 68260 | switch (_a.label) { |
| 68261 | case 0: |
| 68262 | properties = getPropertiesOfType(target); |
| 68263 | _i = 0, properties_2 = properties; |
| 68264 | _a.label = 1; |
| 68265 | case 1: |
| 68266 | if (!(_i < properties_2.length)) return [3 /*break*/, 6]; |
| 68267 | targetProp = properties_2[_i]; |
| 68268 | // TODO: remove this when we support static private identifier fields and find other solutions to get privateNamesAndStaticFields test to pass |
| 68269 | if (isStaticPrivateIdentifierProperty(targetProp)) { |
| 68270 | return [3 /*break*/, 5]; |
| 68271 | } |
| 68272 | if (!(requireOptionalProperties || !(targetProp.flags & 16777216 /* SymbolFlags.Optional */ || ts.getCheckFlags(targetProp) & 48 /* CheckFlags.Partial */))) return [3 /*break*/, 5]; |
| 68273 | sourceProp = getPropertyOfType(source, targetProp.escapedName); |
| 68274 | if (!!sourceProp) return [3 /*break*/, 3]; |
| 68275 | return [4 /*yield*/, targetProp]; |
| 68276 | case 2: |
| 68277 | _a.sent(); |
| 68278 | return [3 /*break*/, 5]; |
| 68279 | case 3: |
| 68280 | if (!matchDiscriminantProperties) return [3 /*break*/, 5]; |
| 68281 | targetType = getTypeOfSymbol(targetProp); |
| 68282 | if (!(targetType.flags & 109440 /* TypeFlags.Unit */)) return [3 /*break*/, 5]; |
| 68283 | sourceType = getTypeOfSymbol(sourceProp); |
| 68284 | if (!!(sourceType.flags & 1 /* TypeFlags.Any */ || getRegularTypeOfLiteralType(sourceType) === getRegularTypeOfLiteralType(targetType))) return [3 /*break*/, 5]; |
| 68285 | return [4 /*yield*/, targetProp]; |
| 68286 | case 4: |
| 68287 | _a.sent(); |
| 68288 | _a.label = 5; |
| 68289 | case 5: |
| 68290 | _i++; |
| 68291 | return [3 /*break*/, 1]; |
| 68292 | case 6: return [2 /*return*/]; |
| 68293 | } |
| 68294 | }); |
| 68295 | } |
| 68296 | function getUnmatchedProperty(source, target, requireOptionalProperties, matchDiscriminantProperties) { |
| 68297 | var result = getUnmatchedProperties(source, target, requireOptionalProperties, matchDiscriminantProperties).next(); |
| 68298 | if (!result.done) |
no test coverage detected