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