(checker, node)
| 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 | } |
no test coverage detected