(type: ts.TypeNode | ts.Node, typeChecker: ts.TypeChecker)
| 333 | return computePropertyForType(type.type, typeChecker); |
| 334 | } |
| 335 | function computePropertyForType(type: ts.TypeNode | ts.Node, typeChecker: ts.TypeChecker): TelemetryProperty[] { |
| 336 | if (ts.isTypeLiteralNode(type)) { |
| 337 | return computePropertiesForLiteralType(type, typeChecker); |
| 338 | } else if (ts.isUnionTypeNode(type)) { |
| 339 | const props: TelemetryProperty[] = []; |
| 340 | type.types.forEach((t) => { |
| 341 | props.push(...computePropertyForType(t, typeChecker)); |
| 342 | }); |
| 343 | } else if (ts.isTypeReferenceNode(type)) { |
| 344 | return comptePropertyGroupsFromReferenceNode(type, typeChecker); |
| 345 | } else if (ts.isParenthesizedTypeNode(type)) { |
| 346 | return comptePropertyGroupsForPrenthesizedTypes(type, typeChecker); |
| 347 | } else if (ts.isIntersectionTypeNode(type)) { |
| 348 | return comptePropertyGroupsForIntersectionTypes(type, typeChecker); |
| 349 | } else if (ts.isTypeAliasDeclaration(type)) { |
| 350 | return computePropertyForType(type.type, typeChecker); |
| 351 | } |
| 352 | return []; |
| 353 | } |
| 354 | function getCommentForUnions(t: ts.TypeNode) { |
| 355 | const commentLines = t.getFullText().replace(t.getText(), '').split(/\r?\n/); |
| 356 | const comment = commentLines.map((line, index) => { |
no test coverage detected