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

Function getTypeFromTypeNodeWorker

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

Source from the content-addressed store, hash-verified

63150 return getConditionalFlowTypeOfType(getTypeFromTypeNodeWorker(node), node);
63151 }
63152 function getTypeFromTypeNodeWorker(node) {
63153 switch (node.kind) {
63154 case 130 /* SyntaxKind.AnyKeyword */:
63155 case 312 /* SyntaxKind.JSDocAllType */:
63156 case 313 /* SyntaxKind.JSDocUnknownType */:
63157 return anyType;
63158 case 155 /* SyntaxKind.UnknownKeyword */:
63159 return unknownType;
63160 case 150 /* SyntaxKind.StringKeyword */:
63161 return stringType;
63162 case 147 /* SyntaxKind.NumberKeyword */:
63163 return numberType;
63164 case 158 /* SyntaxKind.BigIntKeyword */:
63165 return bigintType;
63166 case 133 /* SyntaxKind.BooleanKeyword */:
63167 return booleanType;
63168 case 151 /* SyntaxKind.SymbolKeyword */:
63169 return esSymbolType;
63170 case 114 /* SyntaxKind.VoidKeyword */:
63171 return voidType;
63172 case 153 /* SyntaxKind.UndefinedKeyword */:
63173 return undefinedType;
63174 case 104 /* SyntaxKind.NullKeyword */:
63175 // TODO(rbuckton): `NullKeyword` is no longer a `TypeNode`, but we defensively allow it here because of incorrect casts in the Language Service.
63176 return nullType;
63177 case 143 /* SyntaxKind.NeverKeyword */:
63178 return neverType;
63179 case 148 /* SyntaxKind.ObjectKeyword */:
63180 return node.flags & 262144 /* NodeFlags.JavaScriptFile */ && !noImplicitAny ? anyType : nonPrimitiveType;
63181 case 138 /* SyntaxKind.IntrinsicKeyword */:
63182 return intrinsicMarkerType;
63183 case 192 /* SyntaxKind.ThisType */:
63184 case 108 /* SyntaxKind.ThisKeyword */:
63185 // TODO(rbuckton): `ThisKeyword` is no longer a `TypeNode`, but we defensively allow it here because of incorrect casts in the Language Service and because of `isPartOfTypeNode`.
63186 return getTypeFromThisTypeNode(node);
63187 case 196 /* SyntaxKind.LiteralType */:
63188 return getTypeFromLiteralTypeNode(node);
63189 case 178 /* SyntaxKind.TypeReference */:
63190 return getTypeFromTypeReference(node);
63191 case 177 /* SyntaxKind.TypePredicate */:
63192 return node.assertsModifier ? voidType : booleanType;
63193 case 228 /* SyntaxKind.ExpressionWithTypeArguments */:
63194 return getTypeFromTypeReference(node);
63195 case 181 /* SyntaxKind.TypeQuery */:
63196 return getTypeFromTypeQueryNode(node);
63197 case 183 /* SyntaxKind.ArrayType */:
63198 case 184 /* SyntaxKind.TupleType */:
63199 return getTypeFromArrayOrTupleTypeNode(node);
63200 case 185 /* SyntaxKind.OptionalType */:
63201 return getTypeFromOptionalTypeNode(node);
63202 case 187 /* SyntaxKind.UnionType */:
63203 return getTypeFromUnionTypeNode(node);
63204 case 188 /* SyntaxKind.IntersectionType */:
63205 return getTypeFromIntersectionTypeNode(node);
63206 case 314 /* SyntaxKind.JSDocNullableType */:
63207 return getTypeFromJSDocNullableTypeNode(node);
63208 case 316 /* SyntaxKind.JSDocOptionalType */:
63209 return addOptionality(getTypeFromTypeNode(node.type));

Callers 2

getTypeFromTypeNodeFunction · 0.85
containsReferenceFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…