MCPcopy Index your code
hub / github.com/nodejs/node / getIntendedTypeFromJSDocTypeReference

Function getIntendedTypeFromJSDocTypeReference

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

Source from the content-addressed store, hash-verified

60521 return true;
60522 }
60523 function getIntendedTypeFromJSDocTypeReference(node) {
60524 if (ts.isIdentifier(node.typeName)) {
60525 var typeArgs = node.typeArguments;
60526 switch (node.typeName.escapedText) {
60527 case "String":
60528 checkNoTypeArguments(node);
60529 return stringType;
60530 case "Number":
60531 checkNoTypeArguments(node);
60532 return numberType;
60533 case "Boolean":
60534 checkNoTypeArguments(node);
60535 return booleanType;
60536 case "Void":
60537 checkNoTypeArguments(node);
60538 return voidType;
60539 case "Undefined":
60540 checkNoTypeArguments(node);
60541 return undefinedType;
60542 case "Null":
60543 checkNoTypeArguments(node);
60544 return nullType;
60545 case "Function":
60546 case "function":
60547 checkNoTypeArguments(node);
60548 return globalFunctionType;
60549 case "array":
60550 return (!typeArgs || !typeArgs.length) && !noImplicitAny ? anyArrayType : undefined;
60551 case "promise":
60552 return (!typeArgs || !typeArgs.length) && !noImplicitAny ? createPromiseType(anyType) : undefined;
60553 case "Object":
60554 if (typeArgs && typeArgs.length === 2) {
60555 if (ts.isJSDocIndexSignature(node)) {
60556 var indexed = getTypeFromTypeNode(typeArgs[0]);
60557 var target = getTypeFromTypeNode(typeArgs[1]);
60558 var indexInfo = indexed === stringType || indexed === numberType ? [createIndexInfo(indexed, target, /*isReadonly*/ false)] : ts.emptyArray;
60559 return createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, indexInfo);
60560 }
60561 return anyType;
60562 }
60563 checkNoTypeArguments(node);
60564 return !noImplicitAny ? anyType : undefined;
60565 }
60566 }
60567 }
60568 function getTypeFromJSDocNullableTypeNode(node) {
60569 var type = getTypeFromTypeNode(node.type);
60570 return strictNullChecks ? getNullableType(type, 65536 /* TypeFlags.Null */) : type;

Callers 2

getTypeFromTypeReferenceFunction · 0.85

Calls 5

checkNoTypeArgumentsFunction · 0.85
createPromiseTypeFunction · 0.85
getTypeFromTypeNodeFunction · 0.85
createIndexInfoFunction · 0.85
createAnonymousTypeFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…