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

Function getPropertiesOfUnionOrIntersectionType

test/fixtures/snapshot/typescript.js:58745–58768  ·  view source on GitHub ↗
(type)

Source from the content-addressed store, hash-verified

58743 }
58744 }
58745 function getPropertiesOfUnionOrIntersectionType(type) {
58746 if (!type.resolvedProperties) {
58747 var members = ts.createSymbolTable();
58748 for (var _i = 0, _a = type.types; _i < _a.length; _i++) {
58749 var current = _a[_i];
58750 for (var _b = 0, _c = getPropertiesOfType(current); _b < _c.length; _b++) {
58751 var prop = _c[_b];
58752 if (!members.has(prop.escapedName)) {
58753 var combinedProp = getPropertyOfUnionOrIntersectionType(type, prop.escapedName);
58754 if (combinedProp) {
58755 members.set(prop.escapedName, combinedProp);
58756 }
58757 }
58758 }
58759 // The properties of a union type are those that are present in all constituent types, so
58760 // we only need to check the properties of the first type without index signature
58761 if (type.flags & 1048576 /* TypeFlags.Union */ && getIndexInfosOfType(current).length === 0) {
58762 break;
58763 }
58764 }
58765 type.resolvedProperties = getNamedMembers(members);
58766 }
58767 return type.resolvedProperties;
58768 }
58769 function getPropertiesOfType(type) {
58770 type = getReducedApparentType(type);
58771 return type.flags & 3145728 /* TypeFlags.UnionOrIntersection */ ?

Callers 4

getPropertiesOfTypeFunction · 0.85
getReducedTypeFunction · 0.85

Calls 6

getPropertiesOfTypeFunction · 0.85
getIndexInfosOfTypeFunction · 0.85
getNamedMembersFunction · 0.85
hasMethod · 0.65
setMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…