MCPcopy Index your code
hub / github.com/nodejs/node / getUnmatchedProperties

Function getUnmatchedProperties

test/fixtures/snapshot/typescript.js:68257–68295  ·  view source on GitHub ↗
(source, target, requireOptionalProperties, matchDiscriminantProperties)

Source from the content-addressed store, hash-verified

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)

Callers 2

reportUnmatchedPropertyFunction · 0.85
getUnmatchedPropertyFunction · 0.85

Calls 5

getPropertiesOfTypeFunction · 0.85
getPropertyOfTypeFunction · 0.85
getTypeOfSymbolFunction · 0.85

Tested by

no test coverage detected