CodeQL library for JavaScript

Member predicate OptionalTypeExpr::getAnUnderlyingType

Repeatedly unfolds unions, intersections, parentheses, and nullability/readonly modifiers and gets any of the underlying types, or this type itself if it cannot be unfolded.

Note that this only unfolds the syntax of the type annotation. Type aliases are not followed to their definition.

TypeExpr getAnUnderlyingType()