MCPcopy Create free account
hub / github.com/deepnote/vscode-deepnote / computePropertyForType

Function computePropertyForType

src/telemetryGenerator.node.ts:335–353  ·  view source on GitHub ↗
(type: ts.TypeNode | ts.Node, typeChecker: ts.TypeChecker)

Source from the content-addressed store, hash-verified

333 return computePropertyForType(type.type, typeChecker);
334}
335function 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}
354function getCommentForUnions(t: ts.TypeNode) {
355 const commentLines = t.getFullText().replace(t.getText(), '').split(/\r?\n/);
356 const comment = commentLines.map((line, index) => {

Tested by

no test coverage detected