()
| 34269 | return finishNode(factory.createTypePredicateNode(assertsModifier, parameterName, type), pos); |
| 34270 | } |
| 34271 | function parseType() { |
| 34272 | if (contextFlags & 40960 /* NodeFlags.TypeExcludesFlags */) { |
| 34273 | return doOutsideOfContext(40960 /* NodeFlags.TypeExcludesFlags */, parseType); |
| 34274 | } |
| 34275 | if (isStartOfFunctionTypeOrConstructorType()) { |
| 34276 | return parseFunctionOrConstructorType(); |
| 34277 | } |
| 34278 | var pos = getNodePos(); |
| 34279 | var type = parseUnionTypeOrHigher(); |
| 34280 | if (!inDisallowConditionalTypesContext() && !scanner.hasPrecedingLineBreak() && parseOptional(94 /* SyntaxKind.ExtendsKeyword */)) { |
| 34281 | // The type following 'extends' is not permitted to be another conditional type |
| 34282 | var extendsType = disallowConditionalTypesAnd(parseType); |
| 34283 | parseExpected(57 /* SyntaxKind.QuestionToken */); |
| 34284 | var trueType = allowConditionalTypesAnd(parseType); |
| 34285 | parseExpected(58 /* SyntaxKind.ColonToken */); |
| 34286 | var falseType = allowConditionalTypesAnd(parseType); |
| 34287 | return finishNode(factory.createConditionalTypeNode(type, extendsType, trueType, falseType), pos); |
| 34288 | } |
| 34289 | return type; |
| 34290 | } |
| 34291 | function parseTypeAnnotation() { |
| 34292 | return parseOptional(58 /* SyntaxKind.ColonToken */) ? parseType() : undefined; |
| 34293 | } |
no test coverage detected
searching dependent graphs…