in lib/base.ts [221:251]
export function isTypeNode(node: ts.Node): boolean {
switch (node.kind) {
case ts.SyntaxKind.IntersectionType:
case ts.SyntaxKind.UnionType:
case ts.SyntaxKind.ParenthesizedType:
case ts.SyntaxKind.TypeReference:
case ts.SyntaxKind.TypeLiteral:
case ts.SyntaxKind.LastTypeNode:
case ts.SyntaxKind.LiteralType:
case ts.SyntaxKind.ArrayType:
case ts.SyntaxKind.TypeOperator:
case ts.SyntaxKind.IndexedAccessType:
case ts.SyntaxKind.MappedType:
case ts.SyntaxKind.TypePredicate:
case ts.SyntaxKind.TypeQuery:
case ts.SyntaxKind.TupleType:
case ts.SyntaxKind.NumberKeyword:
case ts.SyntaxKind.StringKeyword:
case ts.SyntaxKind.VoidKeyword:
case ts.SyntaxKind.NullKeyword:
case ts.SyntaxKind.UndefinedKeyword:
case ts.SyntaxKind.BooleanKeyword:
case ts.SyntaxKind.AnyKeyword:
case ts.SyntaxKind.NeverKeyword:
case ts.SyntaxKind.FunctionType:
case ts.SyntaxKind.ThisType:
return true;
default:
return false;
}
}