MCPcopy Create free account
hub / github.com/nodejs/node / flattenTypeLiteralNodeReference

Function flattenTypeLiteralNodeReference

test/fixtures/snapshot/typescript.js:161782–161805  ·  view source on GitHub ↗
(checker, node)

Source from the content-addressed store, hash-verified

161780 return { isJS: isJS, selection: selection, firstStatement: firstStatement, typeParameters: typeParameters, typeElements: typeElements };
161781 }
161782 function flattenTypeLiteralNodeReference(checker, node) {
161783 if (!node)
161784 return undefined;
161785 if (ts.isIntersectionTypeNode(node)) {
161786 var result = [];
161787 var seen_1 = new ts.Map();
161788 for (var _i = 0, _a = node.types; _i < _a.length; _i++) {
161789 var type = _a[_i];
161790 var flattenedTypeMembers = flattenTypeLiteralNodeReference(checker, type);
161791 if (!flattenedTypeMembers || !flattenedTypeMembers.every(function (type) { return type.name && ts.addToSeen(seen_1, ts.getNameFromPropertyName(type.name)); })) {
161792 return undefined;
161793 }
161794 ts.addRange(result, flattenedTypeMembers);
161795 }
161796 return result;
161797 }
161798 else if (ts.isParenthesizedTypeNode(node)) {
161799 return flattenTypeLiteralNodeReference(checker, node.type);
161800 }
161801 else if (ts.isTypeLiteralNode(node)) {
161802 return node.members;
161803 }
161804 return undefined;
161805 }
161806 function rangeContainsSkipTrivia(r1, node, file) {
161807 return ts.rangeContainsStartEnd(r1, ts.skipTrivia(file.text, node.pos), node.end);
161808 }

Callers 1

getRangeToExtractFunction · 0.85

Calls 2

everyMethod · 0.80
addRangeMethod · 0.80

Tested by

no test coverage detected