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

Function transformJSDocTypeReference

test/fixtures/snapshot/typescript.js:151049–151079  ·  view source on GitHub ↗
(node)

Source from the content-addressed store, hash-verified

151047 return ts.factory.createParameterDeclaration(node.decorators, node.modifiers, dotdotdot, name, node.questionToken, ts.visitNode(node.type, transformJSDocType), node.initializer);
151048 }
151049 function transformJSDocTypeReference(node) {
151050 var name = node.typeName;
151051 var args = node.typeArguments;
151052 if (ts.isIdentifier(node.typeName)) {
151053 if (ts.isJSDocIndexSignature(node)) {
151054 return transformJSDocIndexSignature(node);
151055 }
151056 var text = node.typeName.text;
151057 switch (node.typeName.text) {
151058 case "String":
151059 case "Boolean":
151060 case "Object":
151061 case "Number":
151062 text = text.toLowerCase();
151063 break;
151064 case "array":
151065 case "date":
151066 case "promise":
151067 text = text[0].toUpperCase() + text.slice(1);
151068 break;
151069 }
151070 name = ts.factory.createIdentifier(text);
151071 if ((text === "Array" || text === "Promise") && !node.typeArguments) {
151072 args = ts.factory.createNodeArray([ts.factory.createTypeReferenceNode("any", ts.emptyArray)]);
151073 }
151074 else {
151075 args = ts.visitNodes(node.typeArguments, transformJSDocType);
151076 }
151077 }
151078 return ts.factory.createTypeReferenceNode(name, args);
151079 }
151080 function transformJSDocIndexSignature(node) {
151081 var index = ts.factory.createParameterDeclaration(
151082 /*decorators*/ undefined,

Callers 1

transformJSDocTypeFunction · 0.85

Calls 2

sliceMethod · 0.65

Tested by

no test coverage detected